]> git.buserror.net Git - polintos/scott/priv.git/blob - include/c++/stl/stl/config/_sunprocc.h
Add STLport 5.1.4
[polintos/scott/priv.git] / include / c++ / stl / stl / config / _sunprocc.h
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 #  define _STLP_NO_FRIEND_TEMPLATES 1
61
62 #  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
63 #  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS
64 #  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
65 #endif
66
67 // Features that depend on compatibility switch
68 #if ( __SUNPRO_CC < 0x500 ) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
69
70 #  ifndef _STLP_USE_NO_IOSTREAMS
71 #    define _STLP_USE_NO_IOSTREAMS 1
72 #  endif
73 #  define _STLP_NO_NEW_NEW_HEADER 1
74 // #  define _STLP_NO_RELOPS_NAMESPACE
75 #  define _STLP_HAS_NO_NAMESPACES 1
76 #  define _STLP_NEED_MUTABLE  1
77 #  define _STLP_NO_BAD_ALLOC 1
78 #  define _STLP_NO_EXCEPTION_HEADER 1
79 #  define _STLP_NATIVE_C_INCLUDE_PATH ../include
80 #elif (__SUNPRO_CC < 0x510)
81 // #  define _STLP_NATIVE_C_HEADER(header) <../CC/##header##.SUNWCCh>
82 #  define _STLP_NATIVE_CPP_C_HEADER(header) <../CC/##header##.SUNWCCh>
83 #  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
84 #elif defined( __SunOS_5_5_1 ) || defined( __SunOS_5_6 ) || defined( __SunOS_5_7 )
85 #  define _STLP_NATIVE_C_INCLUDE_PATH ../CC/std
86 #  define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
87 #else
88 #  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
89 #  define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
90 #endif
91
92 #if ( __SUNPRO_CC < 0x500 )
93
94 #  undef _STLP_NATIVE_C_HEADER
95 #  undef _STLP_NATIVE_CPP_C_HEADER
96
97 #  define wint_t __wint_t
98 // famous CC 4.2 bug
99 #  define _STLP_INLINE_STRING_LITERAL_BUG 1
100 // /usr/include
101 #  define _STLP_NATIVE_C_INCLUDE_PATH ../include
102
103 // 4.2 cannot handle iterator_traits<_Tp>::iterator_category as a return type ;(
104 #  define _STLP_USE_OLD_HP_ITERATOR_QUERIES
105
106 // 4.2 does not like it
107 #  undef  _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
108
109 #  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
110
111 #  define _STLP_NEED_TYPENAME 1
112 #  define _STLP_NEED_EXPLICIT 1
113 #  define _STLP_NO_BAD_ALLOC 1
114 #  define _STLP_NO_ARROW_OPERATOR 1
115
116 #  define _STLP_DEF_CONST_PLCT_NEW_BUG 1
117 #  define _STLP_DEF_CONST_DEF_PARAM_BUG 1
118 #  define _STLP_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG 1
119 #  undef  _STLP_HAS_NO_NEW_C_HEADERS
120 #  define _STLP_HAS_NO_NEW_C_HEADERS 1
121 // #  define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
122
123 #  if ( __SUNPRO_CC < 0x420 )
124 #    define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
125 #    define _STLP_NO_NEW_STYLE_CASTS 1
126 #    define _STLP_NO_METHOD_SPECIALIZATION 1
127 #    if ( __SUNPRO_CC > 0x401 )
128 #      if (__SUNPRO_CC==0x410)
129 #        define _STLP_BASE_TYPEDEF_OUTSIDE_BUG  1
130 #      endif
131 #    else
132    // SUNPro C++ 4.0.1
133 #      define _STLP_BASE_MATCH_BUG          1
134 #      define _STLP_BASE_TYPEDEF_BUG        1
135 #      if (( __SUNPRO_CC < 0x401 ) && !defined(__SUNPRO_C))
136          __GIVE_UP_WITH_STL(SUNPRO_401)
137 #      endif
138 #    endif /* 4.0.1 */
139 #  endif /* 4.2 */
140 #endif /* <  5.0 */
141
142 #ifndef _MBSTATET_H
143 #  define _MBSTATET_H
144 #  undef _MBSTATE_T
145 #  define _MBSTATE_T
146 typedef struct __mbstate_t {
147 #  if defined(_LP64)
148   long    __filler[4];
149 #  else
150   int     __filler[6];
151 #  endif
152 } __mbstate_t;
153 #  ifndef _STLP_HAS_NO_NAMESPACES
154 namespace std {
155   typedef __mbstate_t mbstate_t;
156 }
157 using std::mbstate_t;
158 #  else
159 typedef __mbstate_t mbstate_t;
160 #  endif
161 #endif  /* __MBSTATET_H */