Fix overloading of non-static member functions that differ in their cv-qualifiers

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59819 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/SemaCXX/overloaded-operator.cpp b/test/SemaCXX/overloaded-operator.cpp
index ba9c60c..98f0bb0 100644
--- a/test/SemaCXX/overloaded-operator.cpp
+++ b/test/SemaCXX/overloaded-operator.cpp
@@ -90,12 +90,14 @@
 
 struct SmartPtr {
   int& operator*();
-  // FIXME: spurious error:  long& operator*() const;
+  long& operator*() const volatile;
 };
 
-void test_smartptr(SmartPtr ptr, const SmartPtr cptr) {
+void test_smartptr(SmartPtr ptr, const SmartPtr cptr, 
+                   const volatile SmartPtr cvptr) {
   int &ir = *ptr;
-  // FIXME: reinstate long &lr = *cptr;
+  long &lr = *cptr;
+  long &lr2 = *cvptr;
 }