History log of /external/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ee226c05af9e0187098f43fb71465a581487af9b 09-Jun-2016 Dan Austin <danielaustin@google.com> Revert "Revert "Update aosp/master libcxx rebase to r263688""

This reverts commit 1d4a1edbc7e4461b59239e1b8297e9dd395a6322.

Change-Id: I2909937fe582f2c5552bc86e7f4d2d5cff0de0aa
/external/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp
1d4a1edbc7e4461b59239e1b8297e9dd395a6322 26-May-2016 Dan Albert <danalbert@google.com> Revert "Update aosp/master libcxx rebase to r263688"

The world is burning.

This reverts commit c004fd909c006eec55077c52ee119e1fa338c9e9, reversing
changes made to 1418e4163da4bb0b9e3fe496e51c23a0dce399d9.
/external/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp
00f4a49b0b76dea78a68ea2dd7333408f52caa5b 19-Aug-2015 Eric Fiselier <eric@efcs.ca> [libcxx] Allow use of <atomic> in C++03. Try 3.

Summary:
After putting this question up on cfe-dev I have decided that it would be best to allow the use of `<atomic>` in C++03. Although static initialization is a concern the syntax required to get it is C++11 only. Meaning that C++11 constant static initialization cannot silently break in C++03, it will always cause a syntax error. Furthermore `ATOMIC_VAR_INIT` and `ATOMIC_FLAG_INIT` remain defined in C++03 even though they cannot be used because C++03 usages will cause better error messages.

The main change in this patch is to replace `__has_feature(cxx_atomic)`, which only returns true when C++ >= 11, to `__has_extension(c_atomic)` which returns true whenever clang supports the required atomic builtins.


This patch adds the following macros:
* `_LIBCPP_HAS_C_ATOMIC_IMP` - Defined on clang versions which provide the C `_Atomic` keyword.
* `_LIBCPP_HAS_GCC_ATOMIC_IMP` - Defined on GCC > 4.7. We must use the fallback atomic implementation.
* `_LIBCPP_HAS_NO_ATOMIC_HEADER` - Defined when it is not safe to include `<atomic>`.

`_LIBCPP_HAS_C_ATOMIC_IMP` and `_LIBCPP_HAS_GCC_ATOMIC_IMP` are mutually exclusive, only one should be defined. If neither is defined then `<atomic>` is not implemented and including `<atomic>` will issue an error.

Reviewers: chandlerc, jroelofs, mclow.lists

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D11555

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@245463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp
3a59ae67834165ec18dc85563992ae58f9c38969 23-Jul-2015 Justin Bogner <mail@justinbogner.com> Mark this test as XFAIL with older compilers, since they hit PR18097

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@242967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp
26edd804bacc4a915a1a13d9c5c42c59b714baa8 14-Jul-2015 Eric Fiselier <eric@efcs.ca> Fix PR24114 - std::atomic for non-Clang is not a literal type

Add _LIBCPP_CONSTEXPR to the implementation of __gcc_atomic_t.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@242172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp