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

Reply via email to