зеркало из https://github.com/microsoft/clang.git
38 строки
439 B
C++
38 строки
439 B
C++
// 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);
|
|
short s;
|
|
s = y;
|
|
}
|
|
|
|
struct A { };
|
|
struct B : A { };
|
|
|
|
struct C {
|
|
operator B&();
|
|
};
|
|
|
|
// Test reference binding via an lvalue conversion function.
|
|
void h(volatile A&);
|
|
void h_test(C c) {
|
|
h(c);
|
|
}
|