Viewing file: view-convert-2.c (1.75 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* PR tree-optimization/56064 */ /* { dg-do run } */ /* { dg-options "-std=gnu99 -O2" } */
extern void abort (void); extern void exit (int);
void test_k (void) { _Accum a; __INT32_TYPE__ i = -__INT32_MAX__; if (sizeof (a) != sizeof (i)) return;
__builtin_memcpy (&a, &i, sizeof (a));
if (a >= 0k) abort(); }
void test_0k (void) { _Accum a; __INT32_TYPE__ i = 0; if (sizeof (a) != sizeof (i)) return;
__builtin_memcpy (&a, &i, sizeof (a));
if (a != 0k) abort(); }
void test_hr (void) { short _Fract a; __INT8_TYPE__ i = -__INT8_MAX__;
if (sizeof (a) != sizeof (i)) return;
__builtin_memcpy (&a, &i, sizeof (a));
if (a >= 0hr) abort(); }
void test_0hr (void) { short _Fract a; __INT8_TYPE__ i = 0;
if (sizeof (a) != sizeof (i)) return;
__builtin_memcpy (&a, &i, sizeof (a));
if (a != 0hr) abort(); }
void test_si (void) { _Accum a = __ACCUM_MIN__; __INT32_TYPE__ i;
if (sizeof (a) != sizeof (i)) return;
__builtin_memcpy (&i, &a, sizeof (i));
if (i >= 0) abort(); }
void test_0si (void) { _Accum a = 0; __INT32_TYPE__ i;
if (sizeof (a) != sizeof (i)) return;
__builtin_memcpy (&i, &a, sizeof (i));
if (i != 0) abort(); }
void test_qi (void) { short _Fract a = __SFRACT_MIN__; __INT8_TYPE__ i;
if (sizeof (a) != sizeof (i)) return;
__builtin_memcpy (&i, &a, sizeof (i));
if (i >= 0) abort(); }
void test_0qi (void) { short _Fract a = 0hr; __INT8_TYPE__ i;
if (sizeof (a) != sizeof (i)) return;
__builtin_memcpy (&i, &a, sizeof (i));
if (i != 0) abort(); }
int main (void) { test_hr(); test_k(); test_qi(); test_si();
test_0hr(); test_0k(); test_0qi(); test_0si();
exit (0);
return 0; }
|