Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!bu-cs!encore!pinocchio!lundy From: lundy@pinocchio.Encore.COM (Joe Lundy) Newsgroups: comp.sys.encore Subject: Re: cpp problem? Message-ID: <10081@multimax.Encore.COM> Date: 4 Oct 89 14:30:51 GMT References: <722@thor.wright.EDU> Sender: news@Encore.COM Reply-To: lundy@pinocchio.UUCP (Joe Lundy) Distribution: usa Organization: Encore Computer Corp, Marlboro, MA Lines: 50 In article <722@thor.wright.EDU dcourte@eve.UUCP (Dale Emery Courte) writes: I am trying to make X11R3 on our Multimax, under Umax 4.2 (3.3.0), and I seem to have run into a preprocessor bug. While compiling ./util/makedepend/main.c, I get the following: "main.orig.c", line 65: Preprocessor expression must be constant "main.orig.c", line 206: Preprocessor expression must be constant "main.orig.c", line 428: Preprocessor expression must be constant These lines are each identical and look like this: #if defined (mips) && defined (SYSTYPE_SYSV) After experimentation and examination, I discovered the following culprit in util/makedepend/def.h: struct symtab *defined(); This definition of 'defined' is apparently throwing the preprocessor off, though obvoiuosly this must be peculiar to the multimax, as the def.h, and all other sources came directly from an X11R3 distribution tape. Am I crazy, or is this a bug? Has anyone else encountered it? Is there some way, like some fancy quoting or escape characters, to get around this problem? For now I am fiddling with source code, which is far from desirable in anything as large as X. Any help would be welcome. Thanks in advance. You're not crazy. This was a bug originally found at Mitre and one other site that I can't recall on the same day. There is a fix for this in the 3.3 update and should be corrected in 4.0 as well. In the meantime, try not to use the name 'defined' as a variable, structure, etc., when using #if defined() ... __________________________________________________________________ Joe Lundy lundy@Encore.COM Encore Computer {bu-cs,decvax,necntc,talcott}!encore!lundy Marlborough, Mass. ----------------------------- ------------------------------------- Dale Courte CSNET: dcourte@eve.wright.edu University Computing Services BITNET: dcourte@wsu Wright State University UUCP: ..!uunet!ncrlink!wright!dcourte Dayton, Ohio 45435 phone: (513) 873-4030 ----------------------------- -------------------------------------