llvm-capstone/clang/lib/AST
Richard Smith c67fdd4eb9 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.

llvm-svn: 152211
2012-03-07 08:35:16 +00:00
..
APValue.cpp Implement DR1454. This allows all intermediate results in constant expressions 2012-02-15 02:18:13 +00:00
ASTConsumer.cpp
ASTContext.cpp Make sure we consistently canonicalize types when canonicalizing TemplateTemplateParmDecls. PR12179. 2012-03-07 01:09:33 +00:00
ASTDiagnostic.cpp More ArrayRef-ification of methods. 2012-02-22 09:51:33 +00:00
ASTImporter.cpp objective-c: provide fixit hint when atomic property does not 2012-02-29 22:18:55 +00:00
AttrImpl.cpp
CMakeLists.txt Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, 2012-03-06 20:05:56 +00:00
CXXABI.h
CXXInheritance.cpp Actually remove the duplicated elements from the vector. 2012-02-23 18:35:56 +00:00
Decl.cpp [AST] VarDecl::hasDefinition() - Early exit if we find a strong definition. 2012-03-06 23:52:46 +00:00
DeclarationName.cpp Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line. 2012-02-07 22:29:24 +00:00
DeclBase.cpp AST/stats: Don't effectively use an out-of-line function to return a static 2012-03-05 21:42:49 +00:00
DeclCXX.cpp Teach CXXRecordDecl::hasIrrelevantDestructor to check the base classes and 2012-02-25 07:33:38 +00:00
DeclFriend.cpp
DeclGroup.cpp
DeclObjC.cpp [Sema] Fix crash-on-invalid-code issue: 2012-03-02 19:14:29 +00:00
DeclPrinter.cpp Change @import to @__experimental_modules_import. We are not ready to commit to a particular syntax for modules, 2012-03-01 22:07:04 +00:00
DeclTemplate.cpp
DumpXML.cpp Reapply r151638 and r151641. 2012-02-29 10:24:19 +00:00
Expr.cpp AST representation for user-defined literals, plus just enough of semantic 2012-03-07 08:35:16 +00:00
ExprClassification.cpp AST representation for user-defined literals, plus just enough of semantic 2012-03-07 08:35:16 +00:00
ExprConstant.cpp AST representation for user-defined literals, plus just enough of semantic 2012-03-07 08:35:16 +00:00
ExprCXX.cpp AST representation for user-defined literals, plus just enough of semantic 2012-03-07 08:35:16 +00:00
ExternalASTSource.cpp
InheritViz.cpp
ItaniumCXXABI.cpp
ItaniumMangle.cpp AST representation for user-defined literals, plus just enough of semantic 2012-03-07 08:35:16 +00:00
LambdaMangleContext.cpp Basic support for name mangling of C++11 lambda expressions. Because 2012-02-20 19:44:39 +00:00
Makefile
Mangle.cpp Switch the ObjC*Decl raw_stream overloads to take a reference, for consistency with NamedDecls. 2012-02-07 11:57:45 +00:00
MicrosoftCXXABI.cpp
MicrosoftMangle.cpp
NestedNameSpecifier.cpp Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line. 2012-02-07 22:29:24 +00:00
NSAPI.cpp Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, 2012-03-06 20:05:56 +00:00
ParentMap.cpp Fix crash in analyzer diagnostic generation involving subexpressions of OpaqueValueExpr not appearing in the ParentMap. Fixes <rdar://problem/10797980>. 2012-02-18 22:02:57 +00:00
RecordLayout.cpp
RecordLayoutBuilder.cpp If a struct needs to be laid out, and it has not 2012-02-08 00:04:52 +00:00
SelectorLocationsKind.cpp
Stmt.cpp AST/stats: Don't effectively use an out-of-line function to return a static 2012-03-05 21:42:49 +00:00
StmtDumper.cpp Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, 2012-03-06 20:05:56 +00:00
StmtIterator.cpp
StmtPrinter.cpp AST representation for user-defined literals, plus just enough of semantic 2012-03-07 08:35:16 +00:00
StmtProfile.cpp AST representation for user-defined literals, plus just enough of semantic 2012-03-07 08:35:16 +00:00
StmtViz.cpp
TemplateBase.cpp Print NamedDecls directly to a raw_ostream where possible. 2012-02-07 11:57:57 +00:00
TemplateName.cpp Print NamedDecls directly to a raw_ostream where possible. 2012-02-07 11:57:57 +00:00
Type.cpp AST: Move several Type::is...Type() functions to be inline. 2012-03-06 18:20:20 +00:00
TypeLoc.cpp
TypePrinter.cpp When overload resolution picks an implicitly-deleted special member 2012-02-15 19:33:52 +00:00
VTableBuilder.cpp
VTTBuilder.cpp