Skip to content

Commit 07b4249

Browse files
committed
Merge develop into master with latest fixes
2 parents ddccbbb + bcd7946 commit 07b4249

18 files changed

+275
-180
lines changed

.travis.yml

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,6 @@ matrix:
2222
# Note that we only use the memory checker on the main configuration to
2323
# speed up Travis builds.
2424
##########################################################################
25-
# Clang 3.5
26-
- env: UNIT_TESTS=true COMPILER=clang++-3.5 BOOST_VERSION=default ENABLE_MEMCHECK=true
27-
addons: { apt: { packages: ["clang-3.5", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-precise-3.5"] } }
28-
29-
# Clang 3.6
30-
- env: UNIT_TESTS=true COMPILER=clang++-3.6 BOOST_VERSION=default ENABLE_MEMCHECK=true
31-
addons: { apt: { packages: ["clang-3.6", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-precise-3.6"] } }
32-
33-
# Clang 3.7
34-
- env: UNIT_TESTS=true COMPILER=clang++-3.7 BOOST_VERSION=default ENABLE_MEMCHECK=true
35-
addons: { apt: { packages: ["clang-3.7", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-precise-3.7"] } }
36-
37-
# Clang 3.8
38-
- env: UNIT_TESTS=true COMPILER=clang++-3.8 BOOST_VERSION=default ENABLE_MEMCHECK=true
39-
addons: { apt: { packages: ["clang-3.8", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-precise-3.8"] } }
40-
4125
# Clang 3.9
4226
- env: UNIT_TESTS=true COMPILER=clang++-3.9 BOOST_VERSION=default ENABLE_MEMCHECK=true
4327
addons: { apt: { packages: ["clang-3.9", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-3.9"] } }
@@ -70,11 +54,6 @@ matrix:
7054
- env: UNIT_TESTS=true COMPILER=g++-8 BOOST_VERSION=default ENABLE_MEMCHECK=true
7155
addons: { apt: { packages: ["g++-8", "valgrind"], sources: ["ubuntu-toolchain-r-test"] } }
7256

73-
# Xcode 8.3
74-
- os: osx
75-
env: UNIT_TESTS=true BOOST_VERSION=default
76-
osx_image: xcode8.3
77-
7857
# Xcode 9.1
7958
- os: osx
8059
env: UNIT_TESTS=true BOOST_VERSION=default
@@ -219,11 +198,7 @@ install:
219198
############################################################################
220199
- |
221200
if [[ "${CXX%%+*}" == "clang" ]]; then
222-
if [[ "${CXX}" == "clang++-3.5" ]]; then LLVM_VERSION="3.5.2";
223-
elif [[ "${CXX}" == "clang++-3.6" ]]; then LLVM_VERSION="3.6.2";
224-
elif [[ "${CXX}" == "clang++-3.7" ]]; then LLVM_VERSION="3.7.1";
225-
elif [[ "${CXX}" == "clang++-3.8" ]]; then LLVM_VERSION="3.8.1";
226-
elif [[ "${CXX}" == "clang++-3.9" ]]; then LLVM_VERSION="3.9.1";
201+
if [[ "${CXX}" == "clang++-3.9" ]]; then LLVM_VERSION="3.9.1";
227202
elif [[ "${CXX}" == "clang++-4.0" ]]; then LLVM_VERSION="4.0.1";
228203
elif [[ "${CXX}" == "clang++-5.0" ]]; then LLVM_VERSION="5.0.2";
229204
elif [[ "${CXX}" == "clang++-6.0" ]]; then LLVM_VERSION="6.0.1";

RELEASE_NOTES.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
## These are the Release notes for the next release of Hana
2-
- Official support for Xcode 6 and 7 has been dropped. The library should still
3-
work with these compilers, however they are not being tested regularly anymore,
4-
so they are not officially supported.
2+
- Official support for Xcode 6, 7 and 8, and LLVM Clang 3.5, 3.6, 3.7, and 3.8
3+
has has been dropped. The library should still work with these compilers,
4+
however they are not being tested regularly anymore, so they are not
5+
officially supported.

benchmark/including/compile.erb.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<%
2-
def avg(xs)
2+
def self.avg(xs)
33
xs.inject(0, :+) / xs.length
44
end
55

6-
def amortize(file)
6+
def self.amortize(file)
77
# We remove the first one to mitigate cache effects
88
times = time_compilation(file, 6.times)
99
times.shift

benchmark/make/compile.erb.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,10 @@
2323
"data": <%= time_compilation('compile.std.array.erb.cpp', hana) %>
2424
}
2525

26-
<% if not ("@CMAKE_CXX_COMPILER_ID@" == "Clang" &&
27-
"@CMAKE_CXX_COMPILER_VERSION@" == "3.5.0") %>
2826
, {
2927
"name": "std::tuple",
3028
"data": <%= time_compilation('compile.std.tuple.erb.cpp', std) %>
3129
}
32-
<% end %>
3330

3431
<% if cmake_bool("@Boost_FOUND@") %>
3532
, {

benchmark/sort/compile.erb.json

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<%
2+
hana = [0, 1, 2, 5, 10, 20, 50, 100]
3+
%>
4+
5+
{
6+
"title": {
7+
"text": "Compile-time behavior of sort"
8+
},
9+
"series": [
10+
{
11+
"name": "hana::tuple::sorted",
12+
"data": <%= time_compilation('compile.hana.tuple.sorted.erb.cpp', hana) %>
13+
},
14+
{
15+
"name": "hana::tuple::reversed",
16+
"data": <%= time_compilation('compile.hana.tuple.reversed.erb.cpp', hana) %>
17+
},
18+
{
19+
"name": "hana::tuple::rand",
20+
"data": <%= time_compilation('compile.hana.tuple.rand.erb.cpp', hana) %>
21+
},
22+
{
23+
"name": "hana::tuple::sorted_but_first",
24+
"data": <%= time_compilation('compile.hana.tuple.sorted_but_first.erb.cpp', hana) %>
25+
},
26+
{
27+
"name": "hana::tuple::sorted_but_last",
28+
"data": <%= time_compilation('compile.hana.tuple.sorted_but_last.erb.cpp', hana) %>
29+
}
30+
]
31+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Copyright Louis Dionne 2013-2017
2+
// Distributed under the Boost Software License, Version 1.0.
3+
// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
4+
5+
#include <boost/hana/tuple.hpp>
6+
#include <boost/hana/sort.hpp>
7+
8+
int main() {
9+
constexpr auto tuple = boost::hana::make_tuple(
10+
<%= (1..input_size).to_a.shuffle.map { |n| "boost::hana::int_c<#{n}>" }.join(', ') %>
11+
);
12+
constexpr auto result = boost::hana::sort(tuple);
13+
(void)result;
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Copyright Louis Dionne 2013-2017
2+
// Distributed under the Boost Software License, Version 1.0.
3+
// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
4+
5+
#include <boost/hana/tuple.hpp>
6+
#include <boost/hana/sort.hpp>
7+
8+
int main() {
9+
constexpr auto tuple = boost::hana::make_tuple(
10+
<%= (1..input_size).to_a.reverse.map { |n| "boost::hana::int_c<#{n}>" }.join(', ') %>
11+
);
12+
constexpr auto result = boost::hana::sort(tuple);
13+
(void)result;
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Copyright Louis Dionne 2013-2017
2+
// Distributed under the Boost Software License, Version 1.0.
3+
// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
4+
5+
#include <boost/hana/tuple.hpp>
6+
#include <boost/hana/sort.hpp>
7+
8+
int main() {
9+
constexpr auto tuple = boost::hana::make_tuple(
10+
<%= (1..input_size).map { |n| "boost::hana::int_c<#{n}>" }.join(', ') %>
11+
);
12+
constexpr auto result = boost::hana::sort(tuple);
13+
(void)result;
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Copyright Louis Dionne 2013-2017
2+
// Distributed under the Boost Software License, Version 1.0.
3+
// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
4+
5+
#include <boost/hana/tuple.hpp>
6+
#include <boost/hana/sort.hpp>
7+
8+
int main() {
9+
constexpr auto tuple = boost::hana::make_tuple(
10+
<%= ([input_size+1] + (1..input_size).to_a).map { |n| "boost::hana::int_c<#{n}>" }.join(', ') %>
11+
);
12+
constexpr auto result = boost::hana::sort(tuple);
13+
(void)result;
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Copyright Louis Dionne 2013-2017
2+
// Distributed under the Boost Software License, Version 1.0.
3+
// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
4+
5+
#include <boost/hana/tuple.hpp>
6+
#include <boost/hana/sort.hpp>
7+
8+
int main() {
9+
constexpr auto tuple = boost::hana::make_tuple(
10+
<%= ((1..input_size).to_a + [0]).map { |n| "boost::hana::int_c<#{n}>" }.join(', ') %>
11+
);
12+
constexpr auto result = boost::hana::sort(tuple);
13+
(void)result;
14+
}

0 commit comments

Comments
 (0)