llvm-project/clang/lib/Sema
Douglas Gregor 07665a69e8 Introduce support for "transparent" DeclContexts, which are
DeclContexts whose members are visible from enclosing DeclContexts up
to (and including) the innermost enclosing non-transparent
DeclContexts. Transparent DeclContexts unify the mechanism to be used
for various language features, including C enumerations, anonymous
unions, C++0x inline namespaces, and C++ linkage
specifications. Please refer to the documentation in the Clang
internals manual for more information.

Only enumerations and linkage specifications currently use transparent
DeclContexts.

Still to do: use transparent DeclContexts to implement anonymous
unions and GCC's anonymous structs extension, and, later, the C++0x
features. We also need to tighten up the DeclContext/ScopedDecl link
to ensure that every ScopedDecl is in a single DeclContext, which
will ensure that we can then enforce ownership and reduce the memory
footprint of DeclContext.

llvm-svn: 61735
2009-01-05 19:45:36 +00:00
..
CMakeLists.txt Representation of template type parameters and non-type template 2008-12-05 18:15:24 +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 Introduce support for "transparent" DeclContexts, which are 2009-01-05 19:45:36 +00:00
IdentifierResolver.h Introduce support for "transparent" DeclContexts, which are 2009-01-05 19:45:36 +00:00
Makefile rename libclangSEMA to libclangSema 2008-09-07 17:09:06 +00:00
ParseAST.cpp Comment fix, ParseAST does not take ownership of the consumer. 2008-10-27 22:01:05 +00:00
Sema.cpp Expr and Stmt must be destroyed with Destroy, not delete. Fixes PR/3245. 2008-12-22 17:51:10 +00:00
Sema.h Introduce support for "transparent" DeclContexts, which are 2009-01-05 19:45:36 +00:00
SemaCXXScopeSpec.cpp Delay parsing of default arguments of member functions until the class 2008-12-16 21:30:33 +00:00
SemaChecking.cpp Make error handling for va_start a bit more robust. Fixes PR3213. 2008-12-15 22:05:35 +00:00
SemaDecl.cpp Introduce support for "transparent" DeclContexts, which are 2009-01-05 19:45:36 +00:00
SemaDeclAttr.cpp Add full dllimport / dllexport support: both sema checks and codegen. 2008-12-26 00:52:02 +00:00
SemaDeclCXX.cpp Introduce support for "transparent" DeclContexts, which are 2009-01-05 19:45:36 +00:00
SemaDeclObjC.cpp Remove hasKind(). Use existing getKind(). 2008-12-29 19:57:17 +00:00
SemaExpr.cpp Correct the order in which we cope with end-of-class-definition 2008-12-24 00:01:03 +00:00
SemaExprCXX.cpp Fix misguided type selection 2008-12-23 22:05:29 +00:00
SemaExprObjC.cpp Silence a couple more operator precedence warnings; this shouldn't 2008-12-16 20:15:50 +00:00
SemaInherit.cpp Change a whole lot of diagnostics to take QualType's directly 2008-11-24 06:25:27 +00:00
SemaInherit.h Implement semantic checking of static_cast and dynamic_cast. 2008-10-31 14:43:28 +00:00
SemaInit.cpp Address some comments on the name lookup/DeclContext patch from Chris 2008-12-11 20:41:00 +00:00
SemaNamedCast.cpp Delay semantic analysis of the C++ names casts when the subexpression is type-dependent or the destination type is dependent. 2008-12-17 22:52:20 +00:00
SemaOverload.cpp Don't push OverloadedFunctionDecls onto the chain of declarations 2008-12-23 21:05:05 +00:00
SemaOverload.h Add support for calls to overloaded member functions. Things to note: 2008-12-22 05:46:06 +00:00
SemaStmt.cpp Perform default function/array conversion for input arguments to inline asm statements if the input expr can be a memory operand 2008-12-31 07:27:38 +00:00
SemaTemplate.cpp Keep track of template arguments when we parse them. Right now, we don't actually do anything with the template arguments, but they'll be used to create template declarations 2008-12-24 02:52:09 +00:00
SemaType.cpp Clean up the C89/C++ warnings about C99 array features to not 2008-12-18 06:50:14 +00:00
SemaUtil.h Make a major restructuring of the clang tree: introduce a top-level 2008-03-15 23:59:48 +00:00