_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