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)

Reply via email to