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_NO_TYPEINFO 1
51#  undef _STLP_NATIVE_INCLUDE_PATH
52#  define _STLP_NATIVE_INCLUDE_PATH /usr/lpp/ioclib/include
53/* same for C headers like <string.h> */
54#  undef _STLP_NATIVE_C_INCLUDE_PATH
55#  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
56#  define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH /usr/include
57
58# elif (defined (__WINDOWS__) || defined (_AIX) || defined (__OS2__) ) && (__IBMCPP__ >= 350)
59
60#  define _STLP_LONG_LONG long long
61
62#endif
63
64#if !( defined( __xlC__ ) && __xlC__ >= 0x500 )
65
66/* AIX xlC 3.1 , 3.0.1 ==0x301
67 * Visual Age C++ 3.x
68 * OS-390 C++
69 * fbp : should be more version-specific!
70 */
71
72#  define _STLP_NO_BOOL 1
73#  define _STLP_DONT_USE_BOOL_TYPEDEF 1
74#  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
75#  define _STLP_HAS_NO_NAMESPACES 1
76#  define _STLP_NEED_TYPENAME 1
77#  define _STLP_NEED_EXPLICIT 1
78#  define _STLP_NO_ARROW_OPERATOR 1
79#  define _STLP_NO_NEW_STYLE_CASTS 1
80#  define _STLP_NO_WCHAR_T 1
81#  define _STLP_NEED_MUTABLE 1
82#  define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
83#  define _STLP_NO_BAD_ALLOC 1
84
85#  define _STLP_NO_MEMBER_TEMPLATES 1
86#  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
87#  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
88#  define _STLP_NO_QUALIFIED_FRIENDS 1
89#  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
90#  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
91
92#  define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
93#  define _STLP_NO_METHOD_SPECIALIZATION 1
94#  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
95#  define _STLP_NO_EXCEPTION_HEADER 1
96
97#  define _STLP_NO_NEW_NEW_HEADER 1
98
99#  if defined (__OS2__) && (__IBMCPP__ <= 350)
100#   define _STLP_NO_TYPEINFO 1
101#  endif
102#  define _STLP_NO_NEW_NEW_HEADER 1
103
104#  define _STLP_STATIC_CONST_INIT_BUG 1
105/* #  define _STLP_THROW_RETURN_BUG 1 */
106
107
108#  define _STLP_NO_TEMPLATE_CONVERSIONS 1
109#  define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
110
111/* AIX xlC, Visual Age 3.0 for OS/2 and MS */
112#  define _STLP_TRIVIAL_DESTRUCTOR_BUG
113
114#  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
115#  define _STLP_NONTEMPL_BASE_MATCH_BUG 1
116
117#if __IBMCPP__ <= 350
118#  define _STLP_NEED_UNREACHABLE_RETURN 1
119#endif
120
121#if __IBMCPP__ < 350
122#  define _STLP_NO_LONG_DOUBLE 1
123#endif
124
125#if __IBMCPP__ >= 365
126/* does not have new C headers, but has div() */
127#  define _STLP_LDIV
128#endif
129
130#endif /* xlC 5 */
131
132/* detect xlC5 by: */
133#if defined(__IBMCPP__) && (500 <= __IBMCPP__) && (__IBMCPP__ < 700)
134#  define _STLP_USE_EXCEPTIONS 1
135#  define _STLP_STATIC_CONST_INIT_BUG 1
136/* #pragma report(disable,CPPC1500029)
137 * unsigned 32-bit integer type
138 */
139#  define _STLP_UINT32_T unsigned int
140#  if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4)
141#    define _STLP_RAND48 1
142#  endif
143/* #  define _STLP_RAND48 1 */
144#endif /* __IBMCPP__ == 500 */
145