/home/ntakagi/work/STLport-5.1.5/stlport/stl/config/_sunprocc.h

Go to the documentation of this file.
00001 // STLport configuration file
00002 // It is internal STLport header - DO NOT include it directly
00003 
00004 #define _STLP_COMPILER "Sunpro CC"
00005 
00006 #define _STLP_LONG_LONG  long long
00007 
00008 // GAB: 11/09/05
00009 // Starting with 5.0 the STLport code expects to be
00010 // instantiated during compile time. This is due to undefing
00011 // a number of defines that are also used in the c versions
00012 // of the file. When they are undefed the c version fails to
00013 // compile.
00014 // #  define _STLP_LINK_TIME_INSTANTIATION 1
00015 
00016 #if ! defined(_BOOL)
00017 #  define _STLP_NO_BOOL 1
00018 #endif
00019 
00020 // compatibility mode stuff
00021 #if (__SUNPRO_CC >= 0x510) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 ))
00022 #  define _STLP_NATIVE_INCLUDE_PATH ../CC/Cstd
00023 #  define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../CC
00024 #elif (__SUNPRO_CC >= 0x500) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 ))
00025 #  define _STLP_NATIVE_INCLUDE_PATH ../CC
00026 #elif (defined (__SUNPRO_CC_COMPAT) && __SUNPRO_CC_COMPAT == 4)
00027 #  define _STLP_NATIVE_INCLUDE_PATH ../CC4
00028 #else
00029 #  define _STLP_NATIVE_INCLUDE_PATH ../CC
00030 #endif
00031 
00032 #define _STLP_STATIC_CONST_INIT_BUG 1
00033 
00034 #if (__SUNPRO_CC < 0x530)
00035 // those are tested and proved not to work...
00036 #  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
00037 #  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
00038 #  define _STLP_USE_OLD_HP_ITERATOR_QUERIES
00039 #endif
00040 
00041 #ifdef _STLP_USE_NO_IOSTREAMS
00042 #  define _STLP_HAS_NO_NEW_C_HEADERS 1
00043 #endif
00044 
00045 // those do not depend on compatibility
00046 #if (__SUNPRO_CC < 0x510)
00047 #  define _STLP_NO_TYPENAME_ON_RETURN_TYPE 1
00048 #  define _STLP_NONTEMPL_BASE_MATCH_BUG 1
00049 #endif
00050 
00051 #if (__SUNPRO_CC < 0x510) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
00052 
00053 #  define _STLP_NO_QUALIFIED_FRIENDS 1
00054 
00055 // no partial , just for explicit one
00056 #  define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
00057 #  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
00058 
00059 #  define _STLP_NO_MEMBER_TEMPLATES 1
00060 #  define _STLP_NO_FRIEND_TEMPLATES 1
00061 
00062 #  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
00063 #  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS
00064 #  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
00065 #endif
00066 
00067 // Features that depend on compatibility switch
00068 #if ( __SUNPRO_CC < 0x500 ) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
00069 
00070 #  ifndef _STLP_USE_NO_IOSTREAMS
00071 #    define _STLP_USE_NO_IOSTREAMS 1
00072 #  endif
00073 #  define _STLP_NO_NEW_NEW_HEADER 1
00074 // #  define _STLP_NO_RELOPS_NAMESPACE
00075 #  define _STLP_HAS_NO_NAMESPACES 1
00076 #  define _STLP_NEED_MUTABLE  1
00077 #  define _STLP_NO_BAD_ALLOC 1
00078 #  define _STLP_NO_EXCEPTION_HEADER 1
00079 #  define _STLP_NATIVE_C_INCLUDE_PATH ../include
00080 #elif (__SUNPRO_CC < 0x510)
00081 // #  define _STLP_NATIVE_C_HEADER(header) <../CC/##header##.SUNWCCh>
00082 #  define _STLP_NATIVE_CPP_C_HEADER(header) <../CC/##header##.SUNWCCh>
00083 #  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
00084 #elif defined( __SunOS_5_5_1 ) || defined( __SunOS_5_6 ) || defined( __SunOS_5_7 )
00085 #  define _STLP_NATIVE_C_INCLUDE_PATH ../CC/std
00086 #  define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
00087 #else
00088 #  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
00089 #  define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
00090 #endif
00091 
00092 #if ( __SUNPRO_CC < 0x500 )
00093 
00094 #  undef _STLP_NATIVE_C_HEADER
00095 #  undef _STLP_NATIVE_CPP_C_HEADER
00096 
00097 #  define wint_t __wint_t
00098 // famous CC 4.2 bug
00099 #  define _STLP_INLINE_STRING_LITERAL_BUG 1
00100 // /usr/include
00101 #  define _STLP_NATIVE_C_INCLUDE_PATH ../include
00102 
00103 // 4.2 cannot handle iterator_traits<_Tp>::iterator_category as a return type ;(
00104 #  define _STLP_USE_OLD_HP_ITERATOR_QUERIES
00105 
00106 // 4.2 does not like it
00107 #  undef  _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
00108 
00109 #  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
00110 
00111 #  define _STLP_NEED_TYPENAME 1
00112 #  define _STLP_NEED_EXPLICIT 1
00113 #  define _STLP_NO_BAD_ALLOC 1
00114 #  define _STLP_NO_ARROW_OPERATOR 1
00115 
00116 #  define _STLP_DEF_CONST_PLCT_NEW_BUG 1
00117 #  define _STLP_DEF_CONST_DEF_PARAM_BUG 1
00118 #  define _STLP_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG 1
00119 #  undef  _STLP_HAS_NO_NEW_C_HEADERS
00120 #  define _STLP_HAS_NO_NEW_C_HEADERS 1
00121 // #  define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
00122 
00123 #  if ( __SUNPRO_CC < 0x420 )
00124 #    define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
00125 #    define _STLP_NO_NEW_STYLE_CASTS 1
00126 #    define _STLP_NO_METHOD_SPECIALIZATION 1
00127 #    if ( __SUNPRO_CC > 0x401 )
00128 #      if (__SUNPRO_CC==0x410)
00129 #        define _STLP_BASE_TYPEDEF_OUTSIDE_BUG  1
00130 #      endif
00131 #    else
00132    // SUNPro C++ 4.0.1
00133 #      define _STLP_BASE_MATCH_BUG          1
00134 #      define _STLP_BASE_TYPEDEF_BUG        1
00135 #      if (( __SUNPRO_CC < 0x401 ) && !defined(__SUNPRO_C))
00136          __GIVE_UP_WITH_STL(SUNPRO_401)
00137 #      endif
00138 #    endif /* 4.0.1 */
00139 #  endif /* 4.2 */
00140 #endif /* <  5.0 */
00141 
00142 #ifndef _MBSTATET_H
00143 #  define _MBSTATET_H
00144 #  undef _MBSTATE_T
00145 #  define _MBSTATE_T
00146 typedef struct __mbstate_t {
00147 #  if defined(_LP64)
00148   long    __filler[4];
00149 #  else
00150   int     __filler[6];
00151 #  endif
00152 } __mbstate_t;
00153 #  ifndef _STLP_HAS_NO_NAMESPACES
00154 namespace std {
00155   typedef __mbstate_t mbstate_t;
00156 }
00157 using std::mbstate_t;
00158 #  else
00159 typedef __mbstate_t mbstate_t;
00160 #  endif
00161 #endif  /* __MBSTATET_H */



Generated on Mon Mar 10 15:32:46 2008 by  doxygen 1.5.1