pathscale.hpp 4.9 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. // C++ 14:
  88. #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
  89. # define BOOST_NO_CXX14_AGGREGATE_NSDMI
  90. #endif
  91. #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
  92. # define BOOST_NO_CXX14_BINARY_LITERALS
  93. #endif
  94. #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
  95. # define BOOST_NO_CXX14_CONSTEXPR
  96. #endif
  97. #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
  98. # define BOOST_NO_CXX14_DECLTYPE_AUTO
  99. #endif
  100. #if (__cplusplus < 201304) // There's no SD6 check for this....
  101. # define BOOST_NO_CXX14_DIGIT_SEPARATORS
  102. #endif
  103. #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
  104. # define BOOST_NO_CXX14_GENERIC_LAMBDAS
  105. #endif
  106. #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
  107. # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
  108. #endif
  109. #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
  110. # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
  111. #endif
  112. #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
  113. # define BOOST_NO_CXX14_VARIABLE_TEMPLATES
  114. #endif
  115. // C++17
  116. #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
  117. # define BOOST_NO_CXX17_STRUCTURED_BINDINGS
  118. #endif
  119. #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
  120. # define BOOST_NO_CXX17_INLINE_VARIABLES
  121. #endif
  122. #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
  123. # define BOOST_NO_CXX17_FOLD_EXPRESSIONS
  124. #endif
  125. #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
  126. # define BOOST_NO_CXX17_IF_CONSTEXPR
  127. #endif
  128. #endif