Skip analyzer strndup test on hppa*-*-hpux*
[official-gcc.git] / gcc / testsuite / gcc.dg / absu.c
blobe2428cdbc19d31e11e758cc07ced143860065bac
2 /* { dg-do run } */
3 /* { dg-options "-O0" } */
5 #include <limits.h>
6 #define ABS(x) (((x) >= 0) ? (x) : -(x))
8 #define DEF_TEST(TYPE) \
9 void foo_##TYPE (signed TYPE x, unsigned TYPE y){ \
10 TYPE t = ABS (x); \
11 if (t != y) \
12 __builtin_abort (); \
13 } \
15 DEF_TEST (char);
16 DEF_TEST (short);
17 DEF_TEST (int);
18 DEF_TEST (long);
20 int main ()
22 foo_char (SCHAR_MIN + 1, SCHAR_MAX);
23 foo_char (0, 0);
24 foo_char (-1, 1);
25 foo_char (1, 1);
26 foo_char (SCHAR_MAX, SCHAR_MAX);
28 foo_int (-1, 1);
29 foo_int (0, 0);
30 foo_int (INT_MAX, INT_MAX);
31 foo_int (INT_MIN + 1, INT_MAX);
33 foo_short (-1, 1);
34 foo_short (0, 0);
35 foo_short (SHRT_MAX, SHRT_MAX);
36 foo_short (SHRT_MIN + 1, SHRT_MAX);
38 foo_long (-1, 1);
39 foo_long (0, 0);
40 foo_long (LONG_MAX, LONG_MAX);
41 foo_long (LONG_MIN + 1, LONG_MAX);
43 return 0;