This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/49103] [4.6/4.7 Regression] local variables exchange values / wrong code with -O3
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 14 Jun 2011 15:29:33 +0000
- Subject: [Bug fortran/49103] [4.6/4.7 Regression] local variables exchange values / wrong code with -O3
- Auto-submitted: auto-generated
- References: <bug-49103-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49103
--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-06-14 15:28:27 UTC ---
Author: jakub
Date: Tue Jun 14 15:28:21 2011
New Revision: 175029
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=175029
Log:
PR fortran/49103
* tree.h (DECL_NONSHAREABLE): Define.
(struct tree_decl_common): Change decl_common_unused to
decl_nonshareable_flag.
* cfgexpand.c (expand_used_vars_for_block, clear_tree_used):
Ignore vars with DECL_NONSHAREABLE bit set.
* tree-cfg.c (gimple_duplicate_bb): Set DECL_NONSHAREABLE
on stores to automatic aggregate vars.
* gfortran.dg/pr49103.f90: New test.
Added:
branches/gcc-4_6-branch/gcc/testsuite/gfortran.dg/pr49103.f90
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/cfgexpand.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/tree-cfg.c
branches/gcc-4_6-branch/gcc/tree.h