Private linkage support for PPC / Darwin.
authorEvan Cheng <evan.cheng@apple.com>
Sun, 25 Jan 2009 06:32:01 +0000 (06:32 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Sun, 25 Jan 2009 06:32:01 +0000 (06:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62955 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
test/CodeGen/PowerPC/private.ll

index 362e8d19da6ccab0afd545d7e2621ecbd5c8a296..5fe77be040000ea0c1854d25a15f9aa27d850679 100644 (file)
@@ -776,6 +776,7 @@ bool PPCDarwinAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
 
   switch (F->getLinkage()) {
   default: assert(0 && "Unknown linkage type!");
+  case Function::PrivateLinkage:
   case Function::InternalLinkage:  // Symbols default to internal.
     break;
   case Function::ExternalLinkage:
@@ -959,6 +960,7 @@ void PPCDarwinAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
     O << "\t.globl " << name << '\n';
     // FALL THROUGH
    case GlobalValue::InternalLinkage:
+   case GlobalValue::PrivateLinkage:
     break;
    default:
     cerr << "Unknown linkage type!";
index e25d2936b71e8089cb4571dcd7709be43b0dc910..0f0d13492a08835a58861b93f27f0b04e51e3157 100644 (file)
@@ -5,6 +5,11 @@
 ; RUN: grep bl.*\.Lfoo %t
 ; RUN: grep .Lbaz: %t
 ; RUN: grep lis.*\.Lbaz %t
+; RUN: llvm-as < %s | llc -mtriple=powerpc-apple-darwin > %t
+; RUN: grep L_foo: %t
+; RUN: grep bl.*\L_foo %t
+; RUN: grep L_baz: %t
+; RUN: grep lis.*\L_baz %t
 
 declare void @foo()