diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/builtins.c | 3 |
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 (); |