diff options
author | Jakub Jelinek <jakub@redhat.com> | 2009-10-28 15:43:04 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2009-10-28 15:43:04 +0100 |
commit | f46835f5ad524deb0ad74cefb74b0494544f59c2 (patch) | |
tree | e196390e6f4a478aebda4da5f5159575f483cafa /gcc/builtins.c | |
parent | 6ac719d38e35eb21551a5e006d11fb7e71a97260 (diff) | |
download | gcc-f46835f5ad524deb0ad74cefb74b0494544f59c2.zip gcc-f46835f5ad524deb0ad74cefb74b0494544f59c2.tar.gz gcc-f46835f5ad524deb0ad74cefb74b0494544f59c2.tar.bz2 |
re PR debug/41801 (VTA: ICE in loc_cmp.)
PR debug/41801
* builtins.c (get_builtin_sync_mem): Expand loc in ptr_mode,
call convert_memory_address on addr.
* g++.dg/ext/sync-3.C: New test.
From-SVN: r153669
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index 1243d72..0cb2bd7 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -5656,7 +5656,8 @@ get_builtin_sync_mem (tree loc, enum machine_mode mode) { rtx addr, mem; - addr = expand_expr (loc, NULL_RTX, Pmode, EXPAND_SUM); + addr = expand_expr (loc, NULL_RTX, ptr_mode, EXPAND_SUM); + addr = convert_memory_address (Pmode, addr); /* Note that we explicitly do not want any alias information for this memory, so that we kill all other live memories. Otherwise we don't |