aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/builtins.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 31da5bb..342c6a3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-04-04 Clinton Popetz <cpopetz@cygnus.com>
+
+ * builtins.c (expand_builtin_strlen): Force the source to
+ be a memory address.
+
2000-04-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* cpplib.c (D): Adjust to call CONCAT2 macro without whitespace.
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 3540fcc..1590d38 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -1388,7 +1388,8 @@ expand_builtin_strlen (exp, target, mode)
/* Now that we are assured of success, expand the source. */
start_sequence ();
- pat = expand_expr (src, src_reg, ptr_mode, EXPAND_SUM);
+ pat = memory_address (BLKmode,
+ expand_expr (src, src_reg, ptr_mode, EXPAND_SUM));
if (pat != src_reg)
emit_move_insn (src_reg, pat);
pat = gen_sequence ();