Alfie Richards <[email protected]> writes:
> This changes the ambiguation error for C++ to cover cases of differently
> annotated FMV function sets whose signatures only differ by their return
> type.
>
> It also adds tests covering many FMV errors for Aarch64, including
> redeclaration, and mixing target_clones and target_versions.
The tests look good. Sorry for not applying the series to find out
for myself, but what's the full message for:
> diff --git a/gcc/testsuite/g++.target/aarch64/mvc-error2.C
> b/gcc/testsuite/g++.target/aarch64/mvc-error2.C
> new file mode 100644
> index 00000000000..0e956e402d8
> --- /dev/null
> +++ b/gcc/testsuite/g++.target/aarch64/mvc-error2.C
> @@ -0,0 +1,10 @@
> +/* { dg-do compile } */
> +/* { dg-require-ifunc "" } */
> +/* { dg-options "-O0" } */
> +/* { dg-additional-options "-Wno-experimental-fmv-target" } */
> +
> +__attribute__ ((target_clones ("default, dotprod"))) float
> +foo () { return 3; } /* { dg-message "previously defined here" } */
> +
> +__attribute__ ((target_clones ("dotprod", "mve"))) float
> +foo () { return 3; } /* { dg-error "redefinition of" } */
...the redefinition error here? Does it mention dotprod specifically?
If so, it might be worth capturing that in the test, so that we don't
regress later.
Thanks,
Richard