Compare commits

..

10 Commits

Author SHA1 Message Date
Daniel James
dfa8fa5d91 Merge branch 'develop' 2017-11-11 18:40:05 +00:00
Daniel James
8098c5b302 1.66.0 release notes 2017-11-10 15:16:39 +00:00
Daniel James
7f3a063064 Merge branch 'develop' 2017-10-27 11:06:13 +01:00
Daniel James
d803b3bdc0 Remove schema stuff, as it doesn't work 2017-10-02 23:31:54 +01:00
Daniel James
170558e4fa Initial explicit-failures-markup.xml 2017-10-02 13:42:23 +01:00
Daniel James
4a4cb9f7a4 Use is_zero workaround on clang
The same warning appears on clang for windows, but the workaround wasn't
used because the gcc macro wasn't defined.
2017-09-19 12:42:01 +01:00
Daniel James
7a6c0f20d5 Merge branch 'develop'
Travis improvements.
2017-09-19 11:08:15 +01:00
Daniel James
8bdfb0cf90 Use 1.65.1 in travis 2017-09-08 21:40:16 +01:00
Daniel James
3ee110f82c Download branch snapshot from cron jobs 2017-08-24 22:03:19 +01:00
Daniel James
f7ad177dae Use boost 1.65 in travis
Also copied some other things that I've found to work well.
2017-08-24 10:24:52 +01:00
4 changed files with 140 additions and 15 deletions

View File

@@ -11,32 +11,61 @@ language: c++
addons:
apt:
packages:
- libboost-dev
- libboost-tools-dev
matrix:
include:
- compiler: gcc
env: BJAM_TOOLSET=gcc-std03
env: |
USER_CONFIG="using gcc : : g++-4.8 -Werror --std=c++03 ;"
- compiler: gcc
env: BJAM_TOOLSET=gcc-std11
env: |
USER_CONFIG="using gcc : : g++-4.8 -Werror --std=c++11 ;"
- compiler: clang
env: BJAM_TOOLSET=clang-std03
env: |
USER_CONFIG="using clang : : clang++ -Werror --std=c++03 ;"
- compiler: clang
env: BJAM_TOOLSET=clang-std11
env: |
USER_CONFIG="using clang : : clang++ -Werror --std=c++11 ;"
- compiler: clang
env: BJAM_TOOLSET=clang-pretend_no_auto_ptr_etc
env: |
USER_CONFIG="using clang : : clang++ -Werror --std=c++11 -D_HAS_AUTO_PTR_ETC=0 ;"
before_script:
- |
echo "using gcc : std03 : g++-4.8 -Werror --std=c++03 ;" > ~/user-config.jam
echo "using gcc : std11 : g++-4.8 -Werror --std=c++11 ;" >> ~/user-config.jam
echo "using clang : std03 : clang++ -Werror --std=c++03 ;" >> ~/user-config.jam
echo "using clang : std11 : clang++ -Werror --std=c++11 ;" >> ~/user-config.jam
echo "using clang : pretend_no_auto_ptr_etc : clang++ -Werror --std=c++11 -D_HAS_AUTO_PTR_ETC=0 ;" >> ~/user-config.jam
- cat ~/user-config.jam
- export BOOST_VERSION=1.65.1
- export BOOST_FILENAME=boost_1_65_1
- export BOOST_ROOT=${HOME}/boost
- cd ${TRAVIS_BUILD_DIR}
- touch Jamroot.jam
- cd $HOME
- echo $USER_CONFIG > ~/user-config.jam
- cat ~/user-config.jam
- |
mkdir $HOME/download
mkdir $HOME/extract
cd $HOME/download
if [ "$TRAVIS_EVENT_TYPE" == "cron" ]
then
if [ "$TRAVIS_BRANCH" == "master" ]
then
snapshot_branch=master
else
snapshot_branch=develop
fi
download_url=$(curl https://api.bintray.com/packages/boostorg/$snapshot_branch/snapshot/files |
python -c "import os.path, sys, json; x = json.load(sys.stdin); print '\n'.join(a['path'] for a in x if os.path.splitext(a['path'])[1] == '.bz2')" |
head -n 1 |
sed "s/^/http:\/\/dl.bintray.com\/boostorg\/$snapshot_branch\//")
else
download_url=https://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/${BOOST_FILENAME}.tar.bz2/download
fi
echo "Downloading ${download_url}"
wget -O boost.tar.bz2 $download_url
cd $HOME/extract
tar -xjf $HOME/download/boost.tar.bz2
mv * ${BOOST_ROOT}
- rm -r ${BOOST_ROOT}/boost/functional
script:
- cd ${TRAVIS_BUILD_DIR}/test
- bjam -q ${BJAM_TOOLSET} include=${TRAVIS_BUILD_DIR}/include
- bjam -q ${BJAM_TOOLSET} include=${BOOST_ROOT} include=${TRAVIS_BUILD_DIR}/include

View File

@@ -195,4 +195,10 @@
* Support for `char16_t`, `char32_t`, `u16string`, `u32string`
[h2 Boost 1.66.0]
* Avoid float comparison warning when using Clang - this workaround was
already in place for GCC, and was used when Clang pretends to be GCC,
but the warning was appearing when running Clang in other contexts.
[endsect]

View File

@@ -241,7 +241,7 @@ namespace boost
template <class T>
inline bool is_zero(T v)
{
#if !defined(__GNUC__)
#if !defined(__GNUC__) && !defined(__clang__)
return v == 0;
#else
// GCC's '-Wfloat-equal' will complain about comparing

View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<explicit-failures-markup>
<!-- functional/hash -->
<library name="functional/hash">
<mark-expected-failures>
<test name="hash_value_array_test"/>
<toolset name="msvc-6.5*"/>
<toolset name="msvc-7.0*"/>
<note author="Daniel James">
hash_value is not overloaded for arrays for older versions
of Visual C++. There is a work around so that
boost::hash&lt;T[N]&gt;, boost::hash_combine and boost::hash_range
work.
</note>
</mark-expected-failures>
<mark-expected-failures>
<test name="hash_function_pointer_test"/>
<toolset name="msvc-6.5*"/>
<toolset name="msvc-7.0*"/>
<note refid="2" author="Daniel James"/>
</mark-expected-failures>
<mark-expected-failures>
<test name="hash_function_pointer_test"/>
<toolset name="sun-5.7"/>
<toolset name="sun-5.8"/>
<toolset name="sun-5.9"/>
<note author="Daniel James">
On these compilers the wrong overload of hash_value is called
when the argument is a hash function pointer. So calling
hash_value doesn't work but boost::hash does work (and it's
recommended that user never call hash_value directly so this
shouldn't be a problem).
</note>
</mark-expected-failures>
<mark-expected-failures>
<test name="hash_long_double_test"/>
<toolset name="gcc-3.4.3_sunos"/>
<toolset name="*pa_risc"/>
<note author="Daniel James">
This platform has poor support for <code>long double</code> so
the hash function perform poorly for values out of the range
of <code>double</code> or if they differ at a greater precision
that <code>double</code> is capable of representing.
</note>
</mark-expected-failures>
<mark-expected-failures>
<test name="point" />
<test name="books" />
<toolset name="msvc-6.5*"/>
<toolset name="msvc-7.0*"/>
<note author="Daniel James">
These examples only work on compilers with support for ADL.
It is possible to work around this, but I wanted to keep the
example code as clean as possible.
</note>
</mark-expected-failures>
<mark-expected-failures>
<test name="point" />
<toolset name="borland-*"/>
<note author="Daniel James">
It appears that Borland doesn't find friend functions defined
in a class by ADL. This is easily fixed but this example is
meant to show the typical way of customising boost::hash, not
the portable way.
</note>
</mark-expected-failures>
<mark-expected-failures>
<test name="hash_global_namespace_test" />
<toolset name="borland-*"/>
<note author="Daniel James">
The test demonstrates a Borland bug - functions that aren't
in a namespace don't appear to be found by ADL.
</note>
</mark-expected-failures>
<mark-expected-failures>
<test name="container_fwd_gcc_debug"/>
<toolset name="darwin-4.2"/>
<note author="Daniel James">
Debug containers aren't supported on Apple's version of gcc 4.2.
</note>
</mark-expected-failures>
</library>
</explicit-failures-markup>