changeset 1445:1dc1232aa91a

Automated merge with http://hg.dsource.org/projects/ldc
author Frits van Bommel <fvbommel wxs.nl>
date Sun, 31 May 2009 17:11:51 +0200
parents b6aa03164436 (diff) 2a8d4f98b543 (current diff)
children fe151804995a
files
diffstat 1 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/gen/rttibuilder.cpp	Sun May 31 15:47:59 2009 +0200
+++ b/gen/rttibuilder.cpp	Sun May 31 17:11:51 2009 +0200
@@ -76,7 +76,7 @@
 void RTTIBuilder::push_void_array(llvm::Constant* CI, Type* valtype, Dsymbol* mangle_sym)
 {
     std::string initname(mangle_sym->mangle());
-    initname.append(".rtti.void[].data");
+    initname.append(".rtti.voidarr.data");
 
     LLGlobalVariable* G = new llvm::GlobalVariable(
         CI->getType(), true, TYPEINFO_LINKAGE_TYPE, CI, initname, gIR->module);
@@ -87,9 +87,14 @@
 
 void RTTIBuilder::push_array(llvm::Constant * CI, uint64_t dim, Type* valtype, Dsymbol * mangle_sym)
 {
-    std::string initname(mangle_sym?mangle_sym->mangle():".ldc");
+	std::string tmpStr(valtype->arrayOf()->toChars());
+	tmpStr.erase( remove( tmpStr.begin(), tmpStr.end(), '[' ), tmpStr.end() );
+	tmpStr.erase( remove( tmpStr.begin(), tmpStr.end(), ']' ), tmpStr.end() );
+	tmpStr.append("arr");
+
+	std::string initname(mangle_sym?mangle_sym->mangle():".ldc");
     initname.append(".rtti.");
-    initname.append(valtype->arrayOf()->toChars());
+    initname.append(tmpStr);
     initname.append(".data");
 
     LLGlobalVariable* G = new llvm::GlobalVariable(