================
Comment at: lib/AST/RecordLayoutBuilder.cpp:2591
@@ -2908,2 +2590,3 @@
 
+  // vtordisps are always 4 bytes (even in 64-bit mode)
   if (HasVtordisp)
----------------
Reid Kleckner wrote:
> Yep, this is true throughout the ABI.  It seems objects cannot be larger than 
> 2**32.
This is a hard limit for arrays: 
http://msdn.microsoft.com/en-us/library/vstudio/s0z0bbfe.aspx

However, I can pass this limit with structs:

  #include <stdio.h>
  struct S {
    char C1, C2;
    char CArray[2147483647LL];
  };
  int main() {
    printf("sizeof(S): %llu", (unsigned long long)sizeof(S));
  }

This gives me 2147483649 on x86_32 and x86_64


http://llvm-reviews.chandlerc.com/D2003
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to