_sunprocc.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. // STLport configuration file
  2. // It is internal STLport header - DO NOT include it directly
  3. #define _STLP_COMPILER "Sunpro CC"
  4. #define _STLP_LONG_LONG long long
  5. // GAB: 11/09/05
  6. // Starting with 5.0 the STLport code expects to be
  7. // instantiated during compile time. This is due to undefing
  8. // a number of defines that are also used in the c versions
  9. // of the file. When they are undefed the c version fails to
  10. // compile.
  11. // # define _STLP_LINK_TIME_INSTANTIATION 1
  12. #if ! defined(_BOOL)
  13. # define _STLP_NO_BOOL 1
  14. #endif
  15. // compatibility mode stuff
  16. #if (__SUNPRO_CC >= 0x510) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 ))
  17. # define _STLP_NATIVE_INCLUDE_PATH ../CC/Cstd
  18. # define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../CC
  19. #elif (__SUNPRO_CC >= 0x500) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 ))
  20. # define _STLP_NATIVE_INCLUDE_PATH ../CC
  21. #elif (defined (__SUNPRO_CC_COMPAT) && __SUNPRO_CC_COMPAT == 4)
  22. # define _STLP_NATIVE_INCLUDE_PATH ../CC4
  23. #else
  24. # define _STLP_NATIVE_INCLUDE_PATH ../CC
  25. #endif
  26. #define _STLP_STATIC_CONST_INIT_BUG 1
  27. #if (__SUNPRO_CC < 0x530)
  28. // those are tested and proved not to work...
  29. # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
  30. # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
  31. # define _STLP_USE_OLD_HP_ITERATOR_QUERIES
  32. #endif
  33. #ifdef _STLP_USE_NO_IOSTREAMS
  34. # define _STLP_HAS_NO_NEW_C_HEADERS 1
  35. #endif
  36. // those do not depend on compatibility
  37. #if (__SUNPRO_CC < 0x510)
  38. # define _STLP_NO_TYPENAME_ON_RETURN_TYPE 1
  39. # define _STLP_NONTEMPL_BASE_MATCH_BUG 1
  40. #endif
  41. #if (__SUNPRO_CC < 0x510) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
  42. # define _STLP_NO_QUALIFIED_FRIENDS 1
  43. // no partial , just for explicit one
  44. # define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
  45. # define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
  46. # define _STLP_NO_MEMBER_TEMPLATES 1
  47. # define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
  48. # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS
  49. # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
  50. #endif
  51. // Features that depend on compatibility switch
  52. #if ( __SUNPRO_CC < 0x500 ) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
  53. # ifndef _STLP_USE_NO_IOSTREAMS
  54. # define _STLP_USE_NO_IOSTREAMS 1
  55. # endif
  56. # define _STLP_NO_NEW_NEW_HEADER 1
  57. // # define _STLP_NO_RELOPS_NAMESPACE
  58. # define _STLP_HAS_NO_NAMESPACES 1
  59. # define _STLP_NEED_MUTABLE 1
  60. # define _STLP_NO_BAD_ALLOC 1
  61. # define _STLP_NO_EXCEPTION_HEADER 1
  62. # define _STLP_NATIVE_C_INCLUDE_PATH ../include
  63. #elif (__SUNPRO_CC < 0x510)
  64. // # define _STLP_NATIVE_C_HEADER(header) <../CC/##header##.SUNWCCh>
  65. # define _STLP_NATIVE_CPP_C_HEADER(header) <../CC/##header##.SUNWCCh>
  66. # define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
  67. #elif defined( __SunOS_5_5_1 ) || defined( __SunOS_5_6 ) || defined( __SunOS_5_7 )
  68. # define _STLP_NATIVE_C_INCLUDE_PATH ../CC/std
  69. # define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
  70. #else
  71. # define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
  72. # define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
  73. #endif
  74. #if ( __SUNPRO_CC < 0x500 )
  75. # undef _STLP_NATIVE_C_HEADER
  76. # undef _STLP_NATIVE_CPP_C_HEADER
  77. # define wint_t __wint_t
  78. // famous CC 4.2 bug
  79. # define _STLP_INLINE_STRING_LITERAL_BUG 1
  80. // /usr/include
  81. # define _STLP_NATIVE_C_INCLUDE_PATH ../include
  82. // 4.2 cannot handle iterator_traits<_Tp>::iterator_category as a return type ;(
  83. # define _STLP_USE_OLD_HP_ITERATOR_QUERIES
  84. // 4.2 does not like it
  85. # undef _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
  86. # define _STLP_LIMITED_DEFAULT_TEMPLATES 1
  87. # define _STLP_NEED_TYPENAME 1
  88. # define _STLP_NEED_EXPLICIT 1
  89. # define _STLP_NO_BAD_ALLOC 1
  90. # define _STLP_NO_ARROW_OPERATOR 1
  91. # define _STLP_DEF_CONST_PLCT_NEW_BUG 1
  92. # define _STLP_DEF_CONST_DEF_PARAM_BUG 1
  93. # define _STLP_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG 1
  94. # undef _STLP_HAS_NO_NEW_C_HEADERS
  95. # define _STLP_HAS_NO_NEW_C_HEADERS 1
  96. // # define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
  97. # if ( __SUNPRO_CC < 0x420 )
  98. # define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
  99. # define _STLP_NO_NEW_STYLE_CASTS 1
  100. # define _STLP_NO_METHOD_SPECIALIZATION 1
  101. # if ( __SUNPRO_CC > 0x401 )
  102. # if (__SUNPRO_CC==0x410)
  103. # define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
  104. # endif
  105. # else
  106. // SUNPro C++ 4.0.1
  107. # define _STLP_BASE_MATCH_BUG 1
  108. # define _STLP_BASE_TYPEDEF_BUG 1
  109. # if (( __SUNPRO_CC < 0x401 ) && !defined(__SUNPRO_C))
  110. __GIVE_UP_WITH_STL(SUNPRO_401)
  111. # endif
  112. # endif /* 4.0.1 */
  113. # endif /* 4.2 */
  114. #endif /* < 5.0 */
  115. #ifndef _MBSTATET_H
  116. # define _MBSTATET_H
  117. # undef _MBSTATE_T
  118. # define _MBSTATE_T
  119. typedef struct __mbstate_t {
  120. # if defined(_LP64)
  121. long __filler[4];
  122. # else
  123. int __filler[6];
  124. # endif
  125. } __mbstate_t;
  126. # ifndef _STLP_HAS_NO_NAMESPACES
  127. namespace std {
  128. typedef __mbstate_t mbstate_t;
  129. }
  130. using std::mbstate_t;
  131. # else
  132. typedef __mbstate_t mbstate_t;
  133. # endif
  134. #endif /* __MBSTATET_H */
  135. #if !defined(_STLP_HAS_NO_NEW_C_HEADERS) && !defined(_STLP_NO_NEW_C_HEADERS)
  136. /* Since Sun Studio uses <iso/stdlib_iso.h>, we are at its
  137. * mercy. GCC is built on top of <stdlib.h>. */
  138. #define _STLP_NO_VENDOR_STDLIB_L
  139. #endif