Blame cpp-test/test-t/e_14_10.c

Packit b40e2e
/* e_14_10.c:   Overflow of constant expression in #if directive.    */
Packit b40e2e
Packit b40e2e
/* { dg-do preprocess }
Packit b40e2e
   { dg-options "-ansi -pedantic-errors" }
Packit b40e2e
   { dg-excess-errors "" }
Packit b40e2e
 */
Packit b40e2e
Packit b40e2e
/* 14.10:   */
Packit b40e2e
/* In C99, #if expression is evaluated in intmax_t  */
Packit b40e2e
#if __STDC_VERSION__ < 199901L
Packit b40e2e
#include    <limits.h>
Packit b40e2e
Packit b40e2e
#if     LONG_MAX - LONG_MIN     /* { dg-error "integer overflow in preprocessor expression| Result of \"-\" is out of range" } */
Packit b40e2e
#endif
Packit b40e2e
#if     LONG_MAX + 1 > SHRT_MAX     /* { dg-error "integer overflow in preprocessor expression| Result of \"\\+\" is out of range" } */
Packit b40e2e
#endif
Packit b40e2e
#if     LONG_MIN - 1    /* { dg-error "integer overflow in preprocessor expression| Result of \"-\" is out of range" } */
Packit b40e2e
#endif
Packit b40e2e
#if     LONG_MAX * 2    /* { dg-error "integer overflow in preprocessor expression| Result of \"\\*\" is out of range" } */
Packit b40e2e
#endif
Packit b40e2e
#endif
Packit b40e2e