Thank you for your reply, Joshua.
On 2022-01-26 02:59, Joshua Root wrote:
On 2022-1-26 18:43 , Jim DeLaHunt wrote:
When I attempt to compile it with clang as provided by XCode 11.2.1
(11B5000) on macOS 10.14.6 Mojave, I get the
-Wimplicit-function-declaration warning:
… [snip] …
But this code does have the right system header: <stdlib.h>. It looks
like that header does not include a declaration of at_quick_exit().…
I get the same result on Big Sur. Curious, since at_quick_exit is
apparently part of the C11 standard.
Yes, it is curious. I found a page which claims to show clang's C11
implementation status[1]. It does not even mention proposal N1327[2],
which appears to be the document for at_quick_exit and friends. It also
shows 60% of the C11 proposals as having "unknown" availability in
clang. So that is evidence that we should not expect clang to have a
complete implementation of C11.
In any case, we maintain lists of functions that are known not to
exist on each macOS version, so the warning can be suppressed. They
are in the ports tree here:
<https://github.com/macports/macports-ports/tree/master/_resources/port1.0/checks/implicit_function_declaration>
Thank you for pointing this out. I may use it. But first I need to check
the five other -Wimplicit-function-declaration warnings in this port. I
think they are all just missing a #include <stdlib.h> or <string.h>, but
I need to check.
[1] <https://clang.llvm.org/c_status.html#c11>
[2] N1327 "Abandoning a Process"
<http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1327.htm>
Best regards,
—Jim DeLaHunt, Vancouver, Canada