_sunprocc.h revision e46c9386c4f79aa40185f79a19fc5b2a7ef528b3
19720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// STLport configuration file
29720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// It is internal STLport header - DO NOT include it directly
39720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
49720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_COMPILER "Sunpro CC"
59720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
69720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_LONG_LONG  long long
79720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
89720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// GAB: 11/09/05
99720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Starting with 5.0 the STLport code expects to be
109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// instantiated during compile time. This is due to undefing
119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// a number of defines that are also used in the c versions
129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// of the file. When they are undefed the c version fails to
139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// compile.
149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// #  define _STLP_LINK_TIME_INSTANTIATION 1
159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
169720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if ! defined(_BOOL)
179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_BOOL 1
189720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif
199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// compatibility mode stuff
219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if (__SUNPRO_CC >= 0x510) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 ))
229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_INCLUDE_PATH ../CC/Cstd
239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../CC
249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#elif (__SUNPRO_CC >= 0x500) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 ))
259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_INCLUDE_PATH ../CC
269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#elif (defined (__SUNPRO_CC_COMPAT) && __SUNPRO_CC_COMPAT == 4)
279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_INCLUDE_PATH ../CC4
289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#else
299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_INCLUDE_PATH ../CC
309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif
319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_STATIC_CONST_INIT_BUG 1
339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if (__SUNPRO_CC < 0x530)
359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// those are tested and proved not to work...
369720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
379720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
389720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_USE_OLD_HP_ITERATOR_QUERIES
399720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif
409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifdef _STLP_USE_NO_IOSTREAMS
429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_HAS_NO_NEW_C_HEADERS 1
439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif
449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// those do not depend on compatibility
469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if (__SUNPRO_CC < 0x510)
479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_TYPENAME_ON_RETURN_TYPE 1
489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NONTEMPL_BASE_MATCH_BUG 1
499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif
509720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if (__SUNPRO_CC < 0x510) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_QUALIFIED_FRIENDS 1
549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// no partial , just for explicit one
569720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_MEMBER_TEMPLATES 1
609720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
629720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS
639720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
649720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif
659720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
669720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Features that depend on compatibility switch
679720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if ( __SUNPRO_CC < 0x500 ) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
689720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
699720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  ifndef _STLP_USE_NO_IOSTREAMS
709720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#    define _STLP_USE_NO_IOSTREAMS 1
719720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
729720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_NEW_NEW_HEADER 1
739720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// #  define _STLP_NO_RELOPS_NAMESPACE
749720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_HAS_NO_NAMESPACES 1
759720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NEED_MUTABLE  1
769720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_BAD_ALLOC 1
779720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_EXCEPTION_HEADER 1
789720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_C_INCLUDE_PATH ../include
799720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#elif (__SUNPRO_CC < 0x510)
809720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// #  define _STLP_NATIVE_C_HEADER(header) <../CC/##header##.SUNWCCh>
819720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_CPP_C_HEADER(header) <../CC/##header##.SUNWCCh>
829720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
839720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#elif defined( __SunOS_5_5_1 ) || defined( __SunOS_5_6 ) || defined( __SunOS_5_7 )
849720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_C_INCLUDE_PATH ../CC/std
859720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
869720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#else
879720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
889720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
899720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif
909720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
919720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if ( __SUNPRO_CC < 0x500 )
929720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
939720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  undef _STLP_NATIVE_C_HEADER
949720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  undef _STLP_NATIVE_CPP_C_HEADER
959720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
969720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define wint_t __wint_t
979720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// famous CC 4.2 bug
989720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_INLINE_STRING_LITERAL_BUG 1
999720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// /usr/include
1009720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_C_INCLUDE_PATH ../include
1019720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1029720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// 4.2 cannot handle iterator_traits<_Tp>::iterator_category as a return type ;(
1039720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_USE_OLD_HP_ITERATOR_QUERIES
1049720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1059720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// 4.2 does not like it
1069720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  undef  _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
1079720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1089720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
1099720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NEED_TYPENAME 1
1119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NEED_EXPLICIT 1
1129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_BAD_ALLOC 1
1139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NO_ARROW_OPERATOR 1
1149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_DEF_CONST_PLCT_NEW_BUG 1
1169720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_DEF_CONST_DEF_PARAM_BUG 1
1179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG 1
1189720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  undef  _STLP_HAS_NO_NEW_C_HEADERS
1199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_HAS_NO_NEW_C_HEADERS 1
1209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// #  define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
1219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  if ( __SUNPRO_CC < 0x420 )
1239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#    define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
1249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#    define _STLP_NO_NEW_STYLE_CASTS 1
1259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#    define _STLP_NO_METHOD_SPECIALIZATION 1
1269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#    if ( __SUNPRO_CC > 0x401 )
1279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#      if (__SUNPRO_CC==0x410)
1289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#        define _STLP_BASE_TYPEDEF_OUTSIDE_BUG  1
1299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#      endif
1309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#    else
1319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block   // SUNPro C++ 4.0.1
1329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#      define _STLP_BASE_MATCH_BUG          1
1339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#      define _STLP_BASE_TYPEDEF_BUG        1
1349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#      if (( __SUNPRO_CC < 0x401 ) && !defined(__SUNPRO_C))
1359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block         __GIVE_UP_WITH_STL(SUNPRO_401)
1369720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#      endif
1379720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#    endif /* 4.0.1 */
1389720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif /* 4.2 */
1399720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif /* <  5.0 */
1409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifndef _MBSTATET_H
1429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _MBSTATET_H
1439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  undef _MBSTATE_T
1449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _MBSTATE_T
1459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blocktypedef struct __mbstate_t {
1469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  if defined(_LP64)
1479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  long    __filler[4];
1489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  else
1499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  int     __filler[6];
1509720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
1519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block} __mbstate_t;
1529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  ifndef _STLP_HAS_NO_NAMESPACES
1539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blocknamespace std {
1549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  typedef __mbstate_t mbstate_t;
1559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block}
1569720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockusing std::mbstate_t;
1579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  else
1589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blocktypedef __mbstate_t mbstate_t;
1599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
1609720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif  /* __MBSTATET_H */
161e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
162e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if !defined(_STLP_HAS_NO_NEW_C_HEADERS) && !defined(_STLP_NO_NEW_C_HEADERS)
163e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott/* Since Sun Studio uses <iso/stdlib_iso.h>, we are at its
164e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * mercy.  GCC is built on top of <stdlib.h>. */
165e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#define _STLP_NO_VENDOR_STDLIB_L
166e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif
167