Chris@16: // (C) Copyright Noel Belcourt 2007. Chris@16: // Use, modification and distribution are subject to the Chris@16: // Boost Software License, Version 1.0. (See accompanying file Chris@16: // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: // See http://www.boost.org for most recent version. Chris@16: Chris@16: // PGI C++ compiler setup: Chris@16: Chris@16: #define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__ Chris@16: #define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) Chris@16: Chris@16: // Chris@16: // Threading support: Chris@16: // Turn this on unconditionally here, it will get turned off again later Chris@16: // if no threading API is detected. Chris@16: // Chris@16: Chris@16: #if __PGIC__ >= 11 Chris@16: Chris@16: // options requested by configure --enable-test Chris@16: #define BOOST_HAS_PTHREADS Chris@16: #define BOOST_HAS_THREADS Chris@16: #define BOOST_HAS_PTHREAD_YIELD Chris@16: #define BOOST_HAS_NRVO Chris@16: #define BOOST_HAS_LONG_LONG Chris@16: Chris@16: // options --enable-test wants undefined Chris@16: #undef BOOST_NO_STDC_NAMESPACE Chris@16: #undef BOOST_NO_EXCEPTION_STD_NAMESPACE Chris@16: #undef BOOST_DEDUCED_TYPENAME Chris@16: Chris@16: #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL Chris@16: #define BOOST_NO_TWO_PHASE_NAME_LOOKUP Chris@16: #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS Chris@16: #define BOOST_NO_CXX11_AUTO_DECLARATIONS Chris@16: Chris@16: #elif __PGIC__ >= 10 Chris@16: Chris@16: // options requested by configure --enable-test Chris@16: #define BOOST_HAS_THREADS Chris@16: #define BOOST_HAS_NRVO Chris@16: #define BOOST_HAS_LONG_LONG Chris@16: #if defined(linux) || defined(__linux) || defined(__linux__) Chris@16: # define BOOST_HAS_STDINT_H Chris@16: #endif Chris@16: Chris@16: // options --enable-test wants undefined Chris@16: #undef BOOST_NO_STDC_NAMESPACE Chris@16: #undef BOOST_NO_EXCEPTION_STD_NAMESPACE Chris@16: #undef BOOST_DEDUCED_TYPENAME Chris@16: Chris@16: #elif __PGIC__ >= 7 Chris@16: Chris@16: #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL Chris@16: #define BOOST_NO_TWO_PHASE_NAME_LOOKUP Chris@16: #define BOOST_NO_SWPRINTF Chris@16: #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS Chris@16: #define BOOST_NO_CXX11_AUTO_DECLARATIONS Chris@16: Chris@16: #else Chris@16: Chris@16: # error "Pgi compiler not configured - please reconfigure" Chris@16: Chris@16: #endif Chris@16: // Chris@16: // C++0x features Chris@16: // Chris@16: // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG Chris@16: // Chris@16: #define BOOST_NO_CXX11_CHAR16_T Chris@16: #define BOOST_NO_CXX11_CHAR32_T Chris@16: #define BOOST_NO_CXX11_CONSTEXPR Chris@16: #define BOOST_NO_CXX11_DECLTYPE Chris@16: #define BOOST_NO_CXX11_DECLTYPE_N3276 Chris@16: #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS Chris@16: #define BOOST_NO_CXX11_DELETED_FUNCTIONS Chris@16: #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS Chris@16: #define BOOST_NO_CXX11_EXTERN_TEMPLATE Chris@16: #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS Chris@16: #define BOOST_NO_CXX11_LAMBDAS Chris@16: #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS Chris@16: #define BOOST_NO_CXX11_NOEXCEPT Chris@16: #define BOOST_NO_CXX11_NULLPTR Chris@16: #define BOOST_NO_CXX11_NUMERIC_LIMITS Chris@16: #define BOOST_NO_CXX11_RANGE_BASED_FOR Chris@16: #define BOOST_NO_CXX11_RAW_LITERALS Chris@16: #define BOOST_NO_CXX11_RVALUE_REFERENCES Chris@16: #define BOOST_NO_CXX11_SCOPED_ENUMS Chris@16: #define BOOST_NO_SFINAE_EXPR Chris@16: #define BOOST_NO_CXX11_STATIC_ASSERT Chris@16: #define BOOST_NO_SWPRINTF Chris@16: #define BOOST_NO_CXX11_TEMPLATE_ALIASES Chris@16: #define BOOST_NO_CXX11_UNICODE_LITERALS Chris@16: #define BOOST_NO_CXX11_VARIADIC_TEMPLATES Chris@16: #define BOOST_NO_CXX11_VARIADIC_MACROS Chris@16: #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX Chris@16: Chris@16: #define BOOST_NO_CXX11_HDR_UNORDERED_SET Chris@16: #define BOOST_NO_CXX11_HDR_UNORDERED_MAP Chris@16: #define BOOST_NO_CXX11_HDR_TYPEINDEX Chris@16: #define BOOST_NO_CXX11_HDR_TYPE_TRAITS Chris@16: #define BOOST_NO_CXX11_HDR_TUPLE Chris@16: #define BOOST_NO_CXX11_HDR_THREAD Chris@16: #define BOOST_NO_CXX11_HDR_SYSTEM_ERROR Chris@16: #define BOOST_NO_CXX11_HDR_REGEX Chris@16: #define BOOST_NO_CXX11_HDR_RATIO Chris@16: #define BOOST_NO_CXX11_HDR_RANDOM Chris@16: #define BOOST_NO_CXX11_HDR_MUTEX Chris@16: #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST Chris@16: #define BOOST_NO_CXX11_HDR_FUTURE Chris@16: #define BOOST_NO_CXX11_HDR_FORWARD_LIST Chris@16: #define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE Chris@16: #define BOOST_NO_CXX11_HDR_CODECVT Chris@16: #define BOOST_NO_CXX11_HDR_CHRONO Chris@16: #define BOOST_NO_CXX11_HDR_ARRAY Chris@16: #define BOOST_NO_CXX11_USER_DEFINED_LITERALS Chris@16: #define BOOST_NO_CXX11_ALIGNAS Chris@16: #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES Chris@16: #define BOOST_NO_CXX11_INLINE_NAMESPACES Chris@101: #define BOOST_NO_CXX11_REF_QUALIFIERS Chris@101: #define BOOST_NO_CXX11_FINAL Chris@16: Chris@101: // C++ 14: Chris@101: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) Chris@101: # define BOOST_NO_CXX14_AGGREGATE_NSDMI Chris@101: #endif Chris@101: #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) Chris@101: # define BOOST_NO_CXX14_BINARY_LITERALS Chris@101: #endif Chris@101: #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) Chris@101: # define BOOST_NO_CXX14_CONSTEXPR Chris@101: #endif Chris@101: #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) Chris@101: # define BOOST_NO_CXX14_DECLTYPE_AUTO Chris@101: #endif Chris@101: #if (__cplusplus < 201304) // There's no SD6 check for this.... Chris@101: # define BOOST_NO_CXX14_DIGIT_SEPARATORS Chris@101: #endif Chris@101: #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) Chris@101: # define BOOST_NO_CXX14_GENERIC_LAMBDAS Chris@101: #endif Chris@101: #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) Chris@101: # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES Chris@101: #endif Chris@101: #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) Chris@101: # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION Chris@101: #endif Chris@101: #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) Chris@101: # define BOOST_NO_CXX14_VARIABLE_TEMPLATES Chris@101: #endif Chris@16: // Chris@16: // version check: Chris@16: // probably nothing to do here? Chris@16: