https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88612
Bug ID: 88612 Summary: [9 Regression] Internal compiler error: Error reporting routines re-entered. Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: dmalcolm at gcc dot gnu.org Target Milestone: --- Host: x86_64-pc-linux-gnu Target: aarch64-linux-gnu Following cross-compiler is causing a problem: $ aarch64-linux-gnu-g++ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp0x/decltype45.C -fpack-struct -c /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp0x/decltype45.C: In substitution of ‘template<class ... A> decltype (indirect_call(((VariadicBind<void (*)(int, int), int>*)this)->VariadicBind<void (*)(int, int), int>::f, ((VariadicBind<void (*)(int, int), int>*)this)->VariadicBind<void (*)(int, int), int>::t, VariadicBind::operator()::a ...)) VariadicBind<void (*)(int, int), int>::operator()<A ...>(A ...) [with A = {int}]’: /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp0x/decltype45.C:5:46: required by substitution of ‘template<class F, class ... T> decltype (f(indirect_call::t ...)) indirect_call(F, T ...) [with F = VariadicBind<void (*)(int, int), int>; T = {int}]’ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp0x/decltype45.C:17:52: required by substitution of ‘template<class ... A> decltype (indirect_call(((VariadicBind<VariadicBind<void (*)(int, int), int>, int>*)this)->VariadicBind<VariadicBind<void (*)(int, int), int>, int>::f, ((VariadicBind<VariadicBind<void (*)(int, int), int>, int>*)this)->VariadicBind<VariadicBind<void (*)(int, int), int>, int>::t, VariadicBind::operator()::a ...)) VariadicBind<VariadicBind<void (*)(int, int), int>, int>::operator()<A ...>(A ...) [with A = {}]’ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp0x/decltype45.C:32:8: recursively required from ‘void apply(F, V1, V ...) [with F = VariadicBind<void (*)(int, int), int>; V1 = int; V = {}]’ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp0x/decltype45.C:32:8: required from ‘void apply(F, V1, V ...) [with F = void (*)(int, int); V1 = int; V = {int}]’ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp0x/decltype45.C:39:19: required from here /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp0x/decltype45.C:17:53: warning: taking address of packed member of ‘VariadicBind<void (*)(int, int), int>’ may result in an unaligned pointer value [-Waddress-of-packed-member] 17 | auto operator()(A... a) -> decltype(indirect_call(f, t, a...)) | ^ ‘ Internal compiler error: Error reporting routines re-entered. 0x5fd3c6 convert_for_arg_passing(tree_node*, tree_node*, int) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/call.c:7633 0x6091a8 build_over_call /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/call.c:8215 0x60adb7 build_new_function_call(tree_node*, vec<tree_node*, va_gc, vl_embed>**, int) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/call.c:4407 0x71d298 finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool, bool, int) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/semantics.c:2568 0x6ff874 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/pt.c:18851 0x6f8887 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/pt.c:14991 0x6f8887 tsubst(tree_node*, tree_node*, int, tree_node*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/pt.c:14991 0x66ab2d dump_template_bindings /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/error.c:407 0x66ab2d dump_substitution /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/error.c:1538 0x66b00b dump_substitution /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/error.c:1531 0x66b00b dump_function_decl /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/error.c:1694 0x670a61 dump_decl /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/error.c:1094 0x670a61 decl_to_string /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/error.c:3070 0x670a61 cp_printer /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/error.c:4084 0x12bd07a pp_format(pretty_printer*, text_info*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/pretty-print.c:1390 0x12bd549 pp_format_verbatim(pretty_printer*, text_info*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/pretty-print.c:1452 0x12bd614 pp_verbatim(pretty_printer*, char const*, ...) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/pretty-print.c:1671 0x66992d print_instantiation_full_context /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/error.c:3468 0x66992d maybe_print_instantiation_context /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/error.c:3616 0x66ea8d cp_diagnostic_starter /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/cp/error.c:3319