https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116524
Bug ID: 116524 Summary: FAIL: g++.dg/modules/permissive-error-1.C -std=c++17 (internal compiler error: Segmentation fault) Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: danglin at gcc dot gnu.org CC: nshead at gcc dot gnu.org Target Milestone: --- Host: hppa64-hp-hpux11.11 Target: hppa64-hp-hpux11.11 Build: hppa64-hp-hpux11.11 spawn -ignore SIGHUP /home/dave/gnu/gcc/objdir64/gcc/testsuite/g++2/../../xg++ - B/home/dave/gnu/gcc/objdir64/gcc/testsuite/g++2/../../ /home/dave/gnu/gcc/gcc/gc c/testsuite/g++.dg/modules/permissive-error-1.C -fdiagnostics-plain-output -nost dinc++ -I/home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/include/hp pa64-hp-hpux11.11 -I/home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3 /include -I/home/dave/gnu/gcc/gcc/libstdc++-v3/libsupc++ -I/home/dave/gnu/gcc/gc c/libstdc++-v3/include/backward -I/home/dave/gnu/gcc/gcc/libstdc++-v3/testsuite/ util -fmessage-length=0 -std=c++17 -pedantic-errors -Wno-long-long -fmodules-ts -fpermissive -S -o permissive-error-1.s /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/modules/permissive-error-1.C: In fun ction 'void f()': /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/modules/permissive-error-1.C:8:5: warning: increment of read-only variable 'n' [-Wtemplate-body] /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/modules/permissive-error-1.C: At global scope: /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/modules/permissive-error-1.C:4:8: error: not writing module 'M' due to errors in template bodies /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/modules/permissive-error-1.C:8:5: note: first error in 'template<class T> void f()' appeared here /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/modules/permissive-error-1.C:10:1: internal compiler error: Segmentation fault libbacktrace could not find executable to open Please submit a full bug report, with preprocessed source (by using -freport-bug). See <https://gcc.gnu.org/bugs/> for instructions. compiler exited with status 1 FAIL: g++.dg/modules/permissive-error-1.C -std=c++17 (internal compiler error: Segmentation fault) PASS: g++.dg/modules/permissive-error-1.C -std=c++17 (test for errors, line 4) PASS: g++.dg/modules/permissive-error-1.C -std=c++17 (test for warnings, line 8) PASS: g++.dg/modules/permissive-error-1.C -std=c++17 at line 9 (test for warnings, line 8) FAIL: g++.dg/modules/permissive-error-1.C -std=c++17 (test for excess errors) Excess errors: /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/modules/permissive-error-1.C:10:1: internal compiler error: Segmentation fault (gdb) r The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /home/dave/gnu/gcc/objdir64/gcc/cc1plus -fpreprocessed permissive-error-1.ii -quiet -dumpbase permissive-error-1.C -dumpbase-ext .C -pedantic-errors -Wno-long-long -std=c++17 -version -fdiagnostics-color=never -fdiagnostics-urls=never -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-path-format=separate-events -fdiagnostics-text-art-charset=none -fno-diagnostics-show-event-links -fmessage-length=0 -fmodules-ts -fpermissive -o permissive-error-1.s warning: Private mapping of shared library text was not specified by the executable; setting a breakpoint in a shared library which is not privately mapped will not work. See the HP-UX 11i v3 chatr manpage for methods to privately map shared library text. GNU C++17 (GCC) version 15.0.0 20240826 (experimental) [remotes/origin/trunk r15-3205-g9522fc8bb78] (hppa64-hp-hpux11.11) compiled by GNU C version 15.0.0 20240826 (experimental) [remotes/origin/trunk r15-3205-g9522fc8bb78], GMP version 6.2.1, MPFR version 4.1.1, MPC version 1.2.1, isl version isl-0.25-GMP GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: aab754e141e33017aaf168953b0e8a55 /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/modules/permissive-error-1.C: In function 'void f()': /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/modules/permissive-error-1.C:8:5: warning: increment of read-only variable 'n' [-Wtemplate-body] /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/modules/permissive-error-1.C: At global scope: /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/modules/permissive-error-1.C:4:9: error: not writing module 'M' due to errors in template bodies /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/modules/permissive-error-1.C:8:5: note: first error in 'template<class T> void f()' appeared here Program received signal SIGSEGV, Segmentation fault. elf_out::end (this=0x80000001004a99d0) at ../../gcc/gcc/cp/module.cc:2254 2254 h->ident.osabi = OSABI_NONE; (gdb) p h $12 = (elf::header *) 0x0 (gdb) p hdr $13 = {buffer = 0x0, size = 0, pos = 0, static simple_memory = <optimized out>} (gdb) bt #0 elf_out::end (this=0x80000001004a99d0) at ../../gcc/gcc/cp/module.cc:2254 #1 0x4000000000a177ec in late_finish_module (reader=0x800000010042fe80, cookie=0x80000001004a99d0, init_fn_non_empty=false) at ../../gcc/gcc/cp/module.cc:20911 #2 fini_modules (reader=0x800000010042fe80, cookie=0x80000001004a99d0, has_inits=false) at ../../gcc/gcc/cp/module.cc:20953 #3 0x400000000097c808 in c_parse_final_cleanups () at ../../gcc/gcc/cp/decl2.cc:5648 #4 0x4000000000d1fd8c in c_common_parse_file () at ../../gcc/gcc/c-family/c-opts.cc:1333 #5 0x40000000014e06fc in compile_file () at ../../gcc/gcc/toplev.cc:451 #6 0x80000001004a9918 in ?? () It appears hdr is not setup and this causes segmentation fault. Similar fails: FAIL: g++.dg/modules/permissive-error-1.C -std=c++2a (internal compiler error: Segmentation fault) FAIL: g++.dg/modules/permissive-error-1.C -std=c++2a (test for excess errors) FAIL: g++.dg/modules/permissive-error-1.C -std=c++2b (internal compiler error: Segmentation fault) FAIL: g++.dg/modules/permissive-error-1.C -std=c++2b (test for excess errors) FAIL: g++.dg/modules/permissive-error-2.C -std=c++17 (internal compiler error: Segmentation fault) FAIL: g++.dg/modules/permissive-error-2.C -std=c++17 (test for excess errors) FAIL: g++.dg/modules/permissive-error-2.C -std=c++2a (internal compiler error: Segmentation fault) FAIL: g++.dg/modules/permissive-error-2.C -std=c++2a (test for excess errors) FAIL: g++.dg/modules/permissive-error-2.C -std=c++2b (internal compiler error: Segmentation fault) FAIL: g++.dg/modules/permissive-error-2.C -std=c++2b (test for excess errors)