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
