1) don't do overload resolution in selecting conversion
to pointer function for delete expression. 2)
Treat type conversion function and its 'const' version
as identical in building the visible conversion list.

llvm-svn: 81930
diff --git a/clang/test/SemaCXX/conversion-delete-expr.cpp b/clang/test/SemaCXX/conversion-delete-expr.cpp
index 63a9765..708289c 100644
--- a/clang/test/SemaCXX/conversion-delete-expr.cpp
+++ b/clang/test/SemaCXX/conversion-delete-expr.cpp
@@ -78,19 +78,18 @@
 
 // Test7
 struct Base {
-   operator int*();	// expected-note {{candidate function}}
+   operator int*();	
 };
 
 struct Derived : Base {
    // not the same function as Base's non-const operator int()
-   operator int*() const;  // expected-note {{candidate function}}
+   operator int*() const;
 };
 
 void foo6(const Derived cd, Derived d) {
 	// overload resolution selects Derived::operator int*() const;
 	delete cd;
-
-	delete d;	// expected-error {{ambiguous conversion of delete expression of type 'struct Derived' to a pointer}}
+	delete d;	
 }
 
 // Test8
diff --git a/clang/test/SemaCXX/direct-initializer.cpp b/clang/test/SemaCXX/direct-initializer.cpp
index e95ba22..a9e2b2b 100644
--- a/clang/test/SemaCXX/direct-initializer.cpp
+++ b/clang/test/SemaCXX/direct-initializer.cpp
@@ -36,15 +36,15 @@
 }
 
 struct Base {
-   operator int*() const; // expected-note {{candidate function}}
+   operator int*() const; 
 };
 
 struct Derived : Base {
-   operator int*(); // expected-note {{candidate function}}
+   operator int*(); 
 };
 
 void foo(const Derived cd, Derived d) {
-        int *pi = cd;
-        int *ppi = d; // expected-error {{ambiguity in initializing value of type 'int *' with initializer of type 'struct Derived'}}
+        int *pi = cd;	// expected-error {{incompatible type initializing 'struct Derived const', expected 'int *'}}
+        int *ppi = d; 
 
 }