diff ir/irclass.cpp @ 1403:e5c5d354c649

Tentative fix for semantic3 on imported modules and unnecessary template function definition issue. Please test! Also change linkage of __interfaceInfos to external (same as __Class, __vtbl, __init). The other change might make this superfluous.
author Christian Kamm <kamm incasoftware de>
date Thu, 21 May 2009 10:56:04 +0200
parents 8d501abecd24
children 638d16625da2
line wrap: on
line diff
--- a/ir/irclass.cpp	Wed May 20 21:13:41 2009 +0200
+++ b/ir/irclass.cpp	Thu May 21 10:56:04 2009 +0200
@@ -120,7 +120,9 @@
     std::string name("_D");
     name.append(cd->mangle());
     name.append("16__interfaceInfosZ");
-    classInterfacesArray = new llvm::GlobalVariable(array_type, true, DtoLinkage(cd), NULL, name, classInfo);
+
+    llvm::GlobalValue::LinkageTypes _linkage = DtoExternalLinkage(aggrdecl);
+    classInterfacesArray = new llvm::GlobalVariable(array_type, true, _linkage, NULL, name, classInfo);
 
     return classInterfacesArray;
 }