llvm-project/clang/lib/AST
John McCall 3882ace207 Refactor the application of type attributes so that attributes from
the declaration-specifiers and on the declarator itself are moved
to the appropriate declarator chunk.  This permits a greatly
simplified model for how to apply these attributes, as well as
allowing a much more efficient query for the GC attribute.
Now all qualifier queries follow the same basic strategy of
"local qualifiers, local qualifiers on the canonical type,
then look through arrays".  This can be easily optimized by
changing the canonical qualified-array-type representation.

Do not process type attributes as decl attributes on declarations
with declarators.

When computing the type of a block, synthesize a prototype
function declarator chunk if the decl-spec type was not a
function.  This simplifies the logic for building block signatures.

Change the logic which inserts an objc_read_weak on a block
literal to only fire if the block has a __weak __block variable,
rather than if the return type of the block is __weak qualified,
which is not actually a sensible thing to ask.

llvm-svn: 122871
2011-01-05 12:14:39 +00:00
..
APValue.cpp Fix -Wcast-qual warnings. 2010-04-19 16:39:44 +00:00
ASTConsumer.cpp Reintroduce the ASTConsumer/ASTUnit fix from r110610, it has nothing to do with the breakage. 2010-08-11 18:52:41 +00:00
ASTContext.cpp Expose Objective-C type encodings of declarations to libclang users. This also adds a method in ASTContext which encodes FunctionDecls using the same encoding format that is used for Objective-C methods. 2010-12-30 14:05:53 +00:00
ASTDiagnostic.cpp Added ParenType type node. 2010-12-10 16:29:40 +00:00
ASTImporter.cpp Implement pack expansions whose pattern is a base-specifier. 2011-01-03 22:36:02 +00:00
AttrImpl.cpp Generate Attr subclasses with TableGen. 2010-08-18 23:23:40 +00:00
CMakeLists.txt Kill FullExpr, as it was not, in fact, used anywhere in the code base. 2010-12-07 00:47:33 +00:00
CXXABI.h Move isNearlyEmpty out into the ASTContext so it can be called from CodeGen as well. 2010-11-25 01:51:53 +00:00
CXXInheritance.cpp Rename RecordLayout::getPrimaryBaseWasVirtual to isPrimaryBaseVirtual. 2010-11-24 23:12:57 +00:00
Decl.cpp Redesign the way anonymous fields are handled in designated-initializers. 2010-12-22 03:46:10 +00:00
DeclBase.cpp Add an AST representation for non-type template parameter 2010-12-23 23:51:58 +00:00
DeclCXX.cpp Implement pack expansion of base initializers, so that we can 2011-01-04 00:32:56 +00:00
DeclFriend.cpp Support C++ friend declarations for PCH. 2010-06-29 22:47:00 +00:00
DeclGroup.cpp I lied. Kill off a few more Destroy methods 2010-07-25 18:32:30 +00:00
DeclObjC.cpp Diagnose when accessing property in a class method and 2010-12-03 23:37:08 +00:00
DeclPrinter.cpp When instantiating a non-type template parameter pack, be sure to 2010-12-24 00:15:10 +00:00
DeclTemplate.cpp When creating the injected-class-name for a class template involving a 2011-01-04 02:33:52 +00:00
DeclarationName.cpp Silence GCC warning about control reaching the end of the function and explicitly mark that all cases are handled. 2010-12-15 07:29:18 +00:00
DumpXML.cpp Clean up the handling of template argument packs, especially in the 2010-12-20 16:52:59 +00:00
Expr.cpp Refactor the tree transform's many loops over sets of expressions 2011-01-03 19:04:46 +00:00
ExprCXX.cpp Implement the sizeof...(pack) expression to compute the length of a 2011-01-04 17:33:58 +00:00
ExprClassification.cpp Implement the sizeof...(pack) expression to compute the length of a 2011-01-04 17:33:58 +00:00
ExprConstant.cpp Implement the sizeof...(pack) expression to compute the length of a 2011-01-04 17:33:58 +00:00
InheritViz.cpp Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
ItaniumCXXABI.cpp Move isNearlyEmpty out into the ASTContext so it can be called from CodeGen as well. 2010-11-25 01:51:53 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
MicrosoftCXXABI.cpp Move isNearlyEmpty out into the ASTContext so it can be called from CodeGen as well. 2010-11-25 01:51:53 +00:00
NestedNameSpecifier.cpp Variadic templates: extend Type, NestedNameSpecifier, TemplateName, 2010-12-13 22:49:22 +00:00
ParentMap.cpp Add method ParentMap::addStmt(). 2010-11-15 20:54:24 +00:00
RecordLayout.cpp Remove the PrimaryBaseInfo class. 2010-11-24 23:20:19 +00:00
RecordLayoutBuilder.cpp Fix PR8796. 2010-12-29 23:02:58 +00:00
Stmt.cpp Revert r119838 "Don't warn for empty 'if' body if there is a macro that expands to nothing" 2010-11-20 02:04:01 +00:00
StmtDumper.cpp Complain on missing property getter method only 2010-12-22 19:46:35 +00:00
StmtIterator.cpp Add StmtIterator support for iterating over both the condition 2009-12-23 23:38:34 +00:00
StmtPrinter.cpp Implement the sizeof...(pack) expression to compute the length of a 2011-01-04 17:33:58 +00:00
StmtProfile.cpp Implement the sizeof...(pack) expression to compute the length of a 2011-01-04 17:33:58 +00:00
StmtViz.cpp Adapt to the DOTGraphTraits changes in LLVM. 2009-11-30 14:16:05 +00:00
TemplateBase.cpp Implement support for pack expansions whose pattern is a non-type 2011-01-03 17:17:50 +00:00
TemplateName.cpp Variadic templates: extend Type, NestedNameSpecifier, TemplateName, 2010-12-13 22:49:22 +00:00
Type.cpp The -fshort-wchar option causes wchar_t to become unsigned, in addition to being 2010-12-25 23:25:43 +00:00
TypeLoc.cpp Refactor the application of type attributes so that attributes from 2011-01-05 12:14:39 +00:00
TypePrinter.cpp Clean up the printing of template argument packs; previously, we were 2010-12-20 22:28:59 +00:00