pathscale.hpp 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. // (C) Copyright Bryce Lelbach 2011
  2. // Use, modification and distribution are subject to the
  3. // Boost Software License, Version 1.0. (See accompanying file
  4. // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  5. // See http://www.boost.org for most recent version.
  6. // PathScale EKOPath C++ Compiler
  7. #ifndef BOOST_COMPILER
  8. # define BOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__
  9. #endif
  10. #if __PATHCC__ >= 6
  11. // PathCC is based on clang, and supports the __has_*() builtins used
  12. // to detect features in clang.hpp. Since the clang toolset is much
  13. // better maintained, it is more convenient to reuse its definitions.
  14. # include "boost/config/compiler/clang.hpp"
  15. #elif __PATHCC__ >= 4
  16. # define BOOST_MSVC6_MEMBER_TEMPLATES
  17. # define BOOST_HAS_UNISTD_H
  18. # define BOOST_HAS_STDINT_H
  19. # define BOOST_HAS_SIGACTION
  20. # define BOOST_HAS_SCHED_YIELD
  21. # define BOOST_HAS_THREADS
  22. # define BOOST_HAS_PTHREADS
  23. # define BOOST_HAS_PTHREAD_YIELD
  24. # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
  25. # define BOOST_HAS_PARTIAL_STD_ALLOCATOR
  26. # define BOOST_HAS_NRVO
  27. # define BOOST_HAS_NL_TYPES_H
  28. # define BOOST_HAS_NANOSLEEP
  29. # define BOOST_HAS_LONG_LONG
  30. # define BOOST_HAS_LOG1P
  31. # define BOOST_HAS_GETTIMEOFDAY
  32. # define BOOST_HAS_EXPM1
  33. # define BOOST_HAS_DIRENT_H
  34. # define BOOST_HAS_CLOCK_GETTIME
  35. # define BOOST_NO_CXX11_VARIADIC_TEMPLATES
  36. # define BOOST_NO_CXX11_UNICODE_LITERALS
  37. # define BOOST_NO_CXX11_TEMPLATE_ALIASES
  38. # define BOOST_NO_CXX11_STATIC_ASSERT
  39. # define BOOST_NO_SFINAE_EXPR
  40. # define BOOST_NO_CXX11_SFINAE_EXPR
  41. # define BOOST_NO_CXX11_SCOPED_ENUMS
  42. # define BOOST_NO_CXX11_RVALUE_REFERENCES
  43. # define BOOST_NO_CXX11_RANGE_BASED_FOR
  44. # define BOOST_NO_CXX11_RAW_LITERALS
  45. # define BOOST_NO_CXX11_NULLPTR
  46. # define BOOST_NO_CXX11_NUMERIC_LIMITS
  47. # define BOOST_NO_CXX11_NOEXCEPT
  48. # define BOOST_NO_CXX11_LAMBDAS
  49. # define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
  50. # define BOOST_NO_MS_INT64_NUMERIC_LIMITS
  51. # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
  52. # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
  53. # define BOOST_NO_CXX11_DELETED_FUNCTIONS
  54. # define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
  55. # define BOOST_NO_CXX11_DECLTYPE
  56. # define BOOST_NO_CXX11_DECLTYPE_N3276
  57. # define BOOST_NO_CXX11_CONSTEXPR
  58. # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
  59. # define BOOST_NO_CXX11_CHAR32_T
  60. # define BOOST_NO_CXX11_CHAR16_T
  61. # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
  62. # define BOOST_NO_CXX11_AUTO_DECLARATIONS
  63. # define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
  64. # define BOOST_NO_CXX11_HDR_UNORDERED_SET
  65. # define BOOST_NO_CXX11_HDR_UNORDERED_MAP
  66. # define BOOST_NO_CXX11_HDR_TYPEINDEX
  67. # define BOOST_NO_CXX11_HDR_TUPLE
  68. # define BOOST_NO_CXX11_HDR_THREAD
  69. # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
  70. # define BOOST_NO_CXX11_HDR_REGEX
  71. # define BOOST_NO_CXX11_HDR_RATIO
  72. # define BOOST_NO_CXX11_HDR_RANDOM
  73. # define BOOST_NO_CXX11_HDR_MUTEX
  74. # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
  75. # define BOOST_NO_CXX11_HDR_FUTURE
  76. # define BOOST_NO_CXX11_HDR_FORWARD_LIST
  77. # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
  78. # define BOOST_NO_CXX11_HDR_CODECVT
  79. # define BOOST_NO_CXX11_HDR_CHRONO
  80. # define BOOST_NO_CXX11_USER_DEFINED_LITERALS
  81. # define BOOST_NO_CXX11_ALIGNAS
  82. # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
  83. # define BOOST_NO_CXX11_INLINE_NAMESPACES
  84. # define BOOST_NO_CXX11_REF_QUALIFIERS
  85. # define BOOST_NO_CXX11_FINAL
  86. # define BOOST_NO_CXX11_THREAD_LOCAL
  87. # define BOOST_NO_CXX11_UNRESTRICTED_UNION
  88. // C++ 14:
  89. #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
  90. # define BOOST_NO_CXX14_AGGREGATE_NSDMI
  91. #endif
  92. #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
  93. # define BOOST_NO_CXX14_BINARY_LITERALS
  94. #endif
  95. #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
  96. # define BOOST_NO_CXX14_CONSTEXPR
  97. #endif
  98. #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
  99. # define BOOST_NO_CXX14_DECLTYPE_AUTO
  100. #endif
  101. #if (__cplusplus < 201304) // There's no SD6 check for this....
  102. # define BOOST_NO_CXX14_DIGIT_SEPARATORS
  103. #endif
  104. #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
  105. # define BOOST_NO_CXX14_GENERIC_LAMBDAS
  106. #endif
  107. #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
  108. # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
  109. #endif
  110. #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
  111. # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
  112. #endif
  113. #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
  114. # define BOOST_NO_CXX14_VARIABLE_TEMPLATES
  115. #endif
  116. // C++17
  117. #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
  118. # define BOOST_NO_CXX17_STRUCTURED_BINDINGS
  119. #endif
  120. #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
  121. # define BOOST_NO_CXX17_INLINE_VARIABLES
  122. #endif
  123. #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
  124. # define BOOST_NO_CXX17_FOLD_EXPRESSIONS
  125. #endif
  126. #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
  127. # define BOOST_NO_CXX17_IF_CONSTEXPR
  128. #endif
  129. #endif