Commit d8240306 authored by Marius Wachtler's avatar Marius Wachtler Committed by GitHub

Merge pull request #1350 from Daetalus/building_issue

Let Pyston compatible with GCC 5.x
parents 2783ab4e b64c5252
......@@ -51,7 +51,6 @@ addons:
- libtool
- ninja-build
- python-dev
- texlive-extra-utils
- libcurl4-openssl-dev
- libxml2-dev
- libxslt1-dev
......
......@@ -187,6 +187,7 @@ set(LIBUNWIND_PATCHES
${CMAKE_SOURCE_DIR}/libunwind_patches/0001-pyston-add-lots-of-comments.patch
${CMAKE_SOURCE_DIR}/libunwind_patches/0002-pyston-stop-x86_64-setcontext-restoring-uninitialize.patch
${CMAKE_SOURCE_DIR}/libunwind_patches/0003-use-a-sorted-array-for-registered-objects-and-do-a-b.patch
${CMAKE_SOURCE_DIR}/libunwind_patches/0004-disable-libunwind-doc-generation.patch
${CMAKE_SOURCE_DIR}/libunwind_patches/9999-is-patched-marker.patch
)
......
......@@ -14,18 +14,18 @@ sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test
sudo add-apt-repository --yes ppa:kubuntu-ppa/backports
sudo apt-get -qq update
sudo apt-get install -yq git cmake ninja-build ccache libncurses5-dev liblzma-dev libreadline-dev libgmp3-dev libmpfr-dev autoconf libtool python-dev texlive-extra-utils clang-3.4 libstdc++-4.8-dev libssl-dev libsqlite3-dev pkg-config libbz2-dev
sudo apt-get install -yq git cmake ninja-build ccache libncurses5-dev liblzma-dev libreadline-dev libgmp3-dev libmpfr-dev autoconf libtool python-dev clang-3.4 libstdc++-4.8-dev libssl-dev libsqlite3-dev pkg-config libbz2-dev
```
**Ubuntu 14.04/14.10/15.04**
```
sudo apt-get install -yq automake git cmake ninja-build ccache libncurses5-dev liblzma-dev libreadline-dev libgmp3-dev libmpfr-dev autoconf libtool python-dev texlive-extra-utils clang libssl-dev libsqlite3-dev pkg-config libbz2-dev
sudo apt-get install -yq automake git cmake ninja-build ccache libncurses5-dev liblzma-dev libreadline-dev libgmp3-dev libmpfr-dev autoconf libtool python-dev clang libssl-dev libsqlite3-dev pkg-config libbz2-dev
```
**Fedora 21**
```
sudo yum install git make cmake clang gcc gcc-c++ ccache ninja-build xz-devel automake libtool gmp-devel mpfr-devel readline-devel openssl-devel sqlite-devel python-devel zlib-devel bzip2-devel ncurses-devel texlive-latex2man libffi-devel
sudo yum install git make cmake clang gcc gcc-c++ ccache ninja-build xz-devel automake libtool gmp-devel mpfr-devel readline-devel openssl-devel sqlite-devel python-devel zlib-devel bzip2-devel ncurses-devel libffi-devel
```
### Additional prerequisites for running the integration tests
......
From 6ec1c9e847dda96f0acda8d63681cbd50f5d2e2b Mon Sep 17 00:00:00 2001
From: Boxiang Sun <daetalusun@gmail.com>
Date: Wed, 31 Aug 2016 17:00:49 +0800
Subject: [PATCH] disable libunwind doc generation.
Currently we don't need libunwind to generate documentation. This can
avoid to force use install texlive.
---
doc/Makefile.am | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 2534066..3a516c3 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -49,8 +49,8 @@ EXTRA_DIST = NOTES libunwind.trans \
_U_dyn_cancel.tex \
$(man3_MANS)
-L2M = latex2man
-L2P = pdflatex
+L2M = echo
+L2P = echo
L2M_CMD = $(L2M) -t $(srcdir)/libunwind.trans
L2H_CMD = $(L2M) -H -t $(srcdir)/libunwind.trans
--
1.9.1
......@@ -258,7 +258,7 @@ private:
assert(name->vreg == -1);
// skip
} else {
RELEASE_ASSERT(0, "%d", name->lookup_type);
RELEASE_ASSERT(0, "%d", static_cast<int>(name->lookup_type));
}
break;
}
......
......@@ -323,7 +323,13 @@ private:
public:
template <typename Functor> SmallFunction(Functor&& f) noexcept {
static_assert(std::has_trivial_copy_constructor<typename std::remove_reference<Functor>::type>::value,
// workaround missing "is_trivially_copy_constructible" in g++ < 5.0
#if __GNUG__ && __GNUC__ < 5
#define IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T) std::has_trivial_copy_constructor<T>::value
#else
#define IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T) std::is_trivially_copy_constructible<T>::value
#endif
static_assert(IS_TRIVIALLY_COPY_CONSTRUCTIBLE(typename std::remove_reference<Functor>::type),
"SmallFunction currently only works with simple types");
static_assert(std::is_trivially_destructible<typename std::remove_reference<Functor>::type>::value,
"SmallFunction currently only works with simple types");
......
......@@ -266,7 +266,7 @@ CompiledFunction* compileFunction(FunctionMetadata* f, FunctionSpecialization* s
break;
}
default:
RELEASE_ASSERT(0, "%d", effort);
RELEASE_ASSERT(0, "%d", static_cast<int>(effort));
}
// free the bjit code if this is not a OSR compilation
......
......@@ -140,7 +140,7 @@ public:
void assertReturnConvention(ReturnConvention required_convention) {
assert(isSuccessful());
ASSERT(this->out_return_convention == required_convention, "user asked for convention %d but got %d",
required_convention, this->out_return_convention);
static_cast<int>(required_convention), static_cast<int>((this->out_return_convention)));
#ifndef NDEBUG
return_convention_checked = true;
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment