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,