diff options
Diffstat (limited to 'llvm/lib/Target/X86/X86AsmPrinter.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86AsmPrinter.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.cpp b/llvm/lib/Target/X86/X86AsmPrinter.cpp index 76037f13bd5..7e7dc8861a7 100644 --- a/llvm/lib/Target/X86/X86AsmPrinter.cpp +++ b/llvm/lib/Target/X86/X86AsmPrinter.cpp @@ -155,9 +155,14 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) { unsigned Size = TD->getTypeSize(Type); unsigned Align = TD->getPreferredAlignmentLog(I); - if (I->hasHiddenVisibility()) + if (I->hasHiddenVisibility()) { if (const char *Directive = TAI->getHiddenDirective()) O << Directive << name << "\n"; + } else if (I->hasProtectedVisibility()) { + if (const char *Directive = TAI->getProtectedDirective()) + O << Directive << name << "\n"; + } + if (Subtarget->isTargetELF()) O << "\t.type " << name << ",@object\n"; |

