Provide anchor for compiler extensions
authorSerge Guelton <sguelton@redhat.com>
Thu, 25 Jun 2020 09:57:01 +0000 (05:57 -0400)
committerserge-sans-paille <sguelton@redhat.com>
Tue, 8 Sep 2020 08:33:38 +0000 (10:33 +0200)
This patch is cherry-picked from 04b0a4e22e3b4549f9d241f8a9f37eebecb62a31, and
amended to prevent an undefined reference to `llvm::EnableABIBreakingChecks'

llvm/lib/Extensions/Extensions.cpp
llvm/lib/Extensions/LLVMBuild.txt

index e69de29..2fe537f 100644 (file)
@@ -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"
+               }
+       }
+}
index 2005830..7a98c8f 100644 (file)
@@ -18,4 +18,4 @@
 type = Library
 name = Extensions
 parent = Libraries
-required_libraries =
+required_libraries = Support