From 008d81afb0ee3912ff0f2039531b48c938d47e7c Mon Sep 17 00:00:00 2001 From: Kelly Wilson Date: Sun, 31 May 2009 09:10:33 -0600 Subject: [PATCH] Fix "garbage at end of line" errors on mingw...shouldn't affect linux/macosx --- gen/rttibuilder.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gen/rttibuilder.cpp b/gen/rttibuilder.cpp index a18fc5541a..7aa6fe3f96 100644 --- a/gen/rttibuilder.cpp +++ b/gen/rttibuilder.cpp @@ -76,7 +76,7 @@ void RTTIBuilder::push_void_array(uint64_t dim, llvm::Constant* ptr) 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_void_array(llvm::Constant* CI, Type* valtype, Dsymbol* ma 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(