aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorClinton Popetz <cpopetz@cygnus.com>2000-04-04 21:10:43 +0000
committerClinton Popetz <cpopetz@gcc.gnu.org>2000-04-04 17:10:43 -0400
commit21e62dfa2a67a84aa0bd2ca093046287f13fbcb5 (patch)
tree8385f3edb7e68007dfb919b5723b50d4c5d5f96d /gcc
parent7c32404c2db25e8197b4833cec5f06d65b046149 (diff)
downloadgcc-21e62dfa2a67a84aa0bd2ca093046287f13fbcb5.zip
gcc-21e62dfa2a67a84aa0bd2ca093046287f13fbcb5.tar.gz
gcc-21e62dfa2a67a84aa0bd2ca093046287f13fbcb5.tar.bz2
builtins.c (expand_builtin_strlen): Force the source to be a memory address.
* builtins.c (expand_builtin_strlen): Force the source to be a memory address. From-SVN: r32911
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 ();