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
145typedef 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
153namespace std {
154  typedef __mbstate_t mbstate_t;
155}
156using std::mbstate_t;
157#  else
158typedef __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