mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
llvm: update to llvm-3.7.0
This commit is contained in:
parent
d9e20305cb
commit
a454250a49
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="llvm"
|
PKG_NAME="llvm"
|
||||||
PKG_VERSION="3.6.1"
|
PKG_VERSION="3.7.0"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -1,49 +0,0 @@
|
|||||||
The shared-object build for llvm (i.e. libLLVM-3.5svn.so + tools)
|
|
||||||
currently breaks on linux when linking opt. This patch is an attempt
|
|
||||||
to fix that.
|
|
||||||
|
|
||||||
-- Sanjoy
|
|
||||||
-------------- next part --------------
|
|
||||||
commit 080fb498017d17af2e4d7563608c7d8a848f20da
|
|
||||||
Author: Sanjoy Das <sanjoy at azulsystems.com>
|
|
||||||
Date: Thu Jun 19 15:38:02 2014 -0700
|
|
||||||
|
|
||||||
Fix the --enable-shared build.
|
|
||||||
|
|
||||||
Currently a build configured with ./configure --enable-shared breaks
|
|
||||||
with an undefined "llvm::cl::parser<llvm::PassInfo
|
|
||||||
const*>::getOption(unsigned int) const" symbol when linking opt. This
|
|
||||||
body for this symbol gets emitted into Pass.o (along with the destructor
|
|
||||||
for PassNameParser), but gets linked into libLLVM-3.5svn.so with local
|
|
||||||
visibility, causing the link error.
|
|
||||||
|
|
||||||
This fix uses the existing EXTERN_TEMPLATE machinery to force a globally
|
|
||||||
visible definition for the functions in parser<const PassInfo *> into
|
|
||||||
Pass.o.
|
|
||||||
|
|
||||||
diff --git a/include/llvm/IR/LegacyPassNameParser.h b/include/llvm/IR/LegacyPassNameParser.h
|
|
||||||
index e2e4912..a07e3fd 100644
|
|
||||||
--- a/include/llvm/IR/LegacyPassNameParser.h
|
|
||||||
+++ b/include/llvm/IR/LegacyPassNameParser.h
|
|
||||||
@@ -95,6 +95,8 @@ private:
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
+EXTERN_TEMPLATE_INSTANTIATION(class cl::parser<const PassInfo *>);
|
|
||||||
+
|
|
||||||
///===----------------------------------------------------------------------===//
|
|
||||||
/// FilteredPassNameParser class - Make use of the pass registration
|
|
||||||
/// mechanism to automatically add a command line argument to opt for
|
|
||||||
diff --git a/lib/IR/Pass.cpp b/lib/IR/Pass.cpp
|
|
||||||
index 91d86ae..00ce223 100644
|
|
||||||
--- a/lib/IR/Pass.cpp
|
|
||||||
+++ b/lib/IR/Pass.cpp
|
|
||||||
@@ -234,6 +234,8 @@ PassNameParser::~PassNameParser() {
|
|
||||||
// attempting to remove the registration listener is an error.
|
|
||||||
}
|
|
||||||
|
|
||||||
+TEMPLATE_INSTANTIATION(class cl::parser<const PassInfo *>);
|
|
||||||
+
|
|
||||||
//===----------------------------------------------------------------------===//
|
|
||||||
// AnalysisUsage Class Implementation
|
|
||||||
//
|
|
Loading…
x
Reference in New Issue
Block a user