On 01/11/2017 12:25 PM, Joseph Myers wrote:
A test [istarget x86_64-*-gnu] is wrong; i?86-* -m64 should always be
handled exactly the same as x86_64-* -m64.
You need to work out which ABIs (-m32, -mx32, -m64) this testing is
meaningful for. Then, allow both x86_64- and i?86- targets, together with
an appropriate effective-target test ("lp64" to allow just -m64, for
example).
Thank your help! (testsuite/target-supports.exp is quite a library!)
So this test is 64-bit only and makes heavy use of gcc extensions
(mostly attributes ms_abi). It's aim is to test pro & epilogue creation
for 64-bit ms_abi functions that call sysv_abi functions (these are the
ones that result in the massive SSE clobbers). I do not believe msvc
supports sysv_abi functions, so the test the test can't be built there.
As such, I'm only intending to run this when gcc is being tested on
64-bit x86 platforms. The resulting program must be executed on the
target as well, so I was using [isnative]. Would this then be the
correct test?
if { (![istarget x86_64-*] && ![istarget i?86-*])
|| ![is-effective-target lp64] || ![isnative] } then {
unsupported "$subdir"
return
}
Thanks,
Daniel