https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104254
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- Let's compare it with Clang: clang++ llvm.C -std=c++20 PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script. Stack dump: 0. Program arguments: /usr/bin/clang-13.0.0 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all --mrelax-relocations -disable-free -disable-llvm-verifier -discard-value-names -main-file-name llvm.C -mrelocation-model static -mframe-pointer=all -fmath-errno -fno-rounding-math -mconstructor-aliases -munwind-tables -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/home/marxin/Programming/testcases -resource-dir /usr/lib64/clang/13.0.0 -internal-isystem /usr/bin/../lib64/gcc/x86_64-suse-linux/11/../../../../include/c++/11 -internal-isystem /usr/bin/../lib64/gcc/x86_64-suse-linux/11/../../../../include/c++/11/x86_64-suse-linux -internal-isystem /usr/bin/../lib64/gcc/x86_64-suse-linux/11/../../../../include/c++/11/backward -internal-isystem /usr/lib64/clang/13.0.0/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -std=c++20 -fdeprecated-macro -fdebug-compilation-dir=/home/marxin/Programming/testcases -ferror-limit 19 -fgnuc-version=4.2.1 -fno-implicit-modules -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/llvm-19c754.o -x c++ llvm.C 1. <eof> parser at end of file 2. llvm.C:7:12: parsing function body 'main' #0 0x00007ffff0e83491 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/bin/../lib64/libLLVM.so.13+0x2b82491) #1 0x00007ffff0e80f70 llvm::sys::RunSignalHandlers() (/usr/bin/../lib64/libLLVM.so.13+0x2b7ff70) #2 0x00007ffff0e83c9d (/usr/bin/../lib64/libLLVM.so.13+0x2b82c9d) #3 0x00007fffedeec420 __restore_rt (/usr/bin/../lib64/libc.so.6+0x56420) #4 0x00007ffff5abb2af (/usr/bin/../lib64/libclang-cpp.so.13+0x17ea2af) #5 0x00007ffff5abda16 (/usr/bin/../lib64/libclang-cpp.so.13+0x17eca16) #6 0x00007ffff5a4df64 (/usr/bin/../lib64/libclang-cpp.so.13+0x177cf64) #7 0x00007ffff5a4945b (/usr/bin/../lib64/libclang-cpp.so.13+0x177845b) #8 0x00007ffff5a490ad clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::ConstantExprKind) const (/usr/bin/../lib64/libclang-cpp.so.13+0x17780ad) #9 0x00007ffff6291edc clang::Sema::PopExpressionEvaluationContext() (/usr/bin/../lib64/libclang-cpp.so.13+0x1fc0edc) #10 0x00007ffff610eeaf clang::Sema::ActOnFinishFunctionBody(clang::Decl*, clang::Stmt*, bool) (/usr/bin/../lib64/libclang-cpp.so.13+0x1e3deaf) #11 0x00007ffff57c392d clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/usr/bin/../lib64/libclang-cpp.so.13+0x14f292d) #12 0x00007ffff57e0044 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/usr/bin/../lib64/libclang-cpp.so.13+0x150f044) #13 0x00007ffff5720c4e clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/usr/bin/../lib64/libclang-cpp.so.13+0x144fc4e) #14 0x00007ffff57ded9c clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/usr/bin/../lib64/libclang-cpp.so.13+0x150dd9c) #15 0x00007ffff57de72d clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributesWithRange&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/usr/bin/../lib64/libclang-cpp.so.13+0x150d72d) #16 0x00007ffff57dd855 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (/usr/bin/../lib64/libclang-cpp.so.13+0x150c855) #17 0x00007ffff57dbdcd clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, bool) (/usr/bin/../lib64/libclang-cpp.so.13+0x150adcd) #18 0x00007ffff570383d clang::ParseAST(clang::Sema&, bool, bool) (/usr/bin/../lib64/libclang-cpp.so.13+0x143283d) #19 0x00007ffff6ab7dae clang::CodeGenAction::ExecuteAction() (/usr/bin/../lib64/libclang-cpp.so.13+0x27e6dae) #20 0x00007ffff74adba4 clang::FrontendAction::Execute() (/usr/bin/../lib64/libclang-cpp.so.13+0x31dcba4) #21 0x00007ffff7426622 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/bin/../lib64/libclang-cpp.so.13+0x3155622) #22 0x00007ffff75284a6 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/bin/../lib64/libclang-cpp.so.13+0x32574a6) #23 0x00000000002144f1 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang-13.0.0+0x2144f1) #24 0x00000000002123a6 (/usr/bin/clang-13.0.0+0x2123a6) #25 0x00000000002121cb main (/usr/bin/clang-13.0.0+0x2121cb) #26 0x00007fffeded65c0 __libc_start_call_main /usr/src/debug/glibc-2.34-4.3.x86_64/csu/../sysdeps/nptl/libc_start_call_main.h:58:16 #27 0x00007fffeded667c call_init /usr/src/debug/glibc-2.34-4.3.x86_64/csu/../csu/libc-start.c:128:20 #28 0x00007fffeded667c __libc_start_main@GLIBC_2.2.5 /usr/src/debug/glibc-2.34-4.3.x86_64/csu/../csu/libc-start.c:379:5 #29 0x000000000020f305 _start (/usr/bin/clang-13.0.0+0x20f305) clang-13.0: error: unable to execute command: Segmentation fault (core dumped) clang-13.0: error: clang frontend command failed due to signal (use -v to see invocation) clang version 13.0.0 Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /usr/bin clang-13.0: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang-13.0: note: diagnostic msg: /tmp/llvm-201326.cpp clang-13.0: note: diagnostic msg: /tmp/llvm-201326.sh clang-13.0: note: diagnostic msg: ******************** As seen, they run -fcrash-diagnostics by default and so that one gets Preprocessed source(s)..