Home | History | Annotate | Download | only in config
      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