Fix some confusing diagnostic wording. s/implicit default/implicit/ if we're

not actually talking about a default constructor.

llvm-svn: 183885
This commit is contained in:
Richard Smith 2013-06-13 03:34:55 +00:00
parent d577fbbd1c
commit f24e6e747b
12 changed files with 31 additions and 31 deletions

View File

@ -1138,7 +1138,7 @@ def note_bitfield_decl : Note<"bit-field is declared here">;
def note_previous_decl : Note<"%0 declared here">; def note_previous_decl : Note<"%0 declared here">;
def note_implicit_param_decl : Note<"%0 is an implicit parameter">; def note_implicit_param_decl : Note<"%0 is an implicit parameter">;
def note_member_synthesized_at : Note< def note_member_synthesized_at : Note<
"implicit default %select{constructor|copy constructor|move constructor|copy " "implicit %select{default constructor|copy constructor|move constructor|copy "
"assignment operator|move assignment operator|destructor}0 for %1 first " "assignment operator|move assignment operator|destructor}0 for %1 first "
"required here">; "required here">;
def note_inhctor_synthesized_at : Note< def note_inhctor_synthesized_at : Note<
@ -2407,8 +2407,8 @@ def err_param_default_argument_member_template_redecl : Error<
"of a %select{class template|class template partial specialization|nested " "of a %select{class template|class template partial specialization|nested "
"class in a template}0">; "class in a template}0">;
def err_uninitialized_member_for_assign : Error< def err_uninitialized_member_for_assign : Error<
"cannot define the implicit default assignment operator for %0, because " "cannot define the implicit copy assignment operator for %0, because "
"non-static %select{reference|const}1 member %2 can't use default " "non-static %select{reference|const}1 member %2 can't use copy "
"assignment operator">; "assignment operator">;
def err_uninitialized_member_in_ctor : Error< def err_uninitialized_member_in_ctor : Error<
"%select{|implicit default |inheriting }0constructor for %1 must explicitly " "%select{|implicit default |inheriting }0constructor for %1 must explicitly "

View File

@ -151,7 +151,7 @@ namespace test3 {
virtual Base3 virtual Base3
{}; {};
Derived3 d3; // expected-note {{implicit default constructor}}\ Derived3 d3; // expected-note {{implicit default constructor}}\
// expected-note{{implicit default destructor}}} // expected-note{{implicit destructor}}}
} }
// Conversion functions. // Conversion functions.
@ -207,13 +207,13 @@ namespace test5 {
class Test1 { A a; }; // expected-error {{private member}} class Test1 { A a; }; // expected-error {{private member}}
void test1() { void test1() {
Test1 a; Test1 a;
a = Test1(); // expected-note{{implicit default copy}} a = Test1(); // expected-note{{implicit copy}}
} }
class Test2 : A {}; // expected-error {{private member}} class Test2 : A {}; // expected-error {{private member}}
void test2() { void test2() {
Test2 a; Test2 a;
a = Test2(); // expected-note{{implicit default copy}} a = Test2(); // expected-note{{implicit copy}}
} }
} }
@ -226,12 +226,12 @@ namespace test6 {
class Test1 { A a; }; // expected-error {{field of type 'test6::A' has private copy constructor}} class Test1 { A a; }; // expected-error {{field of type 'test6::A' has private copy constructor}}
void test1(const Test1 &t) { void test1(const Test1 &t) {
Test1 a = t; // expected-note{{implicit default copy}} Test1 a = t; // expected-note{{implicit copy}}
} }
class Test2 : A {}; // expected-error {{base class 'test6::A' has private copy constructor}} class Test2 : A {}; // expected-error {{base class 'test6::A' has private copy constructor}}
void test2(const Test2 &t) { void test2(const Test2 &t) {
Test2 a = t; // expected-note{{implicit default copy}} Test2 a = t; // expected-note{{implicit copy}}
} }
} }

View File

@ -64,7 +64,7 @@ namespace dr7 { // dr7: yes
class B : virtual private A {}; // expected-note 2 {{declared private here}} class B : virtual private A {}; // expected-note 2 {{declared private here}}
class C : public B {} c; // expected-error 2 {{inherited virtual base class 'dr7::A' has private destructor}} \ class C : public B {} c; // expected-error 2 {{inherited virtual base class 'dr7::A' has private destructor}} \
// expected-note {{implicit default constructor for 'dr7::C' first required here}} \ // expected-note {{implicit default constructor for 'dr7::C' first required here}} \
// expected-note {{implicit default destructor for 'dr7::C' first required here}} // expected-note {{implicit destructor for 'dr7::C' first required here}}
class VeryDerivedC : public B, virtual public A {} vdc; class VeryDerivedC : public B, virtual public A {} vdc;
class X { ~X(); }; // expected-note {{here}} class X { ~X(); }; // expected-note {{here}}

View File

@ -7,7 +7,7 @@ struct Foo : public Base { // expected-error {{base class 'Base' has private des
Foo(); Foo();
}; };
struct Bar : public Foo { struct Bar : public Foo {
Bar() { } // expected-note {{implicit default destructor for 'Foo' first required here}} Bar() { } // expected-note {{implicit destructor for 'Foo' first required here}}
}; };
struct Baz { struct Baz {
Foo f; Foo f;

View File

@ -1,12 +1,12 @@
// RUN: %clang_cc1 -fsyntax-only -verify %s // RUN: %clang_cc1 -fsyntax-only -verify %s
class Base { // expected-error {{cannot define the implicit default assignment operator for 'Base', because non-static reference member 'ref' can't use default assignment operator}} \ class Base { // expected-error {{cannot define the implicit copy assignment operator for 'Base', because non-static reference member 'ref' can't use copy assignment operator}} \
// expected-warning{{class 'Base' does not declare any constructor to initialize its non-modifiable members}} // expected-warning{{class 'Base' does not declare any constructor to initialize its non-modifiable members}}
int &ref; // expected-note {{declared here}} \ int &ref; // expected-note {{declared here}} \
// expected-note{{reference member 'ref' will never be initialized}} // expected-note{{reference member 'ref' will never be initialized}}
}; };
class X : Base { // // expected-error {{cannot define the implicit default assignment operator for 'X', because non-static const member 'cint' can't use default assignment operator}} \ class X : Base { // // expected-error {{cannot define the implicit copy assignment operator for 'X', because non-static const member 'cint' can't use copy assignment operator}} \
// expected-note{{assignment operator for 'Base' first required here}} // expected-note{{assignment operator for 'Base' first required here}}
public: public:
X(); X();
@ -73,7 +73,7 @@ void i() {
// Test5 // Test5
class E1 { // expected-error{{cannot define the implicit default assignment operator for 'E1', because non-static const member 'a' can't use default assignment operator}} class E1 { // expected-error{{cannot define the implicit copy assignment operator for 'E1', because non-static const member 'a' can't use copy assignment operator}}
public: public:
const int a; // expected-note{{declared here}} const int a; // expected-note{{declared here}}
@ -101,7 +101,7 @@ namespace ProtectedCheck {
X x; X x;
}; };
void f(Z z) { z = z; } // expected-note{{implicit default copy assignment operator}} void f(Z z) { z = z; } // expected-note{{implicit copy assignment operator}}
} }

View File

@ -39,21 +39,21 @@ namespace DeprecatedCopy {
struct Assign { struct Assign {
Assign &operator=(const Assign&); // expected-warning {{definition of implicit copy constructor for 'Assign' is deprecated because it has a user-declared copy assignment operator}} Assign &operator=(const Assign&); // expected-warning {{definition of implicit copy constructor for 'Assign' is deprecated because it has a user-declared copy assignment operator}}
}; };
Assign a1, a2(a1); // expected-note {{implicit default copy constructor for 'Assign' first required here}} Assign a1, a2(a1); // expected-note {{implicit copy constructor for 'Assign' first required here}}
struct Ctor { struct Ctor {
Ctor(); Ctor();
Ctor(const Ctor&); // expected-warning {{definition of implicit copy assignment operator for 'Ctor' is deprecated because it has a user-declared copy constructor}} Ctor(const Ctor&); // expected-warning {{definition of implicit copy assignment operator for 'Ctor' is deprecated because it has a user-declared copy constructor}}
}; };
Ctor b1, b2; Ctor b1, b2;
void f() { b1 = b2; } // expected-note {{implicit default copy assignment operator for 'Ctor' first required here}} void f() { b1 = b2; } // expected-note {{implicit copy assignment operator for 'Ctor' first required here}}
struct Dtor { struct Dtor {
~Dtor(); ~Dtor();
// expected-warning@-1 {{definition of implicit copy constructor for 'Dtor' is deprecated because it has a user-declared destructor}} // expected-warning@-1 {{definition of implicit copy constructor for 'Dtor' is deprecated because it has a user-declared destructor}}
// expected-warning@-2 {{definition of implicit copy assignment operator for 'Dtor' is deprecated because it has a user-declared destructor}} // expected-warning@-2 {{definition of implicit copy assignment operator for 'Dtor' is deprecated because it has a user-declared destructor}}
}; };
Dtor c1, c2(c1); // expected-note {{implicit default copy constructor for 'Dtor' first required here}} Dtor c1, c2(c1); // expected-note {{implicit copy constructor for 'Dtor' first required here}}
void g() { c1 = c2; } // expected-note {{implicit default copy assignment operator for 'Dtor' first required here}} void g() { c1 = c2; } // expected-note {{implicit copy assignment operator for 'Dtor' first required here}}
} }
#endif #endif

View File

@ -9,7 +9,7 @@ struct B : A { // expected-error {{no suitable member 'operator delete' in 'B'}}
void operator delete (void *, int); // expected-note {{'operator delete' declared here}} void operator delete (void *, int); // expected-note {{'operator delete' declared here}}
}; };
void B::f() { // expected-note {{implicit default destructor for 'B' first required here}} void B::f() { // expected-note {{implicit destructor for 'B' first required here}}
} }
struct C : A { // expected-error {{no suitable member 'operator delete' in 'C'}} struct C : A { // expected-error {{no suitable member 'operator delete' in 'C'}}
@ -17,13 +17,13 @@ struct C : A { // expected-error {{no suitable member 'operator delete' in 'C'}}
void operator delete(void *, int); // expected-note {{'operator delete' declared here}} void operator delete(void *, int); // expected-note {{'operator delete' declared here}}
}; };
C::C() { } // expected-note {{implicit default destructor for 'C' first required here}} C::C() { } // expected-note {{implicit destructor for 'C' first required here}}
struct D : A { // expected-error {{no suitable member 'operator delete' in 'D'}} struct D : A { // expected-error {{no suitable member 'operator delete' in 'D'}}
void operator delete(void *, int); // expected-note {{'operator delete' declared here}} void operator delete(void *, int); // expected-note {{'operator delete' declared here}}
}; };
void f() { void f() {
new D; // expected-note {{implicit default destructor for 'D' first required here}} new D; // expected-note {{implicit destructor for 'D' first required here}}
} }

View File

@ -209,7 +209,7 @@ struct X11 : X10 { // expected-error {{no suitable member 'operator delete' in '
}; };
void f() { void f() {
X11 x11; // expected-note {{implicit default destructor for 'X11' first required here}} X11 x11; // expected-note {{implicit destructor for 'X11' first required here}}
} }
struct X12 { struct X12 {
@ -394,7 +394,7 @@ namespace ArrayNewNeedsDtor {
struct A { A(); private: ~A(); }; // expected-note {{declared private here}} struct A { A(); private: ~A(); }; // expected-note {{declared private here}}
struct B { B(); A a; }; // expected-error {{field of type 'ArrayNewNeedsDtor::A' has private destructor}} struct B { B(); A a; }; // expected-error {{field of type 'ArrayNewNeedsDtor::A' has private destructor}}
B *test9() { B *test9() {
return new B[5]; // expected-note {{implicit default destructor for 'ArrayNewNeedsDtor::B' first required here}} return new B[5]; // expected-note {{implicit destructor for 'ArrayNewNeedsDtor::B' first required here}}
} }
} }

View File

@ -13,19 +13,19 @@ struct D : public virtual B {
virtual void foo(); virtual void foo();
~D(); ~D();
}; };
void D::foo() { // expected-note {{implicit default destructor for 'B' first required here}} void D::foo() { // expected-note {{implicit destructor for 'B' first required here}}
} }
struct E : public virtual A { struct E : public virtual A {
NoDestroy x; // expected-error {{field of type 'NoDestroy' has private destructor}} NoDestroy x; // expected-error {{field of type 'NoDestroy' has private destructor}}
}; };
struct F : public E { // expected-note {{implicit default destructor for 'E' first required here}} struct F : public E { // expected-note {{implicit destructor for 'E' first required here}}
}; };
struct G : public virtual F { struct G : public virtual F {
virtual void foo(); virtual void foo();
~G(); ~G();
}; };
void G::foo() { // expected-note {{implicit default destructor for 'F' first required here}} void G::foo() { // expected-note {{implicit destructor for 'F' first required here}}
} }
struct H : public virtual A { struct H : public virtual A {
@ -38,5 +38,5 @@ struct J : public I {
virtual void foo(); virtual void foo();
~J(); ~J();
}; };
void J::foo() { // expected-note {{implicit default destructor for 'H' first required here}} void J::foo() { // expected-note {{implicit destructor for 'H' first required here}}
} }

View File

@ -4,7 +4,7 @@ struct A {
}; };
struct B : A { // expected-error {{no suitable member 'operator delete' in 'B'}} struct B : A { // expected-error {{no suitable member 'operator delete' in 'B'}}
B() { } // expected-note {{implicit default destructor for 'B' first required here}} B() { } // expected-note {{implicit destructor for 'B' first required here}}
void operator delete(void *, int); // expected-note {{'operator delete' declared here}} void operator delete(void *, int); // expected-note {{'operator delete' declared here}}
}; };
@ -14,7 +14,7 @@ struct C : A { // expected-error {{no suitable member 'operator delete' in 'C'}
void f() { void f() {
(void)new B; (void)new B;
(void)new C; // expected-note {{implicit default destructor for 'C' first required here}} (void)new C; // expected-note {{implicit destructor for 'C' first required here}}
} }
// Make sure that the key-function computation is consistent when the // Make sure that the key-function computation is consistent when the

View File

@ -12,7 +12,7 @@ struct X : T { }; // expected-error 2{{private destructor}}
struct Z; // expected-note{{forward declaration}} struct Z; // expected-note{{forward declaration}}
@interface A { @interface A {
X<Y> x; // expected-note{{implicit default destructor}} X<Y> x; // expected-note{{implicit destructor}}
Y y; // expected-error{{private destructor}} Y y; // expected-error{{private destructor}}
} }
@end @end

View File

@ -72,7 +72,7 @@ namespace PR7114 {
int f() { return B<int>::value; } int f() { return B<int>::value; }
void test_typeid(B<float>::Inner bfi) { void test_typeid(B<float>::Inner bfi) {
(void)typeid(bfi); // expected-note{{implicit default destructor}} (void)typeid(bfi); // expected-note{{implicit destructor}}
} }
template<typename T> template<typename T>