Home | History | Annotate | Download | only in config
      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 
     61 #  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
     62 #  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS
     63 #  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
     64 #endif
     65 
     66 // Features that depend on compatibility switch
     67 #if ( __SUNPRO_CC < 0x500 ) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
     68 
     69 #  ifndef _STLP_USE_NO_IOSTREAMS
     70 #    define _STLP_USE_NO_IOSTREAMS 1
     71 #  endif
     72 #  define _STLP_NO_NEW_NEW_HEADER 1
     73 // #  define _STLP_NO_RELOPS_NAMESPACE
     74 #  define _STLP_HAS_NO_NAMESPACES 1
     75 #  define _STLP_NEED_MUTABLE  1
     76 #  define _STLP_NO_BAD_ALLOC 1
     77 #  define _STLP_NO_EXCEPTION_HEADER 1
     78 #  define _STLP_NATIVE_C_INCLUDE_PATH ../include
     79 #elif (__SUNPRO_CC < 0x510)
     80 // #  define _STLP_NATIVE_C_HEADER(header) <../CC/##header##.SUNWCCh>
     81 #  define _STLP_NATIVE_CPP_C_HEADER(header) <../CC/##header##.SUNWCCh>
     82 #  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
     83 #elif defined( __SunOS_5_5_1 ) || defined( __SunOS_5_6 ) || defined( __SunOS_5_7 )
     84 #  define _STLP_NATIVE_C_INCLUDE_PATH ../CC/std
     85 #  define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
     86 #else
     87 #  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
     88 #  define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
     89 #endif
     90 
     91 #if ( __SUNPRO_CC < 0x500 )
     92 
     93 #  undef _STLP_NATIVE_C_HEADER
     94 #  undef _STLP_NATIVE_CPP_C_HEADER
     95 
     96 #  define wint_t __wint_t
     97 // famous CC 4.2 bug
     98 #  define _STLP_INLINE_STRING_LITERAL_BUG 1
     99 // /usr/include
    100 #  define _STLP_NATIVE_C_INCLUDE_PATH ../include
    101 
    102 // 4.2 cannot handle iterator_traits<_Tp>::iterator_category as a return type ;(
    103 #  define _STLP_USE_OLD_HP_ITERATOR_QUERIES
    104 
    105 // 4.2 does not like it
    106 #  undef  _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
    107 
    108 #  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
    109 
    110 #  define _STLP_NEED_TYPENAME 1
    111 #  define _STLP_NEED_EXPLICIT 1
    112 #  define _STLP_NO_BAD_ALLOC 1
    113 #  define _STLP_NO_ARROW_OPERATOR 1
    114 
    115 #  define _STLP_DEF_CONST_PLCT_NEW_BUG 1
    116 #  define _STLP_DEF_CONST_DEF_PARAM_BUG 1
    117 #  define _STLP_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG 1
    118 #  undef  _STLP_HAS_NO_NEW_C_HEADERS
    119 #  define _STLP_HAS_NO_NEW_C_HEADERS 1
    120 // #  define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
    121 
    122 #  if ( __SUNPRO_CC < 0x420 )
    123 #    define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
    124 #    define _STLP_NO_NEW_STYLE_CASTS 1
    125 #    define _STLP_NO_METHOD_SPECIALIZATION 1
    126 #    if ( __SUNPRO_CC > 0x401 )
    127 #      if (__SUNPRO_CC==0x410)
    128 #        define _STLP_BASE_TYPEDEF_OUTSIDE_BUG  1
    129 #      endif
    130 #    else
    131    // SUNPro C++ 4.0.1
    132 #      define _STLP_BASE_MATCH_BUG          1
    133 #      define _STLP_BASE_TYPEDEF_BUG        1
    134 #      if (( __SUNPRO_CC < 0x401 ) && !defined(__SUNPRO_C))
    135          __GIVE_UP_WITH_STL(SUNPRO_401)
    136 #      endif
    137 #    endif /* 4.0.1 */
    138 #  endif /* 4.2 */
    139 #endif /* <  5.0 */
    140 
    141 #ifndef _MBSTATET_H
    142 #  define _MBSTATET_H
    143 #  undef _MBSTATE_T
    144 #  define _MBSTATE_T
    145 typedef struct __mbstate_t {
    146 #  if defined(_LP64)
    147   long    __filler[4];
    148 #  else
    149   int     __filler[6];
    150 #  endif
    151 } __mbstate_t;
    152 #  ifndef _STLP_HAS_NO_NAMESPACES
    153 namespace std {
    154   typedef __mbstate_t mbstate_t;
    155 }
    156 using std::mbstate_t;
    157 #  else
    158 typedef __mbstate_t mbstate_t;
    159 #  endif
    160 #endif  /* __MBSTATET_H */
    161 
    162 #if !defined(_STLP_HAS_NO_NEW_C_HEADERS) && !defined(_STLP_NO_NEW_C_HEADERS)
    163 /* Since Sun Studio uses <iso/stdlib_iso.h>, we are at its
    164  * mercy.  GCC is built on top of <stdlib.h>. */
    165 #define _STLP_NO_VENDOR_STDLIB_L
    166 #endif
    167