Path: utzoo!utgpu!water!watmath!clyde!ima!think!barmar From: barmar@think.COM (Barry Margolin) Newsgroups: comp.lang.c Subject: Re: #pragma does only half the job (was Re: Pragma and noalias) Keywords: Pragma Message-ID: <23349@think.UUCP> Date: 7 Jul 88 17:12:45 GMT References: <381@proxftl.UUCP> <8176@brl-smoke.ARPA> <423@proxftl.UUCP> Sender: usenet@think.UUCP Reply-To: barmar@kulla.think.com.UUCP (Barry Margolin) Organization: Thinking Machines Corporation, Cambridge, MA Lines: 21 In article <423@proxftl.UUCP> bill@proxftl.UUCP (T. William Wells) writes: >All the >standard says is that adding one causes the implementation to >behave in an implementation defined manner. AND THAT IS ALL. >That does prohibit a #pragma from giving additional information >about the program. Let me repeat that: > A PRAGMA CAN NOT GIVE INFORMATION ABOUT THE PROGRAM THAT > THE COMPILER CAN'T FIGURE OUT FOR ITSELF. How does this restriction follow from what the standard says? As you said, adding a pragma causes the implementation to behave in an implementation-defined manner, i.e. it can do WHATEVER the compiler designer wants it to do. For example, it can make assumptions about the aliasing of variables that are mentioned in the pragma. How is that different from "behaving in an implementation-defined manner"? Barry Margolin Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar