[cfe-commits] r128855 - in /cfe/trunk: lib/CodeGen/CGDebugInfo.cpp test/CodeGenCXX/debug-info-template.cpp

Devang Patel dpatel at apple.com
Mon Apr 4 16:18:38 PDT 2011


Author: dpatel
Date: Mon Apr  4 18:18:38 2011
New Revision: 128855

URL: http://llvm.org/viewvc/llvm-project?rev=128855&view=rev
Log:
Incomplete type does not have any size.

Modified:
    cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
    cfe/trunk/test/CodeGenCXX/debug-info-template.cpp

Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=128855&r1=128854&r2=128855&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Mon Apr  4 18:18:38 2011
@@ -1226,7 +1226,7 @@
   } else if (Ty->isIncompleteArrayType()) {
     Size = 0;
     Align = CGM.getContext().getTypeAlign(Ty->getElementType());
-  } else if (Ty->isDependentSizedArrayType()) {
+  } else if (Ty->isDependentSizedArrayType() || Ty->isIncompleteType()) {
     Size = 0;
     Align = 0;
   } else if (Ty->getElementType()->getTypeClass() 

Modified: cfe/trunk/test/CodeGenCXX/debug-info-template.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/debug-info-template.cpp?rev=128855&r1=128854&r2=128855&view=diff
==============================================================================
--- cfe/trunk/test/CodeGenCXX/debug-info-template.cpp (original)
+++ cfe/trunk/test/CodeGenCXX/debug-info-template.cpp Mon Apr  4 18:18:38 2011
@@ -30,3 +30,17 @@
 };
 static Test test;
 
+// PR9608
+template <int i> struct TheTemplate {
+  struct Empty2 {}; 
+  typedef const Empty2 DependentType[i]; 
+  TheTemplate() {} 
+}; 
+
+class TheTemplateTest : public TheTemplate<42> { 
+  TheTemplateTest(); 
+  void method(const TheTemplate<42>::DependentType *) {} 
+}; 
+
+TheTemplateTest::TheTemplateTest() : TheTemplate<42>() {} 
+





More information about the cfe-commits mailing list