Yes, that is exactly what should fix the tests. Unfortunately I don't have access to darwin machine right now. Can you please test if the patch (attached) fixes the tests?
gcc/
* multiple_target.c (create_dispatcher_calls): Add target check
on ifunc.
(create_target_clone): Change assembler name for versioned declarations.
gcc/testsuite
* gcc.dg/mvc1.c: Add dg-require-ifunc condition.
* gcc.dg/mvc4.c: Ditto.
* gcc.dg/mvc5.c: Ditto.
* g++.dg/ext/mvc1.C: Ditto.
* g++.dg/ext/mvc4.C: Ditto.
* gcc.dg/mvc7.c: Add dg-require-ifunc condition and checks on resolver.
Thanks,
Evgeny
On Sat, Oct 31, 2015 at 1:40 PM, Dominique d'Humières
<[email protected]> wrote:
> Evgeny,
> On darwin I see the following failures
> FAIL: g++.dg/ext/mvc1.C -std=c++11 (test for excess errors)
> UNRESOLVED: g++.dg/ext/mvc1.C -std=c++11 compilation failed to produce
> executable
> FAIL: g++.dg/ext/mvc1.C -std=c++14 (test for excess errors)
> UNRESOLVED: g++.dg/ext/mvc1.C -std=c++14 compilation failed to produce
> executable
> FAIL: g++.dg/ext/mvc1.C -std=c++98 (test for excess errors)
> UNRESOLVED: g++.dg/ext/mvc1.C -std=c++98 compilation failed to produce
> executable
> FAIL: g++.dg/ext/mvc4.C -std=gnu++11 (internal compiler error)
> FAIL: g++.dg/ext/mvc4.C -std=gnu++11 (test for excess errors)
> FAIL: g++.dg/ext/mvc4.C -std=gnu++14 (internal compiler error)
> FAIL: g++.dg/ext/mvc4.C -std=gnu++14 (test for excess errors)
> FAIL: g++.dg/ext/mvc4.C -std=gnu++98 (internal compiler error)
> FAIL: g++.dg/ext/mvc4.C -std=gnu++98 (test for excess errors)
>
> FAIL: gcc.dg/mvc1.c (internal compiler error)
> FAIL: gcc.dg/mvc1.c (test for excess errors)
> UNRESOLVED: gcc.dg/mvc1.c compilation failed to produce executable
> FAIL: gcc.dg/mvc4.c (internal compiler error)
> FAIL: gcc.dg/mvc4.c (test for excess errors)
> UNRESOLVED: gcc.dg/mvc4.c compilation failed to produce executable
> FAIL: gcc.dg/mvc5.c (internal compiler error)
> FAIL: gcc.dg/mvc5.c (test for excess errors)
> FAIL: gcc.dg/mvc5.c scan-assembler-times foo.ifunc 6
> FAIL: gcc.dg/mvc7.c (internal compiler error)
> FAIL: gcc.dg/mvc7.c (test for excess errors)
> FAIL: gcc.dg/mvc7.c scan-assembler-times foo.ifunc 4
>
> The errors are of the kind
>
> /opt/gcc/_clean/gcc/testsuite/gcc.dg/mvc7.C:5:5: error: multiversioning needs
> ifunc which is not supported on this target
>
> These tests probably require something such as
>
> /* { dg-require-ifunc "" } */
>
> I have no opinion if this should also used in the tests for warnings or
> errors.
>
> The ICEs are of the kind
>
> /opt/gcc/_clean/gcc/testsuite/gcc.dg/mvc7.C:10:1: internal compiler error:
> Segmentation fault: 11
> }
> ^
>
> TIA
>
> Dominique
>
target_clones_tests_fix.patch
Description: Binary data
