-mno-long-calls for arm/no_unique_address tests

Richard Sandiford richard.sandiford@arm.com
Tue Dec 29 10:02:49 GMT 2020


Alexandre Oliva <oliva@adacore.com> writes:
> The implicit -mlong-calls from our vxworks configurations makes the
> tail-call instructions differ from those expected by the
> no_unique_address tests in gcc.target/arm.
>
> This patch adds -mno-long-calls to the compilation commands, so that
> we generate the expected sequences.
>
> Regstrapped on x86_64-linux-gnu, also tested on arm-vxworks7r2.
> Ok to install?

OK, thanks.  The dg-bogus parts shouldn't of course depend on -mlong-calls,
but they shouldn't depend on -O or -foptimize-sibling-calls either.
It seems unlikely that there is any hidden interaction between
-mlong-calls and no_unique_address, and if we find one later, we can
always add tests for it then.

Richard

> for  gcc/testsuite/ChangeLog
>
> 	* gcc.target/arm/no_unique_address_1.C: Add -mno-long-calls.
> 	* gcc.target/arm/no_unique_address_2.C: Likewise.
> ---
>  gcc/testsuite/g++.target/arm/no_unique_address_1.C |    2 +-
>  gcc/testsuite/g++.target/arm/no_unique_address_2.C |    2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gcc/testsuite/g++.target/arm/no_unique_address_1.C b/gcc/testsuite/g++.target/arm/no_unique_address_1.C
> index 038aa00a499e9..40fc68b374521 100644
> --- a/gcc/testsuite/g++.target/arm/no_unique_address_1.C
> +++ b/gcc/testsuite/g++.target/arm/no_unique_address_1.C
> @@ -1,5 +1,5 @@
>  /* { dg-require-effective-target arm_arch_v8a_hard_ok } */
> -/* { dg-options "-std=c++11 -O -foptimize-sibling-calls" } */
> +/* { dg-options "-std=c++11 -O -foptimize-sibling-calls -mno-long-calls" } */
>  /* { dg-add-options arm_arch_v8a_hard } */
>  /* { dg-final { check-function-bodies "**" "" "" } } */
>  
> diff --git a/gcc/testsuite/g++.target/arm/no_unique_address_2.C b/gcc/testsuite/g++.target/arm/no_unique_address_2.C
> index 8be5de2539a38..b66b4d004965b 100644
> --- a/gcc/testsuite/g++.target/arm/no_unique_address_2.C
> +++ b/gcc/testsuite/g++.target/arm/no_unique_address_2.C
> @@ -1,5 +1,5 @@
>  /* { dg-require-effective-target arm_arch_v8a_hard_ok } */
> -/* { dg-options "-std=c++17 -O -foptimize-sibling-calls" } */
> +/* { dg-options "-std=c++17 -O -foptimize-sibling-calls -mno-long-calls" } */
>  /* { dg-add-options arm_arch_v8a_hard } */
>  /* { dg-final { check-function-bodies "**" "" "" } } */


More information about the Gcc-patches mailing list