diff options
author | Richard Biener <rguenther@suse.de> | 2014-06-04 13:51:18 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-06-04 13:51:18 +0000 |
commit | 38af3208d5385b8b2601599479179888ce7f09a8 (patch) | |
tree | 35be3811c5cefc8ef71fdcd7fa8dfa98ec03f8ec /gcc/tree.h | |
parent | 9ccac7012cd0cf5bcb7525d67d2675f4e3e3ffd4 (diff) | |
download | gcc-38af3208d5385b8b2601599479179888ce7f09a8.zip gcc-38af3208d5385b8b2601599479179888ce7f09a8.tar.gz gcc-38af3208d5385b8b2601599479179888ce7f09a8.tar.bz2 |
tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from TREE_PUBLIC and DECL_EXTERNAL decls.
2014-06-04 Richard Biener <rguenther@suse.de>
* tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
TREE_PUBLIC and DECL_EXTERNAL decls.
From-SVN: r211233
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 4 |
1 files changed, 1 insertions, 3 deletions
@@ -4528,9 +4528,7 @@ static inline bool may_be_aliased (const_tree var) { return (TREE_CODE (var) != CONST_DECL - && (TREE_PUBLIC (var) - || DECL_EXTERNAL (var) - || TREE_ADDRESSABLE (var)) + && TREE_ADDRESSABLE (var) && !((TREE_STATIC (var) || TREE_PUBLIC (var) || DECL_EXTERNAL (var)) && ((TREE_READONLY (var) && !TYPE_NEEDS_CONSTRUCTING (TREE_TYPE (var))) |