--- Comment #4 from Martin Liška <marxin at gcc dot> ---
One more test-case with a bit different BT:

$ cat sis.i
typedef struct
  int a;
  char b[10];
} c;
c d;
unsigned long s;
void e (void) { __builtin_strncpy (d.b, (char*)&d, s); }

$ gcc  -O2 sis.i -Wall
during GIMPLE pass: strlen
sis.i: In function ‘e’:
sis.i:8:6: internal compiler error: Segmentation fault
 void e (void) { __builtin_strncpy (d.b, (char*)&d, s); }
0xfdd6a9 crash_signal
0xc33483 generic_overlap
0xc3486b strcpy_overlap
0xc354f6 overlap
0xc355db maybe_diag_overlap
0xc37792 check_bounds_or_overlap(gcall*, tree_node*, tree_node*, tree_node*,
tree_node*, bool)
0x126022b handle_builtin_stxncpy
0x12638f8 strlen_check_and_optimize_stmt
0x1264f2f strlen_dom_walker::before_dom_children(basic_block_def*)
0x1b14bc7 dom_walker::walk(basic_block_def*)
0x12651c0 execute

Reply via email to