2fb4ae36825ca3a0cbe7e845c5747062870066be |
|
08-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement C++11 [lex.ext]p10 for string and character literals: a ud-suffix not starting with an underscore is ill-formed. Since this rule rejects programs that were using <inttypes.h>'s macros, recover from this error by treating the ud-suffix as a separate preprocessing-token, with a DefaultError ExtWarn. The approach of treating such cases as two tokens is under discussion for standardization, but is in any case a conforming extension and allows existing codebases to keep building while the committee makes up its mind. Reword the warning on the definition of literal operators not starting with underscores (which are, strangely, legal) to more explicitly state that such operators can't be called by literals. Remove the special-case diagnostic for hexfloats, since it was both triggering in the wrong cases and incorrect. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-literal-operators.cpp
|
762bb9d0ad20320b9f97a841dce57ba5e8e48b07 |
|
14-Oct-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Update all tests other than Driver/std.cpp to use -std=c++11 rather than -std=c++0x. Patch by Ahmed Charles! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-literal-operators.cpp
|
1155c42e7b1b4e401bb0a331a6d715d637958c75 |
|
31-Aug-2011 |
Douglas Gregor <dgregor@apple.com> |
Allow C99 hexfloats in C++0x mode. This change resolves the standards collision between C99 hexfloats and C++0x user-defined literals by giving C99 hexfloats precedence. Also, warning about user-defined literals that conflict with hexfloats and those that have names that are reserved by the implementation. Fixes <rdar://problem/9940194>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-literal-operators.cpp
|
6cf750298d3621d8a10a6dd07fcee8e274b9d94d |
|
30-Aug-2010 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Revert my user-defined literal commits - r1124{58,60,67} pending some issues being sorted out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-literal-operators.cpp
|
e425368eb59687b66620a2c6adc3e426c997d796 |
|
30-Aug-2010 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Fix some test-breaking that snuck into my previous commit git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-literal-operators.cpp
|
0016d519b831859526b79405cdae4c64c73731c8 |
|
29-Aug-2010 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Implement C++0x user-defined string literals. The extra data stored on user-defined literal Tokens is stored in extra allocated memory, which is managed by the PreprocessorLexer because there isn't a better place to put it that makes sure it gets deallocated, but only after it's used up. My testing has shown no significant slowdown as a result, but independent testing would be appreciated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-literal-operators.cpp
|
a6c058dd75c5563cced821fc16766a7cc179e00c |
|
13-Jan-2010 |
Sean Hunt <rideau3@gmail.com> |
Implement semantic checking for C++ literal operators. This now rejects literal operators that don't meet the requirements. Templates are not yet checked for. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-literal-operators.cpp
|
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 |
|
15-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-literal-operators.cpp
|
3e518bda00d710754ca077cf9be8dd821e16a854 |
|
29-Nov-2009 |
Sean Hunt <rideau3@gmail.com> |
Add DeclarationName support for C++0x operator literals. They should now work as function names outside of templates - they'll probably cause some damage there as they're largely untested. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-literal-operators.cpp
|
e6252d1587f98dbac704178e7b2ce53116048310 |
|
28-Nov-2009 |
Sean Hunt <rideau3@gmail.com> |
Fix test and handle IK_LiteralOperatorId in a few more places. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-literal-operators.cpp
|
0486d746019f8310589b1f0d92edcc4bb3916b33 |
|
28-Nov-2009 |
Sean Hunt <rideau3@gmail.com> |
Add Parser support for C++0x literal operators ('operator "" i'). DeclarationName can't handle them yet, so right now Parser just errors out on them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-literal-operators.cpp
|