On 09/01/2025 21:42, Torbjörn SVENSSON wrote:
> Changes since v1:
> 
> - Added dg-add-options arm_arch_v5te_thumb
> - Added -std=c17 to dg-options.
> - Removed -march=armv5te -mfloat-abi=soft -mthumb from dg-options
> - Updated the commit message to reflect the new changes
> 
> Note: This changes from armv5te to armv5te+fp and from soft to softfp.
> Does this matter? If so, I can override it in a new
> dg-additional-options line after the dg-add-options.

No, it's fine.  Firstly it's pure integer code and we're on armv5te which has 
no vector instructions; but secondly, we're generating Thumb (1) instructions, 
so there's no FP extension anyway.

> 
> Ok for trunk?

OK.

R.

> 
> --
> 
> With -std=c23, the following errors are now emitted as the function
> prototype and implementation does not match:
> 
> .../pr59858.c: In function 're_search_internal':
> .../pr59858.c:95:17: error: too many arguments to function 'check_matching'
> .../pr59858.c:75:12: note: declared here
> .../pr59858.c: At top level:
> .../pr59858.c:100:1: error: conflicting types for 'check_matching'; have 
> 'int(re_match_context_t *, int *)'
> .../pr59858.c:75:12: note: previous declaration of 'check_matching' with type 
> 'int(void)'
> .../pr59858.c: In function 'check_matching':
> .../pr59858.c:106:14: error: too many arguments to function 'transit_state'
> .../pr59858.c:77:23: note: declared here
> .../pr59858.c: At top level:
> .../pr59858.c:111:1: error: conflicting types for 'transit_state'; have 
> 're_dfastate_t *(re_match_context_t *, re_dfastate_t *)'
> .../pr59858.c:77:23: note: previous declaration of 'transit_state' with type 
> 're_dfastate_t *(void)'
> .../pr59858.c: In function 'transit_state':
> .../pr59858.c:116:7: error: too many arguments to function 'build_trtable'
> .../pr59858.c:79:12: note: declared here
> .../pr59858.c: At top level:
> .../pr59858.c:121:1: error: conflicting types for 'build_trtable'; have 
> 'int(const re_dfa_t *, re_dfastate_t *)'
> .../pr59858.c:79:12: note: previous declaration of 'build_trtable' with type 
> 'int(void)'
> 
> Adding -std=c17 removes these errors.
> 
> Also, updated test case to use -mcpu=unset/-march=unset feature
> introduced in r15-3606-g7d6c6a0d15c.
> 
> gcc/testsuite/ChangeLog:
> 
>       * gcc.target/arm/pr59858.c: Use -std=c17 and effective-target
>       arm_arch_v5te_thumb.
> 
> Signed-off-by: Torbjörn SVENSSON <torbjorn.svens...@foss.st.com>
> ---
>  gcc/testsuite/gcc.target/arm/pr59858.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/gcc/testsuite/gcc.target/arm/pr59858.c 
> b/gcc/testsuite/gcc.target/arm/pr59858.c
> index 9336edfce27..8fc63b57af4 100644
> --- a/gcc/testsuite/gcc.target/arm/pr59858.c
> +++ b/gcc/testsuite/gcc.target/arm/pr59858.c
> @@ -1,8 +1,8 @@
>  /* { dg-do compile } */
> -/* { dg-options "-march=armv5te -fno-builtin -mfloat-abi=soft -mthumb 
> -fno-stack-protector -Os -fno-tree-loop-optimize -fno-tree-dominator-opts 
> -fPIC -w -fpermissive" } */
> +/* { dg-options "-std=c17 -fno-builtin -fno-stack-protector -Os 
> -fno-tree-loop-optimize -fno-tree-dominator-opts -fPIC -w -fpermissive" } */
>  /* { dg-require-effective-target fpic } */
> -/* { dg-skip-if "Incompatible command line options: -mfloat-abi=soft 
> -mfloat-abi=hard" { *-*-* } { "-mfloat-abi=hard" } { "" } } */
>  /* { dg-require-effective-target arm_arch_v5te_thumb_ok } */
> +/* { dg-add-options arm_arch_v5te_thumb } */
>  
>  typedef enum {
>   REG_ENOSYS = -1,

Reply via email to