Merge from trunk
[official-gcc.git] / gcc / testsuite / gcc.dg / cpp / expr-overflow-1.c
blob8a67aaa6d46664042fc1cc62a09c5c42dce50135
1 /* Test overflow in preprocessor arithmetic. PR 55715. */
2 /* { dg-do preprocess } */
3 /* { dg-options "-std=c99" } */
5 #include <stdint.h>
7 #if -1 - INTMAX_MIN
8 #endif
10 #if 0 - INTMAX_MIN /* { dg-warning "overflow" } */
11 #endif
13 #if 1 * INTMAX_MIN
14 #endif
16 #if -1 * INTMAX_MIN /* { dg-warning "overflow" } */
17 #endif
19 #if 0 * INTMAX_MIN
20 #endif
22 #if -INTMAX_MIN /* { dg-warning "overflow" } */
23 #endif
25 #if +INTMAX_MIN
26 #endif
28 #if INTMAX_MIN / 1
29 #endif
31 #if INTMAX_MIN / -1 /* { dg-warning "overflow" } */
32 #endif
34 #if UINTMAX_MAX * UINTMAX_MAX
35 #endif
37 #if UINTMAX_MAX / -1
38 #endif
40 #if UINTMAX_MAX + INTMAX_MAX
41 #endif
43 #if UINTMAX_MAX - INTMAX_MIN
44 #endif