[Bug fortran/49103] [4.6/4.7 Regression] local variables exchange values / wrong code with -O3

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jun 14 15:27:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49103

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-06-14 15:27:28 UTC ---
Author: jakub
Date: Tue Jun 14 15:27:24 2011
New Revision: 175028

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=175028
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:
    trunk/gcc/testsuite/gfortran.dg/pr49103.f90
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cfgexpand.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-cfg.c
    trunk/gcc/tree.h



More information about the Gcc-bugs mailing list