aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-10-28 15:43:04 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2009-10-28 15:43:04 +0100
commitf46835f5ad524deb0ad74cefb74b0494544f59c2 (patch)
treee196390e6f4a478aebda4da5f5159575f483cafa /gcc/builtins.c
parent6ac719d38e35eb21551a5e006d11fb7e71a97260 (diff)
downloadgcc-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.c3
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