Alessandro Bonazzi e075990ed3 Patch level : 12.0 no-patch
Files correlati     :
Commento            :

Aggiunto il preprocessore c++ mcpp per sostituire il compilatore nella compilazione delle maschere.
2020-11-28 16:24:08 +01:00

33 lines
804 B
C

/* n_bool.C */
/*
* On C++: 'true' and 'false' are evaluated 1 and 0 respectively.
* and logical AND, logical OR are evaluated boolean.
*/
/* Valid block; */
#define MACRO 1
#define MACRO3 3
#if MACRO == true
Valid block 1
#else
non-Valid block;
#endif
#if (MACRO && MACRO3) == true
Valid block 2
#else
non-Valid block;
#endif
/* { dg-do preprocess }
{ dg-options "-std=c++98" }
{ dg-final { if ![file exist n_bool.i] { return } } }
{ dg-final { if \{ [grep n_bool.i "Valid block 1"] != "" \} \{ } }
{ dg-final { if \{ [grep n_bool.i "Valid block 2"] != "" \} \{ } }
{ dg-final { return \} \} } }
{ dg-final { fail "n_bool.C: boolean literal" } }
*/