| /* { dg-do compile } */ | |
| /* { dg-options "-O2" } */ | |
| __extension__ typedef __SIZE_TYPE__ 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; | |
| } |