epoc32/include/tools/stlport/stl/config/_sunprocc.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 // STLport configuration file
     2 // It is internal STLport header - DO NOT include it directly
     3 
     4 #define _STLP_COMPILER "Sunpro CC"
     5 
     6 #define _STLP_LONG_LONG  long long
     7 
     8 // GAB: 11/09/05
     9 // Starting with 5.0 the STLport code expects to be
    10 // instantiated during compile time. This is due to undefing
    11 // a number of defines that are also used in the c versions
    12 // of the file. When they are undefed the c version fails to
    13 // compile.
    14 // #  define _STLP_LINK_TIME_INSTANTIATION 1
    15 
    16 #if ! defined(_BOOL)
    17 #  define _STLP_NO_BOOL 1
    18 #endif
    19 
    20 // compatibility mode stuff
    21 #if (__SUNPRO_CC >= 0x510) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 ))
    22 #  define _STLP_NATIVE_INCLUDE_PATH ../CC/Cstd
    23 #  define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../CC
    24 #elif (__SUNPRO_CC >= 0x500) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 ))
    25 #  define _STLP_NATIVE_INCLUDE_PATH ../CC
    26 #elif (defined (__SUNPRO_CC_COMPAT) && __SUNPRO_CC_COMPAT == 4)
    27 #  define _STLP_NATIVE_INCLUDE_PATH ../CC4
    28 #else
    29 #  define _STLP_NATIVE_INCLUDE_PATH ../CC
    30 #endif
    31 
    32 #define _STLP_STATIC_CONST_INIT_BUG 1
    33 
    34 #if (__SUNPRO_CC < 0x530)
    35 // those are tested and proved not to work...
    36 #  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
    37 #  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
    38 #  define _STLP_USE_OLD_HP_ITERATOR_QUERIES
    39 #endif
    40 
    41 #ifdef _STLP_USE_NO_IOSTREAMS
    42 #  define _STLP_HAS_NO_NEW_C_HEADERS 1
    43 #endif
    44 
    45 // those do not depend on compatibility
    46 #if (__SUNPRO_CC < 0x510)
    47 #  define _STLP_NO_TYPENAME_ON_RETURN_TYPE 1
    48 #  define _STLP_NONTEMPL_BASE_MATCH_BUG 1
    49 #endif
    50 
    51 #if (__SUNPRO_CC < 0x510) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
    52 
    53 #  define _STLP_NO_QUALIFIED_FRIENDS 1
    54 
    55 // no partial , just for explicit one
    56 #  define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
    57 #  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
    58 
    59 #  define _STLP_NO_MEMBER_TEMPLATES 1
    60 #  define _STLP_NO_FRIEND_TEMPLATES 1
    61 
    62 #  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
    63 #  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS
    64 #  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
    65 #endif
    66 
    67 // Features that depend on compatibility switch
    68 #if ( __SUNPRO_CC < 0x500 ) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
    69 
    70 #  ifndef _STLP_USE_NO_IOSTREAMS
    71 #    define _STLP_USE_NO_IOSTREAMS 1
    72 #  endif
    73 #  define _STLP_NO_NEW_NEW_HEADER 1
    74 // #  define _STLP_NO_RELOPS_NAMESPACE
    75 #  define _STLP_HAS_NO_NAMESPACES 1
    76 #  define _STLP_NEED_MUTABLE  1
    77 #  define _STLP_NO_BAD_ALLOC 1
    78 #  define _STLP_NO_EXCEPTION_HEADER 1
    79 #  define _STLP_NATIVE_C_INCLUDE_PATH ../include
    80 #elif (__SUNPRO_CC < 0x510)
    81 // #  define _STLP_NATIVE_C_HEADER(header) <../CC/##header##.SUNWCCh>
    82 #  define _STLP_NATIVE_CPP_C_HEADER(header) <../CC/##header##.SUNWCCh>
    83 #  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
    84 #elif defined( __SunOS_5_5_1 ) || defined( __SunOS_5_6 ) || defined( __SunOS_5_7 )
    85 #  define _STLP_NATIVE_C_INCLUDE_PATH ../CC/std
    86 #  define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
    87 #else
    88 #  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
    89 #  define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
    90 #endif
    91 
    92 #if ( __SUNPRO_CC < 0x500 )
    93 
    94 #  undef _STLP_NATIVE_C_HEADER
    95 #  undef _STLP_NATIVE_CPP_C_HEADER
    96 
    97 #  define wint_t __wint_t
    98 // famous CC 4.2 bug
    99 #  define _STLP_INLINE_STRING_LITERAL_BUG 1
   100 // /usr/include
   101 #  define _STLP_NATIVE_C_INCLUDE_PATH ../include
   102 
   103 // 4.2 cannot handle iterator_traits<_Tp>::iterator_category as a return type ;(
   104 #  define _STLP_USE_OLD_HP_ITERATOR_QUERIES
   105 
   106 // 4.2 does not like it
   107 #  undef  _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
   108 
   109 #  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
   110 
   111 #  define _STLP_NEED_TYPENAME 1
   112 #  define _STLP_NEED_EXPLICIT 1
   113 #  define _STLP_NO_BAD_ALLOC 1
   114 #  define _STLP_NO_ARROW_OPERATOR 1
   115 
   116 #  define _STLP_DEF_CONST_PLCT_NEW_BUG 1
   117 #  define _STLP_DEF_CONST_DEF_PARAM_BUG 1
   118 #  define _STLP_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG 1
   119 #  undef  _STLP_HAS_NO_NEW_C_HEADERS
   120 #  define _STLP_HAS_NO_NEW_C_HEADERS 1
   121 // #  define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
   122 
   123 #  if ( __SUNPRO_CC < 0x420 )
   124 #    define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
   125 #    define _STLP_NO_NEW_STYLE_CASTS 1
   126 #    define _STLP_NO_METHOD_SPECIALIZATION 1
   127 #    if ( __SUNPRO_CC > 0x401 )
   128 #      if (__SUNPRO_CC==0x410)
   129 #        define _STLP_BASE_TYPEDEF_OUTSIDE_BUG  1
   130 #      endif
   131 #    else
   132    // SUNPro C++ 4.0.1
   133 #      define _STLP_BASE_MATCH_BUG          1
   134 #      define _STLP_BASE_TYPEDEF_BUG        1
   135 #      if (( __SUNPRO_CC < 0x401 ) && !defined(__SUNPRO_C))
   136          __GIVE_UP_WITH_STL(SUNPRO_401)
   137 #      endif
   138 #    endif /* 4.0.1 */
   139 #  endif /* 4.2 */
   140 #endif /* <  5.0 */
   141 
   142 #ifndef _MBSTATET_H
   143 #  define _MBSTATET_H
   144 #  undef _MBSTATE_T
   145 #  define _MBSTATE_T
   146 typedef struct __mbstate_t {
   147 #  if defined(_LP64)
   148   long    __filler[4];
   149 #  else
   150   int     __filler[6];
   151 #  endif
   152 } __mbstate_t;
   153 #  ifndef _STLP_HAS_NO_NAMESPACES
   154 namespace std {
   155   typedef __mbstate_t mbstate_t;
   156 }
   157 using std::mbstate_t;
   158 #  else
   159 typedef __mbstate_t mbstate_t;
   160 #  endif
   161 #endif  /* __MBSTATET_H */