From e7dd982de74d81cb12c16b5d8e574127e1b42306 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Mon, 10 Oct 2011 11:50:55 +0000 Subject: [PATCH] Merge Boost.Config changes from Trunk - numerous small bug fixes plus a new Cray C++ config. Fixes #5607. Fixes #5941. Fixes #5878. [SVN r74889] --- doc/html/boost_config/acknowledgements.html | 2 +- .../boost_config/boost_macro_reference.html | 21 ++++++- .../guidelines_for_boost_authors.html | 2 +- doc/html/boost_config/rationale.html | 2 +- doc/html/index.html | 6 +- doc/macro_reference.qbk | 5 +- include/boost/config/auto_link.hpp | 2 +- include/boost/config/compiler/cray.hpp | 61 +++++++++++++++++++ include/boost/config/compiler/intel.hpp | 7 ++- include/boost/config/platform/cray.hpp | 18 ++++++ include/boost/config/platform/win32.hpp | 2 + .../boost/config/select_compiler_config.hpp | 4 ++ .../boost/config/select_platform_config.hpp | 6 +- test/all/Jamfile.v2 | 5 +- test/boost_has_ftime.ipp | 5 +- test/boost_has_getsystemtimeasfiletime.ipp | 30 +++++++++ test/boost_no_decltype.ipp | 4 ++ test/config_info.cpp | 18 ++++++ test/config_test.cpp | 12 +++- test/has_getsystemtimeasfiletime_fail.cpp | 37 +++++++++++ test/has_getsystemtimeasfiletime_pass.cpp | 37 +++++++++++ 21 files changed, 267 insertions(+), 19 deletions(-) create mode 100644 include/boost/config/compiler/cray.hpp create mode 100644 include/boost/config/platform/cray.hpp create mode 100644 test/boost_has_getsystemtimeasfiletime.ipp create mode 100644 test/has_getsystemtimeasfiletime_fail.cpp create mode 100644 test/has_getsystemtimeasfiletime_pass.cpp diff --git a/doc/html/boost_config/acknowledgements.html b/doc/html/boost_config/acknowledgements.html index f8143ae3..8286d72d 100644 --- a/doc/html/boost_config/acknowledgements.html +++ b/doc/html/boost_config/acknowledgements.html @@ -3,7 +3,7 @@ Acknowledgements - + diff --git a/doc/html/boost_config/boost_macro_reference.html b/doc/html/boost_config/boost_macro_reference.html index 806bc110..e1fc36f2 100644 --- a/doc/html/boost_config/boost_macro_reference.html +++ b/doc/html/boost_config/boost_macro_reference.html @@ -3,7 +3,7 @@ Boost Macro Reference - + @@ -1439,7 +1439,24 @@

- The platform has the Win32 API GetSystemTimeAsFileTime. + The platform has the Win32 API type FTIME. +

+ + + + +

+ BOOST_HAS_GETSYSTEMTIMEASFILETIME +

+ + +

+ Platform +

+ + +

+ The platform has the Win32 API GetSystemTimeAsFileTime.

diff --git a/doc/html/boost_config/guidelines_for_boost_authors.html b/doc/html/boost_config/guidelines_for_boost_authors.html index 1079480d..cbc7dbce 100644 --- a/doc/html/boost_config/guidelines_for_boost_authors.html +++ b/doc/html/boost_config/guidelines_for_boost_authors.html @@ -3,7 +3,7 @@ Guidelines for Boost Authors - + diff --git a/doc/html/boost_config/rationale.html b/doc/html/boost_config/rationale.html index f92d7993..d62510c1 100644 --- a/doc/html/boost_config/rationale.html +++ b/doc/html/boost_config/rationale.html @@ -3,7 +3,7 @@ Rationale - + diff --git a/doc/html/index.html b/doc/html/index.html index 9c2bee38..8ba9dc99 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,7 +3,7 @@ Boost.Config - + @@ -29,7 +29,7 @@
-

+

Distributed under 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)

@@ -947,7 +947,7 @@
- +

Last revised: June 01, 2011 at 14:31:32 GMT

Last revised: July 13, 2011 at 18:00:55 GMT


diff --git a/doc/macro_reference.qbk b/doc/macro_reference.qbk index f319f595..07b13c14 100644 --- a/doc/macro_reference.qbk +++ b/doc/macro_reference.qbk @@ -348,7 +348,10 @@ The platform has the POSIX header ``. The platform has the functions `expm1`, `expm1f` and `expm1l` in `` ]] [[`BOOST_HAS_FTIME`][Platform][ -The platform has the Win32 API `GetSystemTimeAsFileTime`. +The platform has the Win32 API type FTIME. +]] +[[`BOOST_HAS_GETSYSTEMTIMEASFILETIME`][Platform][ +The platform has the Win32 API GetSystemTimeAsFileTime. ]] [[`BOOST_HAS_GETTIMEOFDAY`][Platform][ The platform has the POSIX API `gettimeofday`. diff --git a/include/boost/config/auto_link.hpp b/include/boost/config/auto_link.hpp index f5a0a007..05b47fb4 100644 --- a/include/boost/config/auto_link.hpp +++ b/include/boost/config/auto_link.hpp @@ -364,7 +364,7 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. #ifdef BOOST_AUTO_LINK_TAGGED # pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib") # ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib") # endif #elif defined(BOOST_AUTO_LINK_NOMANGLE) # pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") diff --git a/include/boost/config/compiler/cray.hpp b/include/boost/config/compiler/cray.hpp new file mode 100644 index 00000000..ad2eeaf5 --- /dev/null +++ b/include/boost/config/compiler/cray.hpp @@ -0,0 +1,61 @@ +// (C) Copyright John Maddock 2011. +// 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 for most recent version. + +// Greenhills C compiler setup: + +#define BOOST_COMPILER "Cray C version " BOOST_STRINGIZE(_RELEASE) + +#if _RELEASE < 7 +# error "Boost is not configured for Cray compilers prior to version 7, please try the configure script." +#endif + +// +// Check this is a recent EDG based compiler, otherwise we don't support it here: +// +#ifndef __EDG_VERSION__ +# error "Unsupported Cray compiler, please try running the configure script." +#endif + +#include "boost/config/compiler/common_edg.hpp" + +// +// Cray peculiarities, probably version 7 specific: +// +#undef BOOST_NO_AUTO_DECLARATIONS +#undef BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_HAS_NRVO +#define BOOST_NO_VARIADIC_TEMPLATES +#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#define BOOST_HAS_NRVO +#define BOOST_NO_TEMPLATE_ALIASES +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_NULLPTR +#define BOOST_NO_NOEXCEPT +#define BOOST_NO_LAMBDAS +#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DECLTYPE_N3276 +#define BOOST_NO_DECLTYPE +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CHAR16_T +//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG +#define BOOST_MATH_DISABLE_STD_FPCLASSIFY +//#define BOOST_HAS_FPCLASSIFY + +#define BOOST_SP_USE_PTHREADS +#define BOOST_AC_USE_PTHREADS + diff --git a/include/boost/config/compiler/intel.hpp b/include/boost/config/compiler/intel.hpp index faa080fc..eb4d8140 100644 --- a/include/boost/config/compiler/intel.hpp +++ b/include/boost/config/compiler/intel.hpp @@ -27,7 +27,7 @@ #endif // Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x' -#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && __STDC_HOSTED__) || defined(__GXX_EXPERIMENTAL_CPP0X__) +#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) # define BOOST_INTEL_STDCXX0X #endif #if defined(_MSC_VER) && (_MSC_VER >= 1600) @@ -179,8 +179,9 @@ template<> struct assert_intrinsic_wchar_t {}; // intel-vc9-win-11.1 may leave a non-POD array uninitialized, in some // cases when it should be value-initialized. // (Niels Dekker, LKEB, May 2010) +// Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression). #if defined(__INTEL_COMPILER) -# if __INTEL_COMPILER <= 1110 +# if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION # endif #endif @@ -210,7 +211,7 @@ template<> struct assert_intrinsic_wchar_t {}; #endif #if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1200) -# undef BOOST_NO_RVALUE_REFERENCES +//# undef BOOST_NO_RVALUE_REFERENCES // Enabling this breaks Filesystem and Exception libraries //# undef BOOST_NO_SCOPED_ENUMS // doesn't really work!! # undef BOOST_NO_DELETED_FUNCTIONS # undef BOOST_NO_DEFAULTED_FUNCTIONS diff --git a/include/boost/config/platform/cray.hpp b/include/boost/config/platform/cray.hpp new file mode 100644 index 00000000..5c476e41 --- /dev/null +++ b/include/boost/config/platform/cray.hpp @@ -0,0 +1,18 @@ +// (C) Copyright John Maddock 2011. +// 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 for most recent version. + +// SGI Irix specific config options: + +#define BOOST_PLATFORM "Cray" + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + + + diff --git a/include/boost/config/platform/win32.hpp b/include/boost/config/platform/win32.hpp index 72c3dceb..39220127 100644 --- a/include/boost/config/platform/win32.hpp +++ b/include/boost/config/platform/win32.hpp @@ -55,6 +55,8 @@ #ifdef _WIN32_WCE # define BOOST_NO_ANSI_APIS +#else +# define BOOST_HAS_GETSYSTEMTIMEASFILETIME #endif #ifndef BOOST_HAS_PTHREADS diff --git a/include/boost/config/select_compiler_config.hpp b/include/boost/config/select_compiler_config.hpp index 34a4da58..0d47b254 100644 --- a/include/boost/config/select_compiler_config.hpp +++ b/include/boost/config/select_compiler_config.hpp @@ -17,6 +17,10 @@ // GCC-XML emulates other compilers, it has to appear first here! # define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp" +#elif defined(_CRAYC) +// EDG based Cray compiler: +# define BOOST_COMPILER_CONFIG "boost/config/compiler/cray.hpp" + #elif defined __CUDACC__ // NVIDIA CUDA C++ compiler for GPU # define BOOST_COMPILER_CONFIG "boost/config/compiler/nvcc.hpp" diff --git a/include/boost/config/select_platform_config.hpp b/include/boost/config/select_platform_config.hpp index bc1ffaf6..2af61d2d 100644 --- a/include/boost/config/select_platform_config.hpp +++ b/include/boost/config/select_platform_config.hpp @@ -13,7 +13,7 @@ // in order to prevent macro expansion within the header // name (for example "linux" is a macro on linux systems). -#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) +#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC) // linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though? # define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp" @@ -69,6 +69,10 @@ // Symbian: # define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp" +#elif defined(_CRAYC) +// Cray: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp" + #elif defined(__VMS) // VMS: # define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp" diff --git a/test/all/Jamfile.v2 b/test/all/Jamfile.v2 index 8f138e9d..2c10d7f3 100644 --- a/test/all/Jamfile.v2 +++ b/test/all/Jamfile.v2 @@ -1,7 +1,7 @@ # # Regression test Jamfile for boost configuration setup. # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Wed Jun 1 21:44:56 2011 +# This file was automatically generated on Wed Jul 13 18:50:14 2011 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the @@ -40,6 +40,9 @@ test-suite "BOOST_HAS_EXPM1" : test-suite "BOOST_HAS_FTIME" : [ run ../has_ftime_pass.cpp ] [ compile-fail ../has_ftime_fail.cpp ] ; +test-suite "BOOST_HAS_GETSYSTEMTIMEASFILETIME" : +[ run ../has_getsystemtimeasfiletime_pass.cpp ] +[ compile-fail ../has_getsystemtimeasfiletime_fail.cpp ] ; test-suite "BOOST_HAS_GETTIMEOFDAY" : [ run ../has_gettimeofday_pass.cpp ] [ compile-fail ../has_gettimeofday_fail.cpp ] ; diff --git a/test/boost_has_ftime.ipp b/test/boost_has_ftime.ipp index 664bc1f0..70964481 100644 --- a/test/boost_has_ftime.ipp +++ b/test/boost_has_ftime.ipp @@ -6,8 +6,8 @@ // See http://www.boost.org/libs/config for most recent version. // MACRO: BOOST_HAS_FTIME -// TITLE: GetSystemTimeAsFileTime -// DESCRIPTION: The platform supports Win32 API GetSystemTimeAsFileTime. +// TITLE: The platform has FTIME. +// DESCRIPTION: The platform supports the Win32 API type FTIME. #include @@ -18,7 +18,6 @@ void f() { // this is never called, it just has to compile: FILETIME ft; - GetSystemTimeAsFileTime(&ft); } int test() diff --git a/test/boost_has_getsystemtimeasfiletime.ipp b/test/boost_has_getsystemtimeasfiletime.ipp new file mode 100644 index 00000000..d9b7e1c9 --- /dev/null +++ b/test/boost_has_getsystemtimeasfiletime.ipp @@ -0,0 +1,30 @@ +// (C) Copyright John Maddock 2011. +// 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_HAS_GETSYSTEMTIMEASFILETIME +// TITLE: GetSystemTimeAsFileTime +// DESCRIPTION: The platform supports Win32 API GetSystemTimeAsFileTime. + +#include + + +namespace boost_has_getsystemtimeasfiletime{ + +void f() +{ + // this is never called, it just has to compile: + FILETIME ft; + GetSystemTimeAsFileTime(&ft); +} + +int test() +{ + return 0; +} + +} + diff --git a/test/boost_no_decltype.ipp b/test/boost_no_decltype.ipp index f76db77e..db1aae39 100644 --- a/test/boost_no_decltype.ipp +++ b/test/boost_no_decltype.ipp @@ -40,7 +40,11 @@ int test() int i; decltype(i) j; decltype(get_test_class()) k; + #ifndef _MSC_VER + // Although the VC++ decltype is buggy, we none the less enable support, + // so don't test the bugs for now! baz(get_test_class); + #endif return 0; } diff --git a/test/config_info.cpp b/test/config_info.cpp index eece2e19..c0612bfc 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -294,6 +294,22 @@ void print_compiler_macros() PRINT_MACRO(_PGO_INSTRUMENT); PRINT_MACRO(__QMSPP_); + // Cray options: + PRINT_MACRO(_CRAYC); + PRINT_MACRO(_RELEASE); + PRINT_MACRO(cray); + PRINT_MACRO(CRAY); + PRINT_MACRO(CRAY1); + PRINT_MACRO(_CRAY1); + PRINT_MACRO(_CRAYMPP); + PRINT_MACRO(_CRAYT3E); + PRINT_MACRO(_CRAYIEEE); + PRINT_MACRO(_ADDR32); + PRINT_MACRO(_ADDR64); + PRINT_MACRO(_LD64); + PRINT_MACRO(_FASTMD); + PRINT_MACRO(_MAXVL); + // misc compilers not covered so far: PRINT_MACRO(__USLC__); PRINT_MACRO(__DECCXX); @@ -917,6 +933,7 @@ void print_boost_macros() PRINT_MACRO(BOOST_HAS_DIRENT_H); PRINT_MACRO(BOOST_HAS_EXPM1); PRINT_MACRO(BOOST_HAS_FTIME); + PRINT_MACRO(BOOST_HAS_GETSYSTEMTIMEASFILETIME); PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY); PRINT_MACRO(BOOST_HAS_HASH); PRINT_MACRO(BOOST_HAS_LOG1P); @@ -1084,6 +1101,7 @@ void print_boost_macros() + // END GENERATED BLOCK PRINT_MACRO(BOOST_INTEL); diff --git a/test/config_test.cpp b/test/config_test.cpp index 10abbd62..8e909be7 100644 --- a/test/config_test.cpp +++ b/test/config_test.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Wed Jun 1 21:44:56 2011 +// This file was automatically generated on Wed Jul 13 18:50:14 2011 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the @@ -633,6 +633,11 @@ namespace boost_has_expm1 = empty_boost; #else namespace boost_has_ftime = empty_boost; #endif +#ifdef BOOST_HAS_GETSYSTEMTIMEASFILETIME +#include "boost_has_getsystemtimeasfiletime.ipp" +#else +namespace boost_has_getsystemtimeasfiletime = empty_boost; +#endif #ifdef BOOST_HAS_GETTIMEOFDAY #include "boost_has_gettimeofday.ipp" #else @@ -886,6 +891,11 @@ int main( int, char *[] ) std::cerr << "Failed test for BOOST_HAS_FTIME at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } + if(0 != boost_has_getsystemtimeasfiletime::test()) + { + std::cerr << "Failed test for BOOST_HAS_GETSYSTEMTIMEASFILETIME at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } if(0 != boost_has_gettimeofday::test()) { std::cerr << "Failed test for BOOST_HAS_GETTIMEOFDAY at: " << __FILE__ << ":" << __LINE__ << std::endl; diff --git a/test/has_getsystemtimeasfiletime_fail.cpp b/test/has_getsystemtimeasfiletime_fail.cpp new file mode 100644 index 00000000..15414938 --- /dev/null +++ b/test/has_getsystemtimeasfiletime_fail.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Wed Jul 13 18:50:13 2011 +// 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 72327 2011-06-01 14:51:03Z eric_niebler $ +// + + +// Test file for macro BOOST_HAS_GETSYSTEMTIMEASFILETIME +// This file should not compile, if it does then +// BOOST_HAS_GETSYSTEMTIMEASFILETIME should be defined. +// See file boost_has_getsystemtimeasfiletime.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_HAS_GETSYSTEMTIMEASFILETIME +#include "boost_has_getsystemtimeasfiletime.ipp" +#else +#error "this file should not compile" +#endif + +int main( int, char *[] ) +{ + return boost_has_getsystemtimeasfiletime::test(); +} + diff --git a/test/has_getsystemtimeasfiletime_pass.cpp b/test/has_getsystemtimeasfiletime_pass.cpp new file mode 100644 index 00000000..e8ea83bb --- /dev/null +++ b/test/has_getsystemtimeasfiletime_pass.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Wed Jul 13 18:50:13 2011 +// 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 72327 2011-06-01 14:51:03Z eric_niebler $ +// + + +// Test file for macro BOOST_HAS_GETSYSTEMTIMEASFILETIME +// This file should compile, if it does not then +// BOOST_HAS_GETSYSTEMTIMEASFILETIME should not be defined. +// See file boost_has_getsystemtimeasfiletime.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_HAS_GETSYSTEMTIMEASFILETIME +#include "boost_has_getsystemtimeasfiletime.ipp" +#else +namespace boost_has_getsystemtimeasfiletime = empty_boost; +#endif + +int main( int, char *[] ) +{ + return boost_has_getsystemtimeasfiletime::test(); +} +