Bhramar.vatsa added a comment. @dblaikie The condition "FieldClass->isPOD()" returns false for the following case (when considering field 'struct foo t' of 'struct foo1') :
class foo { foo() = default; int _a; }; struct foo1 { struct foo t; } t1; The same code though doesn't give any warning for gcc: https://godbolt.org/z/f4chraerY This is because the way it works for CXXRecordDecl : https://github.com/llvm/llvm-project/blob/1e3a02162db20264e9615b1346420c8d199cb347/clang/lib/AST/DeclCXX.cpp#L928 So, there seems to be a difference the way GCC is handling this case, in comparison to how now clang handles it. For the same case, `D->getType().isCXX11PODType()` (or `isPODType()`) indicates it to be a POD type. So, we think that this should be further changed such that it doesn't break the code that works with GCC. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D117616/new/ https://reviews.llvm.org/D117616 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits