diff --git a/test/boost_no_adl_barrier.ipp b/test/boost_no_adl_barrier.ipp new file mode 100644 index 00000000..4065df09 --- /dev/null +++ b/test/boost_no_adl_barrier.ipp @@ -0,0 +1,38 @@ +// (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_ADL_BARRIER +// TITLE: Working ADL barriers. +// DESCRIPTION: If the compiler correctly handles ADL. + +namespace boost_no_adl_barrier{ + +namespace xxx { + namespace nested { + struct aaa {}; + } + void begin(nested::aaa) {} +} + +namespace nnn { + void begin(xxx::nested::aaa) {} +} + +int test() +{ + using namespace nnn; + xxx::nested::aaa a; + begin(a); // ambiguous error in msvc-9.0 + + return 0; +} + +} + + + + diff --git a/test/no_adl_barrier_fail.cpp b/test/no_adl_barrier_fail.cpp new file mode 100644 index 00000000..a21e0b3b --- /dev/null +++ b/test/no_adl_barrier_fail.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Fri Mar 28 16:52:13 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 40184 2007-10-19 12:46:54Z johnmaddock $ +// + + +// Test file for macro BOOST_NO_ADL_BARRIER +// This file should not compile, if it does then +// BOOST_NO_ADL_BARRIER should not be defined. +// See file boost_no_adl_barrier.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 +#include "test.hpp" + +#ifdef BOOST_NO_ADL_BARRIER +#include "boost_no_adl_barrier.ipp" +#else +#error "this file should not compile" +#endif + +int main( int, char *[] ) +{ + return boost_no_adl_barrier::test(); +} + diff --git a/test/no_adl_barrier_pass.cpp b/test/no_adl_barrier_pass.cpp new file mode 100644 index 00000000..39bef3fb --- /dev/null +++ b/test/no_adl_barrier_pass.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Fri Mar 28 16:52:13 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 40184 2007-10-19 12:46:54Z johnmaddock $ +// + + +// Test file for macro BOOST_NO_ADL_BARRIER +// This file should compile, if it does not then +// BOOST_NO_ADL_BARRIER should be defined. +// See file boost_no_adl_barrier.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 +#include "test.hpp" + +#ifndef BOOST_NO_ADL_BARRIER +#include "boost_no_adl_barrier.ipp" +#else +namespace boost_no_adl_barrier = empty_boost; +#endif + +int main( int, char *[] ) +{ + return boost_no_adl_barrier::test(); +} +