constructor-template.cpp revision cf1b9c790ad9c944131e7150ef13e2d421f79e88
1// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
2// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
3// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
4// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
5// RUN: true
6
7// PR4826
8struct A {
9  A() {
10  }
11};
12
13template<typename T>
14struct B {
15  B(T) {}
16
17  A nodes;
18};
19
20
21// PR4853
22template <typename T> class List {
23public:
24  List(){ }	// List<BinomialNode<int>*>::List() remains undefined.
25};
26
27template<typename T> class BinomialNode {
28public:
29  BinomialNode(T value) {}
30  List<BinomialNode<T>*> nodes;
31};
32
33int main() {
34  B<int> *n = new B<int>(4);
35  BinomialNode<int> *node = new BinomialNode<int>(1);
36}
37
38// CHECK-LP64: __ZN4ListIP12BinomialNodeIiEEC1Ev:
39
40// CHECK-LP32:__ZN4ListIP12BinomialNodeIiEEC1Ev:
41
42