[llvm] 38778e1 - Provide anchor for compiler extensions
via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 8 01:34:46 PDT 2020
Author: Serge Guelton
Date: 2020-09-08T10:33:38+02:00
New Revision: 38778e1087b2825e91b07ce4570c70815b49dcdc
URL: https://github.com/llvm/llvm-project/commit/38778e1087b2825e91b07ce4570c70815b49dcdc
DIFF: https://github.com/llvm/llvm-project/commit/38778e1087b2825e91b07ce4570c70815b49dcdc.diff
LOG: Provide anchor for compiler extensions
This patch is cherry-picked from 04b0a4e22e3b4549f9d241f8a9f37eebecb62a31, and
amended to prevent an undefined reference to `llvm::EnableABIBreakingChecks'
Added:
Modified:
llvm/lib/Extensions/Extensions.cpp
llvm/lib/Extensions/LLVMBuild.txt
Removed:
################################################################################
diff --git a/llvm/lib/Extensions/Extensions.cpp b/llvm/lib/Extensions/Extensions.cpp
index e69de29bb2d1..2fe537f91876 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 2005830a4dd7..7a98c8f68051 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
More information about the llvm-commits
mailing list