I got the LWG issue number wrong in the commit message.
The correct issue number is 2165.

Sorry
/Eric


On Wed, Aug 27, 2014 at 11:00 AM, Eric Fiselier <[email protected]> wrote:

> Author: ericwf
> Date: Wed Aug 27 12:00:11 2014
> New Revision: 216561
>
> URL: http://llvm.org/viewvc/llvm-project?rev=216561&view=rev
> Log:
> Mark test types for <atomic> nothrow default constructible. Patch from
> Steve MacKenzie.
>
> The way the standard currently specifies the default constructor for
> atomic<T>
> requires T to be nothrow default constructible. This patch makes our test
> types
> meet this requirement.
>
> Note: The nothrow default constructible requirment is subject to the
> outcome of
> LWG issue 1265.
>
> Modified:
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
>
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -55,7 +55,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>
>      friend bool operator==(const A& x, const A& y)
>          {return x.i == y.i;}
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -62,7 +62,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>
>      friend bool operator==(const A& x, const A& y)
>          {return x.i == y.i;}
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -55,7 +55,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>
>      friend bool operator==(const A& x, const A& y)
>          {return x.i == y.i;}
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -62,7 +62,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>
>      friend bool operator==(const A& x, const A& y)
>          {return x.i == y.i;}
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -40,7 +40,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>
>      friend bool operator==(const A& x, const A& y)
>          {return x.i == y.i;}
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -42,7 +42,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>
>      friend bool operator==(const A& x, const A& y)
>          {return x.i == y.i;}
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -75,7 +75,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>      A(const A& a) : i(a.i) {}
>      A(const volatile A& a) : i(a.i) {}
>
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -79,7 +79,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>      A(const A& a) : i(a.i) {}
>      A(const volatile A& a) : i(a.i) {}
>
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -75,7 +75,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>      A(const A& a) : i(a.i) {}
>      A(const volatile A& a) : i(a.i) {}
>
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -80,7 +80,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>      A(const A& a) : i(a.i) {}
>      A(const volatile A& a) : i(a.i) {}
>
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -38,7 +38,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>
>      friend bool operator==(const A& x, const A& y)
>          {return x.i == y.i;}
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -38,7 +38,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>
>      friend bool operator==(const A& x, const A& y)
>          {return x.i == y.i;}
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -38,7 +38,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>
>      friend bool operator==(const A& x, const A& y)
>          {return x.i == y.i;}
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -38,7 +38,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>
>      friend bool operator==(const A& x, const A& y)
>          {return x.i == y.i;}
>
> Modified:
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp?rev=216561&r1=216560&r2=216561&view=diff
>
> ==============================================================================
> ---
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
> (original)
> +++
> libcxx/trunk/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
> Wed Aug 27 12:00:11 2014
> @@ -38,7 +38,7 @@ struct A
>  {
>      int i;
>
> -    explicit A(int d = 0) : i(d) {}
> +    explicit A(int d = 0) noexcept {i=d;}
>
>      friend bool operator==(const A& x, const A& y)
>          {return x.i == y.i;}
>
>
> _______________________________________________
> cfe-commits mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to