/home/ntakagi/work/STLport-5.1.5/stlport/stl/config/_ibm.h

Go to the documentation of this file.
00001 /* STLport configuration file
00002  * It is internal STLport header - DO NOT include it directly
00003  */
00004 
00005 #if defined (__IBMCPP__) || defined (__IBMC__)
00006 #  define _STLP_COMPILER "Visual Age C++"
00007 #elif defined (__xlC__)
00008 #  define _STLP_COMPILER "xlc"
00009 #else
00010 #  error "Unknown compiler"
00011 #endif
00012 
00013 #if !defined(__IBMCPP__) || (__IBMCPP__ < 500)
00014 # define _STLP_HAS_NO_NEW_C_HEADERS 1
00015 #endif
00016 
00017 /* string literal problem, same as with SUN and aCC */
00018 # define _STLP_INLINE_STRING_LITERAL_BUG 1
00019 # define _STLP_HAS_NATIVE_FLOAT_ABS
00020 
00021 # define _STLP_DEF_CONST_PLCT_NEW_BUG 1
00022 # define _STLP_DEF_CONST_DEF_PARAM_BUG 1
00023 
00024 
00025 # ifdef __IBMCPP__
00026 #  define _STLP_HAS_SPECIFIC_PROLOG_EPILOG
00027 # endif
00028 
00029 /* #  if ( defined (__MULTI__) && defined (__WINDOWS__))
00030  * #   define  _STLP_WIN32THREADS 1           Only Visual Age 3.5 for Windows
00031  * #  endif
00032  */
00033 
00034 #  if ( defined (__MULTI__) && defined (__OS2__))
00035 #   define _STLP_OS2THREADS 1
00036 #  endif
00037 
00038 /* __TEMPINC__ is set when /Ft+ option is used */
00039 #  ifdef __TEMPINC__
00040 #    define _STLP_LINK_TIME_INSTANTIATION 1
00041 #  endif
00042 
00043 # if defined (__MVS__)
00044 /* long long support is buggy - reported by Tinny Ng
00045  * #  if __EXTENDED__ && __COMPILER_VER__ >= 0x22060000
00046  * #   define _STLP_LONG_LONG long long
00047  * #  endif
00048  */
00049 /* boris : hstash reported it can be treated like UNIX */
00050 #  define _STLP_UNIX 1
00051 #  define _STLP_NO_TYPEINFO 1
00052 #  undef _STLP_NATIVE_INCLUDE_PATH
00053 #  define _STLP_NATIVE_INCLUDE_PATH /usr/lpp/ioclib/include
00054 /* same for C headers like <string.h> */
00055 #  undef _STLP_NATIVE_C_INCLUDE_PATH
00056 #  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
00057 #  define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH /usr/include
00058 
00059 # elif (defined (__WINDOWS__) || defined (_AIX) || defined (__OS2__) ) && (__IBMCPP__ >= 350)
00060 
00061 #  define _STLP_LONG_LONG long long
00062 
00063 #endif
00064 
00065 #if !( defined( __xlC__ ) && __xlC__ >= 0x500 )
00066 
00067 /* AIX xlC 3.1 , 3.0.1 ==0x301
00068  * Visual Age C++ 3.x
00069  * OS-390 C++
00070  * fbp : should be more version-specific!
00071  */
00072 
00073 #  define _STLP_NO_BOOL 1
00074 #  define _STLP_DONT_USE_BOOL_TYPEDEF 1
00075 #  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
00076 #  define _STLP_HAS_NO_NAMESPACES 1
00077 #  define _STLP_NEED_TYPENAME 1
00078 #  define _STLP_NEED_EXPLICIT 1
00079 #  define _STLP_NO_ARROW_OPERATOR 1
00080 #  define _STLP_NO_NEW_STYLE_CASTS 1
00081 #  define _STLP_NO_WCHAR_T 1
00082 #  define _STLP_NEED_MUTABLE 1
00083 #  define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
00084 #  define _STLP_NO_BAD_ALLOC 1
00085 
00086 #  define _STLP_NO_MEMBER_TEMPLATES 1
00087 #  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
00088 #  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
00089 #  define _STLP_NO_FRIEND_TEMPLATES 1
00090 #  define _STLP_NO_QUALIFIED_FRIENDS 1
00091 #  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
00092 #  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
00093 
00094 #  define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
00095 #  define _STLP_NO_METHOD_SPECIALIZATION 1
00096 #  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
00097 #  define _STLP_NO_EXCEPTION_HEADER 1
00098 
00099 #  define _STLP_NO_NEW_NEW_HEADER 1
00100 
00101 #  if defined (__OS2__) && (__IBMCPP__ <= 350)
00102 #   define _STLP_NO_TYPEINFO 1
00103 #  endif
00104 #  define _STLP_NO_NEW_NEW_HEADER 1
00105 
00106 #  define _STLP_STATIC_CONST_INIT_BUG 1
00107 /* #  define _STLP_THROW_RETURN_BUG 1 */
00108 
00109 
00110 #  define _STLP_NO_TEMPLATE_CONVERSIONS 1
00111 #  define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
00112 
00113 /* AIX xlC, Visual Age 3.0 for OS/2 and MS */
00114 #  define _STLP_TRIVIAL_DESTRUCTOR_BUG
00115 
00116 #  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
00117 #  define _STLP_NONTEMPL_BASE_MATCH_BUG 1
00118 
00119 #if __IBMCPP__ <= 350
00120 #  define _STLP_NEED_UNREACHABLE_RETURN 1
00121 #endif
00122 
00123 #if __IBMCPP__ < 350
00124 #  define _STLP_NO_LONG_DOUBLE 1
00125 #endif
00126 
00127 #if __IBMCPP__ >= 365
00128 /* does not have new C headers, but has div() */
00129 #  define _STLP_LDIV
00130 #endif
00131 
00132 #endif /* xlC 5 */
00133 
00134 /* detect xlC5 by: */
00135 #if defined(__IBMCPP__) && (500 <= __IBMCPP__) && (__IBMCPP__ < 700)
00136 #  define _STLP_USE_EXCEPTIONS 1
00137 #  define _STLP_STATIC_CONST_INIT_BUG 1
00138 /* #pragma report(disable,CPPC1500029)
00139  * unsigned 32-bit integer type
00140  */
00141 #  define _STLP_UINT32_T unsigned int
00142 #  if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4)
00143 #    define _STLP_RAND48 1
00144 #  endif
00145 /* #  define _STLP_RAND48 1 */
00146 #endif /* __IBMCPP__ == 500 */



Generated on Mon Mar 10 15:32:46 2008 by  doxygen 1.5.1