]> granicus.if.org Git - clang/commitdiff
Make an error message more clear.
authorAnders Carlsson <andersca@mac.com>
Tue, 30 Jun 2009 00:06:57 +0000 (00:06 +0000)
committerAnders Carlsson <andersca@mac.com>
Tue, 30 Jun 2009 00:06:57 +0000 (00:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74481 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/DiagnosticSemaKinds.td
lib/Sema/SemaType.cpp
test/SemaCXX/member-pointer.cpp

index 8d56b57c08cfa256b82dbe8f682c7d0661ba59ea..652f7430f0c60bb507c9cf3a600260345e4032be 100644 (file)
@@ -1074,6 +1074,8 @@ def err_array_star_outside_prototype : Error<
   "star modifier used outside of function prototype">;
 def err_illegal_decl_pointer_to_reference : Error<
   "'%0' declared as a pointer to a reference">;
+def err_illegal_decl_mempointer_to_reference : Error<
+  "'%0' declared as a member pointer to a reference">;
 def err_illegal_decl_mempointer_to_void : Error<
   "'%0' declared as a member pointer to void">;
 def err_illegal_decl_mempointer_in_nonclass : Error<
index c0b4e9fbecbc51bd128a4be02778794daa34ee71..7fa6d703c2af4c57ad8d2c6588cb1085387a48cc 100644 (file)
@@ -697,7 +697,7 @@ QualType Sema::BuildMemberPointerType(QualType T, QualType Class,
   // C++ 8.3.3p3: A pointer to member shall not pointer to ... a member
   //   with reference type, or "cv void."
   if (T->isReferenceType()) {
-    Diag(Loc, diag::err_illegal_decl_pointer_to_reference)
+    Diag(Loc, diag::err_illegal_decl_mempointer_to_reference)
       << (Entity? Entity.getAsString() : "type name");
     return QualType();
   }
index d2df5eb317a0eeaafc8f1acb1ceecc445a341b60..3b106d5576fe64193cc863c1b47abe0366027267 100644 (file)
@@ -16,7 +16,7 @@ int B::*pbi; // expected-error {{expected a class or namespace}} \
              // expected-error{{does not point into a class}}
 int C::*pci; // expected-error {{'pci' does not point into a class}}
 void A::*pdv; // expected-error {{'pdv' declared as a member pointer to void}}
-int& A::*pdr; // expected-error {{'pdr' declared as a pointer to a reference}}
+int& A::*pdr; // expected-error {{'pdr' declared as a member pointer to a reference}}
 
 void f() {
   // This requires tentative parsing.