rjmccall added a comment. Changing the requirements on the return-value slot would be an ABI break, no? And it would force to us to treat all complete-object constructions as nvsize-limited unless they're constructions of known sizeof-sized allocations.
================ Comment at: CodeGen/CGDecl.cpp:1462 + AggValueSlot::IsNotAliased, + AggValueSlot::DoesNotOverlap)); } ---------------- How is 'does not overlap' justified here? Should this be propagated into the LValue? ================ Comment at: CodeGen/CGExprAgg.cpp:1721 + TypeInfo = getContext().getTypeInfoInChars(BaseEltTy); + // FIXME: What about VLAs of VLAs? assert(!TypeInfo.first.isZero()); ---------------- emitArrayLength drills down to the base non-array type; it handles nested VLAs. Repository: rC Clang https://reviews.llvm.org/D45306 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits