Fix _AC_LANG_IO_PROGRAM(C) to work with glibc 2.38 headers

Following the glibc commit glibc-2.38~268 ("libio: Add __nonnull
for FILE * arguments of fclose and freopen"), the utilization of the gcc
-fanalyzer flag in combination with the -Werror flag leads to an error
within the _AC_LANG_IO_PROGRAM(C) function:

conftest.c:14:23: error: use of possibly-NULL 'f' where non-null expected [CWE-690] [-Werror=analyzer-possible-null-argument]

* lib/autoconf/c.m4 (_AC_LANG_IO_PROGRAM): Exit upon encountering
fopen() error.

See also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109570 and
https://gcc.gnu.org/g:c9a19621a07e246385ae075b61283140b23c3b5a .

Tiny-change: yes
This commit is contained in:
Gleb Fotengauer-Malinovskiy 2023-08-15 16:00:00 +00:00 committed by Paul Eggert
parent d8ca8b3238
commit ea3e0cec2e

View File

@ -114,6 +114,8 @@ $2
m4_define([_AC_LANG_IO_PROGRAM(C)],
[AC_LANG_PROGRAM([@%:@include <stdio.h>],
[FILE *f = fopen ("conftest.out", "w");
if (!f)
return 1;
return ferror (f) || fclose (f) != 0;
])])