On Thu, 2023-03-30 at 10:05 +0200, Jakub Jelinek wrote: > Hi! > > The gcc.dg/analyzer/pipe-glibc.c test FAILs when using recent glibc > headers > and succeeds with older headers. > The important change is that > https://sourceware.org/git/?p=glibc.git;a=commit;h=c1760eaf3b575ad174fd88b252fd16bd525fa818 > in 2021 added __attribute__ ((__malloc__ (fclose, 1))) attribute to > fdopen, > so in write_to_pipe there is an excess warning: > .../gcc/testsuite/gcc.dg/analyzer/pipe-glibc.c: In function > 'write_to_pipe': > .../gcc/testsuite/gcc.dg/analyzer/pipe-glibc.c:28:3: warning: use of > possibly-NULL 'stream' where non-null expected [CWE-690] [-Wanalyzer- > possible-null-argument] > .../gcc/testsuite/gcc.dg/analyzer/pipe-glibc.c:27:12: note: (1) this > call could return NULL > .../gcc/testsuite/gcc.dg/analyzer/pipe-glibc.c:28:3: note: (2) > argument 4 ('stream') from (1) could be NULL where non-null expected > <built-in>: note: argument 4 of '__builtin_fwrite' must be non-null > Strangely, nothing is reported on the read_from_pipe function, seems > fwrite/fprintf/fputc etc. are builtins in GCC and we mark the FILE * > arguments as nonnull there on the builtin declarations, while > fgetc/fread > etc. aren't builtins and glibc doesn't mark any of those using > nonnull. > Shall we change that on the glibc side? > > Anyway, because this differs based on glibc version and I think the > above warning is not the primary intention of the test, I think it is > best to tweak it so that this warning isn't reported.
[...snip...] Thanks: the patch LGTM. Dave