Added configuration macros BOOST_NO_AUTO_DECLARATIONS and BOOST_NO_AUTO_MULTIDECLARATIONS.

[SVN r51733]
This commit is contained in:
Andrey Semashev
2009-03-12 14:48:49 +00:00
parent 903786bc48
commit e8678c03e4
20 changed files with 303 additions and 187 deletions
+7 -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 Fri Feb 20 21:15:18 2009
# This file was automatically generated on Thu Mar 12 17:32:05 2009
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@@ -184,6 +184,12 @@ test-suite "BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP" :
test-suite "BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS" :
[ run ../no_array_type_spec_pass.cpp ]
[ compile-fail ../no_array_type_spec_fail.cpp ] ;
test-suite "BOOST_NO_AUTO_DECLARATIONS" :
[ run ../no_auto_declarations_pass.cpp ]
[ compile-fail ../no_auto_declarations_fail.cpp ] ;
test-suite "BOOST_NO_AUTO_MULTIDECLARATIONS" :
[ run ../no_auto_multidecl_pass.cpp ]
[ compile-fail ../no_auto_multidecl_fail.cpp ] ;
test-suite "BOOST_NO_AUTO_PTR" :
[ run ../no_auto_ptr_pass.cpp ]
[ compile-fail ../no_auto_ptr_fail.cpp ] ;
+25
View File
@@ -0,0 +1,25 @@
// Copyright (C) 2009 Andrey Semashev
// 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 most recent version.
// MACRO: BOOST_NO_AUTO_DECLARATIONS
// TITLE: C++0x auto declarators unavailable
// DESCRIPTION: The compiler does not support C++0x declarations of variables with automatically deduced type
namespace boost_no_auto_declarations {
void check(int& x)
{
}
int test()
{
auto x = 10;
check(x);
return 0;
}
}
+25
View File
@@ -0,0 +1,25 @@
// Copyright (C) 2009 Andrey Semashev
// 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 most recent version.
// MACRO: BOOST_NO_AUTO_MULTIDECLARATIONS
// TITLE: C++0x auto multideclarators unavailable
// DESCRIPTION: The compiler does not support C++0x declarations of series of variables with automatically deduced type
namespace boost_no_auto_multideclarations {
void check(int& x, int*& y)
{
}
int test()
{
auto x = 10, *y = &x;
check(x, y);
return 0;
}
}
+3
View File
@@ -955,6 +955,8 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_ADL_BARRIER);
PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP);
PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS);
PRINT_MACRO(BOOST_NO_AUTO_DECLARATIONS);
PRINT_MACRO(BOOST_NO_AUTO_MULTIDECLARATIONS);
PRINT_MACRO(BOOST_NO_AUTO_PTR);
PRINT_MACRO(BOOST_NO_CHAR16_T);
PRINT_MACRO(BOOST_NO_CHAR32_T);
@@ -1034,6 +1036,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_VARIADIC_TEMPLATES);
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
// END GENERATED BLOCK
PRINT_MACRO(BOOST_INTEL);
+21 -1
View File
@@ -1,4 +1,4 @@
// This file was automatically generated on Fri Feb 20 21:15:18 2009
// This file was automatically generated on Thu Mar 12 17:32:05 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -37,6 +37,16 @@ namespace boost_no_argument_dependent_lookup = empty_boost;
#else
namespace boost_no_array_type_specializations = empty_boost;
#endif
#ifndef BOOST_NO_AUTO_DECLARATIONS
#include "boost_no_auto_declarations.ipp"
#else
namespace boost_no_auto_declarations = empty_boost;
#endif
#ifndef BOOST_NO_AUTO_MULTIDECLARATIONS
#include "boost_no_auto_multidecl.ipp"
#else
namespace boost_no_auto_multideclarations = empty_boost;
#endif
#ifndef BOOST_NO_AUTO_PTR
#include "boost_no_auto_ptr.ipp"
#else
@@ -971,6 +981,16 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_auto_declarations::test())
{
std::cerr << "Failed test for BOOST_NO_AUTO_DECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_auto_multideclarations::test())
{
std::cerr << "Failed test for BOOST_NO_AUTO_MULTIDECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_auto_ptr::test())
{
std::cerr << "Failed test for BOOST_NO_AUTO_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;