Files correlati : Commento : Aggiunto il preprocessore c++ mcpp per sostituire il compilatore nella compilazione delle maschere.
33 lines
804 B
C
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" } }
|
|
*/
|
|
|