[PATCH] D119051: Extend the C++03 definition of POD to include defaulted functions

Erich Keane via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 15 06:03:52 PDT 2022


erichkeane added inline comments.


================
Comment at: clang/lib/AST/DeclCXX.cpp:892
+             LangOptions::ClangABI::Ver15)) {
+          // C++03 [class]p4:
+          //   A POD-struct is an aggregate class that has [...] no user-defined
----------------
dblaikie wrote:
> erichkeane wrote:
> > Does this language change much if there are constraints on this method?  We might need to consider that if we are breaking ABI here.
> Oh, sorry, I should've used more words - but this is intended as an ABI break/fix. It's a place where Clang's ABI implementation is inconsistent with GCC and MSVC - so this is intended to fix/make Clang compatible with those ABIs where we are trying to be compatible with them. (& why we're checking the ClangABI version here - so if you're asking for the old ABI you still get it)
> 
> Perhaps I'm misunderstanding your questions/concerns?
Yeah, my concern is whether this behavior is different with a constraint on it.  That is, does the eligibility of the constructor matter for this case?  

This ctor/copy assign/etc might not pass a constraint check/never be callable.

So the question is whether we need to consider that here.


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