summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2000-05-03 13:20:48 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2000-05-03 13:20:48 +0000
commit0ed529571960e09e8eaee0573fe25749dfd5aaac (patch)
tree879c3daef7db43b2e7148d743dbf149b4b800c6b
parent01bfa89eea4c8dd9db5e600d0c849c6700051172 (diff)
downloadgcc-0ed529571960e09e8eaee0573fe25749dfd5aaac.tar.gz
* expr.c (expand_expr, case COMPONENT_REF): Don't check for checking
memory usage if not in a function. * varasm.c (initializer_constant_valid_p, case ADDR_EXPR): Only return address if static. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33629 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/expr.c3
-rw-r--r--gcc/varasm.c2
3 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a7ec6b80a2e..67994290774 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+Wed May 3 09:29:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * expr.c (expand_expr, case COMPONENT_REF): Don't check for checking
+ memory usage if not in a function.
+ * varasm.c (initializer_constant_valid_p, case ADDR_EXPR): Only
+ return address if static.
+
Wed May 3 13:14:49 MET DST 2000 Jan Hubicka <jh@suse.cz>
* ifcvt.c (noce_try_cmove_arith): Use may_trap_p to thest
diff --git a/gcc/expr.c b/gcc/expr.c
index bc1bbf4bfdd..ce4ecc7eaa9 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -6734,7 +6734,8 @@ expand_expr (exp, target, tmode, modifier)
}
/* Check the access. */
- if (current_function_check_memory_usage && GET_CODE (op0) == MEM)
+ if (cfun != 0 && current_function_check_memory_usage
+ && GET_CODE (op0) == MEM)
{
enum memory_use_mode memory_usage;
memory_usage = get_memory_usage_from_modifier (modifier);
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 0c682206aa6..898b17b6a99 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -4068,7 +4068,7 @@ initializer_constant_valid_p (value, endtype)
return null_pointer_node;
case ADDR_EXPR:
- return TREE_OPERAND (value, 0);
+ return staticp (TREE_OPERAND (value, 0) ? TREE_OPERAND (value, 0) : 0);
case NON_LVALUE_EXPR:
return initializer_constant_valid_p (TREE_OPERAND (value, 0), endtype);