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