https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96107

            Bug ID: 96107
           Summary: [11 regression] ICE on invalid c++: "Error reporting
                    routines re-entered." when using -Wall
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: slyfox at inbox dot ru
  Target Milestone: ---

$ cat bug.cc

    struct a {
      using b = a;
      class c f(, b , (c *, *{ int d;
      b e;
      f(d, e, [](auto, *))

<many error go here>
Internal compiler error: Error reporting routines re-entered.
0x7aa464 check_nonnull_arg
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/c-family/c-common.c:5523
0x7aa464 check_nonnull_arg
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/c-family/c-common.c:5498
0x7d12c6 check_function_nonnull
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/c-family/c-common.c:5315
0x7d12c6 check_function_arguments(unsigned int, tree_node const*, tree_node
const*, int, tree_node**, vec<unsigned int, va_heap, vl_ptr>*)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/c-family/c-common.c:5764
0x624e9b build_over_call
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/cp/call.c:8868
0x626cc4 build_new_method_call_1
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/cp/call.c:10348
0x6276bf build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, tree_node*, int, tree_node**, int)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/cp/call.c:10423
0x7423e5 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/cp/pt.c:20042
0x7437ff tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/cp/pt.c:15913
0x7437ff tsubst(tree_node*, tree_node*, int, tree_node*)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/cp/pt.c:15913
0x6a56e5 dump_template_bindings
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/cp/error.c:416
0x6a5907 dump_substitution
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/cp/error.c:1562
0x6a5907 dump_substitution
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/cp/error.c:1550
0x6a0b0c dump_function_decl
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/cp/error.c:1720
0x6a6998 decl_to_string
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/cp/error.c:3101
0x6a6998 cp_printer
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/cp/error.c:4261
0x15b8bbe pp_format(pretty_printer*, text_info*)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/pretty-print.c:1475
0x15ace42 diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/diagnostic.c:1159
0x15af5fd diagnostic_impl
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/diagnostic.c:1309
0x15af5fd inform(unsigned int, char const*, ...)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/diagnostic.c:1388

For comparison gcc-10.1.0 does not crash:

$ /usr/bin/x86_64-pc-linux-gnu-g++-10.1.0 -o bug.o -c -Wall   bug.cc
<many error go here>

Reply via email to