Merge all config diffs from trunk

[SVN r62379]
This commit is contained in:
Beman Dawes committed 2010-06-02 14:30:04 +00:00
1 parent 4ce3e43a4e
commit 49e17b082e
41 files changed
+1851 -119

No files matched your search

+4 -1
View File
@@ -1,7 +1,7 @@
#
# Regression test Jamfile for boost configuration setup.
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Sun Oct 11 13:04:18 2009
# This file was automatically generated on Fri Apr 09 12:24:54 2010
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@@ -265,6 +265,9 @@ test-suite "BOOST_NO_CHAR16_T" :
test-suite "BOOST_NO_CHAR32_T" :
[ run ../no_char32_t_pass.cpp ]
[ compile-fail ../no_char32_t_fail.cpp ] ;
test-suite "BOOST_NO_COMPLETE_VALUE_INITIALIZATION" :
[ run ../no_com_value_init_pass.cpp ]
[ compile-fail ../no_com_value_init_fail.cpp ] ;
test-suite "BOOST_NO_CONCEPTS" :
[ run ../no_concepts_pass.cpp ]
[ compile-fail ../no_concepts_fail.cpp ] ;
+1
View File
@@ -16,6 +16,7 @@ namespace boost_no_0x_hdr_tuple {
int test()
{
std::tuple<int, int, long> t(0, 1, 2);
return 0;
}
+2 -2
View File
@@ -11,14 +11,14 @@
namespace boost_no_auto_declarations {
void check(int& x)
void check_f(int& x)
{
}
int test()
{
auto x = 10;
check(x);
check_f(x);
return 0;
}
+2 -2
View File
@@ -11,14 +11,14 @@
namespace boost_no_auto_multideclarations {
void check(int& x, int*& y)
void check_f(int& x, int*& y)
{
}
int test()
{
auto x = 10, *y = &x;
check(x, y);
check_f(x, y);
return 0;
}
+2 -1
View File
@@ -1,3 +1,4 @@
// (C) Copyright Beman Dawes 2008
// Use, modification and distribution are subject to the
@@ -14,7 +15,7 @@ namespace boost_no_char16_t {
int test()
{
char16_t c;
const char16_t* p = u"abc";
return 0;
}
+1 -1
View File
@@ -14,7 +14,7 @@ namespace boost_no_char32_t {
int test()
{
char32_t c;
const char32_t* p = U"abc";
return 0;
}
File diff suppressed because it is too large. Load diff
+25
View File
@@ -1,3 +1,4 @@
// (C) Copyright Beman Dawes 2008
// Use, modification and distribution are subject to the
@@ -12,10 +13,34 @@
namespace boost_no_decltype {
struct test_class
{
test_class() {}
};
test_class get_test_class()
{
return test_class();
}
template<typename F>
void baz(F f)
{
//
// Strangely VC-10 deduces the return type of F
// to be "test_class&". Remove the constructor
// from test_class and then decltype does work OK!!
//
typedef decltype(f()) res;
res r;
}
int test()
{
int i;
decltype(i) j;
decltype(get_test_class()) k;
baz(get_test_class);
return 0;
}
+20 -1
View File
@@ -12,7 +12,26 @@
namespace boost_no_extern_template {
extern template<class T> void f(T);
template<class T, class U> void f(T const* p, U const* q)
{
p = q;
}
template <class T>
class must_not_compile
{
public:
void f(T const* p, int const* q);
};
template <class T>
void must_not_compile<T>::f(T const* p, int const* q)
{
p = q;
}
extern template void f<>(int const*, float const*);
extern template class must_not_compile<int>;
int test()
{
+7
View File
@@ -11,11 +11,18 @@
// DESCRIPTION: If the compiler does not support C++0x initializer lists
#include <initializer_list>
#include <vector>
namespace boost_no_initializer_lists {
void f(std::initializer_list<int>)
{
}
int test()
{
std::vector<std::string> v{"once", "upon", "a", "time"}; // See C++ std 8.5.4
f( { 1, 2, 3, 4 } );
std::initializer_list<int> x = { 1, 2 };
return 0;
}
+2 -2
View File
@@ -14,8 +14,8 @@ namespace boost_no_raw_literals {
int test()
{
const char* s = R"[abc]";
const wchar_t* ws = LR"[abc]";
const char* s = R"(abc)";
const wchar_t* ws = LR"(abc)";
return 0;
}
+2 -2
View File
@@ -36,7 +36,7 @@ void B::t()
namespace boost_no_rtti
{
int check(const A& a)
int check_f(const A& a)
{
return typeid(a) == typeid(B) ? 0 : 1;
}
@@ -45,7 +45,7 @@ int test()
{
try{
B b;
return check(b);
return check_f(b);
}
catch(...)
{
+2
View File
@@ -985,6 +985,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_AUTO_PTR);
PRINT_MACRO(BOOST_NO_CHAR16_T);
PRINT_MACRO(BOOST_NO_CHAR32_T);
PRINT_MACRO(BOOST_NO_COMPLETE_VALUE_INITIALIZATION);
PRINT_MACRO(BOOST_NO_CONCEPTS);
PRINT_MACRO(BOOST_NO_CONSTEXPR);
PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS);
@@ -1080,6 +1081,7 @@ void print_boost_macros()
// END GENERATED BLOCK
PRINT_MACRO(BOOST_INTEL);
+11 -1
View File
@@ -1,4 +1,4 @@
// This file was automatically generated on Sun Oct 11 13:04:18 2009
// This file was automatically generated on Fri Apr 09 12:24:54 2010
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -172,6 +172,11 @@ namespace boost_no_char16_t = empty_boost;
#else
namespace boost_no_char32_t = empty_boost;
#endif
#ifndef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
#include "boost_no_com_value_init.ipp"
#else
namespace boost_no_complete_value_initialization = empty_boost;
#endif
#ifndef BOOST_NO_CONCEPTS
#include "boost_no_concepts.ipp"
#else
@@ -1251,6 +1256,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CHAR32_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_complete_value_initialization::test())
{
std::cerr << "Failed test for BOOST_NO_COMPLETE_VALUE_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_concepts::test())
{
std::cerr << "Failed test for BOOST_NO_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+3
View File
@@ -14,3 +14,6 @@ lib link_test : link_test.cpp
debug release
;
run main.cpp link_test : : : <define>BOOST_DYN_LINK=1 <define>BOOST_CONFIG_NO_LIB <link>shared <runtime-link>shared <threading>single : link_test_test ;
+33 -5
View File
@@ -9,6 +9,8 @@
#define BOOST_CONFIG_SOURCE
#include "link_test.hpp"
#include <iostream>
#include <iomanip>
bool BOOST_CONFIG_DECL check_options(
bool m_dyn_link,
@@ -17,10 +19,36 @@ bool BOOST_CONFIG_DECL check_options(
bool m_debug,
bool m_stlp_debug)
{
return (m_dyn_link == dyn_link)
&& (m_dyn_rtl == dyn_rtl)
&& (m_has_threads == has_threads)
&& (m_debug == debug)
&& (m_stlp_debug == stl_debug);
if(m_dyn_link != dyn_link)
{
std::cout << "Dynamic link options do not match" << std::endl;
std::cout << "Application setting = " << m_dyn_link << " Library setting = " << dyn_link << std::endl;
return false;
}
if(m_dyn_rtl != dyn_rtl)
{
std::cout << "Runtime library options do not match" << std::endl;
std::cout << "Application setting = " << m_dyn_rtl << " Library setting = " << dyn_rtl << std::endl;
return false;
}
if(m_has_threads != has_threads)
{
std::cout << "Threading options do not match" << std::endl;
std::cout << "Application setting = " << m_has_threads << " Library setting = " << has_threads << std::endl;
return false;
}
if(m_debug != debug)
{
std::cout << "Debug options do not match" << std::endl;
std::cout << "Application setting = " << m_debug << " Library setting = " << debug << std::endl;
return false;
}
if(m_stlp_debug != stl_debug)
{
std::cout << "STLPort debug options do not match" << std::endl;
std::cout << "Application setting = " << m_stlp_debug << " Library setting = " << stl_debug << std::endl;
return false;
}
return true;
}
+34 -3
View File
@@ -44,11 +44,11 @@ static const bool stl_debug = false;
//
// set up import and export options:
//
#if defined(BOOST_HAS_DECLSPEC) && defined(BOOST_DYN_LINK)
#if defined(BOOST_DYN_LINK)
# ifdef BOOST_CONFIG_SOURCE
# define BOOST_CONFIG_DECL __declspec(dllexport)
# define BOOST_CONFIG_DECL BOOST_SYMBOL_EXPORT
# else
# define BOOST_CONFIG_DECL __declspec(dllimport)
# define BOOST_CONFIG_DECL BOOST_SYMBOL_IMPORT
# endif
#endif
#ifndef BOOST_CONFIG_DECL
@@ -73,5 +73,36 @@ bool BOOST_CONFIG_DECL check_options(
# include <boost/config/auto_link.hpp>
#endif
#ifndef BOOST_NO_EXTERN_TEMPLATE
template <class T>
T test_free_proc(T v)
{
return v;
}
template <class T>
struct tester
{
static int test();
};
template <class T>
int tester<T>::test()
{
return 0;
}
#ifdef BOOST_CONFIG_SOURCE
template BOOST_SYMBOL_EXPORT int test_free_proc<int>(int);
template BOOST_SYMBOL_EXPORT int tester<int>::test();
#else
extern template BOOST_SYMBOL_IMPORT int test_free_proc<int>(int);
extern template BOOST_SYMBOL_IMPORT int tester<int>::test();
#endif
#endif // BOOST_NO_EXTERN_TEMPLATE
#endif // BOOST_LINK_TEST_HPP
+4
View File
@@ -9,6 +9,10 @@
int main()
{
#ifndef BOOST_NO_EXTERN_TEMPLATE
test_free_proc<int>(0);
tester<int>::test();
#endif
return check_options(dyn_link, dyn_rtl, has_threads, debug, stl_debug) ? 0 : -1;
}
+4 -2
View File
@@ -69,13 +69,14 @@ autolink-lib link_test : ../link_test.cpp
:
;
explicit link_test ;
run ../main.cpp link_test
: : : <toolset>msvc-8.0:<build>no <link>static <runtime-link>static <threading>single debug : link_test_ssd ;
: : : <toolset>msvc-8.0:<build>no <toolset>msvc-9.0:<build>no <toolset>msvc-10.0:<build>no <link>static <runtime-link>static <threading>single debug : link_test_ssd ;
run ../main.cpp link_test
: : : <toolset>msvc-8.0:<build>no <link>static <runtime-link>static <threading>single release : link_test_ssr ;
: : : <toolset>msvc-8.0:<build>no <toolset>msvc-9.0:<build>no <toolset>msvc-10.0:<build>no <link>static <runtime-link>static <threading>single release : link_test_ssr ;
run ../main.cpp link_test
: : : <link>static <runtime-link>static <threading>multi debug : link_test_smd ;
@@ -113,3 +114,4 @@ run ../main.cpp link_test
+37
View File
@@ -0,0 +1,37 @@
// This file was automatically generated on Fri Apr 09 12:24:53 2010
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// 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)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
//
// Test file for macro BOOST_NO_COMPLETE_VALUE_INITIALIZATION
// This file should not compile, if it does then
// BOOST_NO_COMPLETE_VALUE_INITIALIZATION should not be defined.
// See file boost_no_com_value_init.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
#include "boost_no_com_value_init.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_complete_value_initialization::test();
}
+37
View File
@@ -0,0 +1,37 @@
// This file was automatically generated on Fri Apr 09 12:24:53 2010
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// 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)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
//
// Test file for macro BOOST_NO_COMPLETE_VALUE_INITIALIZATION
// This file should compile, if it does not then
// BOOST_NO_COMPLETE_VALUE_INITIALIZATION should be defined.
// See file boost_no_com_value_init.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
#include "boost_no_com_value_init.ipp"
#else
namespace boost_no_complete_value_initialization = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_complete_value_initialization::test();
}