Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!jarthur!nntp-server.caltech.edu!tybalt.caltech.edu!gleeper From: gleeper@tybalt.caltech.edu (Evan Manning) Newsgroups: comp.lang.c Subject: Re: Prototypes for macros? Message-ID: <1990May4.162637.29981@laguna.ccsf.caltech.edu> Date: 4 May 90 16:26:37 GMT References: <1990May3.202403.10140@laguna.ccsf.caltech.edu> <1990May4.033226.630@kfw.COM> Sender: news@laguna.ccsf.caltech.edu Distribution: comp Organization: California Institute of Technology Lines: 40 dan@kfw.COM (Dan Mick) writes: >In article <1990May3.202403.10140@laguna.ccsf.caltech.edu> gleeper@tybalt.caltech.edu (Evan Manning) writes: >>I ran into an interesting situation yesterday playing with my brand >>new Turbo C 2.0. I was trying to use it with all warnings and errors >>enabled, as I'd heard it claimed that this obviated all need for lint >>(At my previous job I got quite attached to PC-Lint from Gimpel but now >>it's my money so I thought I'd at least give Turbo a chance.) >> >>The problem emerged when I tried to use some functions (randomize & >>random) which are defined as macros in the headers. TC gave me a >>'no prototype in scope' warning and then some other error message I >>don't recall when I disabled the prototype warning. All problems >>vanished when I slavishly copied the definitions of the macros from >>the header. >> >>Is it a bug? Should macros have prototypes too? Will I have to worry >>about putchar et al? >Erm...if you had included the header, there wouldn't have been a warning, >since, after it was preprocessed, there would be no "function" randomize() >or random() to complain about. >#include I guess I should have mentioned that I'm not a rank amateur. All appropriate headers were included (including time.h for seeding off the time in randomize()) and these are the precise same headers needed to avoid warnings after manually expanding macros. My guess is that Turbo is checking for prototypes *before* expanding macros. Which sounds wrong to me. Has anybody encountered this before? -- Evan *************************************************************************** Your eyes are weary from staring at the CRT for so | Evan M. Manning long. You feel sleepy. Notice how restful it is | is to watch the cursor blink. Close your eyes. The | gleeper@tybalt.caltech.edu opinions stated above are yours. You cannot | manning@mars.jpl.nasa.gov imagine why you ever felt otherwise. |