forked from boostorg/config
Added new files.
[SVN r44715]
This commit is contained in:
46
test/boost_no_part_spec_def_args.ipp
Normal file
46
test/boost_no_part_spec_def_args.ipp
Normal file
@@ -0,0 +1,46 @@
|
||||
// (C) Copyright John Maddock 2008.
|
||||
// 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_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
|
||||
// TITLE: Default arguments in partial specialization
|
||||
// DESCRIPTION: The compiler chokes if a partial specialization relies on default arguments in the primary template.
|
||||
|
||||
namespace boost_no_partial_specialization_implicit_default_args{
|
||||
|
||||
template <class T>
|
||||
struct one
|
||||
{
|
||||
};
|
||||
|
||||
template <class T1, class T2 = void>
|
||||
struct tag
|
||||
{
|
||||
};
|
||||
|
||||
template <class T1>
|
||||
struct tag<one<T1> >
|
||||
{
|
||||
};
|
||||
|
||||
template <class T>
|
||||
void consume_variable(T const&){}
|
||||
|
||||
int test()
|
||||
{
|
||||
tag<int> t1;
|
||||
consume_variable(t1);
|
||||
tag<one<int> > t2;
|
||||
consume_variable(t2);
|
||||
tag<int, double> t3;
|
||||
consume_variable(t3);
|
||||
tag<one<int>, double> t4;
|
||||
consume_variable(t4);
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
37
test/no_part_spec_def_args_fail.cpp
Normal file
37
test/no_part_spec_def_args_fail.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Mon Apr 21 12:40:41 2008
|
||||
// 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 44422 2008-04-14 18:06:59Z johnmaddock $
|
||||
//
|
||||
|
||||
|
||||
// Test file for macro BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
|
||||
// This file should not compile, if it does then
|
||||
// BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS should not be defined.
|
||||
// See file boost_no_part_spec_def_args.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_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
|
||||
#include "boost_no_part_spec_def_args.ipp"
|
||||
#else
|
||||
#error "this file should not compile"
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_partial_specialization_implicit_default_args::test();
|
||||
}
|
||||
|
37
test/no_part_spec_def_args_pass.cpp
Normal file
37
test/no_part_spec_def_args_pass.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Mon Apr 21 12:40:41 2008
|
||||
// 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 44422 2008-04-14 18:06:59Z johnmaddock $
|
||||
//
|
||||
|
||||
|
||||
// Test file for macro BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
|
||||
// This file should compile, if it does not then
|
||||
// BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS should be defined.
|
||||
// See file boost_no_part_spec_def_args.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_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
|
||||
#include "boost_no_part_spec_def_args.ipp"
|
||||
#else
|
||||
namespace boost_no_partial_specialization_implicit_default_args = empty_boost;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_partial_specialization_implicit_default_args::test();
|
||||
}
|
||||
|
Reference in New Issue
Block a user