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