diff options
author | Michael Matz <matz@suse.de> | 2009-09-16 16:12:18 +0000 |
---|---|---|
committer | Michael Matz <matz@gcc.gnu.org> | 2009-09-16 16:12:18 +0000 |
commit | 9b87db3c0fc95b7f76fcdc38e21371dff155ee4b (patch) | |
tree | 16bc7e6ccab2dd7b94d385eb0dc4572ffb988dc7 /gcc/fortran/trans.c | |
parent | 798763075fa686158fc9b40b2e6b3bc57320dd5a (diff) | |
download | gcc-9b87db3c0fc95b7f76fcdc38e21371dff155ee4b.zip gcc-9b87db3c0fc95b7f76fcdc38e21371dff155ee4b.tar.gz gcc-9b87db3c0fc95b7f76fcdc38e21371dff155ee4b.tar.bz2 |
re PR fortran/41212 (miscompilation at -O2)
PR fortran/41212
* tree.h (struct tree_decl_common): Add decl_restricted_flag,
shorten decl_common_unused.
(DECL_RESTRICTED_P): New accessor.
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use it
to disambiguate marked decls and restrict pointers.
fortran/
* trans.h (struct lang_type): Remove nontarget_type member.
* trans.c (gfc_add_modify): Don't access it.
* trans-decl.c (gfc_finish_var_decl): Don't allocate and set it,
instead set DECL_RESTRICTED_P on affected decls.
testsuite/
* gfortran.dg/pr41212.f90: New test.
From-SVN: r151761
Diffstat (limited to 'gcc/fortran/trans.c')
-rw-r--r-- | gcc/fortran/trans.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c index f4a215a..136987a 100644 --- a/gcc/fortran/trans.c +++ b/gcc/fortran/trans.c @@ -162,13 +162,6 @@ gfc_add_modify (stmtblock_t * pblock, tree lhs, tree rhs) tree t1, t2; t1 = TREE_TYPE (rhs); t2 = TREE_TYPE (lhs); - /* ??? This is actually backwards, we should test the "base" type - from which the nontarget_type was copied, but we don't have this - backlink. This will do for now, it's for checking anyway. */ - if (TYPE_LANG_SPECIFIC (t1)) - t1 = TYPE_LANG_SPECIFIC (t1)->nontarget_type; - if (TYPE_LANG_SPECIFIC (t2)) - t2 = TYPE_LANG_SPECIFIC (t2)->nontarget_type; /* Make sure that the types of the rhs and the lhs are the same for scalar assignments. We should probably have something similar for aggregates, but right now removing that check just |