[Bug libfortran/41335] VOLATILE in Fortran does not take effect

2009-09-11 Thread denis_scherbakov at yahoo dot com
--- Comment #15 from denis_scherbakov at yahoo dot com 2009-09-11 20:54 --- I just tried -ffloat-store and the results stay the same. I would like to note that for "real" and "double precision" different assembler code is produced. At least on my machine. Coul

[Bug libfortran/41335] VOLATILE in Fortran does not take effect

2009-09-11 Thread denis_scherbakov at yahoo dot com
--- Comment #12 from denis_scherbakov at yahoo dot com 2009-09-11 20:05 --- Steve Kargl, What is your hardware? x86 or something else? I have Atlon 2000 MP and Intel Quad and on both of these systems I get differences in output for "real" and "double precision"

[Bug libfortran/41335] VOLATILE in Fortran does not take effect

2009-09-11 Thread denis_scherbakov at yahoo dot com
--- Comment #9 from denis_scherbakov at yahoo dot com 2009-09-11 19:12 --- And how would you know that by leaving "a" in FPU register after a = aU*aU you still have the most recent version of "a" during computation of "c" without storing it? Denis --

[Bug libfortran/41335] VOLATILE in Fortran does not take effect

2009-09-11 Thread denis_scherbakov at yahoo dot com
--- Comment #8 from denis_scherbakov at yahoo dot com 2009-09-11 19:02 --- Ok, but then "real" and "double precision" datatypes should behave in the same way? No? Denis -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41335

[Bug libfortran/41335] VOLATILE in Fortran does not take effect

2009-09-11 Thread denis_scherbakov at yahoo dot com
--- Comment #6 from denis_scherbakov at yahoo dot com 2009-09-11 18:38 --- By saying "works" I mean that on my system program with "real, volatile :: a" returns nonzero result. This is correct, because 80-bit floating point gets truncated to 64-bit and then l

[Bug libfortran/41335] VOLATILE in Fortran does not take effect

2009-09-11 Thread denis_scherbakov at yahoo dot com
--- Comment #4 from denis_scherbakov at yahoo dot com 2009-09-11 15:45 --- I tested "real, volatile" and "double precision, volatile" with fixed form and free form and "real*" works, "double*" - not. So it is not a question of a source fo

[Bug libfortran/41335] VOLATILE in Fortran does not take effect

2009-09-11 Thread denis_scherbakov at yahoo dot com
--- Comment #3 from denis_scherbakov at yahoo dot com 2009-09-11 15:40 --- I compiled fixed form source with -ffree-form. "real, volatile :: a" produces correct result "double precision, volatile :: a" not Why should I compile fixed form source as a free

[Bug libfortran/41335] VOLATILE in Fortran does not take effect

2009-09-11 Thread denis_scherbakov at yahoo dot com
--- Comment #1 from denis_scherbakov at yahoo dot com 2009-09-11 15:10 --- I studied the error a little bit more. "volatile double precision a" declares a variable "doubleprecisiona" which is not used. "real, volatile :: a" works and produces expecte

[Bug libfortran/41335] New: VOLATILE in Fortran does not take effect

2009-09-11 Thread denis_scherbakov at yahoo dot com
CONFIRMED Severity: normal Priority: P3 Component: libfortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: denis_scherbakov at yahoo dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41335