stdcpp/include/config/stl_ibm.h
changeset 31 ce057bb09d0b
parent 0 e4d67989cc36
equal deleted inserted replaced
30:e20de85af2ee 31:ce057bb09d0b
       
     1 // STLport configuration file
       
     2 // It is internal STLport header - DO NOT include it directly
       
     3 
       
     4 #if !defined(__IBMCPP__) || (__IBMCPP__ < 500)
       
     5 # define _STLP_HAS_NO_NEW_C_HEADERS 1
       
     6 #endif
       
     7 
       
     8 // string literal problem, same as with SUN and aCC
       
     9 # define _STLP_INLINE_STRING_LITERAL_BUG 1
       
    10 # define _STLP_HAS_NATIVE_FLOAT_ABS
       
    11 
       
    12 #  define _STLP_DEFAULT_CONSTRUCTOR_BUG 1
       
    13 
       
    14 
       
    15 # ifdef __IBMCPP__
       
    16 #  define _STLP_HAS_SPECIFIC_PROLOG_EPILOG
       
    17 # endif
       
    18 
       
    19 // #  if ( defined (__MULTI__) && defined (__WINDOWS__))
       
    20 // #   define  _STLP_WIN32THREADS 1          // Only Visual Age 3.5 for Windows
       
    21 // #  endif
       
    22 
       
    23 #  if ( defined (__MULTI__) && defined (__OS2__))
       
    24 #   define _STLP_OS2THREADS 1
       
    25 #  endif
       
    26 
       
    27 // __TEMPINC__ is set when /Ft+ option is used
       
    28 #  ifdef __TEMPINC__
       
    29 #    define _STLP_LINK_TIME_INSTANTIATION 1
       
    30 #  endif
       
    31 
       
    32 # if defined (__MVS__)
       
    33 // long long support is buggy - reported by Tinny Ng
       
    34 // #  if __EXTENDED__ && __COMPILER_VER__ >= 0x22060000
       
    35 // #   define _STLP_LONG_LONG long long
       
    36 // #  endif
       
    37 // boris : hstash reported it can be treated like UNIX
       
    38 #  define _STLP_UNIX 1
       
    39 #  define _STLP_NO_TYPEINFO 1
       
    40 #  undef _STLP_NATIVE_INCLUDE_PATH
       
    41 #  define _STLP_NATIVE_INCLUDE_PATH /usr/lpp/ioclib/include
       
    42 // same for C headers like <string.h>
       
    43 #  undef _STLP_NATIVE_C_INCLUDE_PATH
       
    44 #  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
       
    45 #  define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH /usr/include
       
    46 
       
    47 # elif (defined (__WINDOWS__) || defined (_AIX) || defined (__OS2__) ) && (__IBMCPP__ >= 350)
       
    48 
       
    49 #  define _STLP_LONG_LONG long long
       
    50 
       
    51 #endif
       
    52 
       
    53 #if !( defined( __xlC__ ) && __xlC__ >= 0x500 )
       
    54 
       
    55 // AIX xlC 3.1 , 3.0.1 ==0x301
       
    56 // Visual Age C++ 3.x
       
    57 // OS-390 C++
       
    58 // fbp : should be more version-specific!
       
    59 
       
    60 #  define _STLP_NO_BOOL 1
       
    61 #  define _STLP_DONT_USE_BOOL_TYPEDEF 1
       
    62 #  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
       
    63 #  define _STLP_HAS_NO_NAMESPACES 1
       
    64 #  define _STLP_NEED_TYPENAME 1
       
    65 #  define _STLP_NEED_EXPLICIT 1
       
    66 #  define _STLP_NO_ARROW_OPERATOR 1
       
    67 #  define _STLP_NO_NEW_STYLE_CASTS 1
       
    68 #  define _STLP_NO_WCHAR_T 1
       
    69 #  define _STLP_NEED_MUTABLE 1
       
    70 #  define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
       
    71 #  define _STLP_NO_BAD_ALLOC 1
       
    72 
       
    73 #  define _STLP_NO_MEMBER_TEMPLATES 1
       
    74 #  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
       
    75 #  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
       
    76 #  define _STLP_NO_FRIEND_TEMPLATES 1
       
    77 #  define _STLP_NO_QUALIFIED_FRIENDS 1
       
    78 #  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
       
    79 #  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
       
    80 
       
    81 #  define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
       
    82 #  define _STLP_NO_METHOD_SPECIALIZATION 1
       
    83 #  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
       
    84 #  define _STLP_NO_EXCEPTION_HEADER 1
       
    85 
       
    86 #  define _STLP_HAS_NO_NEW_IOSTREAMS 1
       
    87 #  define _STLP_NO_NEW_NEW_HEADER 1
       
    88 
       
    89 #  if defined (__OS2__) && (__IBMCPP__ <= 350)
       
    90 #   define _STLP_NO_TYPEINFO 1
       
    91 #  endif
       
    92 #  define _STLP_NO_NEW_NEW_HEADER 1
       
    93 
       
    94 #  define _STLP_STATIC_CONST_INIT_BUG 1
       
    95 // #  define _STLP_THROW_RETURN_BUG 1
       
    96 
       
    97 
       
    98 #  define _STLP_NO_TEMPLATE_CONVERSIONS 1
       
    99 #  define _STLP_UNINITIALIZABLE_PRIVATE 1
       
   100 #  define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
       
   101 #  define _STLP_STATIC_ARRAY_BUG 1
       
   102 
       
   103 // AIX xlC, Visual Age 3.0 for OS/2 and MS 
       
   104 #  define _STLP_TRIVIAL_DESTRUCTOR_BUG
       
   105 
       
   106 #  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
       
   107 #  define _STLP_NONTEMPL_BASE_MATCH_BUG 1
       
   108 
       
   109 #if __IBMCPP__ <= 350
       
   110 #  define _STLP_NEED_UNREACHABLE_RETURN 1
       
   111 #endif
       
   112 
       
   113 #if __IBMCPP__ < 350
       
   114 #  define _STLP_NO_LONG_DOUBLE 1
       
   115 #endif
       
   116 
       
   117 #if __IBMCPP__ >= 365
       
   118 // does not have new C headers, but has div()
       
   119 #  define _STLP_LDIV
       
   120 #endif
       
   121 
       
   122 #endif /* xlC 5 */
       
   123 
       
   124 /* detect xlC5 by: */
       
   125 #if defined(__IBMCPP__) && (500 <= __IBMCPP__) && (__IBMCPP__ < 700)
       
   126 // #define _STLP_USE_EXCEPTIONS 1
       
   127 # define _STLP_STATIC_CONST_INIT_BUG 1 
       
   128 //#pragma report(disable,CPPC1500029)
       
   129 // unsigned 32-bit integer type
       
   130 #  define _STLP_UINT32_T unsigned int
       
   131 #if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4)
       
   132 # define _STLP_RAND48 1
       
   133 #endif
       
   134 // #  define _STLP_RAND48 1
       
   135 # endif /* __IBMCPP__ == 500 */
       
   136 
       
   137 
       
   138 
       
   139