1*fb3ef04dSDag-Erling Smørgrav/* Copyright 2004, 2008 Bob Proulx <bob@proulx.com> 2*fb3ef04dSDag-Erling SmørgravDistributed under the two-clause BSD licence; 3*fb3ef04dSDag-Erling Smørgravsee 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/* This code is passed through. "#if 0 else" */ 9*fb3ef04dSDag-Erling Smørgrav 10*fb3ef04dSDag-Erling Smørgrav/* This code is passed through. "#if 1 then" */ 11*fb3ef04dSDag-Erling Smørgrav 12*fb3ef04dSDag-Erling Smørgrav#if FOO 13*fb3ef04dSDag-Erling Smørgravint foo() { return 0; } 14*fb3ef04dSDag-Erling Smørgrav#else 15*fb3ef04dSDag-Erling Smørgrav#error FOO not defined 16*fb3ef04dSDag-Erling Smørgrav#endif 17*fb3ef04dSDag-Erling Smørgrav 18*fb3ef04dSDag-Erling Smørgrav#if BAR 19*fb3ef04dSDag-Erling Smørgravint foo() { return 0; } 20*fb3ef04dSDag-Erling Smørgrav#elif FOO 21*fb3ef04dSDag-Erling Smørgravint bar() { return 0; } 22*fb3ef04dSDag-Erling Smørgrav#else 23*fb3ef04dSDag-Erling Smørgrav#error FOO not defined 24*fb3ef04dSDag-Erling Smørgrav#endif 25*fb3ef04dSDag-Erling Smørgrav 26*fb3ef04dSDag-Erling Smørgravint main() 27*fb3ef04dSDag-Erling Smørgrav{ 28*fb3ef04dSDag-Erling Smørgrav foo(); 29*fb3ef04dSDag-Erling Smørgrav bar(); 30*fb3ef04dSDag-Erling Smørgrav} 31