aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-alias.c
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@redhat.com>2004-09-28 13:45:05 +0000
committerDiego Novillo <dnovillo@gcc.gnu.org>2004-09-28 09:45:05 -0400
commit38e05395acc76a5e8052abae6333c8a2ffb6008d (patch)
tree74c6aba3cef58db13ba5cf0f0129feacd0d74efa /gcc/tree-ssa-alias.c
parent45fbb18639b5595ba43868ce8ed33ed2f94a615e (diff)
downloadgcc-38e05395acc76a5e8052abae6333c8a2ffb6008d.zip
gcc-38e05395acc76a5e8052abae6333c8a2ffb6008d.tar.gz
gcc-38e05395acc76a5e8052abae6333c8a2ffb6008d.tar.bz2
tree-ssa-alias.c (create_name_tags): If PTR points to a volatile type, mark the tag volatile.
* tree-ssa-alias.c (create_name_tags): If PTR points to a volatile type, mark the tag volatile. (get_tmt_for): If TAG_TYPE is a volatile type, mark the tag volatile. From-SVN: r88232
Diffstat (limited to 'gcc/tree-ssa-alias.c')
-rw-r--r--gcc/tree-ssa-alias.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index 883c53d..17f2dc9 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -809,6 +809,9 @@ create_name_tags (struct alias_info *ai)
continue;
}
+ TREE_THIS_VOLATILE (pi->name_mem_tag)
+ |= TREE_THIS_VOLATILE (TREE_TYPE (TREE_TYPE (ptr)));
+
/* Mark the new name tag for renaming. */
bitmap_set_bit (vars_to_rename, var_ann (pi->name_mem_tag)->uid);
}
@@ -2138,7 +2141,7 @@ get_tmt_for (tree ptr, struct alias_info *ai)
}
/* If the pointed-to type is volatile, so is the tag. */
- TREE_THIS_VOLATILE (tag) = TREE_THIS_VOLATILE (tag_type);
+ TREE_THIS_VOLATILE (tag) |= TREE_THIS_VOLATILE (tag_type);
/* Make sure that the type tag has the same alias set as the
pointed-to type. */