Merge branch 'pull-request/config-test-gcc-fixes' into develop

This commit is contained in:
jzmaddock
2014-06-10 18:38:14 +01:00
4 changed files with 22 additions and 9 deletions

View File

@ -1,17 +1,8 @@
#
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Wed Jun 04 18:22:48 2014
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
# Boost Software License, Version 1.0. (See accompanying file
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
import modules ;
import testing ;
import configure ;
import project ;
rule requires ( names + )
{
local result ;

View File

@ -16,10 +16,18 @@ namespace boost_no_cxx11_hdr_typeindex {
int test()
{
#if defined( BOOST_NO_TYPEID )
std::type_index * p1;
std::hash<std::type_index> h;
(void)p1;
(void)h;
return 0;
#else
std::type_index t1 = typeid(int);
std::type_index t2 = typeid(double);
std::hash<std::type_index> h;
return (t1 != t2) && (h(t1) != h(t2)) ? 0 : 1;
#endif
}
}

View File

@ -12,12 +12,19 @@
// compilers insist on it, while other issue a
// bunch of warnings if it is in fact present.
#if defined( BOOST_NO_EXCEPTIONS ) && !defined( _MSC_VER )
# include <stdlib.h>
#endif
namespace boost_no_unreachable_return_detection{
int checker()
{
#if defined( BOOST_NO_EXCEPTIONS ) && !defined( _MSC_VER )
abort();
#else
throw 0;
#endif
// no return statement: we don't ever get here...
}

View File

@ -43,6 +43,12 @@ int check_f(const A& a)
int test()
{
#if defined( BOOST_NO_EXCEPTIONS )
{
B b;
return check_f(b);
}
#else
try{
B b;
return check_f(b);
@ -51,6 +57,7 @@ int test()
{
return 1;
}
#endif
}
}