diff options
| author | Douglas Gregor <dgregor@apple.com> | 2010-02-24 21:54:27 +0000 | 
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2010-02-24 21:54:27 +0000 | 
| commit | 26623cb13ebeb213383ef6b6e98dade553cc40f7 (patch) | |
| tree | def82d232461277ad8ea1539ed9114bc87a481ef /clang | |
| parent | f06027db65fd6ae40bd003bd25c9a0d6d868f596 (diff) | |
| download | bcm5719-llvm-26623cb13ebeb213383ef6b6e98dade553cc40f7.tar.gz bcm5719-llvm-26623cb13ebeb213383ef6b6e98dade553cc40f7.zip  | |
Add test case for PR6141, which was fixed a few days ago
llvm-svn: 97063
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/test/CXX/special/class.copy/p3.cpp | 27 | 
1 files changed, 27 insertions, 0 deletions
diff --git a/clang/test/CXX/special/class.copy/p3.cpp b/clang/test/CXX/special/class.copy/p3.cpp new file mode 100644 index 00000000000..3d87266ef32 --- /dev/null +++ b/clang/test/CXX/special/class.copy/p3.cpp @@ -0,0 +1,27 @@ +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s + +// PR6141 +template<typename T> +struct X { +  X(); +  template<typename U> X(X<U>); +  X(const X<T>&); +}; + +void f(X<int>) { } + +struct Y : X<int> { }; +struct Z : X<float> { }; + +// CHECK: define i32 @main() +int main() { +  // CHECK: call void @_ZN1YC1Ev +  // CHECK: call void @_ZN1XIiEC1ERKS0_ +  // CHECK: call void @_Z1f1XIiE +  f(Y()); +  // CHECK: call void @_ZN1ZC1Ev +  // CHECK: call void @_ZN1XIfEC1ERKS0_ +  // CHECK: call void @_ZN1XIiEC1IfEES_IT_E +  // CHECK: call void @_Z1f1XIiE +  f(Z()); +}  | 

