...
No other identifiers are reserved. (Note that the POSIX standard extends the set of identifiers reserved by the C Standard to include an open-ended set of its own. See Portable Operating System Interface ([POSIX®)], Base Specifications, Issue 7, section 2.2, "The Compilation Environment" [IEEE Std 1003.1-2013].) The behavior of a program that declares or defines an identifier in a context in which it is reserved or that defines a reserved identifier as a macro name is undefined (see undefined behavior 106).
...
In addition to symbols defined as functions in each C standard library header, identifiers with external linkage include , among others, errno
and math_errhandling
, among others, regardless of whether any of them are masked by a macro of the same name.
...
DCL37-EX1: Provided that a library function can be declared without reference to any type defined in a header, it is permissible to declare that function without including its header as long as provided that declaration is compatible with the standard declaration.
...