This is the mail archive of the gcc-bugs@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]
Other format: [Raw text]

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/
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


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