From: Jonathan Wakely Date: Wed, 12 Oct 2016 13:30:49 +0000 (+0100) Subject: Make test helper work with non-copyable types X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=432b6d957261f946836f2a4d1cbcef3eace17571;p=gcc.git Make test helper work with non-copyable types * testsuite/util/testsuite_common_types.h (bitwise_assignment_operators): Use direct-initialization for C++11 and later, to avoid CopyConstructible requirement. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error line numbers. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise. * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise. * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise. * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Adjust expected errors and line numbers. From-SVN: r241047 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index cda7761d6b6..633f4f1ad42 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,16 @@ 2016-10-12 Jonathan Wakely + * testsuite/util/testsuite_common_types.h + (bitwise_assignment_operators): Use direct-initialization for C++11 + and later, to avoid CopyConstructible requirement. + * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error + line numbers. + * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise. + * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise. + * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise. + * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: + Adjust expected errors and line numbers. + * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove. (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call. diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc index eb0111d4dc1..4136944b162 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc @@ -27,5 +27,5 @@ int main() return 0; } -// { dg-error "deleted" "" { target *-*-* } 615 } +// { dg-error "deleted" "" { target *-*-* } 620 } // { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc index 546ac505119..ffc2dc24179 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc @@ -27,5 +27,5 @@ int main() return 0; } -// { dg-error "deleted" "" { target *-*-* } 654 } +// { dg-error "deleted" "" { target *-*-* } 659 } // { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc index c5b6103f4de..20f263c79bd 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc @@ -28,5 +28,5 @@ int main() return 0; } -// { dg-error "deleted" "" { target *-*-* } 615 } +// { dg-error "deleted" "" { target *-*-* } 620 } // { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc index 49e1eb18347..bf7cda86365 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc @@ -28,5 +28,5 @@ int main() return 0; } -// { dg-error "deleted" "" { target *-*-* } 654 } +// { dg-error "deleted" "" { target *-*-* } 659 } // { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc index db0c3c1e23e..731513b1ef5 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc @@ -26,10 +26,8 @@ int main() return 0; } -// { dg-error "deleted" "" { target *-*-* } 469 } -// { dg-error "deleted" "" { target *-*-* } 470 } -// { dg-error "operator" "" { target *-*-* } 471 } -// { dg-error "operator" "" { target *-*-* } 472 } -// { dg-error "operator" "" { target *-*-* } 473 } +// { dg-error "operator" "" { target *-*-* } 476 } +// { dg-error "operator" "" { target *-*-* } 477 } +// { dg-error "operator" "" { target *-*-* } 478 } // { dg-prune-output "declared here" } diff --git a/libstdc++-v3/testsuite/util/testsuite_common_types.h b/libstdc++-v3/testsuite/util/testsuite_common_types.h index 2f3732ebe2c..323367699e5 100644 --- a/libstdc++-v3/testsuite/util/testsuite_common_types.h +++ b/libstdc++-v3/testsuite/util/testsuite_common_types.h @@ -466,8 +466,13 @@ namespace __gnu_test void bitwise_assignment_operators() { +#if __cplusplus >= 201103L + _Tp a{}; + _Tp b{}; +#else _Tp a = _Tp(); _Tp b = _Tp(); +#endif a |= b; // set a &= ~b; // clear a ^= b;