[cfe-dev] [libcxx] What C standard is assumed in libcxx?

Craig, Ben via cfe-dev cfe-dev at lists.llvm.org
Wed May 25 10:58:24 PDT 2016


std::atomic is implemented in terms of the C11 _Atomic feature. That's a 
language feature though, and not a library feature.  I think you are 
mostly concerned with the library features needed.

I've had success with a C99 Dinkumware library.  I think the backing 
source predates C11.  I've had to do a fair amount on the pthread and 
posix side of things.

To be honest though, I don't know that it is entirely productive to list 
out the dependencies in as abstract a form as "C99 compliant + POSIX 
20xx compliant".  In practice, libcxx and libcxxabi are developed 
against specific OSes and specific C libraries.  Support is added for 
those platforms.  GLIBC, MUSL, UCLIBC, NEWLIB, and a bunch of other C 
libraries all claim support for C99, but there tends to be little warts 
in each library that requires libcxx intervention.

On 5/25/2016 9:15 AM, Asiri Rathnayake via cfe-dev wrote:
> OK, that makes sense.
>
> So, libc++ essentially assumes C99 + some POSIX extensions like 
> pthreads et. al.
>
> Is it OK to assume that libc++ will not depend on C11 functionality in 
> future?
>
> Thanks!
>
> / Asiri
>
>
> On Wed, May 25, 2016 at 3:10 PM, Joerg Sonnenberger via cfe-dev 
> <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>> wrote:
>
>     On Wed, May 25, 2016 at 10:46:03AM +0100, Asiri Rathnayake via
>     cfe-dev wrote:
>     > For example, the current std::thread support (C++11) does not
>     assume the
>     > underlying C library to be C11 compliant, it instead depends on
>     pthreads.
>     > On the other hand, we do seem to assume a C11 compliant <ctime>
>     header
>     > (e.g. timespec).
>
>     I think you are confusing C11 functionality with basic POSIX
>     functions.
>     While C11 might have merged a bunch of things from POSIX, things like
>     timespec are much older and wildly supported. That's unlike C11
>     threading for example.
>
>     Joerg
>     _______________________________________________
>     cfe-dev mailing list
>     cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
>
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160525/9204a6dc/attachment.html>


More information about the cfe-dev mailing list