summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr33667.c
blob: 676c4a46dac789af4d746a466a76900361cc76cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* { 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;
}