[PATCH] D119051: Extend the C++03 definition of POD to include defaulted functions
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 15 06:07:39 PDT 2022
aaron.ballman added a comment.
Do we need to gate this on use of `-fms-compatibility` as well? I'm not certain how cygwin factors in where it's sort of gcc and sort of msvc (perhaps the triple is sufficient for that?).
================
Comment at: clang/lib/AST/DeclCXX.cpp:892
+ if ((!Method->isDeleted() && !Method->isDefaulted() &&
+ SMKind != SMF_MoveAssignment) ||
+ (getLangOpts().getClangABICompat() <=
----------------
Ah, it took me a moment to realize that move assignment is called out here but not move construction because move construction is handled above.
================
Comment at: clang/test/SemaCXX/class-layout.cpp:663-665
+_Static_assert(_Alignof(t2) == 4, "");
+#else
+_Static_assert(_Alignof(t2) == 1, "");
----------------
dblaikie wrote:
> aaron.ballman wrote:
> >
> This doesn't compile under the first `RUN` line which uses C++98, I think?
Ah, fair point. I don't have a strong opinion, but you could do `-Dstatic_assert=_Static_assert` for that RUN line and not use the extension version. But it doesn't matter for the test functionality, so whichever approach sparks the most joy for you is fine by me.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D119051/new/
https://reviews.llvm.org/D119051
More information about the cfe-commits
mailing list