1 // STLport configuration file
2 // It is internal STLport header - DO NOT include it directly
4 #define _STLP_COMPILER "Sunpro CC"
6 #define _STLP_LONG_LONG long long
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
14 // # define _STLP_LINK_TIME_INSTANTIATION 1
17 # define _STLP_NO_BOOL 1
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
29 # define _STLP_NATIVE_INCLUDE_PATH ../CC
32 #define _STLP_STATIC_CONST_INIT_BUG 1
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
41 #ifdef _STLP_USE_NO_IOSTREAMS
42 # define _STLP_HAS_NO_NEW_C_HEADERS 1
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
51 #if (__SUNPRO_CC < 0x510) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
53 # define _STLP_NO_QUALIFIED_FRIENDS 1
55 // no partial , just for explicit one
56 # define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
57 # define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
59 # define _STLP_NO_MEMBER_TEMPLATES 1
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
66 // Features that depend on compatibility switch
67 #if ( __SUNPRO_CC < 0x500 ) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
69 # ifndef _STLP_USE_NO_IOSTREAMS
70 # define _STLP_USE_NO_IOSTREAMS 1
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
87 # define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
88 # define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
91 #if ( __SUNPRO_CC < 0x500 )
93 # undef _STLP_NATIVE_C_HEADER
94 # undef _STLP_NATIVE_CPP_C_HEADER
96 # define wint_t __wint_t
98 # define _STLP_INLINE_STRING_LITERAL_BUG 1
100 # define _STLP_NATIVE_C_INCLUDE_PATH ../include
102 // 4.2 cannot handle iterator_traits<_Tp>::iterator_category as a return type ;(
103 # define _STLP_USE_OLD_HP_ITERATOR_QUERIES
105 // 4.2 does not like it
106 # undef _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
108 # define _STLP_LIMITED_DEFAULT_TEMPLATES 1
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
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
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
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
)
145 typedef struct __mbstate_t
{
152 # ifndef _STLP_HAS_NO_NAMESPACES
154 typedef __mbstate_t
mbstate_t;
156 using std::mbstate_t;
158 typedef __mbstate_t
mbstate_t;
160 #endif /* __MBSTATET_H */
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