]> granicus.if.org Git - clang/commitdiff
Clean up warning and add a test.
authorEli Friedman <eli.friedman@gmail.com>
Thu, 20 Jun 2013 20:58:02 +0000 (20:58 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Thu, 20 Jun 2013 20:58:02 +0000 (20:58 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184466 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaDeclCXX.cpp
test/SemaCXX/conversion-function.cpp

index 5a70d2a2513f6d172ab0a6aa94260dad524d2c8b..cbe4a2829bbb764eebf4a65aa2cd8537df0f0876 100644 (file)
@@ -6032,8 +6032,8 @@ void Sema::CheckConversionDeclarator(Declarator &D, QualType &R,
   if (SC == SC_Static) {
     if (!D.isInvalidType())
       Diag(D.getIdentifierLoc(), diag::err_conv_function_not_member)
-        << "static" << SourceRange(D.getDeclSpec().getStorageClassSpecLoc())
-        << SourceRange(D.getIdentifierLoc());
+        << SourceRange(D.getDeclSpec().getStorageClassSpecLoc())
+        << D.getName().getSourceRange();
     D.setInvalidType();
     SC = SC_None;
   }
index 6fca0503ba72700aca96502ecea8e5da4709c916..0e7c3916171175cafa8710f9b139950a9ed1efa7 100644 (file)
@@ -11,6 +11,8 @@ public:
   float g() {
     return operator float(); // expected-error{{use of undeclared 'operator float'}}
   }
+
+  static operator short(); // expected-error{{conversion function must be a non-static member function}}
 };
 
 operator int(); // expected-error{{conversion function must be a non-static member function}}