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 FOOB == 42 foo1()9*fb3ef04dSDag-Erling Smørgravint foo1() { return 0; } 10*fb3ef04dSDag-Erling Smørgrav #else 11*fb3ef04dSDag-Erling Smørgrav #error FOOB not 42 12*fb3ef04dSDag-Erling Smørgrav #endif 13*fb3ef04dSDag-Erling Smørgrav 14*fb3ef04dSDag-Erling Smørgrav #if FOOB != 42 15*fb3ef04dSDag-Erling Smørgrav #error FOO is 2 16*fb3ef04dSDag-Erling Smørgrav #else foo2()17*fb3ef04dSDag-Erling Smørgravint foo2() { return 0; } 18*fb3ef04dSDag-Erling Smørgrav #endif 19*fb3ef04dSDag-Erling Smørgrav 20*fb3ef04dSDag-Erling Smørgrav #if FOOB == 42 || FOO == 1 foo3()21*fb3ef04dSDag-Erling Smørgravint foo3() { return 0; } 22*fb3ef04dSDag-Erling Smørgrav #else 23*fb3ef04dSDag-Erling Smørgrav #error FOO not 1 or BAR not 1 24*fb3ef04dSDag-Erling Smørgrav #endif 25*fb3ef04dSDag-Erling Smørgrav 26*fb3ef04dSDag-Erling Smørgrav #if FOOB != 42 && FOO != 1 27*fb3ef04dSDag-Erling Smørgrav #error FOOB not 42 and FOO not 1 28*fb3ef04dSDag-Erling Smørgrav #else foo4()29*fb3ef04dSDag-Erling Smørgravint foo4() { return 0; } 30*fb3ef04dSDag-Erling Smørgrav #endif 31*fb3ef04dSDag-Erling Smørgrav 32*fb3ef04dSDag-Erling Smørgrav #if FOOB == 42 || FOO != 1 foo5()33*fb3ef04dSDag-Erling Smørgravint foo5() { return 0; } 34*fb3ef04dSDag-Erling Smørgrav #else 35*fb3ef04dSDag-Erling Smørgrav #error FOOB is 42 or FOO is not 1 36*fb3ef04dSDag-Erling Smørgrav #endif 37*fb3ef04dSDag-Erling Smørgrav 38*fb3ef04dSDag-Erling Smørgrav #if FOO != 1 || FOOB != 42 39*fb3ef04dSDag-Erling Smørgrav #error FOO is 1 or FOOB is 42 40*fb3ef04dSDag-Erling Smørgrav #else foo6()41*fb3ef04dSDag-Erling Smørgravint foo6() { return 0; } 42*fb3ef04dSDag-Erling Smørgrav #endif 43*fb3ef04dSDag-Erling Smørgrav 44*fb3ef04dSDag-Erling Smørgrav #if FOO > FOOB 45*fb3ef04dSDag-Erling Smørgrav #error FOO is greater than FOOB 46*fb3ef04dSDag-Erling Smørgrav #else foo7()47*fb3ef04dSDag-Erling Smørgravint foo7() { return 0; } 48*fb3ef04dSDag-Erling Smørgrav #endif 49*fb3ef04dSDag-Erling Smørgrav 50*fb3ef04dSDag-Erling Smørgrav #if FOOB < FOO 51*fb3ef04dSDag-Erling Smørgrav #error FOOB is less than FOO 52*fb3ef04dSDag-Erling Smørgrav #else foo8()53*fb3ef04dSDag-Erling Smørgravint foo8() { return 0; } 54*fb3ef04dSDag-Erling Smørgrav #endif 55*fb3ef04dSDag-Erling Smørgrav 56*fb3ef04dSDag-Erling Smørgrav #if FOO >= FOOB 57*fb3ef04dSDag-Erling Smørgrav #error FOO is greater than or equal FOOB 58*fb3ef04dSDag-Erling Smørgrav #else foo9()59*fb3ef04dSDag-Erling Smørgravint foo9() { return 0; } 60*fb3ef04dSDag-Erling Smørgrav #endif 61*fb3ef04dSDag-Erling Smørgrav 62*fb3ef04dSDag-Erling Smørgrav #if FOOB <= FOO 63*fb3ef04dSDag-Erling Smørgrav #error FOOB is less than or equal FOO 64*fb3ef04dSDag-Erling Smørgrav #else foo10()65*fb3ef04dSDag-Erling Smørgravint foo10() { return 0; } 66*fb3ef04dSDag-Erling Smørgrav #endif 67*fb3ef04dSDag-Erling Smørgrav main()68*fb3ef04dSDag-Erling Smørgravint main() 69*fb3ef04dSDag-Erling Smørgrav { 70*fb3ef04dSDag-Erling Smørgrav foo1(); 71*fb3ef04dSDag-Erling Smørgrav foo2(); 72*fb3ef04dSDag-Erling Smørgrav foo3(); 73*fb3ef04dSDag-Erling Smørgrav foo4(); 74*fb3ef04dSDag-Erling Smørgrav foo5(); 75*fb3ef04dSDag-Erling Smørgrav foo6(); 76*fb3ef04dSDag-Erling Smørgrav foo7(); 77*fb3ef04dSDag-Erling Smørgrav foo8(); 78*fb3ef04dSDag-Erling Smørgrav foo9(); 79*fb3ef04dSDag-Erling Smørgrav foo10(); 80*fb3ef04dSDag-Erling Smørgrav } 81