summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* When a reference to a field of a struct/union/class is passed to theCharles Davis2010-02-231-0/+6
| | | | | | | __alignof__ operator, make sure to take into account the packed alignment of the struct/union/class itself. Matches GCC's behavior and fixes PR6362. llvm-svn: 96884
* Stub out IsOverriderUsed.Anders Carlsson2010-02-231-4/+50
| | | | llvm-svn: 96883
* More fixes. Don't try to emit a virtual base vtable if the virtual base in ↵Anders Carlsson2010-02-231-10/+43
| | | | | | question is a primary virtual base of some other base. llvm-svn: 96881
* Always emit vcall offset for the primary base, not only if it's virtual. ↵Anders Carlsson2010-02-231-5/+1
| | | | | | Remove a debug printf, and add the test case that now passes. llvm-svn: 96880
* Simplify the vcall offset calculation and make it give the correct answers ↵Anders Carlsson2010-02-231-26/+17
| | | | | | :) My test case now has the right values but in the wrong order. llvm-svn: 96877
* More work on vcall offsets. We now emit the right number of vcall offsets in ↵Anders Carlsson2010-02-231-5/+1
| | | | | | my local test case, but not the right values. llvm-svn: 96874
* Start moving some of the logic for the unreachable code analysis out of libSemaTed Kremenek2010-02-233-46/+68
| | | | | | and into libAnalysis. llvm-svn: 96872
* Convert use of std::queue to llvm::SmallVector and fix buildbot.Ted Kremenek2010-02-231-30/+33
| | | | llvm-svn: 96855
* Move BaseOffset out of the FinalOverriders class.Anders Carlsson2010-02-231-45/+44
| | | | llvm-svn: 96853
* More support for ivars in class extension.Fariborz Jahanian2010-02-233-6/+27
| | | | llvm-svn: 96850
* Use SmallVectorImpl::iterator.Ted Kremenek2010-02-231-4/+2
| | | | llvm-svn: 96848
* Simplify logic for determining values of 'ReturnsVoid' and 'HasNoReturn' flags.Ted Kremenek2010-02-231-9/+7
| | | | | | No functionality change. llvm-svn: 96847
* Perform two more constructor/destructor code-size optimizations:John McCall2010-02-238-49/+252
| | | | | | | | | | | | | | | | 1) emit base destructors as aliases to their unique base class destructors under some careful conditions. This is enabled for the same targets that can support complete-to-base aliases, i.e. not darwin. 2) Emit non-variadic complete constructors for classes with no virtual bases as calls to the base constructor. This is enabled on all targets and in theory can trigger in situations that the alias optimization can't (mostly involving virtual bases, mostly not yet supported). These are bundled together because I didn't think it worthwhile to split them, not because they really need to be. llvm-svn: 96842
* Implement crazy destructor name lookup semantics differently inDouglas Gregor2010-02-231-14/+56
| | | | | | | | | | C++98/03 and C++0x, since the '0x semantics break valid C++98/03 code. This new mess is tracked by core issue 399, which is still unresolved. Fixes PR6358 and PR6359. llvm-svn: 96836
* Early support for declaring ivars in class extensions. wip.Fariborz Jahanian2010-02-222-4/+21
| | | | llvm-svn: 96819
* Fixes a rewriting of byref variable when its initializer isFariborz Jahanian2010-02-221-13/+29
| | | | | | itself rewritten. Radar 7669784. llvm-svn: 96798
* Don't assert that we have a valid access specifier on an invalidDouglas Gregor2010-02-221-1/+2
| | | | | | declaration. This is the trivial part of PR6365. llvm-svn: 96792
* Set access specifiers on imported declarations.Douglas Gregor2010-02-221-0/+7
| | | | llvm-svn: 96788
* Do not require a complete type when checking for a pointer conversionDouglas Gregor2010-02-221-0/+1
| | | | | | between cv1 T* and cv2 T*. llvm-svn: 96787
* Change the name of the vtable-debugging environment variable toDouglas Gregor2010-02-221-1/+1
| | | | | | CLANG_VTABLE_DEBUG. llvm-svn: 96785
* Don't use NamedDecl::getNameAsCString() when dealing with C++ methods,Douglas Gregor2010-02-221-13/+13
| | | | | | since they may not have normal identifiers for names. Fixes PR6369. llvm-svn: 96784
* Revert "Simplify code: Succ is guaranteed to be not NULL.", which turns out toDaniel Dunbar2010-02-221-28/+28
| | | | | | not be guaranteed. llvm-svn: 96782
* Simplify code: Succ is guaranteed to be not NULL.Zhongxing Xu2010-02-221-28/+28
| | | | llvm-svn: 96772
* Add 'previous declaration is here' note for param redefinition Chris Lattner2010-02-221-3/+2
| | | | | | | | | | | | | errors, e.g.: t.c:1:21: error: redefinition of parameter 'x' int test(int x, int x); ^ t.c:1:14: note: previous declaration is here int test(int x, int x); ^ llvm-svn: 96769
* Eliminate the default arguments to ASTContext::getFunctionType(),Douglas Gregor2010-02-219-36/+106
| | | | | | | | fixing up a few callers that thought they were propagating NoReturn information but were in fact saying something about exception specifications. llvm-svn: 96766
* Implement support for parsing pseudo-destructor expression with a ↵Douglas Gregor2010-02-218-46/+103
| | | | | | | | | | | | nested-name-specifier, e.g., typedef int Int; int *p; p->Int::~Int(); This weakens the invariant that the only types in nested-name-specifiers are tag types (restricted to class types in C++98/03). However, we weaken this invariant as little as possible, accepting arbitrary types in nested-name-specifiers only when we're in a member access expression that looks like a pseudo-destructor expression. llvm-svn: 96743
* A constructor template cannot be used to copy to an object of the same class ↵Douglas Gregor2010-02-211-1/+2
| | | | | | type (per C++ [class.copy]p3). Make sure that includes copies that involve a derived-to-base conversion. Fixes PR6141. llvm-svn: 96742
* Implement AST import for C++ member functions, including constructors, ↵Douglas Gregor2010-02-211-5/+47
| | | | | | destructors, and conversions. Unfortunately, this cannot be tested yet, since we don't have C++ PCH support. llvm-svn: 96741
* Implement AST importing for C++ namespaces.Douglas Gregor2010-02-211-1/+67
| | | | llvm-svn: 96740
* Collect the code that imports all of the members of a declaration context ↵Douglas Gregor2010-02-211-27/+14
| | | | | | into a single function, ImportDeclContext. Use it rather than explicit loops. No functionality change. llvm-svn: 96739
* Implement PCH support for C++ namespaces.Douglas Gregor2010-02-212-0/+28
| | | | llvm-svn: 96738
* Commiting a revert from dgregor of a bit of destructor logic until we canChandler Carruth2010-02-211-17/+11
| | | | | | | figure out how not to break lots of code using this. See PR6358 and PR6359 for motivating examples. FIXME's left in the code and the test. llvm-svn: 96733
* Make Decl::isOutOfLine() virtual, and use that to determine when definitionsChandler Carruth2010-02-212-12/+13
| | | | | | | are for out of line declarations more easily. This simplifies the logic and handles the case of out-of-line class definitions correctly. Fixes PR6107. llvm-svn: 96729
* Clang really intends to reject attribute 'warn_unused_result' on Objective-C ↵Ted Kremenek2010-02-211-1/+1
| | | | | | | | | methods, but instead it crashes on them. We might extend this attribute to work on methods, but for now fix the crasher. Addresses <rdar://problem/7670939>. llvm-svn: 96723
* Don't emit a warning about a dllimport attribute being used in a typedefTed Kremenek2010-02-211-2/+6
| | | | | | when -fms-extensions is specified. Fixes <rdar://problem/7653870>. llvm-svn: 96722
* Don't warn about functions redeclared without the dllimport attribute whenTed Kremenek2010-02-211-1/+5
| | | | | | -fms-extensions is enabled. Fixes <rdar://problem/7669559>. llvm-svn: 96721
* Start supporting declaration of ivars in @implementationFariborz Jahanian2010-02-191-1/+20
| | | | | | blocks. WIP. llvm-svn: 96696
* Add the CK_UnusedFunctionPointer component kind for unused function pointers.Anders Carlsson2010-02-191-3/+34
| | | | llvm-svn: 96695
* Issue extended diagnostic when property dot-syntax is used and Fariborz Jahanian2010-02-191-4/+7
| | | | | | there is a setter but no getter (part of radar 7664555). llvm-svn: 96687
* Only parse C++0x attribute specifiers in declarators when in C++0xDouglas Gregor2010-02-191-1/+1
| | | | | | | mode. This allows us to detect invalid VLAs in Objective-C++ mode. This should be the last of <rdar://problem/7660386>. llvm-svn: 96679
* Implement C++ name lookup for instance variables of Objective-C classesDouglas Gregor2010-02-191-7/+30
| | | | | | | | | | | | from an instance method. Previously, we were following the Objective-C name lookup rules for ivars, which are of course completely different from and incompatible with the Objective-C++ rules. For the record, the Objective-C++ rules are the sane ones. This is another part of <rdar://problem/7660386>. llvm-svn: 96677
* Make Sema::ActOnClassMessage robust when name lookup for the receiverDouglas Gregor2010-02-191-8/+8
| | | | | | | name finds something other than a TypedefDecl or an ObjCInterfaceDecl. This is a small part of <rdar://problem/7660386>. llvm-svn: 96676
* More refactoring around constructor/destructor code generation.John McCall2010-02-194-182/+178
| | | | | | | | | | | | Fix some bugs with function-try-blocks and simplify normal try-block code generation. This implementation excludes a deleting destructor's call to operator delete() from the function-try-block, which I believe is correct but which I can't find straightforward support for at a moment's glance. llvm-svn: 96670
* Dump this-adjustments for destructors as well.Anders Carlsson2010-02-191-10/+27
| | | | llvm-svn: 96660
* Enable -mconstructor-aliases by default on non-darwin platforms.John McCall2010-02-191-0/+5
| | | | | | The linker bug holding this back is Darwin-specific. llvm-svn: 96655
* Revert: "Change InitListExpr to allocate the array for holding references"Ted Kremenek2010-02-195-83/+47
| | | | | | | | This was causing buildbot breakage. This reverts commit d46e952cc8cb8d9eed8657d9a0b267910a0f745a. llvm-svn: 96652
* Add a missing break. Cocoa.h can now be merged twice into the same AST contextDouglas Gregor2010-02-191-0/+1
| | | | llvm-svn: 96650
* Re-introduce the ctor/dtor alias optimization, this time hidden behind aJohn McCall2010-02-194-23/+146
| | | | | | command-line option which defaults off. llvm-svn: 96649
* AST import for CStyleCastExpr. With this, we can import Cocoa.h into an ↵Douglas Gregor2010-02-191-0/+20
| | | | | | empty context llvm-svn: 96648
* AST import for sizeof and alignof expressionsDouglas Gregor2010-02-191-0/+25
| | | | llvm-svn: 96647
OpenPOWER on IntegriCloud