Skip to content
  1. May 12, 2009
  2. May 11, 2009
  3. May 10, 2009
  4. May 09, 2009
  5. May 08, 2009
  6. May 05, 2009
  7. May 04, 2009
    • Daniel Dunbar's avatar
      Compute interface instanceStart and instanceSize using the record · 9252ee17
      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
      9252ee17
    • Chris Lattner's avatar
      "Fix" a problem with debug info in the presence of always_inline · 23d5a391
      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
      23d5a391
    • Chris Lattner's avatar
      "The attached diff fixes the //FIXME in message send to super. This should... · bef2ee43
      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
      bef2ee43
    • Daniel Dunbar's avatar
      Patch from David Chisnall: · 566421c8
      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
      566421c8
    • Daniel Dunbar's avatar
      Remove unnecessary copy of constraint info. · d53e07b3
      Daniel Dunbar authored
      llvm-svn: 70835
      d53e07b3
    • Eli Friedman's avatar
      2ad7e170
    • Eli Friedman's avatar
      Remove unnecessary push_back (at least, I think it's unnecessary); · 33955dd2
      Eli Friedman authored
      hopefully, this fixes PR4144 without any regressions.
      
      llvm-svn: 70823
      33955dd2
    • Daniel Dunbar's avatar
      Don't allow clients to traverse into superclass synthesized properties · 98ba964e
      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
      98ba964e
Loading