The test case for PR97969 needs updates in order to comply with recent
changes in GCC14. Without these changes, failures like this can be seen
on arm-none-eabi:
.../pr97969.c:6:9: error: type defaults to 'int' in declaration of 'a' [-Wimplicit-int]
.../pr97969.c:34:1: error: return type defaults to 'int' [-Wimplicit-int]
.../pr97969.c:40:3: error: implicit declaration of function 'ae' [-Wimplicit-function-declaration]
.../pr97969.c:42:3: error: implicit declaration of function 'af' [-Wimplicit-function-declaration]
.../pr97969.c:43:7: error: implicit declaration of function 'ag' [-Wimplicit-function-declaration]
.../pr97969.c:46:10: error: assignment to 'char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
.../pr97969.c:48:10: error: assignment to 'char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
.../pr97969.c:50:8: error: implicit declaration of function 'setjmp' [-Wimplicit-function-declaration]
.../pr97969.c:51:5: error: implicit declaration of function 'ah' [-Wimplicit-function-declaration]
.../pr97969.c:52:5: error: implicit declaration of function 'ai' [-Wimplicit-function-declaration]
.../pr97969.c:54:5: error: implicit declaration of function 'aj' [-Wimplicit-function-declaration]
Patch has been verified on Linux.
gcc/testsuite/ChangeLog:
* gcc.target/arm/pr97969.c: Update to comply with GCC14 changes.
Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
/* { dg-options "-std=c99 -fno-omit-frame-pointer -w -Os" } */
/* { dg-add-options arm_arch_v6m } */
-typedef a[23];
+typedef int a[23];
enum { b };
typedef struct {
int c;
char *e;
- char f
+ char f;
} d;
typedef enum { g = 1 } h;
typedef struct {
h i;
- int j
+ int j;
} k;
typedef struct {
a l;
d t;
d *u;
short v;
- int w
+ int w;
} aa;
-c(char x, int y, char z, int ab) {
+
+void ae(short*, int, int);
+void af(aa*, int, char, int);
+int ag(int);
+void ah(aa);
+void ai(int);
+void aj(aa);
+int setjmp();
+
+int c(char x, int y, char z, int ab) {
aa ac;
ac.r.i = 0;
d ad;
if (ag(0))
return 0;
if (x)
- ac.s = z + ab;
+ ac.s = (char*)(z + ab);
else
- ac.s = x + y;
+ ac.s = (char*)(x + y);
ac.o |= g;
if (!setjmp()) {
ah(ac);