]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/unifdef/tests/if5-k.c
Add 'contrib/unifdef/' from commit '0da44885831dc0a43c4ca6ff04a2430993cc0a80'
[FreeBSD/FreeBSD.git] / contrib / unifdef / tests / if5-k.c
1 /* Copyright 2004, 2008 Bob Proulx <bob@proulx.com>
2 Distributed under the two-clause BSD licence;
3 see the COPYING file for details. */
4
5 #include <stdio.h>
6 #include <stdlib.h>
7
8 #if 0
9 /* This code is commented out. "#if 0 then" */
10 #else
11 /* This code is passed through. "#if 0 else" */
12 #endif
13
14 #if 1
15 /* This code is passed through. "#if 1 then" */
16 #else
17 /* This code is passed through. "#if 1 else" */
18 #endif
19
20 #if FOOB == 42
21 int foo1() { return 0; }
22 #else
23 #error FOOB not 42
24 #endif
25
26 #if FOOB != 42
27 #error FOO is 2
28 #else
29 int foo2() { return 0; }
30 #endif
31
32 #if FOOB == 42 || FOO == 1
33 intx foo3() { return 0; }
34 #else
35 #error FOO not 1 or BAR not 1
36 #endif
37
38 #if FOOB != 42 && FOO != 1
39 #error FOOB not 42 and FOO not 1
40 #else
41 int foo4() { return 0; }
42 #endif
43
44 #if FOOB == 42 || FOO != 1
45 int foo5() { return 0; }
46 #else
47 #error FOOB is 42 or FOO is not 1
48 #endif
49
50 #if FOO != 1 || FOOB != 42
51 #error FOO is 1 or FOOB is 42
52 #else
53 int foo6() { return 0; }
54 #endif
55
56 int main()
57 {
58   foo1();
59   foo2();
60   foo3();
61   foo4();
62   foo5();
63   foo6();
64 }