]> granicus.if.org Git - clang/commitdiff
Ted pointed out that this test case could be using access control instead of
authorJohn McCall <rjmccall@apple.com>
Thu, 22 Jul 2010 22:44:38 +0000 (22:44 +0000)
committerJohn McCall <rjmccall@apple.com>
Thu, 22 Jul 2010 22:44:38 +0000 (22:44 +0000)
__attribute__((unavailable)).  I've done so, but unfortunately there's still a case
of redundant diagnostics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109192 91177308-0d34-0410-b5e6-96231b3b80d8

test/SemaCXX/conversion-function.cpp

index 3e96d02495fe84e41564a3d76907cf8b292185b6..d7d41a403111978376e98e0aa68a6bb8d4103db5 100644 (file)
@@ -97,9 +97,7 @@ void f(Yb& a) {
 class AutoPtrRef { };
 
 class AutoPtr {
-  // FIXME: Using 'unavailable' since we do not have access control yet.
-  // FIXME: The error message isn't so good.
-  AutoPtr(AutoPtr &) __attribute__((unavailable)); // expected-note{{explicitly marked}}
+  AutoPtr(AutoPtr &); // expected-note{{declared private here}}
   
 public:
   AutoPtr();
@@ -115,7 +113,7 @@ AutoPtr test_auto_ptr(bool Cond) {
   
   AutoPtr p;
   if (Cond)
-    return p; // expected-error{{call to deleted constructor}}
+    return p; // expected-error{{calling a private constructor}}
   
   return AutoPtr();
 }
@@ -125,11 +123,12 @@ struct A1 {
   ~A1();
 
 private:
-  A1(const A1&) __attribute__((unavailable)); // expected-note{{here}}
+  A1(const A1&); // expected-note 2 {{declared private here}}
 };
 
 A1 f() {
-  return "Hello"; // expected-error{{invokes deleted constructor}}
+  // FIXME: redundant diagnostics!
+  return "Hello"; // expected-error {{calling a private constructor}} expected-warning {{an accessible copy constructor}}
 }
 
 namespace source_locations {