------- Comment #2 from rguenth at gcc dot gnu dot org  2007-10-04 12:28 -------
Reduced testcase, fails with -O:

typedef struct {
    unsigned long attr;
    int chars[2];
} cchar_t;
typedef struct _win_st {
    cchar_t _bkgrnd;
} WINDOW;
void render_char(WINDOW *win, cchar_t ch)
{
    if ((ch).chars[0] == L' '
        && (ch).chars[1] == L'\0')
        ch = win->_bkgrnd;
}


#1  0x0000000000945da0 in bitfield_overlaps_p (blen=0x2b7db0ca8b70, 
    bpos=0x2b7db0cc43c0, fld=0x13f66d0, data=0x7ffff9e5cfc0)
    at /space/rguenther/src/svn/pointer_plus/gcc/tree-sra.c:2901
2901        gcc_unreachable ();
(gdb) call debug_tree (fld->element)
 <integer_cst 0x2b7db0ca8810 type <integer_type 0x2b7db0cb7000 long unsigned
int> constant invariant 1>


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33655

Reply via email to