aboutsummaryrefslogtreecommitdiff
path: root/test/SemaCXX/user-defined-conversions.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2008-11-07 22:36:19 +0000
committerDouglas Gregor <dgregor@apple.com>2008-11-07 22:36:19 +0000
commitf1991eab1e777634fb38758eafbbe0d303271d2f (patch)
tree04245ecc825f7b551bbd7d748743bcb6bf1c0e7c /test/SemaCXX/user-defined-conversions.cpp
parentd60b92760f7cec42a139ab1b45fd7086eaebb8f9 (diff)
Initial, partially-baked support for implicit user-defined conversions by conversion functions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58870 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaCXX/user-defined-conversions.cpp')
-rw-r--r--test/SemaCXX/user-defined-conversions.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/SemaCXX/user-defined-conversions.cpp b/test/SemaCXX/user-defined-conversions.cpp
new file mode 100644
index 0000000000..b85593318d
--- /dev/null
+++ b/test/SemaCXX/user-defined-conversions.cpp
@@ -0,0 +1,22 @@
+// RUN: clang -fsyntax-only -verify %s
+struct X {
+ operator bool();
+};
+
+int& f(bool);
+float& f(int);
+
+void f_test(X x) {
+ int& i1 = f(x);
+}
+
+struct Y {
+ operator short();
+ operator float();
+};
+
+void g(int);
+
+void g_test(Y y) {
+ g(y);
+}