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