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

--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
trippels@gcc67 ~ % cat _png.ii
void _setjmp(int);
void png_set_longjmp_fn();
struct SeqBase {
  virtual void m_fn1() {}
  void m_fn2() { m_fn1(); }
} a;
void write_png() {
  a.m_fn2();
  try {
    png_set_longjmp_fn();
    _setjmp(0);
  } catch (...) {
  }
}
trippels@gcc67 ~ % ~/gcc_7/usr/local/bin/g++ -c -O2 _png.ii
_png.ii: In function ‘void write_png()’:
_png.ii:7:6: internal compiler error: Segmentation fault
 void write_png() {
      ^~~~~~~~~

#0  0x00000000013474d1 in visit_use(tree_node*) ()
#1  0x0000000001345a55 in DFS(tree_node*) ()
#2  0x0000000001344630 in
sccvn_dom_walker::before_dom_children(basic_block_def*) ()
#3  0x00000000014a8835 in dom_walker::walk(basic_block_def*) ()
#4  0x0000000001342a98 in run_scc_vn(vn_lookup_kind) ()
#5  0x0000000001329537 in (anonymous namespace)::pass_fre::execute(function*)
()
#6  0x000000000120e434 in execute_one_pass(opt_pass*) ()
#7  0x0000000000893ed2 in execute_pass_list(function*, opt_pass*) [clone
.cold.77] ()
#8  0x0000000001556441 in symbol_table::compile() ()
#9  0x00000000010b3aff in symbol_table::finalize_compilation_unit() ()
#10 0x000000000159b4b0 in compile_file() ()
#11 0x0000000000f6130d in toplev::main(int, char**) ()
#12 0x0000000000f625ab in main ()

Reply via email to