aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSerge Guelton <sguelton@redhat.com>2020-06-25 05:57:01 -0400
committerserge-sans-paille <sguelton@redhat.com>2020-09-08 10:33:38 +0200
commit38778e1087b2825e91b07ce4570c70815b49dcdc (patch)
treef82e47e18921c7a3e64a030e46faf2939814c785
parent2168dbf4cc766dfb552076d9b1e84b00122b7993 (diff)
downloadllvm-38778e1087b2825e91b07ce4570c70815b49dcdc.zip
llvm-38778e1087b2825e91b07ce4570c70815b49dcdc.tar.gz
llvm-38778e1087b2825e91b07ce4570c70815b49dcdc.tar.bz2
Provide anchor for compiler extensions
This patch is cherry-picked from 04b0a4e22e3b4549f9d241f8a9f37eebecb62a31, and amended to prevent an undefined reference to `llvm::EnableABIBreakingChecks'
-rw-r--r--llvm/lib/Extensions/Extensions.cpp15
-rw-r--r--llvm/lib/Extensions/LLVMBuild.txt2
2 files changed, 16 insertions, 1 deletions
diff --git a/llvm/lib/Extensions/Extensions.cpp b/llvm/lib/Extensions/Extensions.cpp
index e69de29..2fe537f 100644
--- a/llvm/lib/Extensions/Extensions.cpp
+++ b/llvm/lib/Extensions/Extensions.cpp
@@ -0,0 +1,15 @@
+#include "llvm/Passes/PassPlugin.h"
+#define HANDLE_EXTENSION(Ext) \
+ llvm::PassPluginLibraryInfo get##Ext##PluginInfo();
+#include "llvm/Support/Extension.def"
+
+
+namespace llvm {
+ namespace details {
+ void extensions_anchor() {
+#define HANDLE_EXTENSION(Ext) \
+ static auto Ext = get##Ext##PluginInfo();
+#include "llvm/Support/Extension.def"
+ }
+ }
+}
diff --git a/llvm/lib/Extensions/LLVMBuild.txt b/llvm/lib/Extensions/LLVMBuild.txt
index 2005830..7a98c8f 100644
--- a/llvm/lib/Extensions/LLVMBuild.txt
+++ b/llvm/lib/Extensions/LLVMBuild.txt
@@ -18,4 +18,4 @@
type = Library
name = Extensions
parent = Libraries
-required_libraries =
+required_libraries = Support