From 6de69d001f53f02278d9e30663157b5b16da9fe8 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Thu, 22 Nov 2018 07:09:06 +0000 Subject: [PATCH] Update UDP to mention the inttypes.h exception. Of course this wouldn't have prevented me from making that mistake myself - it's not as if I carefully re-read the design principles appendix before writing each code change! - but it might help explain to _someone_ at some point... --- doc/udp.but | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/udp.but b/doc/udp.but index 499dc44b..9a183044 100644 --- a/doc/udp.but +++ b/doc/udp.but @@ -47,6 +47,14 @@ C99 features are available (in particular \cw{}, \cw{} and \c{inline}), but you shouldn't use things that are new in C11 (such as \cw{} or \cw{_Generic}). +One small exception to that: for historical reasons, we still build in +one configuration which lacks \cw{}. So that file is +included centrally in \c{defs.h}, and has a set of workaround +definitions for the \cw{PRIx64}-type macros we use. If you need to use +another one of those macros, you need to add a workaround definition +in \c{defs.h}, and don't casually re-include \cw{} +anywhere else in the source file. + Here are a few portability assumptions that we \e{do} currently allow (because we'd already have to thoroughly vet the existing code if they ever needed to change, and it doesn't seem worth doing that unless we