File: n_bool.C

package info (click to toggle)
mcpp 2.7.1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 8,024 kB
  • ctags: 29,151
  • sloc: ansic: 35,191; sh: 9,231; makefile: 176; cpp: 84; exp: 18
file content (32 lines) | stat: -rw-r--r-- 804 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* 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"                        } }
 */