------- 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

Reply via email to