summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/PCHReaderDecl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Added AccessSpecDecl node.Abramo Bagnara2010-06-051-0/+10
| | | | llvm-svn: 105525
* Remember type source information for Objective C property declarations.John McCall2010-06-041-2/+2
| | | | llvm-svn: 105484
* Restructure how we interpret block-literal declarators. Correctly handleJohn McCall2010-06-041-0/+1
| | | | | | | the case where we pick up block arguments from a typedef. Save the block signature as it was written, and preserve same through PCH. llvm-svn: 105466
* Hack in some really terrible C++ record PCH support that I need right now.John McCall2010-06-031-0/+31
| | | | | | | | This is required in order to test: The ASTImporter should set base classes after formally entering the definition. llvm-svn: 105401
* Convert DeclNodes to use TableGen.Alexis Hunt2010-05-301-1/+1
| | | | | | | | The macros required for DeclNodes use have changed to match the use of StmtNodes. The FooFirst enumerator constants have been named firstFoo to match usage elsewhere. llvm-svn: 105165
* Roll back r104941.John McCall2010-05-281-1/+0
| | | | llvm-svn: 104990
* Add a new attribute on records, __attribute__((adl_invisible)), and defineJohn McCall2010-05-281-0/+1
| | | | | | | | | | | | the x86-64 __va_list_tag with this attribute. The attribute causes the affected type to behave like a fundamental type when considered by ADL. (x86-64 is the only target we currently provide with a struct-based __builtin_va_list) Fixes PR6762. llvm-svn: 104941
* AST: Add AlignMac68kAttr, not yet used.Daniel Dunbar2010-05-271-0/+1
| | | | llvm-svn: 104800
* AST: Rename PragmaPackAttr to MaxFieldAlignmentAttr, which is more accurate.Daniel Dunbar2010-05-271-1/+1
| | | | llvm-svn: 104795
* Add clang support for IBOutletCollection.Ted Kremenek2010-05-191-0/+7
| | | | llvm-svn: 104135
* Add support for Microsoft's __thiscall, from Steven Watanabe!Douglas Gregor2010-05-181-0/+1
| | | | llvm-svn: 104026
* Implement semantic analysis and an AST representation for the namedDouglas Gregor2010-05-151-0/+1
| | | | | | | | | | | | return value optimization. Sema marks return statements with their NRVO candidates (which may or may not end up using the NRVO), then, at the end of a function body, computes and marks those variables that can be allocated into the return slot. I've checked this locally with some debugging statements (not committed), but there won't be any tests until CodeGen comes along. llvm-svn: 103865
* Merged Elaborated and QualifiedName types.Abramo Bagnara2010-05-111-2/+2
| | | | llvm-svn: 103517
* add PCH support for a bunch of C++ Decls, patch byChris Lattner2010-05-071-16/+270
| | | | | | Andrew Sutton! llvm-svn: 103301
* Remember the number of positive and negative bits used by the enumerators ofJohn McCall2010-05-061-0/+2
| | | | | | | an enum in the enum decl itself. Use some spare bits from TagDecl for this purpose. llvm-svn: 103173
* This patch deals with Sema Part of Setter/Getter synthesisFariborz Jahanian2010-05-051-0/+1
| | | | | | | of properties which are of C++ objects. Code Gen to follow (Radar 7468090). llvm-svn: 103123
* Diagnose unused exception parameters under a different warning groupDouglas Gregor2010-05-031-0/+1
| | | | | | | | (-Wunused-exception-parameter) than normal variables, since it's more common to name and then ignore an exception parameter. This warning is neither enabled by default nor by -Wall. Fixes <rdar://problem/7931045>. llvm-svn: 102931
* More of Sema to implement initialization ofFariborz Jahanian2010-04-281-0/+1
| | | | | | ivar of c++ object types. llvm-svn: 102500
* Recommit r102215, this time being more careful to only set the "principalJohn McCall2010-04-241-0/+5
| | | | | | | declaration" (i.e. the only which will actually be looked up) to have the non-member-operator bit. llvm-svn: 102231
* Revert r102215. This causes clang crash while compiling a test case from gdb ↵Devang Patel2010-04-241-5/+0
| | | | | | testsuite. llvm-svn: 102224
* Transition the last acceptable-result filter kind in LookupResult over to useJohn McCall2010-04-231-0/+5
| | | | | | a simple IDNS mask by introducing a namespace for non-member operators. llvm-svn: 102215
* Keep track of the actual storage specifier written on a variable orDouglas Gregor2010-04-191-2/+4
| | | | | | | | function declaration, since it may end up being changed (e.g., "extern" can become "static" if a prior declaration was static). Patch by Enea Zaffanella and Paolo Bolzoni. llvm-svn: 101826
* Fixes a regression caused by implementing cstyle methods Fariborz Jahanian2010-04-091-1/+2
| | | | | | for objc. llvm-svn: 100865
* Implement method type encoding in the presenseFariborz Jahanian2010-04-081-0/+1
| | | | | | of c-style arguments. Completes radar 7445205. llvm-svn: 100813
* Remember declaration scope qualifiers in the AST. Imposes no memory overheadJohn McCall2010-03-151-2/+4
| | | | | | | | | | | on unqualified declarations. Patch by Enea Zaffanella! Minimal adjustments: allocate the ExtInfo nodes with the ASTContext and delete them during Destroy(). I audited a bunch of Destroy methods at the same time, to ensure that the correct teardown was being done. llvm-svn: 98540
* Remember whether a ParmVarDecl was spelled with a default argument orJohn McCall2010-03-121-0/+1
| | | | | | | | whether it inherited one from a previous declaration. Patch by Enea Zaffanella! llvm-svn: 98362
* Keep track of type source information in the return type of anDouglas Gregor2010-03-081-1/+2
| | | | | | | | | | Objective-C method declaration, e.g., for - (Foo *)myMethod; we now have TypeSourceInfo for the Foo*. llvm-svn: 97942
* Add support for the weakref attribute. We still produce "alias weak" as ↵Rafael Espindola2010-02-231-0/+1
| | | | | | llvm-gcc does, but are more strict on what uses of weakref we accept. llvm-svn: 96992
* Implement PCH support for C++ namespaces.Douglas Gregor2010-02-211-0/+17
| | | | llvm-svn: 96738
* Patch removes IVars list from ObjCInterfaceDecl andFariborz Jahanian2010-02-191-1/+0
| | | | | | instead relies on their DeclContext for iteration, etc. llvm-svn: 96638
* Add 'ns_returns_not_retained' and 'cf_returns_not_retained' attributes toTed Kremenek2010-02-181-0/+2
| | | | | | | match 'ns_returns_retained' and 'cf_returns_retained' respectively. These are not yet hooked up to the static analyzer. llvm-svn: 96535
* Add IBAction attribute to keep the IBOutlet attribute company.Ted Kremenek2010-02-171-0/+4
| | | | llvm-svn: 96447
* Improve representation of tag declarations first declared or definedDouglas Gregor2010-02-121-1/+1
| | | | | | within the declarator of another declaration, from Enea Zaffanella! llvm-svn: 95991
* Use the allocator associated with ASTContext to allocate the argsTed Kremenek2010-02-111-1/+1
| | | | | | | | array associated with NonNullAttr. This fixes yet another leak when ASTContext uses a BumpPtrAllocator. Fixes: <rdar://problem/7637150> llvm-svn: 95863
* Remove use of 'std::string' from Attr objects, using instead a byteTed Kremenek2010-02-111-2/+2
| | | | | | | | | array allocated using the allocator in ASTContext. This addresses these strings getting leaked when using a BumpPtrAllocator (in ASTContext). Fixes: <rdar://problem/7636765> llvm-svn: 95853
* Eliminate a bunch of unnecessary ASTContexts from members functions ofDouglas Gregor2010-02-111-3/+3
| | | | | | Decl subclasses. No functionality change. llvm-svn: 95841
* Keep track of whether a tag was defined in a declarator vs. beingDouglas Gregor2010-02-081-0/+1
| | | | | | defined by itself, from Enea Zaffanella! llvm-svn: 95586
* Patch to implement rewriting of properties.Fariborz Jahanian2010-01-211-1/+3
| | | | | | Fixes radar 7562952. llvm-svn: 94087
* Improve location information for Objective-C category declarations. WeDouglas Gregor2010-01-161-2/+4
| | | | | | | | | | | | | previously only had a single location (the @ in @interface); now we know where the @ is (for the start of the declaration), where the class name is (that's the normal "location" now for diagnostics), and where the category name is. Also, eliminated the redundant "end" location, since ObjCContainerDecl already has better @end information. The only XFAIL'd test is temporary; will un-XFAIL-it once I've taught CIndex how to use the new locations. llvm-svn: 93639
* Keep track of the source locations for each protocol reference inDouglas Gregor2010-01-161-4/+24
| | | | | | | | Objective-C classes, protocol definitions, forward protocol declarations, and categories. This information isn't actually used yet; that's coming next. llvm-svn: 93636
* Generalize target weirdness handling having proper layering in mind:Anton Korobeynikov2010-01-101-0/+3
| | | | | | | | | 1. Add helper class for sema checks for target attributes 2. Add helper class for codegen of target attributes As a proof-of-concept - implement msp430's 'interrupt' attribute. llvm-svn: 93118
* Change ObjCContainerDecl to contain the entire range for the '@end'Ted Kremenek2010-01-071-1/+3
| | | | | | | | | | | piece of the declaration. The '@' and the 'end' are separate tokens, and require two SourceLocations to accurately track. This change was motivated because ObjCContainerDecl::getSourceRange() would previously not return the entire range of the declaration (the 'end' would be left off). llvm-svn: 92891
* First pass at implementing C++ enum semantics: calculate (and store) anJohn McCall2009-12-091-0/+1
| | | | | | | | | | | | "integer promotion" type associated with an enum decl, and use this type to determine which type to promote to. This type obeys C++ [conv.prom]p2 and is therefore generally signed unless the range of the enumerators forces it to be unsigned. Kills off a lot of false positives from -Wsign-compare in C++, addressing rdar://7455616 llvm-svn: 90965
* DeclaratorInfo -> TypeSourceInfo. Makes an effort to rename associated ↵John McCall2009-12-071-4/+4
| | | | | | | | | | | | | | | | | | | | | variables, but the results are imperfect. For posterity, I did: cat <<EOF > $cmdfile s/DeclaratorInfo/TypeSourceInfo/g s/DInfo/TInfo/g s/TypeTypeSourceInfo/TypeSourceInfo/g s/SourceTypeSourceInfo/TypeSourceInfo/g EOF find lib -name '*.cpp' -not -path 'lib/Parse/*' -exec sed -i '' -f $cmdfile '{}' \; find lib -name '*.h' -exec sed -i '' -f $cmdfile '{}' \; find include -name '*.h' -not -path 'include/clang/Parse/*' -not -path 'include/clang/Basic/*' -exec sed -i '' -f $cmdfile '{}' \; llvm-svn: 90743
* Parse C++ member check attributes - base_check, hiding, and override.Alexis Hunt2009-11-251-0/+3
| | | | | | The attributes are currently ignored. llvm-svn: 89837
* Added rudimentary C++0x attribute support.Alexis Hunt2009-11-211-0/+1
| | | | | | | | | | | | | | The following attributes are currently supported in C++0x attribute lists (and in GNU ones as well): - align() - semantics believed to be conformant to n3000, except for redeclarations and what entities it may apply to - final - semantics believed to be conformant to CWG issue 817's proposed wording, except for redeclarations - noreturn - semantics believed to be conformant to n3000, except for redeclarations - carries_dependency - currently ignored (this is an optimization hint) llvm-svn: 89543
* Add SourceLocations to ObjCClassDecl for the class identifiers referenced by ↵Ted Kremenek2009-11-181-1/+6
| | | | | | @class. llvm-svn: 89170
* Add support for cdecl attribute. (As far as I know, it doesn't affect CodeGenEli Friedman2009-11-091-0/+2
| | | | | | | | unless we start implementing command-line switches which override the default calling convention, so the effect is mostly to silence unknown attribute warnings.) llvm-svn: 86571
* Rename FunctionDecl::isInline/setInline toDouglas Gregor2009-10-271-1/+1
| | | | | | FunctionDecl::isInlineSpecified/setInlineSpecified. llvm-svn: 85305
* Preserve type source information in TypedefDecls. Preserve it acrossJohn McCall2009-10-241-4/+4
| | | | | | | | | template instantiation. Preserve it through PCH. Show it off to the indexer. I'm healthily ignoring the vector type cases because we don't have a sensible TypeLoc implementation for them anyway. llvm-svn: 84994
OpenPOWER on IntegriCloud