OSDN Git Service

PR debug/54694
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / pr33667.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3
4 __extension__ typedef __SIZE_TYPE__ size_t;
5 typedef unsigned char uint8_t;
6 typedef unsigned short int uint16_t;
7 typedef unsigned long long int uint64_t;
8 struct magic {
9   uint8_t mask_op;
10   union {
11    uint64_t _mask;
12   } _u;
13   union VALUETYPE {
14    uint16_t h;
15   } value;
16 };
17 void cvt_16(union VALUETYPE *p, const struct magic *m)
18 {
19   if (m->_u._mask)
20     p->h %= (uint16_t) m->_u._mask;
21 }