Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/fixed-point/view-convert-2.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
line wrap: on
line source
/* 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; }