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 145typedef 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 153namespace std { 154 typedef __mbstate_t mbstate_t; 155} 156using std::mbstate_t; 157# else 158typedef __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