[PATCH] When an array is created that is too large, lower its size to the maximum allowable size.
Richard Trieu
rtrieu at google.com
Wed May 15 17:54:56 PDT 2013
================
Comment at: lib/Sema/SemaType.cpp:1564-1567
@@ -1555,2 +1563,6 @@
<< ArraySize->getSourceRange();
+ // Set array size to largest allowable size.
+ getMaxArraySize(Context, T, ConstantArrayType::getMaxSizeBits(Context),
+ ConstVal);
+ }
}
----------------
Richard Smith wrote:
> How about just returning QualType() here? An invalid type should do a better job of suppressing follow-on diagnostics than an array-of-unexpected-size.
Returning QualType() also would prevent the crash, however it also causes a new error to be emitted. "initializer element is not a compile-time constant" on __builtin_offsetof(struct Chunk2, data).
http://llvm-reviews.chandlerc.com/D800
More information about the cfe-commits
mailing list