llvm-project/clang/test/CodeGenCXX/PR5834-constructor-conversion.cpp
Douglas Gregor 4141d5bea2 When converting from a type to itself or one of its base classes via a
constructor call, the conversion is only a standard conversion
sequence if that constructor is a copy constructor. This fixes PR5834
in a semi-lame way, because the "real" fix will be to move over to
InitializationSequence. That will happen "soonish", but not now.

llvm-svn: 91861
2009-12-22 00:21:20 +00:00

15 lines
274 B
C++

// RUN: %clang_cc1 -emit-llvm -o - %s
// PR5834
struct ASTMultiMover {};
struct ASTMultiPtr {
ASTMultiPtr();
ASTMultiPtr(ASTMultiPtr&);
ASTMultiPtr(ASTMultiMover mover);
operator ASTMultiMover();
};
void f1() {
extern void f0(ASTMultiPtr);
f0(ASTMultiPtr());
}