c50ffca69af980af021384e087a81ae2ff7b9e26 |
08-Oct-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Add a triple to unbreak buildbots where size_t is not 'unsigned long'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192140 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ext/p5.cpp
ex.literal/lex.ext/p7.cpp
|
b328e29173d15baf3f44ccdc9c310ee741caaaf7 |
07-Oct-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Add support for WG21 N3599 (literal operator template for strings) as a GNU extension. The GCC folks have decided to support this even though the standard committee have not yet approved this feature. Patch by Hristo Venev! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192128 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ext/p11.cpp
ex.literal/lex.ext/p12.cpp
ex.literal/lex.ext/p5.cpp
ex.literal/lex.ext/p7.cpp
|
b3da613977f6b77dee2b382eeff5713168a4ca18 |
23-Jul-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Integers which are too large should be an error. Switch some warnings over to errors which should never have been warnings in the first place. (Also, a minor fix to the preprocessor rules for integer literals while I'm here.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186903 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ext/p3.cpp
|
dca97dd5dab315e82be6dad0d90c51b030bea531 |
17-Jan-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Test that we correctly handle reversion of line splicing etc in raw string literals. As suggested by Sean Silva. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172694 91177308-0d34-0410-b5e6-96231b3b80d8
ex.pptoken/p3-0x.cpp
|
30cddaec99fa6c3207613efdaedbb51dd8d70c77 |
28-Nov-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Teach Lexer::getSpelling about raw string literals. Specifically, if a raw string literal needs cleaning (because it contains line-splicing in the encoding prefix or in the ud-suffix), do not clean the section between the double-quotes -- that's the "raw" bit! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168776 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ext/p5.cpp
|
8e8fb3be5bd78f0564444eca02b404566a5f3b5d |
19-Oct-2012 |
Andy Gibbs <andyg1001@hotmail.co.uk> |
Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166280 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ccon/p1.cpp
ex.trigraph/p3.cpp
|
26b75c07317a3b50a8a00a1623e3ef38af1d8349 |
09-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Improve diagnostics for UCNs referring to control characters and members of the basic source character set in C++98. Add -Wc++98-compat diagnostics for same in literals in C++11. Extend such support to cover string literals as well as character literals, and mark N2170 as done. This seems too minor to warrant a release note to me. Let me know if you disagree. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152444 91177308-0d34-0410-b5e6-96231b3b80d8
ex.charset/p2-cxx11.cpp
ex.charset/p2-cxx98.cpp
|
15debc31f27e35acd9fa1956cefc0294f4e13cb1 |
09-Mar-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Harden test for 32 bit platforms, where size_t is unsigned int (not unsigned long). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152404 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ext/p2.cpp
|
36f5cfe4df32af6c5fe01228102512996f566f9d |
09-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Support for raw and template forms of numeric user-defined literals, and lots of tidying up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152392 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ext/p2.cpp
ex.literal/lex.ext/p3.cpp
ex.literal/lex.ext/p4.cpp
ex.literal/lex.ext/p5.cpp
ex.literal/lex.ext/p6.cpp
ex.literal/lex.ext/p7.cpp
|
e093404ee9fc6fc169304b51ec2f78ffafef16b9 |
09-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Remove a test FIXME for a case which is already fixed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152349 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ext/p10.cpp
|
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
ex.literal/lex.ext/p1.cpp
ex.literal/lex.ext/p10.cpp
|
9fcce65e7e1307b5b8da9be13e4092d6bb94dc1d |
07-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
AST representation for user-defined literals, plus just enough of semantic analysis to make the AST representation testable. They are represented by a new UserDefinedLiteral AST node, which is a sugared CallExpr. All semantic properties, including full CodeGen support, are achieved for free by this representation. UserDefinedLiterals can never be dependent, so no custom instantiation behavior is required. They are mangled as if they were direct calls to the underlying literal operator. This matches g++'s apparent behavior (but not its actual mangling, which is broken for literal-operator-ids). User-defined *string* literals are now fully-operational, but the semantic analysis is quite hacky and needs more work. No other forms of user-defined literal are created yet, but the AST support for them is present. This patch committed after midnight because we had already hit the quota for new kinds of literal yesterday. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152211 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ext/p10.cpp
ex.literal/lex.ext/p8.cpp
ex.literal/lex.ext/p9.cpp
|
d4f9f9dfdfa36f2e45c2ad0f4be304737d0f7f64 |
05-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
More tests for r152012. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152013 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ext/p10.cpp
ex.literal/lex.ext/p8.cpp
ex.literal/lex.ext/p9.cpp
|
5cc2c6eb67b6e5361bbe96f79b519fd62ec666d6 |
05-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Lexing support for user-defined literals. Currently these lex as the same token kinds as the underlying string literals, and we silently drop the ud-suffix; those issues will be fixed by subsequent patches. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152012 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ext/p1.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
ex.literal/lex.ccon/p1.cpp
ex.literal/lex.ext/p1.cpp
ex.pptoken/p3-0x.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
ex.literal/lex.ext/p1.cpp
|
53afad5ebbfd47e932405af5b93177ea0d68e3f4 |
29-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
This patch makes the string/character literal tests run in C, C++98/03, and C++0x mode, from Craig Topper! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136443 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ccon/p1.cpp
|
5cee1195584fa8672253139c86e922daeda69b9e |
27-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
Add support for C++0x unicode string and character literals, from Craig Topper! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136210 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ccon/p1.cpp
|
87a1e19735a27d84edc2ac1331c040e2fb4c3b1a |
14-Apr-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement C++0x [lex.pptoken]p3's handling of <::. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129525 91177308-0d34-0410-b5e6-96231b3b80d8
ex.pptoken/p3-0x.cpp
|
136b0cd75c37895ed0e00dee5b06c55c5b1d8199 |
03-Feb-2010 |
Eli Friedman <eli.friedman@gmail.com> |
Fix for PR6220: compute the correct type for multicharacter literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95228 91177308-0d34-0410-b5e6-96231b3b80d8
ex.literal/lex.ccon/p1.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
ex.trigraph/p1.cpp
ex.trigraph/p2.cpp
ex.trigraph/p3.cpp
|
95190d00d54a493d9030908599feb073a7bb1d93 |
23-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Tests for C++ lex.trigraph, patch by Mats! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79841 91177308-0d34-0410-b5e6-96231b3b80d8
ex.trigraph/p1.cpp
ex.trigraph/p2.cpp
ex.trigraph/p3.cpp
|