This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: What is acceptable for -ffast-math? (Was: associative law in combine)


> From: dewar@gnat.com
> To: dewar@gnat.com, moshier@moshier.ne.mediaone.net, mrs@windriver.com
> Cc: gcc@gcc.gnu.org
> Date: Tue, 31 Jul 2001 11:35:04 -0400 (EDT)

> >isn't defined, therefore, we can define it to do anything.

> Right, that's what I mean by an upwards compatible extension, i.e. one that
> cannot affect any legal defined program. So the answer is indeed for C and
> C++ that extensions are allowed freely if they are upwards compatible (this
> is not the case in COBOL and Ada), where the standard requires a mode in 
> which no extensions are made.

What did you mean by `are allowed freely'?  Did you mean are permitted
by the standard?  If so, then you are wrong.  They are not allowed,
there is a requirement upon all processors of the language that they
issue a diagnostic.  This requirement of a diagnostic is not what I
would call `are allowed freely'.  If you meant anything else, you can
ignore this message.

> From: dewar@gnat.com
> To: dewar@gnat.com, jbuck@synopsys.COM, mrs@windriver.com
> Cc: gcc@gcc.gnu.org, moshier@moshier.ne.mediaone.net
> Date: Tue, 31 Jul 2001 11:37:02 -0400 (EDT)

> <<When there is wording that states that the value inside the [] shall
> be a constant greater than 0 and non-negative, there is absolutely no
> room for gcc to extend the sematics to include dynamicly sized arrays,
> sorry.
> >>

> I disagree, this is giving the rules for legal, well-define
> programs, and the standard has nothing to say about the behavior of
> a program that does not follow the above rules.

In case it wasn't perfectly clean in the above, I meant, there is no
room within the confines of the standard.  If you don't disagree with
that, you can stop reading now; however, if you do, read on...

The standard says nothing about the behavior of any program, you
misunderstand the standard.  The standard only give requirements on
processors of the language.  Any violation of any requirement of the
standard upon a processor of the lanuage, is a violation of the
standard.  There is no difference in the standard wether the
requirement is for a diagnostic, or for some behavior of running code.
Any differentiation made is extra-standard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]