]> gcc.gnu.org Git - gcc.git/commitdiff
* decl2.c (mark_used): Adjust error for use of deleted function.
authorJason Merrill <jason@redhat.com>
Wed, 30 Jun 2010 00:51:13 +0000 (20:51 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 30 Jun 2010 00:51:13 +0000 (20:51 -0400)
From-SVN: r161580

46 files changed:
gcc/cp/ChangeLog
gcc/cp/decl2.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/defaulted10.C
gcc/testsuite/g++.dg/cpp0x/defaulted13.C
gcc/testsuite/g++.dg/cpp0x/defaulted2.C
gcc/testsuite/g++.dg/cpp0x/defaulted3.C
gcc/testsuite/g++.dg/cpp0x/initlist9.C
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-errloc.C
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-errloc2.C
gcc/testsuite/g++.dg/init/synth2.C
libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc
libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc
libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc
libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc
libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/reset_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic_address/cons/assign_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic_address/cons/copy_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/condition_variable/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/condition_variable/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/mutex/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/mutex/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/thread/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/thread/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/cons/copy_neg.cc
libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc

index a8df2336db76826e1e4088f14e5c83217ca35d59..9ac64c4b6a0c1c0e2509e898bfa3fd66b258707b 100644 (file)
@@ -1,5 +1,7 @@
 2010-06-29  Jason Merrill  <jason@redhat.com>
 
+       * decl2.c (mark_used): Adjust error for use of deleted function.
+
        Machinery to support implicit delete/move.
        * cp-tree.h: (struct lang_type_class): Add lazy_move_assign,
        has_complex_move_ctor, has_complex_move_assign bitfields.
index 1e088e0464ac622dd92092356d5d40428d156415..ce54c79f20e5c09c974d96f02171164a607ae1aa 100644 (file)
@@ -4110,8 +4110,9 @@ mark_used (tree decl)
              return;
            }
        }
-      error ("deleted function %q+D", decl);
-      error ("used here");
+      error ("use of deleted function %qD", decl);
+      if (!maybe_explain_implicit_delete (decl))
+       error_at (DECL_SOURCE_LOCATION (decl), "declared here");
       return;
     }
   /* If we don't need a value, then we don't need to synthesize DECL.  */
index 2d1aa2d74ed0fcc4ebee52e755a6ef75fc4fc105..cf7180a3a5736cf16d030a6e025f1981137de606 100644 (file)
@@ -1,5 +1,14 @@
 2010-06-29  Jason Merrill  <jason@redhat.com>
 
+       * g++.dg/cpp0x/defaulted10.C: Adjust for new deleted message.
+       * g++.dg/cpp0x/defaulted13.C: Adjust.
+       * g++.dg/cpp0x/defaulted2.C: Adjust.
+       * g++.dg/cpp0x/defaulted3.C: Adjust.
+       * g++.dg/cpp0x/initlist9.C: Adjust.
+       * g++.dg/cpp0x/lambda/lambda-errloc.C: Adjust.
+       * g++.dg/cpp0x/lambda/lambda-errloc2.C: Adjust.
+       * g++.dg/init/synth2.C: Adjust.
+
        * g++.dg/cpp0x/defaulted19.C: New.
 
        * g++.dg/expr/string-1.C: Fix for -std=c++0x.
index d169e0c6007898f0556ddc7af96e286ede9eb6f8..64fa5f019309205e547f2ac4fd79fa8baf27fb80 100644 (file)
@@ -3,12 +3,12 @@
 
 struct A
 {
-  template<typename T> void foo(T) = delete; // { dg-error "previously|deleted" }
+  template<typename T> void foo(T) = delete; // { dg-error "previously|declared" }
 };
 
 template<typename T> void A::foo(T) {} // { dg-error "redefinition" }
 
 void bar()
 {
-  A().foo(0);                  // { dg-error "used" }
+  A().foo(0);                  // { dg-error "use" }
 }
index 87b8100ac771549689d7fdd92d6d86d1ab130d24..8b23579217ec0b4b3fa2834079cfddc441690877 100644 (file)
@@ -7,22 +7,22 @@ struct NonCopyable {
 };
 
 template<>
-NonCopyable<int>::NonCopyable(NonCopyable<int> const&) = delete; // { dg-error "deleted" }
+NonCopyable<int>::NonCopyable(NonCopyable<int> const&) = delete; // { dg-error "declared" }
 
 template<typename T>
 NonCopyable<T>::NonCopyable(NonCopyable<T> const&) = default;
 
 template<>
-NonCopyable<double>::NonCopyable(NonCopyable<double> const&) = delete; // { dg-error "deleted" }
+NonCopyable<double>::NonCopyable(NonCopyable<double> const&) = delete; // { dg-error "declared" }
 
 
 int main()
 {
   NonCopyable<double> nc_dbl;
-  NonCopyable<double> nc_dbl_cpy(nc_dbl); // { dg-error "used here" }
+  NonCopyable<double> nc_dbl_cpy(nc_dbl); // { dg-error "use" }
 
   NonCopyable<int> nc_int;
-  NonCopyable<int> nc_int_cpy(nc_int); // { dg-error "used here" }
+  NonCopyable<int> nc_int_cpy(nc_int); // { dg-error "use" }
 
   NonCopyable<char> nc_char;
   NonCopyable<char> nc_char_cpy(nc_char);
index ad3274a2ea926e9a83a50fabf048812a1d7fa3a2..909ebc5e6e09d9009e2360937a67111d575f4360 100644 (file)
@@ -41,7 +41,7 @@ struct E
 struct F
 {
   F() = default;
-  F(const F&) = delete;                // { dg-error "deleted" }
+  F(const F&) = delete;                // { dg-error "declared" }
 };
 
 struct G
@@ -60,7 +60,7 @@ union U
 int main()
 {
   F f;
-  F f2(f);                     // { dg-error "used" }
+  F f2(f);                     // { dg-error "use" }
   B* b = new const B;          // { dg-error "uninitialized const" }
 }
 
index efde415936d31a99f4467f70e25ecbd985e0a5c5..5e2116b53b31b196ad5ab47f877f3cfbfd9f4ee1 100644 (file)
@@ -4,7 +4,7 @@
 template<class T>
 struct A {
   template<class U>
-  bool operator==(const A<U>&) = delete; // { dg-error "deleted function" }
+  bool operator==(const A<U>&) = delete; // { dg-error "declared" }
   operator bool () { return true; }
 };
 
@@ -12,5 +12,5 @@ int main()
 {
   A<int> a1;
   A<void> a2;
-  if(a1 == a2) {}              // { dg-error "used here" }
+  if(a1 == a2) {}              // { dg-error "use" }
 }
index 2bc2d1782f9012093102fe61fc699838c78a99b5..d596b391508c653d7afe56e06ffc263720205be0 100644 (file)
@@ -8,7 +8,7 @@ struct b
   b() = default;
   ~b() = default;
   b& operator=(const b&) = delete;
-  b(const b&) = delete;                // { dg-error "deleted" }
+  b(const b&) = delete;                // { dg-error "declared" }
 
   b(bool _t): t (_t) { }
 };
@@ -19,7 +19,7 @@ int main()
   b tst1 = { false };
 
   // copy initialization.
-  b tst2 = false;              // { dg-error "used here" }
+  b tst2 = false;              // { dg-error "use" }
 
   // direct list initialization
   b tst3 { false };
index 4037331ee3767fe3e863290f847dc8ea642cc9aa..f4766691eecfb2ee719e18f5360a55d97b94cf08 100644 (file)
@@ -5,7 +5,7 @@
 struct A
 {
   A();
-  A(const A& a) = delete;      // { dg-error "deleted" }
+  A(const A& a) = delete;      // { dg-error "declared" }
 };
 
 int main()
index 3d53c139fe6bd51825be8da6b4c8097e07ea7387..dab53f1276ef67c71e9dfc5dcb6d9f95faec9534 100644 (file)
@@ -3,14 +3,14 @@
 
 struct A {
   A();
-  A(const A&) = delete;                // { dg-error "deleted function" }
+  A(const A&) = delete;                // { dg-error "declared" }
 };
 
 template <class T>
 void f()
 {
   T t;
-  [t] { return 0; };           // { dg-error "used here" }
+  [t] { return 0; };           // { dg-error "use" }
 }
 
 int main()
index 624f10b2a4d6cca277be2398f8369af28661c7ea..507db34aa0c2945d75883df92602b16fe95fced6 100644 (file)
@@ -13,5 +13,5 @@ class A                               // { dg-error "no match" }
 int main()
 {
   A a;
-  A b = a;                     // { dg-message "required here" }
+  A b = a;                     // { dg-message "required here|deleted" }
 }
index 0feb6fd286f665992fc3015aead40da57e2d9de5..5e0ebf832b1bac9b37a31f7a150c78f1446db4ff 100644 (file)
@@ -1,3 +1,41 @@
+2010-06-29  Jason Merrill  <jason@redhat.com>
+
+       * 19_diagnostics/error_category/cons/copy_neg.cc: Adjust expected
+       errors, use dg-prune-output.
+       * 20_util/function/cmp/cmp_neg.cc: Likewise.
+       * 20_util/unique_ptr/assign/assign_neg.cc: Likewise.
+       * 20_util/unique_ptr/cons/pointer_array_convertible.cc: Likewise.
+       * 20_util/unique_ptr/modifiers/reset_neg.cc: Likewise.
+       * 29_atomics/atomic/cons/assign_neg.cc: Likewise.
+       * 29_atomics/atomic/cons/copy_neg.cc: Likewise.
+       * 29_atomics/atomic_address/cons/assign_neg.cc: Likewise.
+       * 29_atomics/atomic_address/cons/copy_neg.cc: Likewise.
+       * 29_atomics/atomic_flag/cons/assign_neg.cc: Likewise.
+       * 29_atomics/atomic_flag/cons/copy_neg.cc: Likewise.
+       * 29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
+       * 29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
+       * 29_atomics/condition_variable/cons/assign_neg.cc: Likewise.
+       * 30_threads/condition_variable/cons/copy_neg.cc: Likewise.
+       * 30_threads/condition_variable_any/cons/assign_neg.cc: Likewise.
+       * 30_threads/condition_variable_any/cons/copy_neg.cc: Likewise.
+       * 30_threads/future/cons/assign_neg.cc: Likewise.
+       * 30_threads/future/cons/copy_neg.cc: Likewise.
+       * 30_threads/mutex/cons/assign_neg.cc: Likewise.
+       * 30_threads/mutex/cons/copy_neg.cc: Likewise.
+       * 30_threads/packaged_task/cons/assign_neg.cc: Likewise.
+       * 30_threads/packaged_task/cons/copy_neg.cc: Likewise.
+       * 30_threads/promise/cons/assign_neg.cc: Likewise.
+       * 30_threads/promise/cons/copy_neg.cc: Likewise.
+       * 30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
+       * 30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
+       * 30_threads/recursive_timed_mutex/cons/assign_neg.cc: Likewise.
+       * 30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.
+       * 30_threads/thread/cons/assign_neg.cc: Likewise.
+       * 30_threads/thread/cons/copy_neg.cc: Likewise.
+       * 30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
+       * 30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
+       * ext/ext_pointer/1_neg.cc: Likewise.
+
 2010-06-29  Paolo Carlini  <paolo.carlini@oracle.com>
 
        PR libstdc++/44708
index 3b74f7e52f7f53b77eed53b62eaecb8f9c028dab..12258cac0e4845be46b4ad381387aae0067226b7 100644 (file)
@@ -27,10 +27,10 @@ int main()
   bool test __attribute__((unused)) = true;
 
   __gnu_test::test_category c1;
-  __gnu_test::test_category c2(c1); // { dg-error "first required here" }
+  __gnu_test::test_category c2(c1); // { dg-error "deleted" }
 
   return 0;
 }
 
-// { dg-error "deleted function" "" { target *-*-* } 72 }
-// { dg-error "used here" "" { target *-*-* } 30 }
+// { dg-prune-output "testsuite_error" }
+// { dg-prune-output "include" }
index a196ef64e2e3be5ea528b20eddc4513134a20f3c..bb3c25d1cd94e355be7fe55a52f3a86afea81376 100644 (file)
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-prune-output "include" }
+
 #include <functional>
 
 void test01()
 {
   std::function<void()> f1;
   std::function<void()> f2;
-  f1 == f2;  // { dg-error "here" }
-  f1 != f2;  // { dg-error "here" }
-  // { dg-excess-errors "" }
+  f1 == f2;  // { dg-error "deleted" }
+  f1 != f2;  // { dg-error "deleted" }
 }
 
 int main()
index 40404f6bffd3c7d2fad32e8fdab5833eb0d28bde..95c1d5dc5ba83fd481d5e26ef7402525856c8300 100644 (file)
@@ -39,25 +39,14 @@ void
 test02()
 {
   std::unique_ptr<int[]> p1(new int(420));
-  std::unique_ptr<int[]> p2 = p1;
+  std::unique_ptr<int[]> p2 = p1; // { dg-error "deleted" }
 }
 
 void
 test03()
 {
-  std::unique_ptr<int[2]> p1(new int[3]);
-  std::unique_ptr<int[2]> p2 = p1;
+  std::unique_ptr<int[2]> p1(new int[3]); // { dg-error "no match" }
+  std::unique_ptr<int[2]> p2 = p1; // { dg-error "deleted" }
 }
 
-// { dg-error "deleted function" "" { target *-*-* } 373 }
-// { dg-error "used here" "" { target *-*-* } 42 }
-// { dg-error "no matching" "" { target *-*-* } 48 }
-// { dg-warning "note" "" { target *-*-* } 137 }
-// { dg-warning "note" "" { target *-*-* } 133 }
-// { dg-warning "note" "" { target *-*-* } 128 }
-// { dg-warning "note" "" { target *-*-* } 122 }
-// { dg-warning "note" "" { target *-*-* } 117 }
-// { dg-warning "note" "" { target *-*-* } 112 }
-// { dg-warning "note" "" { target *-*-* } 106 }
-// { dg-error "deleted function" "" { target *-*-* } 225 }
-// { dg-error "used here" "" { target *-*-* } 49 }
+// { dg-prune-output "include" }
index 7e0f30741f91172b9d404e4c8b59783bff2664e7..2a4a89b403704875702c7d52c50d36f06d8d7ab4 100644 (file)
@@ -37,4 +37,5 @@ test01()
 {
   std::unique_ptr<B[]> B_from_A(new A[3]); //{ dg-error "invalid conversion from" }
 }
-//{ dg-excess-errors "initialization" }
+
+// { dg-prune-output "include" }
index 27dd87915369fe21962c2171e95b665bda7b5eb0..29bb57d22b23dcb4f99e3cd49184dd11b9c6e223 100644 (file)
@@ -32,8 +32,7 @@ struct B : A
 void test01()
 {
   std::unique_ptr<B[]> up;
-  up.reset(new A[3]);
+  up.reset(new A[3]);          // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 35 } 
-// { dg-error "deleted function" "" { target *-*-* } 363 }
+// { dg-prune-output "include" }
index c56678cb8096c4f8adcf500af7356dc15bb8390e..66f5a81a5e5898493db433aa852bdd796eaa04ff 100644 (file)
@@ -29,4 +29,4 @@ int main()
 }
 
 // { dg-error "ambiguous" "" { target *-*-* } 522 }
-// { dg-excess-errors "In member function" }
+// { dg-prune-output "include" }
index d70a66c1ec8a1c2eef6b2bc40464ebd5241971e5..69b1eff12978a69cee3fb87d55dfa4fc1e3bf3d7 100644 (file)
@@ -28,19 +28,5 @@ int main()
   return 0;
 }
 
-// { dg-error "used here" "" { target *-*-* } 561 }
-// { dg-error "deleted function" "" { target *-*-* } 229 }
-// { dg-error "deleted function" "" { target *-*-* } 247 }
-// { dg-error "deleted function" "" { target *-*-* } 265 }
-// { dg-error "deleted function" "" { target *-*-* } 283 }
-// { dg-error "deleted function" "" { target *-*-* } 301 }
-// { dg-error "deleted function" "" { target *-*-* } 319 }
-// { dg-error "deleted function" "" { target *-*-* } 337 }
-// { dg-error "deleted function" "" { target *-*-* } 355 }
-// { dg-error "deleted function" "" { target *-*-* } 373 }
-// { dg-error "deleted function" "" { target *-*-* } 391 }
-// { dg-error "deleted function" "" { target *-*-* } 409 }
-// { dg-error "deleted function" "" { target *-*-* } 427 }
-// { dg-error "deleted function" "" { target *-*-* } 445 }
-// { dg-error "deleted function" "" { target *-*-* } 463 }
-// { dg-error "deleted function" "" { target *-*-* } 481 }
+// { dg-error "deleted" "" { target *-*-* } 561 }
+// { dg-prune-output "include" }
index ac4c567c62038c421acbd4d7b2d04e705cb1a40b..9405e459bf8fc70ea4cd77afc2aa20f3080dc99c 100644 (file)
@@ -28,4 +28,4 @@ void test01()
   test_type t2;
   t1 = t2;                     // { dg-error "ambiguous" }
 }
-// { dg-excess-errors "deleted function" }
+// { dg-prune-output "include" }
index 4ede58ff8bd8573a3a62ad006c07d3395a89e735..69f78eed1018d9163014eb5992c376a7a7d5276c 100644 (file)
@@ -25,7 +25,7 @@ void test01()
   // Copy.
   typedef std::atomic_address test_type;
   test_type t1;
-  test_type t2(t1);
+  test_type t2(t1);            // { dg-error "deleted" }
 }
-// { dg-error "used here" "" { target *-*-* } 28 }
-// { dg-excess-errors "deleted function" }
+
+// { dg-prune-output "include" }
index 924add880cf97cb44e01f0d903e8bc8ed4233b0e..27c60ca2dc19ad4c50b9dbfe77188cf2526ceca1 100644 (file)
@@ -26,7 +26,7 @@ void test01()
   typedef std::atomic_flag test_type;
   test_type t1;
   test_type t2;
-  t1 = t2;
+  t1 = t2;                     // { dg-error "deleted" }
 }
-// { dg-error "used here" "" { target *-*-* } 29 }
-// { dg-excess-errors "deleted function" }
+
+// { dg-prune-output "include" }
index 22cea6a391637d49373a7afd3e3d5c79b9baa793..9244f683d1f71383c9c458233082b88dca813844 100644 (file)
@@ -25,7 +25,7 @@ void test01()
   // Copy.
   typedef std::atomic_flag test_type;
   test_type t1;
-  test_type t2(t1);
+  test_type t2(t1);            // { dg-error "deleted" }
 }
-// { dg-error "used here" "" { target *-*-* } 28 }
-// { dg-excess-errors "deleted function" }
+
+// { dg-prune-output "include" }
index 875906f1fcb77b5360c3719968deddfc8803f5bf..751c6cdc696572ba5e47c9cdbbb8f46b9c2296aa 100644 (file)
@@ -30,4 +30,4 @@ int main()
 }
 
 // { dg-error "ambiguous" "" { target *-*-* } 522 }
-// { dg-excess-errors "In member function" }
+// { dg-prune-output "include" }
index e1559a5e379c964283b09277922264a1e33d6bdf..976a6991d43c74fc15d9077ae7d85b3427c3ec09 100644 (file)
@@ -29,12 +29,5 @@ int main()
   return 0;
 }
 
-// { dg-error "used here" "" { target *-*-* } 561 }
-// { dg-excess-errors "deleted function" }
-// { dg-excess-errors "deleted function" }
-// { dg-error "instantiated from" "" { target *-*-* } 28 }
-// { dg-error "instantiated from" "" { target *-*-* } 567 }
-// { dg-error "instantiated from" "" { target *-*-* } 170 }
-// { dg-error "instantiated from" "" { target *-*-* } 399 }
-// { dg-error "instantiated from" "" { target *-*-* } 168 }
-// { dg-excess-errors "In member function" }
+// { dg-error "deleted" "" { target *-*-* } 561 }
+// { dg-prune-output "include" }
index 9e9ad8a7b03c94042aa577374c99d252d9db1bca..90648207e736c53d557f89f11161f9a3742251c6 100644 (file)
@@ -28,8 +28,7 @@ void test01()
   // assign
   std::condition_variable c1;
   std::condition_variable c2;
-  c1 = c2;
+  c1 = c2;                     // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 31 }
-// { dg-error "deleted function" "" { target *-*-* } 70 }
+// { dg-prune-output "include" }
index 5765351554e1bcdf40147698ebde6f25aa82882d..588e4f3c9540c4c28d35c059e7e20dc6717649fe 100644 (file)
@@ -27,8 +27,7 @@ void test01()
 {
   // copy
   std::condition_variable c1;
-  std::condition_variable c2(c1);
+  std::condition_variable c2(c1); // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 30 }
-// { dg-error "deleted function" "" { target *-*-* } 69 }
+// { dg-prune-output "include" }
index 8fa79a2cf1a65b4e5b9ca4500bfef9e7adaaa812..dac106c2ec495ba557fb85dcbb6b4c1165e1b8ae 100644 (file)
@@ -28,8 +28,7 @@ void test01()
   // assign
   std::condition_variable_any c1;
   std::condition_variable_any c2;
-  c1 = c2;
+  c1 = c2;                     // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 31 }
-// { dg-error "deleted function" "" { target *-*-* } 179 }
+// { dg-prune-output "include" }
index 344f90c961ceddf915060547275d95ac9c69d4b9..157f60f0335499f624b2c55c3c3a7a7e0cff580d 100644 (file)
@@ -27,8 +27,7 @@ void test01()
 {
   // copy
   std::condition_variable_any c1;
-  std::condition_variable_any c2(c1);
+  std::condition_variable_any c2(c1); // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 30 }
-// { dg-error "deleted function" "" { target *-*-* } 178 }
+// { dg-prune-output "include" }
index eef414970552eb2efcb0a6effa7ae163281cb522..2aad5e9aa0ff5e6586c101e74ec3ff62c1b6b364 100644 (file)
@@ -31,8 +31,7 @@ void test01()
   // assign
   std::future<int>& p1 = get();
   std::future<int>& p2 = get();
-  p1 = p2;
+  p1 = p2;                     // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 34 }
-// { dg-error "deleted function" "" { target *-*-* } 581 }
+// { dg-prune-output "include" }
index 14d7046bed5017dd076f427cdca6901c91896152..5e6bccad82b6d3dcb9b5aa3a066e0ca34626fc08 100644 (file)
@@ -30,8 +30,7 @@ void test01()
 {
   // copy
   std::future<int>& p1 = get();
-  std::future<int> p2(p1);
+  std::future<int> p2(p1);     // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 33 }
-// { dg-error "deleted function" "" { target *-*-* } 580 }
+// { dg-prune-output "include" }
index 7e9d30b4f23b455c415717c4940b9ced9d909d3e..20122348e6d169b4bd70777c1aa1d1557f66d149 100644 (file)
@@ -29,8 +29,7 @@ void test01()
   typedef std::mutex mutex_type;
   mutex_type m1;
   mutex_type m2;
-  m1 = m2;
+  m1 = m2;                     // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 32 }
-// { dg-error "deleted function" "" { target *-*-* } 82 }
+// { dg-prune-output "include" }
index c1ef0511b8dcedf79e27e7442aac60a45cfd8b3e..3fd1cd97784376b1d99e587a5ad325dfb7c7d096 100644 (file)
@@ -28,8 +28,7 @@ void test01()
   // assign
   typedef std::mutex mutex_type;
   mutex_type m1;
-  mutex_type m2(m1);
+  mutex_type m2(m1);           // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 31 }
-// { dg-error "deleted function" "" { target *-*-* } 81 }
+// { dg-prune-output "include" }
index 2b57a1c5b2f301be79e2ca3f67079187d82484ee..414c861cc44967e55a8ad485bd8698d447b32836 100644 (file)
@@ -29,8 +29,7 @@ void test01()
   // assign
   std::packaged_task<int()> p1;
   std::packaged_task<int()> p2;
-  p1 = p2;
+  p1 = p2;                     // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 32 }
-// { dg-error "deleted function" "" { target *-*-* } 1228 }
+// { dg-prune-output "include" }
index baf718354e514d329f11967d011a5ccb16db8489..93b0821943cc6a7af3b1412643a59d0875cc7ce0 100644 (file)
@@ -28,8 +28,7 @@ void test01()
 {
   // copy
   std::packaged_task<int()> p1;
-  std::packaged_task<int()> p2(p1);
+  std::packaged_task<int()> p2(p1); // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 31 }
-// { dg-error "deleted function" "" { target *-*-* } 1227 }
+// { dg-prune-output "include" }
index 80b5e06e1d0f9c31d4f093462fd247695297b64c..50b1c6e17bfae825f79d2f7a0dc5acab35cbaa0c 100644 (file)
@@ -29,8 +29,7 @@ void test01()
   // assign
   std::promise<int> p1;
   std::promise<int> p2;
-  p1 = p2;
+  p1 = p2;                     // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 32 }
-// { dg-error "deleted function" "" { target *-*-* } 871 }
+// { dg-prune-output "include" }
index 27884b0bd1a2820f83270b204f063bfb636138e0..5e43d0b1fda7e7fc62a61a1f5a62bcd18a139305 100644 (file)
@@ -28,8 +28,7 @@ void test01()
 {
   // copy
   std::promise<int> p1;
-  std::promise<int> p2(p1);
+  std::promise<int> p2(p1);    // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 31 }
-// { dg-error "deleted function" "" { target *-*-* } 855 }
+// { dg-prune-output "include" }
index 42af43939d5503fd55cd607955baf34d5f5e39e8..2eeefd32c32816ded3ba5e39a17d7b2d4f35c8ff 100644 (file)
@@ -29,8 +29,7 @@ void test01()
   typedef std::recursive_mutex mutex_type;
   mutex_type m1;
   mutex_type m2;
-  m1 = m2;
+  m1 = m2;                     // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 32 } 
-// { dg-error "deleted function" "" { target *-*-* } 134 }
+// { dg-prune-output "include" }
index 53ff57deab8e9dee111656bc47f1203cc0a784e8..232a70103a40bc5850921fce69f79377925d28ea 100644 (file)
@@ -28,8 +28,7 @@ void test01()
   // assign
   typedef std::recursive_mutex mutex_type;
   mutex_type m1;
-  mutex_type m2(m1);
+  mutex_type m2(m1);           // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 31 } 
-// { dg-error "deleted function" "" { target *-*-* } 133 }
+// { dg-prune-output "include" }
index 7fa642858824cebf789d46fc47f33c7da8799af6..1694423cb1f8da876f126232a3f0e697b93e7fa1 100644 (file)
@@ -29,8 +29,7 @@ void test01()
   typedef std::recursive_timed_mutex mutex_type;
   mutex_type m1;
   mutex_type m2;
-  m1 = m2;
+  m1 = m2;                     // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 32 } 
-// { dg-error "deleted function" "" { target *-*-* } 297 }
+// { dg-prune-output "include" }
index df1ca0bc9240659c96a9d7e3b1a32885963ced3b..c729d5b76a25125369892cbf7dcca782d32f179f 100644 (file)
@@ -28,8 +28,7 @@ void test01()
   // assign
   typedef std::recursive_timed_mutex mutex_type;
   mutex_type m1;
-  mutex_type m2(m1);
+  mutex_type m2(m1);           // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 31 } 
-// { dg-error "deleted function" "" { target *-*-* } 296 }
+// { dg-prune-output "include" }
index 11705794ac94c1fa364c573db2da17aeafc1873d..406d16085a39240154a326ea8a10f657dd78307c 100644 (file)
@@ -28,8 +28,7 @@ void test01()
   typedef std::thread test_type;
   test_type t1;
   test_type t2;
-  t1 = t2;
+  t1 = t2;                     // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 31 }
-// { dg-error "deleted function" "" { target *-*-* } 148 }
+// { dg-prune-output "include" }
index 898ad16350f0533cd4ccc33dd376ac5f7c0636a7..db06e72b0f36f6aea57b99af5f4c2a0a68f85bbc 100644 (file)
@@ -27,9 +27,13 @@ void test01()
   // copy
   typedef std::thread test_type;
   test_type t1;
-  test_type t2(t1); // XXX this is failing for the wrong reason
+  test_type t2(t1);            // { dg-error "deleted" "" { xfail *-*-* } }
 }
 
-// { dg-error "here" "" { target *-*-* } 30 }
-// { dg-error "deleted function" "" { target *-*-* } 126 }
-// { dg-excess-errors "In file included from" }
+// This is failing for the wrong reason; it should fail because we're
+// trying to call the deleted copy constructor, but instead it fails
+// because we try to call the thread(_Callable&&,_Args&&...) constructor
+// and fail because thread isn't callable.  But that's OK for now.
+// { dg-error "" "" { target *-*-* } 30 }
+
+// { dg-prune-output "include" }
index 45b2385242dbdfd1f261177ad9a7bb2ecc86014f..7c9199f321b8b9b65e5ae1e071596714bc1771cd 100644 (file)
@@ -29,8 +29,7 @@ void test01()
   typedef std::timed_mutex mutex_type;
   mutex_type m1;
   mutex_type m2;
-  m1 = m2;
+  m1 = m2;                     // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 32 } 
-// { dg-error "deleted function" "" { target *-*-* } 192 }
+// { dg-prune-output "include" }
index 04dea643fff9bb4a69a5185af79df9408e0c5518..2c388962e456bcf6322dd41885c88f7e1a5cddfa 100644 (file)
@@ -28,8 +28,7 @@ void test01()
   // assign
   typedef std::timed_mutex mutex_type;
   mutex_type m1;
-  mutex_type m2(m1);
+  mutex_type m2(m1);           // { dg-error "deleted" }
 }
 
-// { dg-error "used here" "" { target *-*-* } 31 } 
-// { dg-error "deleted function" "" { target *-*-* } 191 }
+// { dg-prune-output "include" }
index c599acaebd03960323e00a33cf98be2a6e72ac2e..0ceb9a6597ac9c873c98d0702607d848b8c54108 100644 (file)
@@ -91,8 +91,4 @@ void test01(void) {
   aptr5 = __const_pointer_cast<B_pointer>(cbptr);  // ok
 }
 
-// { dg-error "invalid conversion " "" { target *-*-* } 314 }
-// { dg-error "invalid conversion " "" { target *-*-* } 308 }
-// { dg-error "invalid conversion " "" { target *-*-* } 331 }
-// { dg-error "invalid conversion " "" { target *-*-* } 339 }
-// { dg-excess-errors "In constructor" }
+// { dg-prune-output "include" }
This page took 0.122352 seconds and 5 git commands to generate.