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

            Bug ID: 88130
           Summary: [9 Regression] ICE in copy_function_or_variable, at
                    lto-streamer-out.c:2315 since r260970
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: hubicka at gcc dot gnu.org, marxin at gcc dot gnu.org
  Target Milestone: ---

Following is causing ICE:

$ cat streamer.ii
class a {
public:
  static const long b = 1;
};
struct c {
  enum d { e };
};
class C;
class f {
public:
  f(c::d);
  template <typename g> C operator<=(g);
};
class C {
public:
  template <typename h> void operator!=(h &);
};
void i() {
  f j(c::e);
  try {
    j <= 0 != a::b;
  } catch (...) {
  }
}

$ g++ -flto streamer.ii
during IPA pass: static-var
lto1: internal compiler error: in copy_function_or_variable, at
lto-streamer-out.c:2315
0x6259ca copy_function_or_variable
        /home/marxin/Programming/gcc/gcc/lto-streamer-out.c:2315
0xac9986 lto_output()
        /home/marxin/Programming/gcc/gcc/lto-streamer-out.c:2464
0xb337fe write_lto
        /home/marxin/Programming/gcc/gcc/passes.c:2593
0xb3713a ipa_write_optimization_summaries(lto_symtab_encoder_d*)
        /home/marxin/Programming/gcc/gcc/passes.c:2805
0x78279f do_stream_out
        /home/marxin/Programming/gcc/gcc/lto/lto.c:2355
0x78d96f stream_out
        /home/marxin/Programming/gcc/gcc/lto/lto.c:2406
0x78d96f lto_wpa_write_files
        /home/marxin/Programming/gcc/gcc/lto/lto.c:2535
0x78d96f do_whole_program_analysis
        /home/marxin/Programming/gcc/gcc/lto/lto.c:3252
0x78d96f lto_main()
        /home/marxin/Programming/gcc/gcc/lto/lto.c:3413

Reply via email to