111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* STLport configuration file
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * It is internal STLport header - DO NOT include it directly
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined (__IBMCPP__) || defined (__IBMC__)
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_COMPILER "Visual Age C++"
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#elif defined (__xlC__)
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_COMPILER "xlc"
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  error "Unknown compiler"
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !defined(__IBMCPP__) || (__IBMCPP__ < 500)
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_HAS_NO_NEW_C_HEADERS 1
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* string literal problem, same as with SUN and aCC */
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_INLINE_STRING_LITERAL_BUG 1
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_HAS_NATIVE_FLOAT_ABS
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_DEF_CONST_PLCT_NEW_BUG 1
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_DEF_CONST_DEF_PARAM_BUG 1
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# ifdef __IBMCPP__
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_HAS_SPECIFIC_PROLOG_EPILOG
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #  if ( defined (__MULTI__) && defined (__WINDOWS__))
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * #   define  _STLP_WIN32THREADS 1           Only Visual Age 3.5 for Windows
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * #  endif
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  if ( defined (__MULTI__) && defined (__OS2__))
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   define _STLP_OS2THREADS 1
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* __TEMPINC__ is set when /Ft+ option is used */
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  ifdef __TEMPINC__
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    define _STLP_LINK_TIME_INSTANTIATION 1
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if defined (__MVS__)
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* long long support is buggy - reported by Tinny Ng
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * #  if __EXTENDED__ && __COMPILER_VER__ >= 0x22060000
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * #   define _STLP_LONG_LONG long long
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * #  endif
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* boris : hstash reported it can be treated like UNIX */
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_TYPEINFO 1
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  undef _STLP_NATIVE_INCLUDE_PATH
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NATIVE_INCLUDE_PATH /usr/lpp/ioclib/include
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* same for C headers like <string.h> */
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  undef _STLP_NATIVE_C_INCLUDE_PATH
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH /usr/include
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# elif (defined (__WINDOWS__) || defined (_AIX) || defined (__OS2__) ) && (__IBMCPP__ >= 350)
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_LONG_LONG long long
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !( defined( __xlC__ ) && __xlC__ >= 0x500 )
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* AIX xlC 3.1 , 3.0.1 ==0x301
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Visual Age C++ 3.x
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * OS-390 C++
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * fbp : should be more version-specific!
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_BOOL 1
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_DONT_USE_BOOL_TYPEDEF 1
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_HAS_NO_NAMESPACES 1
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NEED_TYPENAME 1
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NEED_EXPLICIT 1
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_ARROW_OPERATOR 1
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_NEW_STYLE_CASTS 1
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_WCHAR_T 1
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NEED_MUTABLE 1
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_BAD_ALLOC 1
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_MEMBER_TEMPLATES 1
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_QUALIFIED_FRIENDS 1
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_METHOD_SPECIALIZATION 1
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_EXCEPTION_HEADER 1
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_NEW_NEW_HEADER 1
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  if defined (__OS2__) && (__IBMCPP__ <= 350)
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   define _STLP_NO_TYPEINFO 1
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_NEW_NEW_HEADER 1
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_STATIC_CONST_INIT_BUG 1
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #  define _STLP_THROW_RETURN_BUG 1 */
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_TEMPLATE_CONVERSIONS 1
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* AIX xlC, Visual Age 3.0 for OS/2 and MS */
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_TRIVIAL_DESTRUCTOR_BUG
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NONTEMPL_BASE_MATCH_BUG 1
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if __IBMCPP__ <= 350
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NEED_UNREACHABLE_RETURN 1
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if __IBMCPP__ < 350
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NO_LONG_DOUBLE 1
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if __IBMCPP__ >= 365
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* does not have new C headers, but has div() */
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_LDIV
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* xlC 5 */
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* detect xlC5 by: */
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__IBMCPP__) && (500 <= __IBMCPP__) && (__IBMCPP__ < 700)
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_USE_EXCEPTIONS 1
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_STATIC_CONST_INIT_BUG 1
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #pragma report(disable,CPPC1500029)
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * unsigned 32-bit integer type
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_UINT32_T unsigned int
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4)
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    define _STLP_RAND48 1
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #  define _STLP_RAND48 1 */
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* __IBMCPP__ == 500 */
145