summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/overload-call.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-01-13 22:30:33 +0000
committerJohn McCall <rjmccall@apple.com>2010-01-13 22:30:33 +0000
commite8c8cd2a58b609b34359623322d9923737bd64c7 (patch)
tree2b358346838c4454abe7998d15fbb91667e20755 /clang/test/SemaCXX/overload-call.cpp
parente77d17b73afc18411c4e60c58d74b3c1f5152628 (diff)
downloadbcm5719-llvm-e8c8cd2a58b609b34359623322d9923737bd64c7.tar.gz
bcm5719-llvm-e8c8cd2a58b609b34359623322d9923737bd64c7.zip
Don't report ambiguities in the user-defined conversion if we weren't supposed
to be considering user-defined conversions in the first place. Doug, please review; I'm not sure what we should be doing if we see a real ambiguity in selecting a copy constructor when otherwise suppressing user-defined conversions. Fixes PR6014. llvm-svn: 93365
Diffstat (limited to 'clang/test/SemaCXX/overload-call.cpp')
-rw-r--r--clang/test/SemaCXX/overload-call.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/overload-call.cpp b/clang/test/SemaCXX/overload-call.cpp
index 0a2508d4b80..acd1e50afe4 100644
--- a/clang/test/SemaCXX/overload-call.cpp
+++ b/clang/test/SemaCXX/overload-call.cpp
@@ -317,3 +317,19 @@ namespace test1 {
}
}
+// PR 6014
+namespace test2 {
+ struct QFixed {
+ QFixed(int i);
+ QFixed(long i);
+ };
+
+ bool operator==(const QFixed &f, int i);
+
+ class qrgb666 {
+ inline operator unsigned int () const;
+
+ inline bool operator==(const qrgb666 &v) const;
+ inline bool operator!=(const qrgb666 &v) const { return !(*this == v); }
+ };
+}
OpenPOWER on IntegriCloud