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



--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> 2013-01-30 
02:11:46 UTC ---

(In reply to comment #1)

> *_jit->pc.ui++ = i0 - (_jit->pc.w + 4);

> 

> You have a sequence point issue.  This is like doing:

> *i++ = i0 - (i + 4);



The reason why it is the same is because pc is an union:

    union {

 jit_uint8_t *uc;

 jit_uint16_t *us;

 jit_uint32_t *ui;

 jit_uint64_t *ul;

 jit_word_t w;

    } pc;



So any access/set to ui also accesses/sets w.

Reply via email to