Skip to content
  1. May 18, 2011
  2. May 17, 2011
  3. May 16, 2011
  4. May 15, 2011
  5. May 14, 2011
    • Nico Weber's avatar
      Let clang-check actually use the Directory entry in the json file. · 1eace078
      Nico Weber authored
      llvm-svn: 131367
      1eace078
    • John McCall's avatar
      Only perform the null-initialization of an aggregate result of a message · 5880fb8e
      John McCall authored
      send if the receiver is null.  Normally it's not worthwhile to check this,
      but avoiding the null-initialization is nice, and this also avoids nasty
      problems where the null-initialization is visible within the call because
      we use an aliased result buffer.  rdar://problem/9402992
      
      llvm-svn: 131366
      5880fb8e
    • Argyrios Kyrtzidis's avatar
      Create proper Objective-C @encoding for C++ classes; fixes rdar://9357400. · dd72aaff
      Argyrios Kyrtzidis authored
      Go through and expand the members of bases into the encoding string (and encode the VTable as well).
      Unlike gcc which expands virtual bases as many times as they appear in the
      hierarchy, clang will only expand them once at the end, to reflect the actual layout.
      
      Note that there doesn't seem to be a way to indicate in the encoding that
      packing/alignment of members is different that normal, in which case
      the encoding will be out-of-sync with the real layout.
      If the runtime switches to just consider the size of types without
      taking into account alignment, we could easily make padding explicit in the
      encoding (e.g. using arrays of chars). The encoding strings would be
      longer then though.
      
      Also encode a flexible array member as array of 0 size, like gcc, not as a pointer.
      
      llvm-svn: 131365
      dd72aaff
    • Argyrios Kyrtzidis's avatar
      Emit an error when trying to @encode an incomplete type. · 7da04c63
      Argyrios Kyrtzidis authored
      There are APIs, e.g. [NSValue valueWithBytes:objCType:], which use the encoding to find out
      the size of an object pointed to by a pointer. Make things safer by making it illegal to @encode
      incomplete types.
      
      llvm-svn: 131364
      7da04c63
Loading