aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2009-02-18 16:01:03 -0500
committerJason Merrill <jason@gcc.gnu.org>2009-02-18 16:01:03 -0500
commit98b806924df9a7bb913cc5cc2d2e7fdc7e2a5de0 (patch)
tree0f64524f372d342649161f19523537146008f861 /gcc/varasm.c
parent1e80963d6176df27cd61f268ec14392cda8a309a (diff)
downloadgcc-98b806924df9a7bb913cc5cc2d2e7fdc7e2a5de0.zip
gcc-98b806924df9a7bb913cc5cc2d2e7fdc7e2a5de0.tar.gz
gcc-98b806924df9a7bb913cc5cc2d2e7fdc7e2a5de0.tar.bz2
re PR target/39179 (Wrong code in c++ for const members initialized in external file)
PR target/39179 * tree-ssa-ccp.c (get_symbol_constant_value): Don't assume zero value if DECL_EXTERNAL. * tree-sra.c (sra_walk_gimple_assign): Likewise. * target.h (gcc_target::binds_local_p): Clarify module. * tree.h (TREE_PUBLIC): Clarify module. From-SVN: r144270
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 7fed300..083cf09 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -4316,12 +4316,10 @@ initializer_constant_valid_p (tree value, tree endtype)
}
/* Support narrowing pointer differences. */
- if (TREE_CODE (value) == POINTER_PLUS_EXPR)
- {
- ret = narrowing_initializer_constant_valid_p (value, endtype);
- if (ret != NULL_TREE)
- return ret;
- }
+ ret = narrowing_initializer_constant_valid_p (value, endtype);
+ if (ret != NULL_TREE)
+ return ret;
+
break;
case MINUS_EXPR: