[cfe-dev] C++ Annex K safe C11 functions
Richard Smith via cfe-dev
cfe-dev at lists.llvm.org
Thu Jan 3 14:04:20 PST 2019
On Thu, 3 Jan 2019 at 13:44, Jonny Grant via cfe-dev <cfe-dev at lists.llvm.org>
wrote:
> Hello
>
> This file lists part of Annex K "stdint.h"
> https://clang.llvm.org/doxygen/stdint_8h_source.html
>
> But main C++ page doesn't mention Annex K. Is Annex K really fully
> supported?
>
That's generally not up to us; that's part of the C standard library, not
part of the compiler.
The one part of Annex K that *is* part of the compiler, according to the
usual division of responsibilities, wherein the compiler provides the
freestanding headers and the C standard library provides the rest, is the
definition of rsize_t in <stddef.h> and the definition of RSIZE_MAX in
<stdint.h>, and Clang provides those if __STDC_WANT_LIB_EXT1__ is defined.
However, we do not define __STDC_LIB_EXT1__ because, as noted, that's not
up to us, and we have no idea what your C standard library supports.
So in that sense, we implement the part of Annex K that is in our domain.
Some background
> https://clang.llvm.org/compatibility.html
> https://clang.llvm.org/cxx_status.html
>
I'm not sure what these are supposed to show: Annex K is optional in C, and
not part of C++.
C11 standard, ISO/IEC 9899:2011 added Annex K safe functions like strncpy_s
>
> __STDC_LIB_EXT1__
>
> http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1967.htm
>
> Jonny
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190103/df0158de/attachment.html>
More information about the cfe-dev
mailing list