Mercurial > projects > ldc
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()); |