This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c/8395: gcc 2.95.4 and 3.2 generate wrong code for double onintel
- From: Marco Bernardo <bernardo at sti dot uniurb dot it>
- To: Bruce Allen <ballen at gravity dot phys dot uwm dot edu>
- Cc: Bruce Allen <ballen at aei dot mpg dot de>, <gcc-gnats at gcc dot gnu dot org>,<gcc-prs at gcc dot gnu dot org>, <gcc-bugs at gcc dot gnu dot org>, <nobody at gcc dot gnu dot org>
- Date: Mon, 4 Nov 2002 17:56:51 +0100 (CET)
- Subject: Re: c/8395: gcc 2.95.4 and 3.2 generate wrong code for double onintel
Dear Bruce, Tim and Toone,
Thanks for your messages and for the useful information
you provided me with.
>> 2. I hope we all agree on the fact that the output produced by
>> a (sequential) C program is the same for a given input,
>> regardless of the compilation options that are used.
>
>Absolutely false!
>
>C does not specify the order in which mathematical expressions are
>evaluated, unless the programmer makes these completely explicity.
>
>And indeed compiling with optimizations turned on can eliminate many
>subexpressions, cause compile-time evaluatiosn, register sorage etc, which
>can also change results.
I understand that:
- C does not specify the order in which mathematical expressions are evaluated
(up to operators precedence and associativity, I guess)
- this order is important at run time (as you pointed out to me)
- the compiler can change the order in which mathematical expressions
are evaluated, especially for optimization purposes
However, for a person doing research on the formal semantics of programming
languages, it is difficult to accept that two differently compiled versions
of the same sequential program return two different values for the same input.
The compiler should not be free to alter the semantics of a sequential program,
i.e. the program output for a given input! Some consistency should be kept.
Anyway, thanks again for your messages.
Best regards,
Marco
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Prof. Marco Bernardo
Universita` di Urbino
Centro per l'Applicazione delle Scienze e Tecnologie dell'Informazione
Piazza della Repubblica 13, 61029 Urbino, Italy
Phone: +39-0722-4475 - E-mail: bernardo@sti.uniurb.it
Fax: +39-0722-4475 - WWW: http://www.sti.uniurb.it/bernardo/
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@