[PATCH] [libcxx] Allow <atomic> to be used in c++03.

Eric Fiselier eric at efcs.ca
Fri Nov 14 23:02:10 PST 2014


>>! In D6284#6, @danalbert wrote:
> Not sure what our policy is on allowing C++11 features in pre-C++11 code. I think I'd prefer that people just be required to upgrade to C++11 rather than allowing them to keep living in the past.

libc++ is a C++11 standard library with C++03 compatibility (or at least that is what I've been told). `<atomic>` is currently the only header that explicitly causes a compile error when included in C++03. Almost every other header seems to give a best effort approach to providing c++03 compatibility. `<atomic>`  works almost perfectly in C++03 already so I don't  see why we forbid it.
 
> I also don't like that we're not implementing a complete `<atomic>` in C++03 mode. Sounds like another good reason to not support it to me.

Fair point. The only lost functionality is initialization with an `=` sign in it. This is more a loss of syntax than it is functionality. 


> I'll defer to mclow on this one. Just my two cents.

Thanks for the input. I would just like to know what to do with the tests in C++03 mode :)

http://reviews.llvm.org/D6284






More information about the cfe-commits mailing list