C preprocessor: undefined control

Dan Ts'o dan at rna.UUCP
Sun Mar 19 12:38:25 AEST 1989


	I'm sure this must have been covered before, but I haven't seen it
myself...

	I am writing a (large) C program that runs under both UNIX and
MSDOS. I am using the Microsoft 5.0 C compiler for MSDOS and 4.3BSD's CC
for VAX UNIX. There is a portion of code that only is relevant under MSDOS.
It is surrounded by #ifdef MSDOS -> #endif. Within that code, I use MSC's
#pragma loop_opt(off) to suppress the loop optimization of a (volatile)
device register.
	The 4.3BSD complains about the #pragma, even though it should be
excluded entirely since the #ifdef MSDOS is not satisfied:

#ifdef MSDOS
	... C code ...
#pragma loop_opt(off)
	while(...)
	...
#endif

	I naturally see how this could happen, although I do consider it a
bug (what does ANSI say about this sort of thing). Is there any way around
this ? (I know I could write the C code such that the #pragma isn't
necessary... that's not an answer).

	Please email responses. Thanks.

				Cheers,
				Dan Ts'o		212-570-7671
				Dept. Neurobiology	dan at rna.rockefeller.edu
				Rockefeller Univ.	...cmcl2!rna!dan
				1230 York Ave.		rna!dan at nyu.edu
				NY, NY 10021		tso at rockefeller.arpa
							tso at rockvax.bitnet



More information about the Comp.bugs.4bsd.ucb-fixes mailing list