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

Reply via email to