------- Comment #2 from falk at debian dot org 2010-04-22 07:35 ------- Confirmed on x86-64, already in 4.3, but not in 4.1. Here is a testcase that gives an SSA verification error on 4.6 instead of segfaulting:
typedef int __attribute__ ((const)) (*x264_pixel_cmp_t)(void); typedef struct { x264_pixel_cmp_t ssd; } x264_pixel_function_t; int x264_pixel_ssd_wxh (x264_pixel_function_t *pf, int i_width) { int i_ssd = 0, x; for (x = 0; x < i_width; x++) i_ssd += pf->ssd(); return i_ssd; } % gcc -c -O3 -W -Wall mini.c mini.c: In function x264_pixel_ssd_wxh: mini.c:7:5: error: definition in block 3 does not dominate use in block 5 for SSA_NAME: D.2728_7 in statement: D.2737_15 = D.2728_7 (); mini.c:7:5: internal compiler error: verify_ssa failed Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. -- falk at debian dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|c |tree-optimization Ever Confirmed|0 |1 Known to fail| |4.1.3 Known to work| |4.3.4 4.4.3 4.5.0 4.6.0 Summary|Segfault when using |[4.4/4.5 Regression] |__attribute__((const)), |Segfault when using |versions 4.4.3 and 4.6 |__attribute__((const)), | |versions 4.4.3 and 4.6 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43845