llvm-project/clang/lib/Parse
Sebastian Redl baad4e765f PODness and Type Traits
Make C++ classes track the POD property (C++ [class]p4)
Track the existence of a copy assignment operator.
Implicitly declare the copy assignment operator if none is provided.
Implement most of the parsing job for the G++ type traits extension.
Fully implement the low-hanging fruit of the type traits:
__is_pod: Whether a type is a POD.
__is_class: Whether a type is a (non-union) class.
__is_union: Whether a type is a union.
__is_enum: Whether a type is an enum.
__is_polymorphic: Whether a type is polymorphic (C++ [class.virtual]p1).

llvm-svn: 61746
2009-01-05 20:52:13 +00:00
..
AstGuard.h Convert a few Stmt actions to smart pointers. 2008-12-21 12:04:03 +00:00
AttributeList.cpp Semantics of @protocol attributes. 2008-12-17 01:07:27 +00:00
CMakeLists.txt Update cmake build; patch by Csaba Hruska. 2008-12-02 16:23:30 +00:00
DeclSpec.cpp Diagnose declarations that don't declare anything, and fix PR3020. 2008-12-28 15:28:59 +00:00
ExtensionRAIIObject.h implement a couple fixme's by implementing __extension__ properly. 2008-10-20 06:45:43 +00:00
Makefile Make a major restructuring of the clang tree: introduce a top-level 2008-03-15 23:59:48 +00:00
MinimalAction.cpp Ultrasimplistic sketch for the parsing of C++ template-ids. This won't 2008-12-18 19:37:40 +00:00
ParseCXXInlineMethods.cpp Delay parsing of default arguments of member functions until the class 2008-12-16 21:30:33 +00:00
ParseDecl.cpp Introduce support for "transparent" DeclContexts, which are 2009-01-05 19:45:36 +00:00
ParseDeclCXX.cpp Introduce support for "transparent" DeclContexts, which are 2009-01-05 19:45:36 +00:00
ParseExpr.cpp PODness and Type Traits 2009-01-05 20:52:13 +00:00
ParseExprCXX.cpp PODness and Type Traits 2009-01-05 20:52:13 +00:00
ParseInit.cpp Convert remaining expression parsers to smart pointers. Now on to the Action connection. 2008-12-13 15:32:12 +00:00
ParseObjc.cpp Convert a few Stmt actions to smart pointers. 2008-12-21 12:04:03 +00:00
ParsePragma.cpp Modify the move emulation according to the excellent design of Howard Hinnant. Makes for much nicer syntax when smart pointers are used consistently. Also, start converting internal argument passing of Parser to smart pointers. 2008-12-10 00:02:53 +00:00
ParsePragma.h Add Parser support for #pragma pack 2008-10-04 19:21:03 +00:00
ParseStmt.cpp Convert a two more statement actions to smart pointers. 2008-12-28 16:13:43 +00:00
ParseTemplate.cpp TryAnnotateTypeOrScopeToken and TryAnnotateCXXScopeToken can 2009-01-05 01:24:05 +00:00
ParseTentative.cpp push the call in isCXXDeclarationSpecifier to TryAnnotateTypeOrScopeToken 2009-01-04 23:33:56 +00:00
Parser.cpp remove optimization to avoid looking ahead for cases like ::foo. This 2009-01-05 03:55:46 +00:00