]> git.buserror.net Git - polintos/scott/priv.git/blob - include/c++/stl/stl/config/_ibm.h
minor doc updates
[polintos/scott/priv.git] / include / c++ / stl / stl / config / _ibm.h
1 /* STLport configuration file
2  * It is internal STLport header - DO NOT include it directly
3  */
4
5 #if defined (__IBMCPP__) || defined (__IBMC__)
6 #  define _STLP_COMPILER "Visual Age C++"
7 #elif defined (__xlC__)
8 #  define _STLP_COMPILER "xlc"
9 #else
10 #  error "Unknown compiler"
11 #endif
12
13 #if !defined(__IBMCPP__) || (__IBMCPP__ < 500)
14 # define _STLP_HAS_NO_NEW_C_HEADERS 1
15 #endif
16
17 /* string literal problem, same as with SUN and aCC */
18 # define _STLP_INLINE_STRING_LITERAL_BUG 1
19 # define _STLP_HAS_NATIVE_FLOAT_ABS
20
21 # define _STLP_DEF_CONST_PLCT_NEW_BUG 1
22 # define _STLP_DEF_CONST_DEF_PARAM_BUG 1
23
24
25 # ifdef __IBMCPP__
26 #  define _STLP_HAS_SPECIFIC_PROLOG_EPILOG
27 # endif
28
29 /* #  if ( defined (__MULTI__) && defined (__WINDOWS__))
30  * #   define  _STLP_WIN32THREADS 1           Only Visual Age 3.5 for Windows
31  * #  endif
32  */
33
34 #  if ( defined (__MULTI__) && defined (__OS2__))
35 #   define _STLP_OS2THREADS 1
36 #  endif
37
38 /* __TEMPINC__ is set when /Ft+ option is used */
39 #  ifdef __TEMPINC__
40 #    define _STLP_LINK_TIME_INSTANTIATION 1
41 #  endif
42
43 # if defined (__MVS__)
44 /* long long support is buggy - reported by Tinny Ng
45  * #  if __EXTENDED__ && __COMPILER_VER__ >= 0x22060000
46  * #   define _STLP_LONG_LONG long long
47  * #  endif
48  */
49 /* boris : hstash reported it can be treated like UNIX */
50 #  define _STLP_UNIX 1
51 #  define _STLP_NO_TYPEINFO 1
52 #  undef _STLP_NATIVE_INCLUDE_PATH
53 #  define _STLP_NATIVE_INCLUDE_PATH /usr/lpp/ioclib/include
54 /* same for C headers like <string.h> */
55 #  undef _STLP_NATIVE_C_INCLUDE_PATH
56 #  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
57 #  define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH /usr/include
58
59 # elif (defined (__WINDOWS__) || defined (_AIX) || defined (__OS2__) ) && (__IBMCPP__ >= 350)
60
61 #  define _STLP_LONG_LONG long long
62
63 #endif
64
65 #if !( defined( __xlC__ ) && __xlC__ >= 0x500 )
66
67 /* AIX xlC 3.1 , 3.0.1 ==0x301
68  * Visual Age C++ 3.x
69  * OS-390 C++
70  * fbp : should be more version-specific!
71  */
72
73 #  define _STLP_NO_BOOL 1
74 #  define _STLP_DONT_USE_BOOL_TYPEDEF 1
75 #  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
76 #  define _STLP_HAS_NO_NAMESPACES 1
77 #  define _STLP_NEED_TYPENAME 1
78 #  define _STLP_NEED_EXPLICIT 1
79 #  define _STLP_NO_ARROW_OPERATOR 1
80 #  define _STLP_NO_NEW_STYLE_CASTS 1
81 #  define _STLP_NO_WCHAR_T 1
82 #  define _STLP_NEED_MUTABLE 1
83 #  define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
84 #  define _STLP_NO_BAD_ALLOC 1
85
86 #  define _STLP_NO_MEMBER_TEMPLATES 1
87 #  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
88 #  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
89 #  define _STLP_NO_FRIEND_TEMPLATES 1
90 #  define _STLP_NO_QUALIFIED_FRIENDS 1
91 #  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
92 #  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
93
94 #  define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
95 #  define _STLP_NO_METHOD_SPECIALIZATION 1
96 #  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
97 #  define _STLP_NO_EXCEPTION_HEADER 1
98
99 #  define _STLP_NO_NEW_NEW_HEADER 1
100
101 #  if defined (__OS2__) && (__IBMCPP__ <= 350)
102 #   define _STLP_NO_TYPEINFO 1
103 #  endif
104 #  define _STLP_NO_NEW_NEW_HEADER 1
105
106 #  define _STLP_STATIC_CONST_INIT_BUG 1
107 /* #  define _STLP_THROW_RETURN_BUG 1 */
108
109
110 #  define _STLP_NO_TEMPLATE_CONVERSIONS 1
111 #  define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
112
113 /* AIX xlC, Visual Age 3.0 for OS/2 and MS */
114 #  define _STLP_TRIVIAL_DESTRUCTOR_BUG
115
116 #  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
117 #  define _STLP_NONTEMPL_BASE_MATCH_BUG 1
118
119 #if __IBMCPP__ <= 350
120 #  define _STLP_NEED_UNREACHABLE_RETURN 1
121 #endif
122
123 #if __IBMCPP__ < 350
124 #  define _STLP_NO_LONG_DOUBLE 1
125 #endif
126
127 #if __IBMCPP__ >= 365
128 /* does not have new C headers, but has div() */
129 #  define _STLP_LDIV
130 #endif
131
132 #endif /* xlC 5 */
133
134 /* detect xlC5 by: */
135 #if defined(__IBMCPP__) && (500 <= __IBMCPP__) && (__IBMCPP__ < 700)
136 #  define _STLP_USE_EXCEPTIONS 1
137 #  define _STLP_STATIC_CONST_INIT_BUG 1
138 /* #pragma report(disable,CPPC1500029)
139  * unsigned 32-bit integer type
140  */
141 #  define _STLP_UINT32_T unsigned int
142 #  if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4)
143 #    define _STLP_RAND48 1
144 #  endif
145 /* #  define _STLP_RAND48 1 */
146 #endif /* __IBMCPP__ == 500 */