22 lines
439 B
C
22 lines
439 B
C
/* { 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;
|
|
}
|