/*-----------------------------------------------------------------------------+ Copyright (c) 2011-2011: Joachim Faulhaber +------------------------------------------------------------------------------+ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENCE.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ //JODO REMOVE THIS TESTCASE #define BOOST_TEST_MODULE icl::fix_include_after_thread unit test #include #include //Problem: If is included before this //example code, it influences compilation: Code that has //compiled well, produces a syntax error error C2059 under //msvc-9/10. This can be fixed by enclosing subexpressions //like some_attribute::value in parentheses // ->(some_attribute::value) //The problem does not occur for gcc compilers. // #include MEMO: The problem occured when using thread.hpp #include // but is also triggered from bind.hpp alone // while the cause of it is an error in the msvc-7.1 to 10.0 compilers. // A minimal example is provided by test case 'cmp_msvc_value_born_error' //--- included code --------------------------------------- template struct some_attribute { BOOST_STATIC_CONSTANT(int, value = 0); }; template struct some_predicate { BOOST_STATIC_CONSTANT(bool, value = ((some_attribute::value) < 0) // value = ( some_attribute::value < 0) //error C2059: syntax error : ')' ONLY //IF is included before ); }; //--- end of included code -------------------------------- BOOST_AUTO_TEST_CASE(dummy) { BOOST_CHECK(true); }