Referenced instatiated default constructors 
must be defined. Fixed pr4853.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80846 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenCXX/constructor-template.cpp b/test/CodeGenCXX/constructor-template.cpp
index 10577e9..43abda4 100644
--- a/test/CodeGenCXX/constructor-template.cpp
+++ b/test/CodeGenCXX/constructor-template.cpp
@@ -1,4 +1,8 @@
-// RUN: clang-cc %s -emit-llvm -o -
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: true
 
 // PR4826
 struct A {
@@ -13,6 +17,25 @@
   A nodes;
 };
 
+
+// PR4853
+template <typename T> class List {
+public:
+  List(){ }	// List<BinomialNode<int>*>::List() remains undefined.
+};
+
+template<typename T> class BinomialNode {
+public:
+  BinomialNode(T value) {}
+  List<BinomialNode<T>*> nodes;
+};
+
 int main() {
   B<int> *n = new B<int>(4);
+  BinomialNode<int> *node = new BinomialNode<int>(1);
 }
+
+// CHECK-LP64: __ZN4ListIP12BinomialNodeIiEEC1Ev:
+
+// CHECK-LP32:__ZN4ListIP12BinomialNodeIiEEC1Ev:
+