https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89187
Bug ID: 89187 Summary: ICE in initialize_argument_information, at calls.c:2023 Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Host: x86_64-pc-linux-gnu Target: s390x-linux-gnu Following code is causing ICE: $ cat ice.C template <typename a, int b> struct c { typedef a __attribute__((vector_size(b))) d; }; template <typename a, int b> using e = typename c<a, b>::d; template <typename a> using f = e<a, 4>; struct g { g(f<int> h) : i{h[3]} {} g j() { return i; } f<int> i; }; struct { g k(); } l; class m { void n() const; }; void m::n() const { l.k().j(); } $ s390x-linux-gnu-gcc ice.C -fno-tree-ccp -fno-tree-sra -flive-patching=inline-only-static -Os ice.C:12:5: warning: ‘g<unnamed struct>::k()’ used but never defined 12 | g k(); | ^ during RTL pass: expand ice.C: In constructor ‘g::g(f<int>)’: ice.C:7:26: internal compiler error: in initialize_argument_information, at calls.c:2023 7 | g(f<int> h) : i{h[3]} {} | ^ 0x580afb initialize_argument_information /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/calls.c:2023 0x580afb expand_call(tree_node*, rtx_def*, int) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/calls.c:3601 0x892cce expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/expr.c:11008 0x7a1921 expand_expr /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/expr.h:279 0x7a1921 expand_call_stmt /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/cfgexpand.c:2724 0x7a1921 expand_gimple_stmt_1 /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/cfgexpand.c:3691 0x7a1921 expand_gimple_stmt /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/cfgexpand.c:3850 0x7a344f expand_gimple_basic_block /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/cfgexpand.c:5886 0x7a8396 execute /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/cfgexpand.c:6509