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