Hi Joseph,
On Tue, Aug 06, 2024 at 08:50:19PM GMT, Joseph Myers wrote:
> static int f(), f2();
> int a[10][10];
> int x;
>
> void
> g()
> {
> __lengthof__ (a[f()]); // Should be valid that f is not defined.
> int b[x][x];
> __lengthof__ (b[f2()]); // Should be invalid that f2 is not defined.
> }
Thanks! That makes sense. It works as you expect, I think.
alx@debian:~/tmp/gcc$ cat ext.c
static int f(), f2();
int a[10][10];
int x;
int
main(void)
{
int b[x][x];
__lengthof__(a[f()]);
__lengthof__(b[f2()]);
}
alx@debian:~/tmp/gcc$ /opt/local/gnu/gcc/lengthof/bin/gcc ext.c
ext.c:1:17: warning: ‘f2’ used but never defined
1 | static int f(), f2();
| ^~
/usr/bin/ld: /tmp/ccqlTYWo.o: in function `main':
ext.c:(.text+0xe0): undefined reference to `f2'
collect2: error: ld returned 1 exit status
Cheers,
Alex
--
<https://www.alejandro-colomar.es/>
signature.asc
Description: PGP signature
