llvm-project/clang/lib/Sema
Douglas Gregor deaad8cc34 Create a new TypeNodes.def file that enumerates all of the types,
giving them rough classifications (normal types, never-canonical
types, always-dependent types, abstract type representations) and
making it far easier to make sure that we've hit all of the cases when
decoding types. 

Switched some switch() statements on the type class over to using this
mechanism, and filtering out those things we don't care about. For
example, CodeGen should never see always-dependent or non-canonical
types, while debug info generation should never see always-dependent
types. More switch() statements on the type class need to be moved 
over to using this approach, so that we'll get warnings when we add a
new type then fail to account for it somewhere in the compiler.

As part of this, some types have been renamed:

  TypeOfExpr -> TypeOfExprType
  FunctionTypeProto -> FunctionProtoType
  FunctionTypeNoProto -> FunctionNoProtoType

There shouldn't be any functionality change...

llvm-svn: 65591
2009-02-26 23:50:07 +00:00
..
CMakeLists.txt move attribute(packed) sema support out of SemaDecl into a new SemaAttr.cpp file. 2009-02-17 00:57:29 +00:00
CXXFieldCollector.h Unifies the name-lookup mechanisms used in various parts of the AST 2008-12-11 16:49:14 +00:00
IdentifierResolver.cpp Now that ObjC decls have DeclContexts too, remove an ugly hack from IdentifierResolver. 2009-02-17 20:21:51 +00:00
IdentifierResolver.h Now that ObjC decls have DeclContexts too, remove an ugly hack from IdentifierResolver. 2009-02-17 20:21:51 +00:00
Makefile rename libclangSEMA to libclangSema 2008-09-07 17:09:06 +00:00
ParseAST.cpp Patch by Alexei Svitkine: Refactor Sema::ParseAST API to allow clients to pass as an argument a TranslationUnit object whose contents live beyond the call to ParseAST. 2009-01-28 04:29:29 +00:00
Sema.cpp replace a dirty hack with a clean solution. Too bad we can't 2009-02-19 23:53:20 +00:00
Sema.h Create a new TypeNodes.def file that enumerates all of the types, 2009-02-26 23:50:07 +00:00
SemaAttr.cpp Make PragmaPackStack be a private class in SemaAttr and make its 2009-02-17 01:09:29 +00:00
SemaCXXScopeSpec.cpp Implement parsing of nested-name-specifiers that involve template-ids, e.g., 2009-02-25 19:37:18 +00:00
SemaChecking.cpp Create a new TypeNodes.def file that enumerates all of the types, 2009-02-26 23:50:07 +00:00
SemaDecl.cpp Create a new TypeNodes.def file that enumerates all of the types, 2009-02-26 23:50:07 +00:00
SemaDeclAttr.cpp Create a new TypeNodes.def file that enumerates all of the types, 2009-02-26 23:50:07 +00:00
SemaDeclCXX.cpp Create a new TypeNodes.def file that enumerates all of the types, 2009-02-26 23:50:07 +00:00
SemaDeclObjC.cpp Fix <rdar://problem/6574319> clang issues error on 'readonly' property with a defaul setter attribute. 2009-02-26 19:11:32 +00:00
SemaExpr.cpp Create a new TypeNodes.def file that enumerates all of the types, 2009-02-26 23:50:07 +00:00
SemaExprCXX.cpp Make more AST nodes and semantic checkers dependent-expression-aware. 2009-02-26 14:39:58 +00:00
SemaExprObjC.cpp Fix <rdar://problem/6614945> method not found. 2009-02-26 18:16:19 +00:00
SemaInherit.cpp Move CheckPointerToMemberOperands to SemaExprCXX.cpp 2009-02-07 20:10:22 +00:00
SemaInherit.h Implement dereferencing of pointers-to-member. 2009-02-07 00:15:38 +00:00
SemaInit.cpp fix a bozobug. 2009-02-26 23:42:47 +00:00
SemaLookup.cpp Create a new TypeNodes.def file that enumerates all of the types, 2009-02-26 23:50:07 +00:00
SemaNamedCast.cpp Overhaul of Stmt allocation: 2009-02-07 01:47:29 +00:00
SemaOverload.cpp Create a new TypeNodes.def file that enumerates all of the types, 2009-02-26 23:50:07 +00:00
SemaOverload.h Introduce _Complex conversions into the function overloading 2009-02-12 00:15:05 +00:00
SemaStmt.cpp Match gcc and always perform array/function conversion for asm input exprs. Fixes PR3641. 2009-02-22 02:11:23 +00:00
SemaTemplate.cpp Make the type associated with a ClassTemplateSpecializationDecl be a 2009-02-26 22:19:44 +00:00
SemaType.cpp Create a new TypeNodes.def file that enumerates all of the types, 2009-02-26 23:50:07 +00:00