Contrary to glibc, including stdio.h from newlib defines mode_t which conflicts with the test's type definition.
.../gcc/testsuite/gcc.dg/analyzer/fd-4.c:19:3: error: redefinition of typedef 'mode_t' with different type ... .../include/sys/types.h:189:25: note: previous declaration of 'mode_t' with type 'mode_t' {aka 'unsigned int'} Defining _MODE_T_DECLARED skips the type definition. gcc/testsuite/ChangeLog: * gcc.dg/analyzer/fd-4.c: Fix for newlib. --- Tested on x86_64-linux and x86_64-elf. Ok for master? gcc/testsuite/gcc.dg/analyzer/fd-4.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/testsuite/gcc.dg/analyzer/fd-4.c b/gcc/testsuite/gcc.dg/analyzer/fd-4.c index 994bad84342..e4a834ade30 100644 --- a/gcc/testsuite/gcc.dg/analyzer/fd-4.c +++ b/gcc/testsuite/gcc.dg/analyzer/fd-4.c @@ -1,3 +1,4 @@ +/* { dg-additional-options "-D_MODE_T_DECLARED=1" { target newlib } } */ #ifdef _AIX #define _MODE_T #endif -- 2.42.0