
incompatible with user-defined literals, specifically with the following form: 0x1p+1 The preprocessing-number token extends only as far as the 'p'; the '+' is not included. Previously we could get away with this extension as p was an invalid suffix, but now with user-defined literals, 'p' might well be a valid suffix and we are forced to consider it as such. This patch also adds a warning in non-0x C++ modes telling the user that this extension is incompatible with C++0x that is enabled by default (previously and with other languages, we warn only with a compliance option such as -pedantic). llvm-svn: 93135
9 lines
263 B
C++
9 lines
263 B
C++
//RUN: %clang_cc1 -fsyntax-only -verify
|
|
//RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify
|
|
|
|
#ifndef __GXX_EXPERIMENTAL_CXX0X__
|
|
float f = 0x1p+1; // expected-warning {{incompatible with C++0x}}
|
|
#else
|
|
float f = 0x1p+1; // expected-warning {{invalid suffix}}
|
|
#endif
|