epoc32/include/tools/stlport/stl/config/_ibm.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     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_UNIX 1
    51 #  define _STLP_NO_TYPEINFO 1
    52 #  undef _STLP_NATIVE_INCLUDE_PATH
    53 #  define _STLP_NATIVE_INCLUDE_PATH /usr/lpp/ioclib/include
    54 /* same for C headers like <string.h> */
    55 #  undef _STLP_NATIVE_C_INCLUDE_PATH
    56 #  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
    57 #  define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH /usr/include
    58 
    59 # elif (defined (__WINDOWS__) || defined (_AIX) || defined (__OS2__) ) && (__IBMCPP__ >= 350)
    60 
    61 #  define _STLP_LONG_LONG long long
    62 
    63 #endif
    64 
    65 #if !( defined( __xlC__ ) && __xlC__ >= 0x500 )
    66 
    67 /* AIX xlC 3.1 , 3.0.1 ==0x301
    68  * Visual Age C++ 3.x
    69  * OS-390 C++
    70  * fbp : should be more version-specific!
    71  */
    72 
    73 #  define _STLP_NO_BOOL 1
    74 #  define _STLP_DONT_USE_BOOL_TYPEDEF 1
    75 #  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
    76 #  define _STLP_HAS_NO_NAMESPACES 1
    77 #  define _STLP_NEED_TYPENAME 1
    78 #  define _STLP_NEED_EXPLICIT 1
    79 #  define _STLP_NO_ARROW_OPERATOR 1
    80 #  define _STLP_NO_NEW_STYLE_CASTS 1
    81 #  define _STLP_NO_WCHAR_T 1
    82 #  define _STLP_NEED_MUTABLE 1
    83 #  define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
    84 #  define _STLP_NO_BAD_ALLOC 1
    85 
    86 #  define _STLP_NO_MEMBER_TEMPLATES 1
    87 #  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
    88 #  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
    89 #  define _STLP_NO_FRIEND_TEMPLATES 1
    90 #  define _STLP_NO_QUALIFIED_FRIENDS 1
    91 #  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
    92 #  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
    93 
    94 #  define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
    95 #  define _STLP_NO_METHOD_SPECIALIZATION 1
    96 #  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
    97 #  define _STLP_NO_EXCEPTION_HEADER 1
    98 
    99 #  define _STLP_NO_NEW_NEW_HEADER 1
   100 
   101 #  if defined (__OS2__) && (__IBMCPP__ <= 350)
   102 #   define _STLP_NO_TYPEINFO 1
   103 #  endif
   104 #  define _STLP_NO_NEW_NEW_HEADER 1
   105 
   106 #  define _STLP_STATIC_CONST_INIT_BUG 1
   107 /* #  define _STLP_THROW_RETURN_BUG 1 */
   108 
   109 
   110 #  define _STLP_NO_TEMPLATE_CONVERSIONS 1
   111 #  define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
   112 
   113 /* AIX xlC, Visual Age 3.0 for OS/2 and MS */
   114 #  define _STLP_TRIVIAL_DESTRUCTOR_BUG
   115 
   116 #  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
   117 #  define _STLP_NONTEMPL_BASE_MATCH_BUG 1
   118 
   119 #if __IBMCPP__ <= 350
   120 #  define _STLP_NEED_UNREACHABLE_RETURN 1
   121 #endif
   122 
   123 #if __IBMCPP__ < 350
   124 #  define _STLP_NO_LONG_DOUBLE 1
   125 #endif
   126 
   127 #if __IBMCPP__ >= 365
   128 /* does not have new C headers, but has div() */
   129 #  define _STLP_LDIV
   130 #endif
   131 
   132 #endif /* xlC 5 */
   133 
   134 /* detect xlC5 by: */
   135 #if defined(__IBMCPP__) && (500 <= __IBMCPP__) && (__IBMCPP__ < 700)
   136 #  define _STLP_USE_EXCEPTIONS 1
   137 #  define _STLP_STATIC_CONST_INIT_BUG 1
   138 /* #pragma report(disable,CPPC1500029)
   139  * unsigned 32-bit integer type
   140  */
   141 #  define _STLP_UINT32_T unsigned int
   142 #  if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4)
   143 #    define _STLP_RAND48 1
   144 #  endif
   145 /* #  define _STLP_RAND48 1 */
   146 #endif /* __IBMCPP__ == 500 */