[PATCH] g++.dg/init/vbase1.C and g++.dg/cpp/ucn-1.C

Mike Stump mikestump@comcast.net
Fri Nov 20 22:17:00 GMT 2015


On Nov 16, 2015, at 6:02 AM, Renlin Li <renlin.li@arm.com> wrote:
> On 14/11/15 00:33, David Edelsohn wrote:
>> No RISC architecture can store directly to MEM, so the expected RTL in
>> g++.dg/init/vbase1.C is wrong.  I am adding XFAIL for PowerPC.  This
>> probably should be disabled for ARM and other RISC architectures.
> 
> I observed the same problem in arm.
> 
> This passes for aarch64 and mips as they have zero register to do that. However, other RISC might not have that feature, for example arm and RS6000 in this  case.

I fixed this with the below patch.  Tested on x86_64 linux, x86_64 darwin and my port.  If you want to list aarch64/arn and mips, please do.


	* g++.dg/init/vbase1.C: Only run on x86_64-*-* as this testcase
	isn't portable.

Index: g++.dg/init/vbase1.C
===================================================================
--- g++.dg/init/vbase1.C	(revision 230675)
+++ g++.dg/init/vbase1.C	(working copy)
@@ -42,4 +42,4 @@ int main(int, char**)
 // Verify that the SubB() mem-initializer is storing 0 directly into
 // this->D.whatever rather than into a stack temp that is then copied into the
 // base field.
-// { dg-final { scan-rtl-dump "set \[^\n\]*\n\[^\n\]*this\[^\n\]*\n\[^\n\]*const_int 0" "expand" { xfail { powerpc*-*-* } } } }
+// { dg-final { scan-rtl-dump "set \[^\n\]*\n\[^\n\]*this\[^\n\]*\n\[^\n\]*const_int 0" "expand" { target { x86_64-*-* } } } }



More information about the Gcc-patches mailing list