[testsuite,arm/aarch64] -fno-short-enums for auto-init-[12].c

Message ID orwn7axilx.fsf@lxoliva.fsfla.org
State Accepted
Headers
Series [testsuite,arm/aarch64] -fno-short-enums for auto-init-[12].c |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Alexandre Oliva Dec. 2, 2022, 9:25 a.m. UTC
  On arm-eabi, and possibly on other platforms, -fshort-enums is enabled
by default, which breaks some tests' expectations as to enum sizes
with DEFERRED_INIT.  Disable short enums so that the expectations are
met.

Regstraped on x86_64-linux-gnu, also tested with crosses to riscv64-elf
and arm-eabi.  Ok to install?


for  gcc/testsuite/ChangeLog

	* c-c++-common/auto-init-1.c: Add -fno-short-enums.
	* c-c++-common/auto-init-2.c: Likewise.
	* gcc.dg/debug/btf/btf-enum-1.c: Likewise.
---
 gcc/testsuite/c-c++-common/auto-init-1.c    |    2 +-
 gcc/testsuite/c-c++-common/auto-init-2.c    |    2 +-
 gcc/testsuite/gcc.dg/debug/btf/btf-enum-1.c |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
  

Comments

Richard Sandiford Dec. 5, 2022, 7:33 a.m. UTC | #1
Alexandre Oliva via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
> On arm-eabi, and possibly on other platforms, -fshort-enums is enabled
> by default, which breaks some tests' expectations as to enum sizes
> with DEFERRED_INIT.  Disable short enums so that the expectations are
> met.
>
> Regstraped on x86_64-linux-gnu, also tested with crosses to riscv64-elf
> and arm-eabi.  Ok to install?

OK, thanks.

Richard

> for  gcc/testsuite/ChangeLog
>
> 	* c-c++-common/auto-init-1.c: Add -fno-short-enums.
> 	* c-c++-common/auto-init-2.c: Likewise.
> 	* gcc.dg/debug/btf/btf-enum-1.c: Likewise.
> ---
>  gcc/testsuite/c-c++-common/auto-init-1.c    |    2 +-
>  gcc/testsuite/c-c++-common/auto-init-2.c    |    2 +-
>  gcc/testsuite/gcc.dg/debug/btf/btf-enum-1.c |    2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/gcc/testsuite/c-c++-common/auto-init-1.c b/gcc/testsuite/c-c++-common/auto-init-1.c
> index df04358728bab..3e6a4984eea22 100644
> --- a/gcc/testsuite/c-c++-common/auto-init-1.c
> +++ b/gcc/testsuite/c-c++-common/auto-init-1.c
> @@ -1,6 +1,6 @@
>  /* Verify zero initialization for integer and pointer type automatic variables.  */
>  /* { dg-do compile { target { ilp32 || lp64 } } } */
> -/* { dg-options "-ftrivial-auto-var-init=zero -fdump-tree-gimple" } */
> +/* { dg-options "-ftrivial-auto-var-init=zero -fno-short-enums -fdump-tree-gimple" } */
>  
>  #ifndef __cplusplus
>  # define bool _Bool
> diff --git a/gcc/testsuite/c-c++-common/auto-init-2.c b/gcc/testsuite/c-c++-common/auto-init-2.c
> index 6ac63bb1ddac1..d356e508b836f 100644
> --- a/gcc/testsuite/c-c++-common/auto-init-2.c
> +++ b/gcc/testsuite/c-c++-common/auto-init-2.c
> @@ -1,6 +1,6 @@
>  /* Verify pattern initialization for integer and pointer type automatic variables.  */
>  /* { dg-do compile { target { ilp32 || lp64 } } } */
> -/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-tree-gimple" } */
> +/* { dg-options "-ftrivial-auto-var-init=pattern -fno-short-enums -fdump-tree-gimple" } */
>  
>  #ifndef __cplusplus
>  # define bool _Bool
> diff --git a/gcc/testsuite/gcc.dg/debug/btf/btf-enum-1.c b/gcc/testsuite/gcc.dg/debug/btf/btf-enum-1.c
> index 7e940529f1b6d..2887cb1c5f244 100644
> --- a/gcc/testsuite/gcc.dg/debug/btf/btf-enum-1.c
> +++ b/gcc/testsuite/gcc.dg/debug/btf/btf-enum-1.c
> @@ -1,7 +1,7 @@
>  /* Test BTF generation for enums.  */
>  
>  /* { dg-do compile } */
> -/* { dg-options "-O0 -gbtf -dA" } */
> +/* { dg-options "-O0 -gbtf -fno-short-enums -dA" } */
>  
>  /* { dg-final { scan-assembler-times "\[\t \]0x6000004\[\t \]+\[^\n\]*btt_info" 1 } } */
>  /* { dg-final { scan-assembler-times "\[\t \]0x86000003\[\t \]+\[^\n\]*btt_info" 1 } } */
  

Patch

diff --git a/gcc/testsuite/c-c++-common/auto-init-1.c b/gcc/testsuite/c-c++-common/auto-init-1.c
index df04358728bab..3e6a4984eea22 100644
--- a/gcc/testsuite/c-c++-common/auto-init-1.c
+++ b/gcc/testsuite/c-c++-common/auto-init-1.c
@@ -1,6 +1,6 @@ 
 /* Verify zero initialization for integer and pointer type automatic variables.  */
 /* { dg-do compile { target { ilp32 || lp64 } } } */
-/* { dg-options "-ftrivial-auto-var-init=zero -fdump-tree-gimple" } */
+/* { dg-options "-ftrivial-auto-var-init=zero -fno-short-enums -fdump-tree-gimple" } */
 
 #ifndef __cplusplus
 # define bool _Bool
diff --git a/gcc/testsuite/c-c++-common/auto-init-2.c b/gcc/testsuite/c-c++-common/auto-init-2.c
index 6ac63bb1ddac1..d356e508b836f 100644
--- a/gcc/testsuite/c-c++-common/auto-init-2.c
+++ b/gcc/testsuite/c-c++-common/auto-init-2.c
@@ -1,6 +1,6 @@ 
 /* Verify pattern initialization for integer and pointer type automatic variables.  */
 /* { dg-do compile { target { ilp32 || lp64 } } } */
-/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-tree-gimple" } */
+/* { dg-options "-ftrivial-auto-var-init=pattern -fno-short-enums -fdump-tree-gimple" } */
 
 #ifndef __cplusplus
 # define bool _Bool
diff --git a/gcc/testsuite/gcc.dg/debug/btf/btf-enum-1.c b/gcc/testsuite/gcc.dg/debug/btf/btf-enum-1.c
index 7e940529f1b6d..2887cb1c5f244 100644
--- a/gcc/testsuite/gcc.dg/debug/btf/btf-enum-1.c
+++ b/gcc/testsuite/gcc.dg/debug/btf/btf-enum-1.c
@@ -1,7 +1,7 @@ 
 /* Test BTF generation for enums.  */
 
 /* { dg-do compile } */
-/* { dg-options "-O0 -gbtf -dA" } */
+/* { dg-options "-O0 -gbtf -fno-short-enums -dA" } */
 
 /* { dg-final { scan-assembler-times "\[\t \]0x6000004\[\t \]+\[^\n\]*btt_info" 1 } } */
 /* { dg-final { scan-assembler-times "\[\t \]0x86000003\[\t \]+\[^\n\]*btt_info" 1 } } */