Blame cpp-test/test-t/e_intmax.c
|
Packit Service |
8bf002 |
/* e_intmax.c: Overflow of constant expression in #if directive. */
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* { dg-do preprocess } */
|
|
Packit Service |
8bf002 |
/* { dg-options "-std=c99 -pedantic-errors -w" } */
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
#define INTMAX_MAX 0x7FFFFFFFFFFFFFFF
|
|
Packit Service |
8bf002 |
#define INTMAX_MIN (-INTMAX_MAX-1)
|
|
Packit Service |
8bf002 |
#define SHRT_MAX 0x7FFF
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
#if INTMAX_MAX - INTMAX_MIN /* { dg-error "integer overflow in preprocessor expression| Result of \"-\" is out of range" } */
|
|
Packit Service |
8bf002 |
#endif
|
|
Packit Service |
8bf002 |
#if INTMAX_MAX + 1 > SHRT_MAX /* { dg-error "integer overflow in preprocessor expression| Result of \"\\+\" is out of range" } */
|
|
Packit Service |
8bf002 |
#endif
|
|
Packit Service |
8bf002 |
#if INTMAX_MIN - 1 /* { dg-error "integer overflow in preprocessor expression| Result of \"-\" is out of range" } */
|
|
Packit Service |
8bf002 |
#endif
|
|
Packit Service |
8bf002 |
#if INTMAX_MAX * 2 /* { dg-error "integer overflow in preprocessor expression| Result of \"\\*\" is out of range" } */
|
|
Packit Service |
8bf002 |
#endif
|
|
Packit Service |
8bf002 |
|