summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-01-25 18:58:59 +0000
committerChris Lattner <sabre@nondot.org>2010-01-25 18:58:59 +0000
commit601ef33c77349054b35434d9f53893068707c8f0 (patch)
tree3fbbd6ce80d5621f57bea050a28579e580c5f28b /llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
parentbc696445e17308d64e579589642cac29dcbac87f (diff)
downloadbcm5719-llvm-601ef33c77349054b35434d9f53893068707c8f0.tar.gz
bcm5719-llvm-601ef33c77349054b35434d9f53893068707c8f0.zip
mcstreamerize .file and .file. This also fixes an issue where the
normal form of .file would fail if the filename had a weird character in it. llvm-svn: 94437
Diffstat (limited to 'llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp')
-rw-r--r--llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp b/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
index 85ff09a3be5..b3654971a52 100644
--- a/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
+++ b/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
@@ -96,6 +96,9 @@ void X86AsmPrinter::emitFunctionHeader(const MachineFunction &MF) {
O << MAI->getWeakDefDirective() << *CurrentFnSym << '\n';
} else if (Subtarget->isTargetCygMing()) {
OutStreamer.EmitSymbolAttribute(CurrentFnSym, MCSA_Global);
+ // FIXME: linkonce should be a section attribute, handled by COFF Section
+ // assignment.
+ // http://sourceware.org/binutils/docs-2.20/as/Linkonce.html#Linkonce
O << "\t.linkonce discard\n";
} else {
O << "\t.weak\t" << *CurrentFnSym << '\n';
@@ -105,7 +108,7 @@ void X86AsmPrinter::emitFunctionHeader(const MachineFunction &MF) {
printVisibility(CurrentFnSym, F->getVisibility());
- if (Subtarget->isTargetELF()) {
+ if (MAI->hasDotTypeDotSizeDirective()) {
OutStreamer.EmitSymbolAttribute(CurrentFnSym, MCSA_ELF_TypeFunction);
} else if (Subtarget->isTargetCygMing()) {
O << "\t.def\t " << *CurrentFnSym;
OpenPOWER on IntegriCloud