Jakub Jelinek <ja...@redhat.com> writes:

> On Thu, Oct 23, 2014 at 11:16:39AM +0200, Rainer Orth wrote:
>> Rainer Orth <r...@cebitec.uni-bielefeld.de> writes:
>> 
>> > Two of the new gcc.dg/ipa/ipa-icf-*.c tests were FAILing on Solaris:
>> >
>> > FAIL: gcc.dg/ipa/ipa-icf-21.c (test for excess errors)
>> > UNRESOLVED: gcc.dg/ipa/ipa-icf-21.c scan-ipa-dump icf "Equal symbols: 1"
>> > UNRESOLVED: gcc.dg/ipa/ipa-icf-21.c scan-ipa-dump icf "Semantic equality
>> > hit:bar->foo"
>> > FAIL: gcc.dg/ipa/ipa-icf-28.c (test for excess errors)
>> > UNRESOLVED: gcc.dg/ipa/ipa-icf-28.c scan-ipa-dump icf "Equal symbols: 0"
>> > UNRESOLVED: gcc.dg/ipa/ipa-icf-28.c scan-ipa-dump icf "attribute values are
>> > different"
>> >
>> > The former requires <xmmintrin.h> which is x86-only, thus cannot work
>> > anywhere else.  The other uses constructor priorities, but doesn't
>> > declare this dependency.
>> >
>> > The following patch fixes both, so far tested with the appropriate
>> > runtest invocation on sparc-sun-solaris2.11; will commit to mainline
>> > once they've also been included in a current x86_64-unknown-linux-gnu
>> > bootstrap.
>> 
>> I've now installed the patch to remove the obvious testsuite failures,
>> but it turned out that the ipa-icf-21.c testcase has further issues on
>> i686-unknown-linux-gnu:
>> 
>> FAIL: gcc.dg/ipa/ipa-icf-21.c (test for excess errors)
>> Excess errors:
>> /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/ipa/ipa-icf-21.c:10:10:
>> warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
>> /var/gcc/regression/trunk/3.14.17-gcc-gas-gld-32/build/gcc/include/xmmintrin.h:909:1:
>> error: inlining failed in call to always_inline '_mm_load1_ps': target
>> specific option mismatch
>> /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/ipa/ipa-icf-21.c:10:10:
>> error: called from here
>> 
>> The former can be cured by adding -Wno-psabi to dg-options, but I've no
>> idea what to do about the latter, especially since it doesn't occur on
>> i386-pc-solaris2.11.
>
> The testcase is clearly i?86/x86_64 specific, so it must be guarded with
> { target i?86-*-* x86_64-*-* }, and as it is a compile time test, no need

Right, that's what my patch already does.

> for assembler support, so just adding -msse2 option to dg-option is the
> right thing to do.

Ok, will try that.  Still no idea why Linux/x86 and Solaris/x86 are
different here.

        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

Reply via email to