http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
Tobias Burnus changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
--- Comment #12 from Tobias Burnus 2010-11-13
17:23:54 UTC ---
Author: burnus
Date: Sat Nov 13 17:23:49 2010
New Revision: 166714
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166714
Log:
2010-11-13 Tobias Burnus
PR fortran/4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
--- Comment #13 from Tobias Burnus 2010-11-13
17:25:31 UTC ---
Author: burnus
Date: Sat Nov 13 17:25:28 2010
New Revision: 166715
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166715
Log:
2010-11-13 Tobias Burnus
PR fortran/4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
--- Comment #11 from Tobias Burnus 2010-11-13
11:46:32 UTC ---
Author: burnus
Date: Sat Nov 13 11:46:25 2010
New Revision: 166702
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166702
Log:
2010-11-13 Tobias Burnus
PR fortran/4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
--- Comment #10 from Tobias Burnus 2010-11-13
10:29:08 UTC ---
Author: burnus
Date: Sat Nov 13 10:29:04 2010
New Revision: 166701
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166701
Log:
2010-11-13 Tobias Burnus
PR fortran/4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
--- Comment #9 from Tobias Burnus 2010-11-13
00:25:13 UTC ---
Test case:
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/volatile12.f90
@@ -0,0 +1,16 @@
+! { dg-do compile }
+! { dg-options "-fdump-tree-optimized -O3" }
+!
+! PR fortran/45742
+!
+
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
--- Comment #8 from Tobias Burnus 2010-11-12
23:55:06 UTC ---
The issue with the dummy is: Volatile will be set in gfc_get_symbol_decl - but
only if there is no backend declaration. For DUMMY arguments there is.
Thus, one needs to handle them di
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
--- Comment #7 from Tobias Burnus 2010-11-12
23:32:06 UTC ---
OK. The (j>j) and the tree->RTL issue are solved by the following patch. Thanks
to Andrew, Ian, Richard et al. (at #gcc) for the debugging help.
diff --git a/gcc/fortran/trans-common
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
Bug 45742 depends on bug 46458, which changed state.
Bug 46458 Summary: Volatile status ignored for "(j > j)" during
fold_comparison of fold-const.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46458
What|Old Value
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
--- Comment #5 from Tobias Burnus 2010-11-12
23:02:06 UTC ---
(In reply to comment #4)
> > volatile integer(kind=4) j;
> I see:
> foo (integer(kind=4) & restrict j)
> so the volatile is missing. Huh?
Seemingly, we have tested different thing
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
--- Comment #4 from Thomas Koenig 2010-11-12
21:56:08 UTC ---
(In reply to comment #2)
> (In reply to comment #1)
> > Apparently, VOLATILE has no effect at all. Another test case:
> [...]
> > Tobias, any ideas?
>
> No idea:
>
> $ cat test.f90.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
--- Comment #3 from Tobias Burnus 2010-11-12
20:33:36 UTC ---
I think the first test case is wrongly folded already by the front end:
program main
integer, volatile :: j
if (j>j) call notfound
end program main
Gives the original dump:
MAIN
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
--- Comment #2 from Tobias Burnus 2010-11-12
20:22:24 UTC ---
(In reply to comment #1)
> Apparently, VOLATILE has no effect at all. Another test case:
[...]
> Tobias, any ideas?
No idea:
$ LANG= gfortran -v 2>&1|grep -E 'experi|Targ'
Target: x
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45742
Thomas Koenig changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
14 matches
Mail list logo