------- Comment #2 from rguenth at gcc dot gnu dot org 2007-10-05 10:56 ------- Reduced testcase, fails with -O:
typedef unsigned int size_t; typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned long long int uint64_t; struct magic { uint8_t mask_op; union { uint64_t _mask; } _u; union VALUETYPE { uint16_t h; } value; }; void cvt_16(union VALUETYPE *p, const struct magic *m) { if (m->_u._mask) p->h %= (uint16_t) m->_u._mask; } -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33667