xref: /freebsd/contrib/unifdef/tests/if4.c (revision fb3ef04d2028110f06d68b09009f1f2ca0f4128e)
1*fb3ef04dSDag-Erling Smørgrav /* Copyright 2004 Bob Proulx <bob@proulx.com>
2*fb3ef04dSDag-Erling Smørgrav Distributed under the two-clause BSD licence;
3*fb3ef04dSDag-Erling Smørgrav see the COPYING file for details. */
4*fb3ef04dSDag-Erling Smørgrav 
5*fb3ef04dSDag-Erling Smørgrav #include <stdio.h>
6*fb3ef04dSDag-Erling Smørgrav #include <stdlib.h>
7*fb3ef04dSDag-Erling Smørgrav 
8*fb3ef04dSDag-Erling Smørgrav #if defined(FOO) || defined(FOOB)
foo1()9*fb3ef04dSDag-Erling Smørgrav int foo1() { return 0; }
10*fb3ef04dSDag-Erling Smørgrav #else
11*fb3ef04dSDag-Erling Smørgrav #error FOO or FOOB not defined
12*fb3ef04dSDag-Erling Smørgrav #endif
13*fb3ef04dSDag-Erling Smørgrav 
14*fb3ef04dSDag-Erling Smørgrav #if defined(FOOB) || defined(FOO)
foo2()15*fb3ef04dSDag-Erling Smørgrav int foo2() { return 0; }
16*fb3ef04dSDag-Erling Smørgrav #else
17*fb3ef04dSDag-Erling Smørgrav #error FOO or FOOB not defined
18*fb3ef04dSDag-Erling Smørgrav #endif
19*fb3ef04dSDag-Erling Smørgrav 
20*fb3ef04dSDag-Erling Smørgrav #if defined(FOO) && defined(FOOB)
foo3()21*fb3ef04dSDag-Erling Smørgrav int foo3() { return 0; }
22*fb3ef04dSDag-Erling Smørgrav #else
23*fb3ef04dSDag-Erling Smørgrav #error FOO and FOOB not defined
24*fb3ef04dSDag-Erling Smørgrav #endif
25*fb3ef04dSDag-Erling Smørgrav 
26*fb3ef04dSDag-Erling Smørgrav #if defined(FOOB) && defined(FOO)
foo4()27*fb3ef04dSDag-Erling Smørgrav int foo4() { return 0; }
28*fb3ef04dSDag-Erling Smørgrav #else
29*fb3ef04dSDag-Erling Smørgrav #error FOO and FOOB not defined
30*fb3ef04dSDag-Erling Smørgrav #endif
31*fb3ef04dSDag-Erling Smørgrav 
main()32*fb3ef04dSDag-Erling Smørgrav int main()
33*fb3ef04dSDag-Erling Smørgrav {
34*fb3ef04dSDag-Erling Smørgrav   foo1();
35*fb3ef04dSDag-Erling Smørgrav   foo2();
36*fb3ef04dSDag-Erling Smørgrav   foo3();
37*fb3ef04dSDag-Erling Smørgrav   foo4();
38*fb3ef04dSDag-Erling Smørgrav }
39