dblaikie added a comment. Thanks for chiming in!
In D119051#3315741 <https://reviews.llvm.org/D119051#3315741>, @rjmccall wrote: > Changing the C++03 POD definition is going to be substantially ABI-breaking > at this point. Any logic to change it needs to be platform-specific. Even if it's only related to the use of "= default"? Hrm. Got some examples I could try out? Ah, I guess here: https://godbolt.org/z/P6n9xKTnM struct t1 { int i; char c; t1() = default; }; struct t2: t1 { char c; }; #ifdef __clang__ static_assert(sizeof(t2) == 8, ""); #else static_assert(sizeof(t2) == 12, ""); #endif Where would be the right place for the platform specific detection to happen then? Can the places I've proposed changing in DeclCXX.cpp be made target-specific there, or do we have to compute two different properties there and do the target-specific selection between them at some later point/in the record layout logic? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119051/new/ https://reviews.llvm.org/D119051 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits