- Feb 24, 2010
-
-
John McCall authored
llvm-svn: 97032
-
John McCall authored
a common source of oddities and, in theory, removes some redundant ABI computations. Also fixes a miscompile I introduced yesterday by refactoring some code and causing a slightly different code path to be taken that didn't perform *parameter* type canonicalization, just normal type canonicalization; this in turn caused a bit of ABI code to misfire because it was looking for 'double' or 'float' but received 'const float'. llvm-svn: 97030
-
Ted Kremenek authored
Windows and Mac OS X. Will investigate later. llvm-svn: 97016
-
Charles Davis authored
apply it only to the function itself, and never to the return type. Fixes part of PR6408. llvm-svn: 97015
-
Zhongxing Xu authored
analysis needs this. llvm-svn: 97014
-
Fariborz Jahanian authored
llvm-svn: 97009
-
Fariborz Jahanian authored
a block pointer type. Fixes radar 7682149. llvm-svn: 97008
-
Ted Kremenek authored
llvm-svn: 97005
-
Fariborz Jahanian authored
llvm-svn: 97002
-
- Feb 23, 2010
-
-
Devang Patel authored
llvm-svn: 96999
-
Blaine Garst authored
llvm-svn: 96998
-
Rafael Espindola authored
Add support for the weakref attribute. We still produce "alias weak" as llvm-gcc does, but are more strict on what uses of weakref we accept. llvm-svn: 96992
-
Blaine Garst authored
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
-
Fariborz Jahanian authored
rewriting problem. Fixes radar 7680953. llvm-svn: 96987
-
Ted Kremenek authored
pointer (for defensive programming). This matches the behavior with assigning NULL to a regular pointer. Fixes <rdar://problem/7631278>. llvm-svn: 96985
-
Ted Kremenek authored
that refer to an undefined class. llvm-svn: 96976
-
John McCall authored
the result is integral. Fixes <rdar://problem/7676608>. llvm-svn: 96970
-
Fariborz Jahanian authored
llvm-svn: 96968
-
Eli Friedman authored
llvm-svn: 96961
-
Eli Friedman authored
llvm-svn: 96958
-
Richard Pennington authored
llvm-svn: 96941
-
rdar://problem/7242010Ted Kremenek authored
in the recent changes to RegionStore::InvalidateRegions(). Note that we are still not yet modeling 'memcpy()' explicitly. llvm-svn: 96902
-
Charles Davis authored
the canonical calling conventions instead of comparing the raw calling conventions directly. Fixes PR6361. llvm-svn: 96895
-
Charles Davis authored
__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
-
Anders Carlsson authored
More fixes. Don't try to emit a virtual base vtable if the virtual base in question is a primary virtual base of some other base. llvm-svn: 96881
-
Anders Carlsson authored
Always emit vcall offset for the primary base, not only if it's virtual. Remove a debug printf, and add the test case that now passes. llvm-svn: 96880
-
Fariborz Jahanian authored
llvm-svn: 96850
-
John McCall authored
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
-
Douglas Gregor authored
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
-
- Feb 22, 2010
-
-
Fariborz Jahanian authored
itself rewritten. Radar 7669784. llvm-svn: 96798
-
Douglas Gregor authored
between cv1 T* and cv2 T*. llvm-svn: 96787
-
Chris Lattner authored
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
-
- Feb 21, 2010
-
-
Douglas Gregor authored
llvm-svn: 96759
-
Douglas Gregor authored
and the c-index-test executable end up getting different copies of stderr, causing non-deterministic ordering of output. Fixed by flushing the file after printing a diagnostic (only on Windows). llvm-svn: 96754
-
Douglas Gregor authored
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
-
Chandler Carruth authored
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
-
Chandler Carruth authored
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
-
Ted Kremenek authored
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
-
Ted Kremenek authored
when -fms-extensions is specified. Fixes <rdar://problem/7653870>. llvm-svn: 96722
-
Ted Kremenek authored
-fms-extensions is enabled. Fixes <rdar://problem/7669559>. llvm-svn: 96721
-