[ +current-users@ with full-quote for context ] > It looks like in order to be able to use sys/clock.h, > one needs to first include either inttypes.h or > stdint.h _before_ sys/clock.h. > > I've long made it a habit of sorting includes > alphabetically and according to /usr/share/misc/style, > which requires 'sys' includes to come before others, > but that leads to > > /usr/include/sys/clock.h:72:14: error: unknown type name 'uint64_t' > 72 | is_leap_year(uint64_t year) > | ^~~~~~~~ > /usr/include/sys/clock.h:84:15: error: unknown type name 'uint64_t' > 84 | days_per_year(uint64_t year) > | ^~~~~~~~ > > Should sys/clock.h itself include the headers it > actually needs for the inline function implementations > it provides?
Per tnn@'s suggestion, does the attached diff look ok? -Jan
Index: clock.h =================================================================== RCS file: /cvsroot/src/sys/sys/clock.h,v retrieving revision 1.4 diff -u -p -r1.4 clock.h --- clock.h 19 Apr 2018 21:19:07 -0000 1.4 +++ clock.h 24 Oct 2023 18:13:20 -0000 @@ -32,6 +32,10 @@ #ifndef _SYS_CLOCK_H_ #define _SYS_CLOCK_H_ +#if !defined(_KERNEL) && !defined(_STANDALONE) +#include <stdint.h> +#endif + /* Some handy constants. */ #define SECS_PER_MINUTE 60 #define SECS_PER_HOUR 3600