aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2006-12-05 17:00:17 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2006-12-05 17:00:17 +0000
commit204b0c2ca06d451479a62aeca4822f8e1a942ccf (patch)
tree5eb3a36f58a5915ff1f2f63d50500871ec874e89
parenteae6ce5df427db7c382b75e336b3f90c7b427bae (diff)
add support for weak linkage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32222 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/ARMAsmPrinter.cpp2
-rw-r--r--test/CodeGen/ARM/weak.ll9
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMAsmPrinter.cpp b/lib/Target/ARM/ARMAsmPrinter.cpp
index 51a0f883d2..ba5cdb1940 100644
--- a/lib/Target/ARM/ARMAsmPrinter.cpp
+++ b/lib/Target/ARM/ARMAsmPrinter.cpp
@@ -128,7 +128,7 @@ bool ARMAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
break;
case Function::WeakLinkage:
case Function::LinkOnceLinkage:
- assert(0 && "Not implemented");
+ O << "\t.weak\t" << CurrentFnName << "\n";
break;
}
EmitAlignment(2, F);
diff --git a/test/CodeGen/ARM/weak.ll b/test/CodeGen/ARM/weak.ll
new file mode 100644
index 0000000000..682da8c42b
--- /dev/null
+++ b/test/CodeGen/ARM/weak.ll
@@ -0,0 +1,9 @@
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm &&
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep .weak
+
+implementation ; Functions:
+
+weak uint %f() {
+entry:
+ unreachable
+}