forked from boostorg/type_traits
Merge branch 'develop'
This commit is contained in:
38
.travis.yml
38
.travis.yml
@ -12,6 +12,8 @@ os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
dist : xenial
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
@ -33,6 +35,7 @@ matrix:
|
||||
- os: linux
|
||||
compiler: g++-4.4
|
||||
env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@ -43,6 +46,7 @@ matrix:
|
||||
- os: linux
|
||||
compiler: g++-4.6
|
||||
env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@ -52,6 +56,7 @@ matrix:
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@ -70,6 +75,7 @@ matrix:
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@ -153,26 +159,29 @@ matrix:
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.5
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.5
|
||||
- llvm-toolchain-trusty-3.5
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.6
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.6
|
||||
- llvm-toolchain-trusty-3.6
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11
|
||||
dist: trusty
|
||||
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@ -183,23 +192,25 @@ matrix:
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.8
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.8
|
||||
- llvm-toolchain-trusty-3.8
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.9
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.9
|
||||
- llvm-toolchain-trusty-3.9
|
||||
|
||||
- os: linux
|
||||
compiler: clang++-4.0
|
||||
@ -210,7 +221,7 @@ matrix:
|
||||
- clang-4.0
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-trusty-4.0
|
||||
- llvm-toolchain-xenial-4.0
|
||||
|
||||
- os: linux
|
||||
compiler: clang++-5.0
|
||||
@ -221,7 +232,7 @@ matrix:
|
||||
- clang-5.0
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-trusty-5.0
|
||||
- llvm-toolchain-xenial-5.0
|
||||
|
||||
- os: linux
|
||||
compiler: clang++-6.0
|
||||
@ -232,7 +243,18 @@ matrix:
|
||||
- clang-6.0
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-trusty-6.0
|
||||
- llvm-toolchain-xenial-6.0
|
||||
|
||||
- os: linux
|
||||
compiler: clang++-7
|
||||
env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-7
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-xenial-7
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
|
@ -38,9 +38,9 @@ environment:
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
ARGS: --toolset=msvc-14.1 address-model=64 cxxflags=-std:c++latest
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
ARGS: --toolset=msvc-14.1 address-model=64 cxxflags=-clr asynch-exceptions=on
|
||||
ARGS: --toolset=msvc-14.1 cxxstd=17 address-model=64 cxxflags=-clr asynch-exceptions=on
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
ARGS: --toolset=msvc-14.1 address-model=32 cxxflags=-clr asynch-exceptions=on
|
||||
ARGS: --toolset=msvc-14.1 cxxstd=17 address-model=32 cxxflags=-clr asynch-exceptions=on
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
ARGS: --toolset=msvc-14.1 architecture=arm testing.execute=off
|
||||
DISABLE_CONFIG_INFO: "YES"
|
||||
|
@ -93,6 +93,20 @@
|
||||
# define BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM
|
||||
# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE
|
||||
#endif
|
||||
//
|
||||
// If we have the SD6 macros (check for C++11's __cpp_rvalue_references), and we don't have __cpp_noexcept_function_type
|
||||
// set, then don't treat noexcept functions as seperate types. This is a fix for msvc with the /Zc:noexceptTypes- flag set.
|
||||
//
|
||||
#if defined(__cpp_rvalue_references) && !defined(__cpp_noexcept_function_type) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE)
|
||||
# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE
|
||||
#endif
|
||||
//
|
||||
// Check MSVC specific macro on older msvc compilers that don't support the SD6 macros, we don't rely on this
|
||||
// if the SD6 macros *are* available as it appears to be undocumented.
|
||||
//
|
||||
#if defined(BOOST_MSVC) && !defined(__cpp_rvalue_references) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) && !defined(_NOEXCEPT_TYPES_SUPPORTED)
|
||||
# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE
|
||||
#endif
|
||||
|
||||
#endif // BOOST_TT_CONFIG_HPP_INCLUDED
|
||||
|
||||
|
@ -376,7 +376,7 @@ namespace boost {
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
@ -384,9 +384,11 @@ namespace boost {
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
@ -399,9 +401,11 @@ namespace boost {
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
@ -414,9 +418,11 @@ namespace boost {
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
@ -429,9 +435,11 @@ namespace boost {
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
@ -445,9 +453,11 @@ namespace boost {
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
@ -460,9 +470,11 @@ namespace boost {
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
@ -475,9 +487,11 @@ namespace boost {
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
@ -490,9 +504,11 @@ namespace boost {
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
@ -506,9 +522,11 @@ namespace boost {
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
@ -521,9 +539,11 @@ namespace boost {
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
@ -536,9 +556,11 @@ namespace boost {
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
@ -551,15 +573,17 @@ namespace boost {
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
|
||||
#endif // _MSC_VER
|
||||
#endif // defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -419,7 +419,7 @@ namespace boost {
|
||||
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
|
238
meta/explicit-failures-markup.xml
Normal file
238
meta/explicit-failures-markup.xml
Normal file
@ -0,0 +1,238 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<explicit-failures-markup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/boostorg/boost/master/status/explicit-failures.xsd">
|
||||
<!-- type_traits -->
|
||||
<library name="type_traits">
|
||||
<mark-expected-failures>
|
||||
<test name="is_virtual_base_of_test"/>
|
||||
<toolset name="gcc-3.4.6"/>
|
||||
<note author="John Maddock">
|
||||
Type Traits tests are run with warnings-as-errors and GCC 3.x emits warnings with this test
|
||||
that I haven't been able to suppress.
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
<mark-expected-failures>
|
||||
<test name="has_operator_new_test"/>
|
||||
<test name="make_signed_test"/>
|
||||
<test name="make_unsigned_test"/>
|
||||
<toolset name="msvc-7.1"/>
|
||||
<note author="John Maddock">
|
||||
Apparently the compiler can't cope with these - later versions are fine though.
|
||||
Probably work-round-able if someone would care to look into these.
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
<mark-expected-failures>
|
||||
<test name="function_traits_test"/>
|
||||
<test name="remove_bounds_test"/>
|
||||
<test name="remove_const_test"/>
|
||||
<test name="remove_cv_test"/>
|
||||
<test name="remove_pointer_test"/>
|
||||
<test name="remove_reference_test"/>
|
||||
<test name="remove_volatile_test"/>
|
||||
<test name="decay_test"/>
|
||||
<test name="extent_test"/>
|
||||
<test name="remove_extent_test"/>
|
||||
<test name="remove_all_extents_test"/>
|
||||
<test name="rank_test"/>
|
||||
<test name="is_unsigned_test"/>
|
||||
<toolset name="msvc-6.5*"/>
|
||||
<toolset name="msvc-7.0"/>
|
||||
<note author="Aleksey Gurtovoy">
|
||||
This failure is caused by the lack of compiler support for class template
|
||||
partial specialization. A limited subset of the tested functionality is
|
||||
available on the compiler through a user-side workaround (see
|
||||
<a href="http://www.boost.org/libs/type_traits/index.html#transformations">
|
||||
http://www.boost.org/libs/type_traits/index.html#transformations</a> for
|
||||
details).
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
<mark-expected-failures>
|
||||
<test name="decay_test"/>
|
||||
<test name="extent_test"/>
|
||||
<test name="is_base_and_derived_test"/>
|
||||
<test name="is_base_of_test"/>
|
||||
<test name="is_convertible_test"/>
|
||||
<test name="rank_test"/>
|
||||
<test name="remove_all_extents_test"/>
|
||||
<test name="remove_bounds_test"/>
|
||||
<test name="remove_const_test"/>
|
||||
<test name="remove_extent_test"/>
|
||||
<test name="remove_pointer_test"/>
|
||||
<test name="remove_volatile_test"/>
|
||||
<test name="tricky_add_pointer_test"/>
|
||||
<test name="tricky_function_type_test"/>
|
||||
<test name="tricky_incomplete_type_test"/>
|
||||
<test name="make_signed_test"/>
|
||||
<test name="make_unsigned_test"/>
|
||||
<toolset name="borland-5.6*"/>
|
||||
<toolset name="borland-5.8*"/>
|
||||
<toolset name="borland-5.9*"/>
|
||||
<note author="John Maddock" refid="2"/>
|
||||
</mark-expected-failures>
|
||||
<mark-expected-failures>
|
||||
<test name="promote_basic_test"/>
|
||||
<test name="promote_enum_test"/>
|
||||
<test name="promote_mpl_test"/>
|
||||
<test name="tricky_partial_spec_test"/>
|
||||
<toolset name="borland-5.6*"/>
|
||||
<toolset name="borland-5.8*"/>
|
||||
<toolset name="borland-5.9*"/>
|
||||
<note author="AlisdairM" refid="2"/>
|
||||
</mark-expected-failures>
|
||||
<mark-expected-failures>
|
||||
<test name="promote_enum_msvc_bug_test"/>
|
||||
<toolset name="msvc-7.1*"/>
|
||||
<toolset name="msvc-8.0*"/>
|
||||
<toolset name="msvc-9.0*"/>
|
||||
<toolset name="msvc-10.0*"/>
|
||||
<toolset name="msvc-11.0*"/>
|
||||
<toolset name="msvc-12.0*"/>
|
||||
<toolset name="msvc-14.0*"/>
|
||||
<toolset name="msvc-14.1*"/>
|
||||
<toolset name="msvc-14.2*"/>
|
||||
<note author="Alexander Nasonov">
|
||||
See bug 99776 'enum UIntEnum { value = UINT_MAX } is promoted to int'
|
||||
http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=22b0a6b7-120f-4ca0-9136-fa1b25b26efe
|
||||
https://developercommunity.visualstudio.com/content/problem/490264/standard-violation-enum-underlying-type-cannot-rep.html
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
<test name="tricky_is_enum_test">
|
||||
<mark-failure>
|
||||
<toolset name="borland-5.6*"/>
|
||||
<toolset name="borland-5.8*"/>
|
||||
<toolset name="borland-5.9*"/>
|
||||
<toolset name="msvc-6.5*"/>
|
||||
<toolset name="gcc-2.95.3-*"/>
|
||||
</mark-failure>
|
||||
</test>
|
||||
<test name="tricky_incomplete_type_test">
|
||||
<mark-failure>
|
||||
<toolset name="iw-7_1*"/>
|
||||
<note author="John Maddock" refid="2"/>
|
||||
</mark-failure>
|
||||
</test>
|
||||
<test name="is_abstract_test">
|
||||
<mark-failure>
|
||||
<toolset name="borland-5.6*"/>
|
||||
<toolset name="borland-5.8*"/>
|
||||
<toolset name="borland-5.9*"/>
|
||||
<toolset name="cw-8.3*"/>
|
||||
<toolset name="cw-9.3*"/>
|
||||
<toolset name="cw-9.4"/>
|
||||
<toolset name="cw-9.5"/>
|
||||
<toolset name="msvc-6.5*"/>
|
||||
<toolset name="msvc-7.0"/>
|
||||
<toolset name="mingw-3_3*"/>
|
||||
<toolset name="gcc-2*"/>
|
||||
<toolset name="gcc-3.2*"/>
|
||||
<toolset name="gcc-3.3*"/>
|
||||
<toolset name="qcc-3.3*"/>
|
||||
<toolset name="sunpro-5_3-sunos"/>
|
||||
<toolset name="hp_cxx-65*"/>
|
||||
<toolset name="darwin"/>
|
||||
<toolset name="mingw"/>
|
||||
<note author="Aleksey Gurtovoy">
|
||||
This functionality is available only on compilers that implement C++ Core Language
|
||||
<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#337">Defect Report 337</a>.
|
||||
</note>
|
||||
</mark-failure>
|
||||
</test>
|
||||
|
||||
<mark-expected-failures>
|
||||
<test name="is_polymorphic_test"/>
|
||||
<toolset name="gcc-2.95.3-stlport-*"/>
|
||||
<note author="Doug Gregor" refid="3"/>
|
||||
</mark-expected-failures>
|
||||
|
||||
<mark-expected-failures>
|
||||
<test name="decay_test"/>
|
||||
<test name="extent_test"/>
|
||||
<test name="has_nothrow_assign_test"/>
|
||||
<test name="has_nothrow_constr_test"/>
|
||||
<test name="has_nothrow_copy_test"/>
|
||||
<test name="has_trivial_assign_test"/>
|
||||
<test name="has_trivial_constr_test"/>
|
||||
<test name="has_trivial_copy_test"/>
|
||||
<test name="has_trivial_destructor_test"/>
|
||||
<test name="is_array_test"/>
|
||||
<test name="is_base_and_derived_test"/>
|
||||
<test name="is_base_of_test"/>
|
||||
<test name="is_class_test"/>
|
||||
<test name="is_convertible_test"/>
|
||||
<test name="is_object_test"/>
|
||||
<test name="is_pod_test"/>
|
||||
<test name="is_polymorphic_test"/>
|
||||
<test name="rank_test"/>
|
||||
<test name="remove_all_extents_test"/>
|
||||
<test name="remove_bounds_test"/>
|
||||
<test name="remove_extent_test"/>
|
||||
<toolset name="sunpro-5_3-sunos"/>
|
||||
|
||||
<note author="John Maddock">
|
||||
The Type Traits library is broken when used with Sunpro-5.3 and the
|
||||
argument to the template is an array or function type. Most other argument types
|
||||
do work as expected: in other words the functionality is limited
|
||||
with this compiler, but not so much as to render the library unuseable.
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
<mark-expected-failures>
|
||||
<test name="is_empty_test"/>
|
||||
<test name="is_function_test"/>
|
||||
<test name="is_member_func_test"/>
|
||||
<test name="is_member_obj_test"/>
|
||||
<test name="is_reference_test"/>
|
||||
<test name="tricky_function_type_test"/>
|
||||
<test name="tricky_incomplete_type_test"/>
|
||||
<test name="tricky_is_enum_test"/>
|
||||
<toolset name="sunpro-5_3-sunos"/>
|
||||
<note author="John Maddock" refid="2"/>
|
||||
</mark-expected-failures>
|
||||
<mark-expected-failures>
|
||||
<test name="decay_test"/>
|
||||
<test name="extent_test"/>
|
||||
<test name="is_abstract_test"/>
|
||||
<test name="is_empty_test"/>
|
||||
<test name="is_function_test"/>
|
||||
<test name="is_member_func_test"/>
|
||||
<test name="is_member_obj_test"/>
|
||||
<test name="is_object_test"/>
|
||||
<test name="is_reference_test"/>
|
||||
<test name="rank_test"/>
|
||||
<test name="tricky_function_type_test"/>
|
||||
<toolset name="sun-5.8"/>
|
||||
|
||||
<note author="John Maddock">
|
||||
The Type Traits library is broken when used with Sunpro-5.8 and the
|
||||
argument to the template is a function type. Most other argument types
|
||||
do work as expected: in other words the functionality is limited
|
||||
with this compiler, but not so much as to render the library unuseable.
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
<mark-expected-failures>
|
||||
<test name="tricky_partial_spec_test"/>
|
||||
<toolset name="sun-5.9"/>
|
||||
<note author="John Maddock">
|
||||
This fails with an internal compiler error,
|
||||
there is no workaround as yet.
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
<mark-expected-failures>
|
||||
<test name="tricky_function_type_test"/>
|
||||
<test name="is_const_test"/>
|
||||
<test name="is_volatile_test"/>
|
||||
<test name="is_convertible_test"/>
|
||||
<toolset name="gcc-2*"/>
|
||||
<note author="John Maddock" refid="2"/>
|
||||
</mark-expected-failures>
|
||||
<mark-expected-failures>
|
||||
<test name="aligned_storage_test"/>
|
||||
<toolset name="cw-8.3"/>
|
||||
<note author="John Maddock">
|
||||
Older versions of MWCW incorrectly align pointers to member functions
|
||||
(they use 12-byte boundaries, rather than a power-of-2 boundary),
|
||||
leading to alignment_of / aligned_storage
|
||||
to fail with these types on this compiler.
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
</library>
|
||||
</explicit-failures-markup>
|
@ -208,6 +208,9 @@ typedef int (UDT::*mf8)(...);
|
||||
# elif defined(BOOST_INTEL)
|
||||
# pragma warning(push)
|
||||
# pragma warning(disable: 21)
|
||||
# elif defined(BOOST_CLANG)
|
||||
# pragma clang diagnostic push
|
||||
# pragma clang diagnostic ignored "-Wignored-qualifiers"
|
||||
# endif
|
||||
//
|
||||
// This is intentional:
|
||||
@ -228,6 +231,8 @@ typedef r_type cr_type;
|
||||
# elif defined(BOOST_INTEL)
|
||||
# pragma warning(pop)
|
||||
# pragma warning(disable: 985) // identifier truncated in debug information
|
||||
# elif defined(BOOST_CLANG)
|
||||
# pragma clang diagnostic pop
|
||||
# endif
|
||||
|
||||
struct POD_UDT { int x; };
|
||||
|
Reference in New Issue
Block a user