aaron.ballman added a comment. In D130894#3715143 <https://reviews.llvm.org/D130894#3715143>, @xbolva00 wrote:
> In D130894#3715124 <https://reviews.llvm.org/D130894#3715124>, @mstorsjo > wrote: > >> This broke building with GCC (also noted by buildbot mails): >> >> ../tools/clang/lib/Sema/SemaDeclCXX.cpp: In member function ‘void >> clang::Sema::DiagnoseStaticAssertDetails(const clang::Expr*)’: >> ../tools/clang/lib/Sema/SemaDeclCXX.cpp:16666:19: error: declaration of >> ‘const clang::Expr* clang::Sema::DiagnoseStaticAssertDetails(const >> clang::Expr*)::<unnamed struct>::Expr’ changes meaning of ‘Expr’ >> [-fpermissive] >> 16666 | const Expr *Expr; >> | ^~~~ >> In file included from ../tools/clang/include/clang/AST/DeclCXX.h:22, >> from ../tools/clang/include/clang/AST/ASTLambda.h:18, >> from ../tools/clang/lib/Sema/SemaDeclCXX.cpp:15: >> ../tools/clang/include/clang/AST/Expr.h:109:7: note: ‘Expr’ declared here >> as ‘class clang::Expr’ >> 109 | class Expr : public ValueStmt { >> | ^~~~ > > It is kinda bad that GCC throws an error and Clang does not even print a > warning. > > How is it even possible? Clang does not implement strict(er) rules ? > @aaron.ballman I pushed up a change to "fix" this, but I believe GCC is wrong to give an error here. At least, nobody else gives one and GCC is inconsistent about what it diagnoses: https://godbolt.org/z/hTqM8MPch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130894/new/ https://reviews.llvm.org/D130894 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits