- May 05, 2009
-
-
Anders Carlsson authored
Refactor global decls to hold either a regular Decl or a CXXConstructorDecl + ctor type or a CXXDestructorDecl + dtor type. llvm-svn: 70962
-
Daniel Dunbar authored
llvm-svn: 70951
-
Fariborz Jahanian authored
objc_assign_global API when assigning to global objective-c object pointer. llvm-svn: 70939
-
Daniel Dunbar authored
compensating for super classes). This was making the reported class sizes for empty classes very, very wrong. - Also, we now report the size info for an empty class like gcc (as the offset of the start, not as 0, 0). - Add a few more test cases we were mishandling before (padding bit field at end of struct, for example). llvm-svn: 70938
-
- May 04, 2009
-
-
Daniel Dunbar authored
layout. - This is much simpler / more efficient. - This also properly computes the size in the presence of bit-fields. llvm-svn: 70916
-
Chris Lattner authored
function calls. For a program like this: #include <stdio.h> static __inline__ __attribute__((always_inline)) int bar(int x) { return 4; } int main() { int X = bar(4); printf("%d\n", X); } clang was not outputing any debug info for the body of main(). This is because the backend is getting confused by the region_start/end that clang is emitting for block scopes. For now, just disable these (matching llvm-gcc), this stuff is in progress of rework anyway. llvm-svn: 70889
-
Chris Lattner authored
"The attached diff fixes the //FIXME in message send to super. This should now be faster, and works in the presence of class posing. This is now the same approach as used in GCC (the earlier code was a quick hack to get something working)." Patch by David Chisnall! llvm-svn: 70877
-
Daniel Dunbar authored
The attached diff fixes the //FIXME in message send to super. This should now be faster, and works in the presence of class posing. This is now the same approach as used in GCC (the earlier code was a quick hack to get something working). llvm-svn: 70868
-
Daniel Dunbar authored
llvm-svn: 70835
-
Eli Friedman authored
llvm-svn: 70825
-
Eli Friedman authored
hopefully, this fixes PR4144 without any regressions. llvm-svn: 70823
-
Daniel Dunbar authored
via CollectObjCIvars. - In places where we need them, we should have the implementation and access the properties through it. This is a fairly substantial functionality change: 1. @encode no longer encodes synthesized ivars, ever. 2. The ivar layout bitmap no longer encodes information for synthesized ivars in superclasses. Well, actually I had already broken that, but it is intentional now. We are now differing substantially from llvm-gcc and gcc here. However, in my opinion this fundamentally *must* work if non-fragile classes are to work. Without this change, the result of @encode and the ivar layout depend on the order that the implementation is seen in a file (if it is in the same file with its superclass). Since both scenarios should work the same, our behavior is now consistent with gcc behavior as if an implementation is never seen following an implementation of its superclass. Note that #2 is only a functionality change when (A) an implementation appears in the same translation unit with the implementation of its superclass, and (B) the superclass has synthesized ivars. My belief is that this situation does not occur in practice. I am not yet sure of the role/semantics of @encode when synthesized ivars are present... it's use is fairly unsound in a non-fragile world. llvm-svn: 70822
-
Daniel Dunbar authored
llvm-svn: 70813
-
Daniel Dunbar authored
llvm-svn: 70812
-
Daniel Dunbar authored
llvm-svn: 70810
-
- May 03, 2009
-
-
Daniel Dunbar authored
ivar layout. - The layout needs access to synthesized ivars. llvm-svn: 70798
-
Eli Friedman authored
llvm-svn: 70794
-
Eli Friedman authored
llvm-svn: 70789
-
Eli Friedman authored
llvm-svn: 70786
-
Anders Carlsson authored
llvm-svn: 70785
-
Anders Carlsson authored
llvm-svn: 70783
-
Daniel Dunbar authored
just computing it! llvm-svn: 70779
-
Daniel Dunbar authored
llvm-svn: 70778
-
Daniel Dunbar authored
llvm-svn: 70777
-
Daniel Dunbar authored
llvm-svn: 70776
-
Daniel Dunbar authored
Lift up a size calculation and note some asymmetries. llvm-svn: 70775
-
Daniel Dunbar authored
llvm-svn: 70771
-
Daniel Dunbar authored
struct. - We still need to do more lookup than necessary because ivars don't live in a reasonable DeclContext. - The only remaining client of the interface shadow struct is the ivar layout bitmap. llvm-svn: 70756
-
Daniel Dunbar authored
decl. Only this routine will be suitable for computing the offset of a synthesized ivar. - No functionality change. llvm-svn: 70696
-
Daniel Dunbar authored
not the shadow structure. llvm-svn: 70691
-
Chris Lattner authored
this fixes http://llvm.org/bugs/show_bug.cgi?id=3373#c20 llvm-svn: 70685
-
Daniel Dunbar authored
llvm-svn: 70684
-
Daniel Dunbar authored
llvm-svn: 70683
-
Chris Lattner authored
llvm-svn: 70680
-
Chris Lattner authored
the input. This is part of PR3373. llvm-svn: 70677
-
Chris Lattner authored
like bitfields. incidentally llvm-gcc crashes on this sort of thing also. :) llvm-svn: 70675
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 70674
-
Chris Lattner authored
llvm-svn: 70672
-
Chris Lattner authored
processing the outputs, no functionality change. llvm-svn: 70671
-
- May 02, 2009
-
-
Chris Lattner authored
the runtime version number onto it, so that the debugger knows it's an objc interface, not a C struct. rdar://6848435 llvm-svn: 70618
-