RE: alpha-dec-vms __sync_lock_test_and_set char/short -O2 fails on all 4.3.x and 4.4.x

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In get_builtin_sync_mem, mem->u.fld.rt_rtx.code is REG in 4.5.0, SUBREG earlier.
So then compare that function and notice convert_memory_address added in 4.5.0 and then:

The same problem hit 32bit IA64/HP-UX (-milp32)

bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41801
fix: http://gcc.gnu.org/viewcvs/trunk/gcc/builtins.c?r1=153488&r2=153669&diff_format=h


jbook2:gcc jay$ diff -U5 builtins.c.orig builtins.c
--- builtins.c.orig    2010-04-25 09:55:44.000000000 -0700
+++ builtins.c    2010-04-25 09:55:58.000000000 -0700
@@ -6003,11 +6003,12 @@
 static rtx
 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);
 
 - Jay

----------------------------------------
> From: lopezibanez@xxxxxxxxx
> Date: Sun, 25 Apr 2010 17:28:10 +0200
> Subject: Re: alpha-dec-vms __sync_lock_test_and_set char/short -O2 fails on all 4.3.x and 4.4.x
> To: jay.krell@xxxxxxxxxxx
> CC: gcc-help@xxxxxxxxxxx
>
> On 25 April 2010 17:22, Jay K  wrote:
>>
>> For the archives:
>
> A better place would be http://gcc.gnu.org/bugzilla/
>
> Cheers,
>
> Manuel.
 		 	   		  


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux