Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Correct radar no. | Fariborz Jahanian | 2010-02-24 | 1 | -1/+1 | |
| | | | | llvm-svn: 97009 | |||||
* | Fix rewriting of a method when return type is | Fariborz Jahanian | 2010-02-24 | 2 | -0/+29 | |
| | | | | | | a block pointer type. Fixes radar 7682149. llvm-svn: 97008 | |||||
* | Add support for '%C' and '%S' printf conversion specifiers. | Ted Kremenek | 2010-02-24 | 3 | -25/+56 | |
| | | | | llvm-svn: 97005 | |||||
* | More Sema check for ivars in class continuation. | Fariborz Jahanian | 2010-02-23 | 4 | -15/+64 | |
| | | | | llvm-svn: 97002 | |||||
* | Emit debug info for VectorType. | Devang Patel | 2010-02-23 | 3 | -2/+35 | |
| | | | | llvm-svn: 96999 | |||||
* | fix buildbot failure on windows by slightly trimming test output to ignore ↵ | Blaine Garst | 2010-02-23 | 1 | -2/+2 | |
| | | | | | | temporary name llvm-svn: 96998 | |||||
* | Add support for the weakref attribute. We still produce "alias weak" as ↵ | Rafael Espindola | 2010-02-23 | 11 | -13/+144 | |
| | | | | | | llvm-gcc does, but are more strict on what uses of weakref we accept. llvm-svn: 96992 | |||||
* | Unconditionally support block introspection data in a new field at the end | Blaine Garst | 2010-02-23 | 7 | -59/+140 | |
| | | | | | | | | | | | | | | | of the block descriptor field. This field is the ObjC style @encode signature of the implementation function, and was to this point conditionally provided in the block literal data structure. That provisional support is removed. Additionally, eliminate unused enumerations for the block literal flags field. The first shipping ABI unconditionally set (1<<29) but this bit is unused by the runtime, so the second ABI will unconditionally have (1<<30) set so that the runtime can in fact distinguish whether the additional data is present or not. llvm-svn: 96989 | |||||
* | Fixes a rewriting of qualified-id type which exposed a bigger | Fariborz Jahanian | 2010-02-23 | 2 | -5/+21 | |
| | | | | | | rewriting problem. Fixes radar 7680953. llvm-svn: 96987 | |||||
* | Dead emit dead store warnings when assigning nil to an ObjC object | Ted Kremenek | 2010-02-23 | 2 | -1/+9 | |
| | | | | | | | pointer (for defensive programming). This matches the behavior with assigning NULL to a regular pointer. Fixes <rdar://problem/7631278>. llvm-svn: 96985 | |||||
* | Fix bogus diagnostic format string. | Daniel Dunbar | 2010-02-23 | 3 | -3/+3 | |
| | | | | llvm-svn: 96978 | |||||
* | Fix another crash on invalid code. In this case, handle ObjC categories ↵ | Ted Kremenek | 2010-02-23 | 2 | -10/+23 | |
| | | | | | | | | (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 | 2 | -3/+23 | |
| | | | | | | the result is integral. Fixes <rdar://problem/7676608>. llvm-svn: 96970 | |||||
* | A test case for property synthesis using ivar in class extensions. | Fariborz Jahanian | 2010-02-23 | 1 | -0/+36 | |
| | | | | llvm-svn: 96968 | |||||
* | 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 | 2 | -0/+9 | |
| | | | | llvm-svn: 96961 | |||||
* | PR6386: Fix a recent regression in IRGen of cast-to-union constructs. | Eli Friedman | 2010-02-23 | 2 | -1/+13 | |
| | | | | llvm-svn: 96958 | |||||
* | Retain attributes for K&R style parameter declarations. | Richard Pennington | 2010-02-23 | 2 | -4/+16 | |
| | | | | llvm-svn: 96941 | |||||
* | Add test case for <rdar://problem/7242010>, which appears to have been fixed | Ted Kremenek | 2010-02-23 | 1 | -0/+21 | |
| | | | | | | | in the recent changes to RegionStore::InvalidateRegions(). Note that we are still not yet modeling 'memcpy()' explicitly. llvm-svn: 96902 | |||||
* | 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 | 2 | -1/+6 | |
| | | | | | | | 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 | 3 | -217/+270 | |
| | | | | | | 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 | 2 | -0/+12 | |
| | | | | | | | __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 | 2 | -10/+72 | |
| | | | | | | 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 | 2 | -5/+60 | |
| | | | | | | 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 | |||||
* | Add missing header file. | Ted Kremenek | 2010-02-23 | 1 | -0/+41 | |
| | | | | llvm-svn: 96875 | |||||
* | 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 | 5 | -6/+85 | |
| | | | | 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 | |||||
* | Correct comment. | Zhongxing Xu | 2010-02-23 | 1 | -1/+0 | |
| | | | | llvm-svn: 96846 | |||||
* | Perform two more constructor/destructor code-size optimizations: | John McCall | 2010-02-23 | 14 | -60/+425 | |
| | | | | | | | | | | | | | | | | 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 | 5 | -15/+134 | |
| | | | | | | | | | | 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 | |||||
* | Rework the CIndex API for displaying diagnostics. Instead of printing | Douglas Gregor | 2010-02-22 | 5 | -38/+56 | |
| | | | | | | | the diagnostics to a FILE*, return a CXString containing the formatted diagnostic. llvm-svn: 96823 | |||||
* | Early support for declaring ivars in class extensions. wip. | Fariborz Jahanian | 2010-02-22 | 4 | -4/+24 | |
| | | | | llvm-svn: 96819 | |||||
* | Fixes a rewriting of byref variable when its initializer is | Fariborz Jahanian | 2010-02-22 | 2 | -13/+57 | |
| | | | | | | 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 | 2 | -0/+22 | |
| | | | | | | 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 | |||||
* | Remove dead code. | Zhongxing Xu | 2010-02-22 | 1 | -2/+0 | |
| | | | | llvm-svn: 96773 | |||||
* | Simplify code: Succ is guaranteed to be not NULL. | Zhongxing Xu | 2010-02-22 | 1 | -28/+28 | |
| | | | | llvm-svn: 96772 |