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