_ibm.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. /* STLport configuration file
  2. * It is internal STLport header - DO NOT include it directly
  3. */
  4. #if defined (__IBMCPP__) || defined (__IBMC__)
  5. # define _STLP_COMPILER "Visual Age C++"
  6. #elif defined (__xlC__)
  7. # define _STLP_COMPILER "xlc"
  8. #else
  9. # error "Unknown compiler"
  10. #endif
  11. #if !defined(__IBMCPP__) || (__IBMCPP__ < 500)
  12. # define _STLP_HAS_NO_NEW_C_HEADERS 1
  13. #endif
  14. /* string literal problem, same as with SUN and aCC */
  15. # define _STLP_INLINE_STRING_LITERAL_BUG 1
  16. # define _STLP_HAS_NATIVE_FLOAT_ABS
  17. # define _STLP_DEF_CONST_PLCT_NEW_BUG 1
  18. # define _STLP_DEF_CONST_DEF_PARAM_BUG 1
  19. # ifdef __IBMCPP__
  20. # define _STLP_HAS_SPECIFIC_PROLOG_EPILOG
  21. # endif
  22. /* # if ( defined (__MULTI__) && defined (__WINDOWS__))
  23. * # define _STLP_WIN32THREADS 1 Only Visual Age 3.5 for Windows
  24. * # endif
  25. */
  26. # if ( defined (__MULTI__) && defined (__OS2__))
  27. # define _STLP_OS2THREADS 1
  28. # endif
  29. /* __TEMPINC__ is set when /Ft+ option is used */
  30. # ifdef __TEMPINC__
  31. # define _STLP_LINK_TIME_INSTANTIATION 1
  32. # endif
  33. # if defined (__MVS__)
  34. /* long long support is buggy - reported by Tinny Ng
  35. * # if __EXTENDED__ && __COMPILER_VER__ >= 0x22060000
  36. * # define _STLP_LONG_LONG long long
  37. * # endif
  38. */
  39. /* boris : hstash reported it can be treated like UNIX */
  40. # define _STLP_NO_TYPEINFO 1
  41. # undef _STLP_NATIVE_INCLUDE_PATH
  42. # define _STLP_NATIVE_INCLUDE_PATH /usr/lpp/ioclib/include
  43. /* same for C headers like <string.h> */
  44. # undef _STLP_NATIVE_C_INCLUDE_PATH
  45. # define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
  46. # define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH /usr/include
  47. # elif (defined (__WINDOWS__) || defined (_AIX) || defined (__OS2__) ) && (__IBMCPP__ >= 350)
  48. # define _STLP_LONG_LONG long long
  49. #endif
  50. #if !( defined( __xlC__ ) && __xlC__ >= 0x500 )
  51. /* AIX xlC 3.1 , 3.0.1 ==0x301
  52. * Visual Age C++ 3.x
  53. * OS-390 C++
  54. * fbp : should be more version-specific!
  55. */
  56. # define _STLP_NO_BOOL 1
  57. # define _STLP_DONT_USE_BOOL_TYPEDEF 1
  58. # define _STLP_LIMITED_DEFAULT_TEMPLATES 1
  59. # define _STLP_HAS_NO_NAMESPACES 1
  60. # define _STLP_NEED_TYPENAME 1
  61. # define _STLP_NEED_EXPLICIT 1
  62. # define _STLP_NO_ARROW_OPERATOR 1
  63. # define _STLP_NO_NEW_STYLE_CASTS 1
  64. # define _STLP_NO_WCHAR_T 1
  65. # define _STLP_NEED_MUTABLE 1
  66. # define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
  67. # define _STLP_NO_BAD_ALLOC 1
  68. # define _STLP_NO_MEMBER_TEMPLATES 1
  69. # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
  70. # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
  71. # define _STLP_NO_QUALIFIED_FRIENDS 1
  72. # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
  73. # define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
  74. # define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
  75. # define _STLP_NO_METHOD_SPECIALIZATION 1
  76. # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
  77. # define _STLP_NO_EXCEPTION_HEADER 1
  78. # define _STLP_NO_NEW_NEW_HEADER 1
  79. # if defined (__OS2__) && (__IBMCPP__ <= 350)
  80. # define _STLP_NO_TYPEINFO 1
  81. # endif
  82. # define _STLP_NO_NEW_NEW_HEADER 1
  83. # define _STLP_STATIC_CONST_INIT_BUG 1
  84. /* # define _STLP_THROW_RETURN_BUG 1 */
  85. # define _STLP_NO_TEMPLATE_CONVERSIONS 1
  86. # define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
  87. /* AIX xlC, Visual Age 3.0 for OS/2 and MS */
  88. # define _STLP_TRIVIAL_DESTRUCTOR_BUG
  89. # define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
  90. # define _STLP_NONTEMPL_BASE_MATCH_BUG 1
  91. #if __IBMCPP__ <= 350
  92. # define _STLP_NEED_UNREACHABLE_RETURN 1
  93. #endif
  94. #if __IBMCPP__ < 350
  95. # define _STLP_NO_LONG_DOUBLE 1
  96. #endif
  97. #if __IBMCPP__ >= 365
  98. /* does not have new C headers, but has div() */
  99. # define _STLP_LDIV
  100. #endif
  101. #endif /* xlC 5 */
  102. /* detect xlC5 by: */
  103. #if defined(__IBMCPP__) && (500 <= __IBMCPP__) && (__IBMCPP__ < 700)
  104. # define _STLP_USE_EXCEPTIONS 1
  105. # define _STLP_STATIC_CONST_INIT_BUG 1
  106. /* #pragma report(disable,CPPC1500029)
  107. * unsigned 32-bit integer type
  108. */
  109. # define _STLP_UINT32_T unsigned int
  110. # if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4)
  111. # define _STLP_RAND48 1
  112. # endif
  113. /* # define _STLP_RAND48 1 */
  114. #endif /* __IBMCPP__ == 500 */