| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Dead emit dead store warnings when assigning nil to an ObjC object | Ted Kremenek | 2010-02-23 | 1 | -1/+2 |
| | | | | | | | | pointer (for defensive programming). This matches the behavior with assigning NULL to a regular pointer. Fixes <rdar://problem/7631278>. llvm-svn: 96985 | ||||
| * | Fix another crash on invalid code. In this case, handle ObjC categories ↵ | Ted Kremenek | 2010-02-23 | 1 | -10/+19 |
| | | | | | | | | | (with no names) that refer to an undefined class. llvm-svn: 96976 | ||||
| * | Don't assert on compound assignment operators that operate in FP types when | John McCall | 2010-02-23 | 1 | -3/+15 |
| | | | | | | | the result is integral. Fixes <rdar://problem/7676608>. llvm-svn: 96970 | ||||
| * | Make previous fix handle a few more edge cases. | Eli Friedman | 2010-02-23 | 1 | -3/+3 |
| | | | | | llvm-svn: 96962 | ||||
| * | PR6400: Handle an extreme edge case in mangling correctly. | Eli Friedman | 2010-02-23 | 1 | -0/+3 |
| | | | | | llvm-svn: 96961 | ||||
| * | PR6386: Fix a recent regression in IRGen of cast-to-union constructs. | Eli Friedman | 2010-02-23 | 1 | -1/+1 |
| | | | | | llvm-svn: 96958 | ||||
| * | Retain attributes for K&R style parameter declarations. | Richard Pennington | 2010-02-23 | 1 | -4/+5 |
| | | | | | llvm-svn: 96941 | ||||
| * | Implement IsOverriderUsed. This can't be tested yet due to some other bugs :) | Anders Carlsson | 2010-02-23 | 1 | -1/+46 |
| | | | | | llvm-svn: 96897 | ||||
| * | When comparing two calling conventions after redeclaring a function, compare | Charles Davis | 2010-02-23 | 1 | -1/+2 |
| | | | | | | | | the canonical calling conventions instead of comparing the raw calling conventions directly. Fixes PR6361. llvm-svn: 96895 | ||||
| * | Move the rest of the unreachable code analysis from libSema | Ted Kremenek | 2010-02-23 | 2 | -210/+249 |
| | | | | | | | to libAnalysis (with only the error reporting in libSema). llvm-svn: 96893 | ||||
| * | Simplify check for basic block with a CXXTryStmt terminator. | Ted Kremenek | 2010-02-23 | 1 | -3/+2 |
| | | | | | llvm-svn: 96892 | ||||
| * | When a reference to a field of a struct/union/class is passed to the | Charles Davis | 2010-02-23 | 1 | -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 Carlsson | 2010-02-23 | 1 | -4/+50 |
| | | | | | llvm-svn: 96883 | ||||
| * | More fixes. Don't try to emit a virtual base vtable if the virtual base in ↵ | Anders Carlsson | 2010-02-23 | 1 | -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 Carlsson | 2010-02-23 | 1 | -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 Carlsson | 2010-02-23 | 1 | -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 Carlsson | 2010-02-23 | 1 | -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 libSema | Ted Kremenek | 2010-02-23 | 3 | -46/+68 |
| | | | | | | | and into libAnalysis. llvm-svn: 96872 | ||||
| * | Convert use of std::queue to llvm::SmallVector and fix buildbot. | Ted Kremenek | 2010-02-23 | 1 | -30/+33 |
| | | | | | llvm-svn: 96855 | ||||
| * | Move BaseOffset out of the FinalOverriders class. | Anders Carlsson | 2010-02-23 | 1 | -45/+44 |
| | | | | | llvm-svn: 96853 | ||||
| * | More support for ivars in class extension. | Fariborz Jahanian | 2010-02-23 | 3 | -6/+27 |
| | | | | | llvm-svn: 96850 | ||||
| * | Use SmallVectorImpl::iterator. | Ted Kremenek | 2010-02-23 | 1 | -4/+2 |
| | | | | | llvm-svn: 96848 | ||||
| * | Simplify logic for determining values of 'ReturnsVoid' and 'HasNoReturn' flags. | Ted Kremenek | 2010-02-23 | 1 | -9/+7 |
| | | | | | | | No functionality change. llvm-svn: 96847 | ||||
| * | Perform two more constructor/destructor code-size optimizations: | John McCall | 2010-02-23 | 8 | -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 in | Douglas Gregor | 2010-02-23 | 1 | -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 Jahanian | 2010-02-22 | 2 | -4/+21 |
| | | | | | llvm-svn: 96819 | ||||
| * | Fixes a rewriting of byref variable when its initializer is | Fariborz Jahanian | 2010-02-22 | 1 | -13/+29 |
| | | | | | | | itself rewritten. Radar 7669784. llvm-svn: 96798 | ||||
| * | Don't assert that we have a valid access specifier on an invalid | Douglas Gregor | 2010-02-22 | 1 | -1/+2 |
| | | | | | | | declaration. This is the trivial part of PR6365. llvm-svn: 96792 | ||||
| * | Set access specifiers on imported declarations. | Douglas Gregor | 2010-02-22 | 1 | -0/+7 |
| | | | | | llvm-svn: 96788 | ||||
| * | Do not require a complete type when checking for a pointer conversion | Douglas Gregor | 2010-02-22 | 1 | -0/+1 |
| | | | | | | | between cv1 T* and cv2 T*. llvm-svn: 96787 | ||||
| * | Change the name of the vtable-debugging environment variable to | Douglas Gregor | 2010-02-22 | 1 | -1/+1 |
| | | | | | | | CLANG_VTABLE_DEBUG. llvm-svn: 96785 | ||||
| * | Don't use NamedDecl::getNameAsCString() when dealing with C++ methods, | Douglas Gregor | 2010-02-22 | 1 | -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 to | Daniel Dunbar | 2010-02-22 | 1 | -28/+28 |
| | | | | | | | not be guaranteed. llvm-svn: 96782 | ||||
| * | Simplify code: Succ is guaranteed to be not NULL. | Zhongxing Xu | 2010-02-22 | 1 | -28/+28 |
| | | | | | llvm-svn: 96772 | ||||
| * | Add 'previous declaration is here' note for param redefinition | Chris Lattner | 2010-02-22 | 1 | -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 Gregor | 2010-02-21 | 9 | -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 Gregor | 2010-02-21 | 8 | -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 Gregor | 2010-02-21 | 1 | -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 Gregor | 2010-02-21 | 1 | -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 Gregor | 2010-02-21 | 1 | -1/+67 |
| | | | | | llvm-svn: 96740 | ||||
| * | Collect the code that imports all of the members of a declaration context ↵ | Douglas Gregor | 2010-02-21 | 1 | -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 Gregor | 2010-02-21 | 2 | -0/+28 |
| | | | | | llvm-svn: 96738 | ||||
| * | Commiting a revert from dgregor of a bit of destructor logic until we can | Chandler Carruth | 2010-02-21 | 1 | -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 definitions | Chandler Carruth | 2010-02-21 | 2 | -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 Kremenek | 2010-02-21 | 1 | -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 typedef | Ted Kremenek | 2010-02-21 | 1 | -2/+6 |
| | | | | | | | when -fms-extensions is specified. Fixes <rdar://problem/7653870>. llvm-svn: 96722 | ||||
| * | Don't warn about functions redeclared without the dllimport attribute when | Ted Kremenek | 2010-02-21 | 1 | -1/+5 |
| | | | | | | | -fms-extensions is enabled. Fixes <rdar://problem/7669559>. llvm-svn: 96721 | ||||
| * | Start supporting declaration of ivars in @implementation | Fariborz Jahanian | 2010-02-19 | 1 | -1/+20 |
| | | | | | | | blocks. WIP. llvm-svn: 96696 | ||||
| * | Add the CK_UnusedFunctionPointer component kind for unused function pointers. | Anders Carlsson | 2010-02-19 | 1 | -3/+34 |
| | | | | | llvm-svn: 96695 | ||||
| * | Issue extended diagnostic when property dot-syntax is used and | Fariborz Jahanian | 2010-02-19 | 1 | -4/+7 |
| | | | | | | | there is a setter but no getter (part of radar 7664555). llvm-svn: 96687 | ||||

