https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115874
Bug ID: 115874 Summary: sh.c appears to be missing include of stdio.h Product: gcc Version: 13.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: joel at gcc dot gnu.org Target Milestone: --- Target: sh-rtems6 Host: Cygwin We have not seen this failure on Linux. stdio.h must be implicitly included. This is the error on Cygwin. Is adding an include <stdio.h> the right solution? g++ -O2 -g -pipe -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/tmp/sb-1049590/tools/rtems-default-tools/tmp/mkefs/include -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/tmp/sb-1049590-internal/include -fno-PIE -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -DHAVE_CONFIG_H -I. -Ianalyzer -I../../gcc-13.3.0/gcc -I../../gcc-13.3.0/gcc/analyzer -I../../gcc-13.3.0/gcc/../include -I../../gcc-13.3.0/gcc/../libcpp/include -I../../gcc-13.3.0/gcc/../libcody -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/gcc-13.3.0/mpc/src -I../../gcc-13.3.0/gcc/../libdecnumber -I../../gcc-13.3.0/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc-13.3.0/gcc/../libbacktrace -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/build/./isl/include -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/gcc-13.3.0/isl/include -o analyzer/call-string.o -MT analyzer/call-string.o -MMD -MP -MF analyzer/.deps/call-string.TPo ../../gcc-13.3.0/gcc/analyzer/call-string.cc In file included from ../../gcc-13.3.0/gcc/config/sh/sh.cc:28: ../../gcc-13.3.0/gcc/config/sh/sh.cc: In function ‘void sh_print_operand(FILE*, rtx, int)’: ../../gcc-13.3.0/gcc/system.h:150:33: error: ‘fputs_unlocked’ was not declared in this scope; did you mean ‘fputc_unlocked’? 150 | # define fputs(String, Stream) fputs_unlocked (String, Stream) | ^~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc:1180:11: note: in expansion of macro ‘fputs’ 1180 | fputs ("/u", stream); | ^~~~~ ../../gcc-13.3.0/gcc/system.h:150:33: error: ‘fputs_unlocked’ was not declared in this scope; did you mean ‘fputc_unlocked’? 150 | # define fputs(String, Stream) fputs_unlocked (String, Stream) | ^~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc:1186:11: note: in expansion of macro ‘fputs’ 1186 | fputs ("\t! target: ", stream); | ^~~~~ ../../gcc-13.3.0/gcc/system.h:150:33: error: ‘fputs_unlocked’ was not declared in this scope; did you mean ‘fputc_unlocked’? 150 | # define fputs(String, Stream) fputs_unlocked (String, Stream) | ^~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc:1203:11: note: in expansion of macro ‘fputs’ 1203 | fputs (reg_names[regno], (stream)); | ^~~~~ ../../gcc-13.3.0/gcc/system.h:150:33: error: ‘fputs_unlocked’ was not declared in this scope; did you mean ‘fputc_unlocked’? 150 | # define fputs(String, Stream) fputs_unlocked (String, Stream) | ^~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc:1230:11: note: in expansion of macro ‘fputs’ 1230 | fputs (reg_names[regno], (stream)); | ^~~~~ ../../gcc-13.3.0/gcc/system.h:150:33: error: ‘fputs_unlocked’ was not declared in this scope; did you mean ‘fputc_unlocked’? 150 | # define fputs(String, Stream) fputs_unlocked (String, Stream) | ^~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc:1257:11: note: in expansion of macro ‘fputs’ 1257 | fputs (reg_names[REGNO (x) + 1], (stream)); | ^~~~~ ../../gcc-13.3.0/gcc/system.h:150:33: error: ‘fputs_unlocked’ was not declared in this scope; did you mean ‘fputc_unlocked’? 150 | # define fputs(String, Stream) fputs_unlocked (String, Stream) | ^~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc:1290:21: note: in expansion of macro ‘fputs’ 1290 | case PLUS: fputs ("add", stream); break; | ^~~~~ ../../gcc-13.3.0/gcc/system.h:150:33: error: ‘fputs_unlocked’ was not declared in this scope; did you mean ‘fputc_unlocked’? 150 | # define fputs(String, Stream) fputs_unlocked (String, Stream) | ^~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc:1309:28: note: in expansion of macro ‘fputs’ 1309 | case E_QImode: fputs (".b", stream); break; | ^~~~~ ../../gcc-13.3.0/gcc/system.h:150:33: error: ‘fputs_unlocked’ was not declared in this scope; did you mean ‘fputc_unlocked’? 150 | # define fputs(String, Stream) fputs_unlocked (String, Stream) | ^~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc:1329:11: note: in expansion of macro ‘fputs’ 1329 | fputs (", 0", stream); | ^~~~~ ../../gcc-13.3.0/gcc/system.h:150:33: error: ‘fputs_unlocked’ was not declared in this scope; did you mean ‘fputc_unlocked’? 150 | # define fputs(String, Stream) fputs_unlocked (String, Stream) | ^~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc:1453:13: note: in expansion of macro ‘fputs’ 1453 | fputs (reg_names[regno], (stream)); | ^~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc: In function ‘bool sh_asm_output_addr_const_extra(FILE*, rtx)’: ../../gcc-13.3.0/gcc/system.h:150:33: error: ‘fputs_unlocked’ was not declared in this scope; did you mean ‘fputc_unlocked’? 150 | # define fputs(String, Stream) fputs_unlocked (String, Stream) | ^~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc:1490:11: note: in expansion of macro ‘fputs’ 1490 | fputs ("@GOT", file); | ^~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc: In function ‘void sh_file_start()’: ../../gcc-13.3.0/gcc/system.h:150:33: error: ‘fputs_unlocked’ was not declared in this scope; did you mean ‘fputc_unlocked’? 150 | # define fputs(String, Stream) fputs_unlocked (String, Stream) | ^~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc:2834:5: note: in expansion of macro ‘fputs’ 2834 | fputs ("\t.little\n", asm_out_file); | ^~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc: In function ‘bool sh_assemble_integer(rtx, unsigned int, int)’: ../../gcc-13.3.0/gcc/system.h:150:33: error: ‘fputs_unlocked’ was not declared in this scope; did you mean ‘fputc_unlocked’? 150 | # define fputs(String, Stream) fputs_unlocked (String, Stream) | ^~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/config/sh/sh.cc:2847:7: note: in expansion of macro ‘fputs’ 2847 | fputs ("\t.long\t", asm_out_file); | ^~~~~ g++ -O2 -g -pipe -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/tmp/sb-1049590/tools/rtems-default-tools/tmp/mkefs/include -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/tmp/sb-1049590-internal/include -fno-PIE -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -DHAVE_CONFIG_H -I. -Ianalyzer -I../../gcc-13.3.0/gcc -I../../gcc-13.3.0/gcc/analyzer -I../../gcc-13.3.0/gcc/../include -I../../gcc-13.3.0/gcc/../libcpp/include -I../../gcc-13.3.0/gcc/../libcody -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/gcc-13.3.0/mpc/src -I../../gcc-13.3.0/gcc/../libdecnumber -I../../gcc-13.3.0/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc-13.3.0/gcc/../libbacktrace -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/build/./isl/include -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/gcc-13.3.0/isl/include -o analyzer/call-summary.o -MT analyzer/call-summary.o -MMD -MP -MF analyzer/.deps/call-summary.TPo ../../gcc-13.3.0/gcc/analyzer/call-summary.cc g++ -O2 -g -pipe -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/tmp/sb-1049590/tools/rtems-default-tools/tmp/mkefs/include -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/tmp/sb-1049590-internal/include -fno-PIE -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -DHAVE_CONFIG_H -I. -Ianalyzer -I../../gcc-13.3.0/gcc -I../../gcc-13.3.0/gcc/analyzer -I../../gcc-13.3.0/gcc/../include -I../../gcc-13.3.0/gcc/../libcpp/include -I../../gcc-13.3.0/gcc/../libcody -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/gcc-13.3.0/mpc/src -I../../gcc-13.3.0/gcc/../libdecnumber -I../../gcc-13.3.0/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc-13.3.0/gcc/../libbacktrace -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/build/./isl/include -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/gcc-13.3.0/isl/include -o analyzer/checker-event.o -MT analyzer/checker-event.o -MMD -MP -MF analyzer/.deps/checker-event.TPo ../../gcc-13.3.0/gcc/analyzer/checker-event.cc g++ -O2 -g -pipe -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/tmp/sb-1049590/tools/rtems-default-tools/tmp/mkefs/include -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/tmp/sb-1049590-internal/include -fno-PIE -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -DHAVE_CONFIG_H -I. -Ianalyzer -I../../gcc-13.3.0/gcc -I../../gcc-13.3.0/gcc/analyzer -I../../gcc-13.3.0/gcc/../include -I../../gcc-13.3.0/gcc/../libcpp/include -I../../gcc-13.3.0/gcc/../libcody -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/gcc-13.3.0/mpc/src -I../../gcc-13.3.0/gcc/../libdecnumber -I../../gcc-13.3.0/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc-13.3.0/gcc/../libbacktrace -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/build/./isl/include -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/gcc-13.3.0/isl/include -o analyzer/checker-path.o -MT analyzer/checker-path.o -MMD -MP -MF analyzer/.deps/checker-path.TPo ../../gcc-13.3.0/gcc/analyzer/checker-path.cc g++ -O2 -g -pipe -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/tmp/sb-1049590/tools/rtems-default-tools/tmp/mkefs/include -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/tmp/sb-1049590-internal/include -fno-PIE -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -DHAVE_CONFIG_H -I. -Ianalyzer -I../../gcc-13.3.0/gcc -I../../gcc-13.3.0/gcc/analyzer -I../../gcc-13.3.0/gcc/../include -I../../gcc-13.3.0/gcc/../libcpp/include -I../../gcc-13.3.0/gcc/../libcody -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/gcc-13.3.0/mpc/src -I../../gcc-13.3.0/gcc/../libdecnumber -I../../gcc-13.3.0/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc-13.3.0/gcc/../libbacktrace -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/build/./isl/include -I/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/gcc-13.3.0/isl/include -o analyzer/complexity.o -MT analyzer/complexity.o -MMD -MP -MF analyzer/.deps/complexity.TPo ../../gcc-13.3.0/gcc/analyzer/complexity.cc make[2]: *** [Makefile:2445: sh.o] Error 1 make[2]: *** Waiting for unfinished jobs.... ../../gcc-13.3.0/gcc/analyzer/call-summary.cc: In member function ‘void ana::call_summary::get_user_facing_desc(pretty_printer*) const’: ../../gcc-13.3.0/gcc/analyzer/call-summary.cc:99:40: warning: unknown conversion type character ‘E’ in format [-Wformat=] 99 | "when %qE returns pointer" | ^ ../../gcc-13.3.0/gcc/analyzer/call-summary.cc:99:32: warning: too many arguments for format [-Wformat-extra-args] 99 | "when %qE returns pointer" | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 100 | " to heap-allocated buffer", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/analyzer/call-summary.cc:113:42: warning: unknown conversion type character ‘E’ in format [-Wformat=] 113 | pp_printf (pp, "when %qE returns NULL", fndecl); | ^ ../../gcc-13.3.0/gcc/analyzer/call-summary.cc:113:34: warning: too many arguments for format [-Wformat-extra-args] 113 | pp_printf (pp, "when %qE returns NULL", fndecl); | ^~~~~~~~~~~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/analyzer/call-summary.cc:115:42: warning: unknown conversion type character ‘E’ in format [-Wformat=] 115 | pp_printf (pp, "when %qE returns %qE", fndecl, cst); | ^ ../../gcc-13.3.0/gcc/analyzer/call-summary.cc:115:54: warning: unknown conversion type character ‘E’ in format [-Wformat=] 115 | pp_printf (pp, "when %qE returns %qE", fndecl, cst); | ^ ../../gcc-13.3.0/gcc/analyzer/call-summary.cc:115:34: warning: too many arguments for format [-Wformat-extra-args] 115 | pp_printf (pp, "when %qE returns %qE", fndecl, cst); | ^~~~~~~~~~~~~~~~~~~~~~ ../../gcc-13.3.0/gcc/analyzer/call-summary.cc:123:26: warning: unknown conversion type character ‘E’ in format [-Wformat=] 123 | pp_printf (pp, "when %qE returns", fndecl); | ^ ../../gcc-13.3.0/gcc/analyzer/call-summary.cc:123:18: warning: too many arguments for format [-Wformat-extra-args] 123 | pp_printf (pp, "when %qE returns", fndecl); | ^~~~~~~~~~~~~~~~~~ rm gcc.pod make[2]: Leaving directory '/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/build/gcc' make[1]: *** [Makefile:4629: all-gcc] Error 2 make[1]: Leaving directory '/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/build' make: *** [Makefile:1045: all] Error 2 make: Leaving directory '/home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/build' shell cmd failed: sh -ex /home/jrs007/rtems-work/rtems-source-builder/rtems/build/sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1/do-build error: building sh-rtems6-gcc-13.3.0-newlib-1ed1516-x86_64-pc-cygwin-1