At least on Fedora 39 with GCC 13, <cstdio> is no longer brought in by other system headers.
A explicit #include <cstdio> is required for compilation, otherwise we get:
In file included from /home/tom/SimEng/src/lib/Elf.cc:1:
/home/tom/SimEng/src/include/simeng/Elf.hh:30:3: error: ‘uint32_t’ does not name a type
30 | uint32_t p_type;
| ^~~~~~~~
/home/tom/SimEng/src/include/simeng/Elf.hh:7:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
6 | #include "simeng/span.hh"
+++ |+#include <cstdint>
7 |
At least on Fedora 39 with GCC 13,
<cstdio>
is no longer brought in by other system headers. A explicit#include <cstdio>
is required for compilation, otherwise we get: