comparison gen/rttibuilder.cpp @ 1443:b6aa03164436

Fix "garbage at end of line" errors on mingw...shouldn't affect linux/macosx
author Kelly Wilson <wilsonk cpsc.ucalgary.ca>
date Sun, 31 May 2009 09:10:33 -0600
parents f15a2d131ceb
children ad7f2f1862d6
comparison
equal deleted inserted replaced
1442:0a5f7890f327 1443:b6aa03164436
74 } 74 }
75 75
76 void RTTIBuilder::push_void_array(llvm::Constant* CI, Type* valtype, Dsymbol* mangle_sym) 76 void RTTIBuilder::push_void_array(llvm::Constant* CI, Type* valtype, Dsymbol* mangle_sym)
77 { 77 {
78 std::string initname(mangle_sym->mangle()); 78 std::string initname(mangle_sym->mangle());
79 initname.append(".rtti.void[].data"); 79 initname.append(".rtti.voidarr.data");
80 80
81 LLGlobalVariable* G = new llvm::GlobalVariable( 81 LLGlobalVariable* G = new llvm::GlobalVariable(
82 CI->getType(), true, TYPEINFO_LINKAGE_TYPE, CI, initname, gIR->module); 82 CI->getType(), true, TYPEINFO_LINKAGE_TYPE, CI, initname, gIR->module);
83 G->setAlignment(valtype->alignsize()); 83 G->setAlignment(valtype->alignsize());
84 84
85 push_void_array(getTypePaddedSize(CI->getType()), G); 85 push_void_array(getTypePaddedSize(CI->getType()), G);
86 } 86 }
87 87
88 void RTTIBuilder::push_array(llvm::Constant * CI, uint64_t dim, Type* valtype, Dsymbol * mangle_sym) 88 void RTTIBuilder::push_array(llvm::Constant * CI, uint64_t dim, Type* valtype, Dsymbol * mangle_sym)
89 { 89 {
90 std::string initname(mangle_sym?mangle_sym->mangle():".ldc"); 90 std::string tmpStr(valtype->arrayOf()->toChars());
91 tmpStr.erase( remove( tmpStr.begin(), tmpStr.end(), '[' ), tmpStr.end() );
92 tmpStr.erase( remove( tmpStr.begin(), tmpStr.end(), ']' ), tmpStr.end() );
93 tmpStr.append("arr");
94
95 std::string initname(mangle_sym?mangle_sym->mangle():".ldc");
91 initname.append(".rtti."); 96 initname.append(".rtti.");
92 initname.append(valtype->arrayOf()->toChars()); 97 initname.append(tmpStr);
93 initname.append(".data"); 98 initname.append(".data");
94 99
95 LLGlobalVariable* G = new llvm::GlobalVariable( 100 LLGlobalVariable* G = new llvm::GlobalVariable(
96 CI->getType(), true, TYPEINFO_LINKAGE_TYPE, CI, initname, gIR->module); 101 CI->getType(), true, TYPEINFO_LINKAGE_TYPE, CI, initname, gIR->module);
97 G->setAlignment(valtype->alignsize()); 102 G->setAlignment(valtype->alignsize());