Wrap some long lines, fix emission of weak global variables

llvm-svn: 22517
This commit is contained in:
Chris Lattner 2005-07-26 19:03:27 +00:00
parent cd48821a69
commit 2e2dd83e7d

View File

@ -474,11 +474,9 @@ bool DarwinAsmPrinter::doFinalization(Module &M) {
<< ".section __DATA,__datacoal_nt,coalesced,no_toc\n"; << ".section __DATA,__datacoal_nt,coalesced,no_toc\n";
LinkOnceStubs.insert(name); LinkOnceStubs.insert(name);
break; break;
case GlobalValue::WeakLinkage: // FIXME: Verify correct for weak. case GlobalValue::WeakLinkage:
// Nonnull linkonce -> weak O << ".weak_definition " << name << '\n'
O << "\t.weak " << name << "\n"; << ".private_extern " << name << '\n';
SwitchSection(O, CurSection, "");
O << "\t.section\t.llvm.linkonce.d." << name << ",\"aw\",@progbits\n";
break; break;
case GlobalValue::AppendingLinkage: case GlobalValue::AppendingLinkage:
// FIXME: appending linkage variables should go into a section of // FIXME: appending linkage variables should go into a section of
@ -647,7 +645,8 @@ bool AIXAsmPrinter::doInitialization(Module &M) {
<< "\t.csect .text[PR]\n"; << "\t.csect .text[PR]\n";
// Print out module-level global variables // Print out module-level global variables
for (Module::const_global_iterator I = M.global_begin(), E = M.global_end(); I != E; ++I) { for (Module::const_global_iterator I = M.global_begin(), E = M.global_end();
I != E; ++I) {
if (!I->hasInitializer()) if (!I->hasInitializer())
continue; continue;
@ -666,7 +665,8 @@ bool AIXAsmPrinter::doInitialization(Module &M) {
// Output labels for globals // Output labels for globals
if (M.global_begin() != M.global_end()) O << "\t.toc\n"; if (M.global_begin() != M.global_end()) O << "\t.toc\n";
for (Module::const_global_iterator I = M.global_begin(), E = M.global_end(); I != E; ++I) { for (Module::const_global_iterator I = M.global_begin(), E = M.global_end();
I != E; ++I) {
const GlobalVariable *GV = I; const GlobalVariable *GV = I;
// Do not output labels for unused variables // Do not output labels for unused variables
if (GV->isExternal() && GV->use_begin() == GV->use_end()) if (GV->isExternal() && GV->use_begin() == GV->use_end())
@ -688,7 +688,8 @@ bool AIXAsmPrinter::doInitialization(Module &M) {
bool AIXAsmPrinter::doFinalization(Module &M) { bool AIXAsmPrinter::doFinalization(Module &M) {
const TargetData &TD = TM.getTargetData(); const TargetData &TD = TM.getTargetData();
// Print out module-level global variables // Print out module-level global variables
for (Module::const_global_iterator I = M.global_begin(), E = M.global_end(); I != E; ++I) { for (Module::const_global_iterator I = M.global_begin(), E = M.global_end();
I != E; ++I) {
if (I->hasInitializer() || I->hasExternalLinkage()) if (I->hasInitializer() || I->hasExternalLinkage())
continue; continue;