Commit 4ecbb018ea6fb54b20390d8b8b6a8fba945825a1

  • avatar
  • Petr Ovtchenkov (Committer)
  • Wed Oct 08 18:39:23 CEST 2008
  • avatar
  • Rick Weisner <rick.weisner @s…n.com> (Author)
  • Wed Oct 08 18:16:06 CEST 2008
SunPro's CC on 64-bit Solaris 10 and 11

Pay attention to -m64 option in CC.mak, this may break 32-bit
Solaris builds; in STLport 5.2 it should processed via CXX_EXTRA_FLAGS.
  
2525CPPFLAGS = $(DEFS) $(INCLUDES)
2626
2727OPT += -mt +w2
28CCFLAGS = -erroff=doubunder -qoption ccfe -expand=1000 -library=no%Cstd,no%iostream,no%rwtools7-xildoff $(OPT)
28CCFLAGS = -instances=global -erroff=doubunder -qoption ccfe -expand=1000 -library=no%Cstd,no%iostream,no%rwtools7 -xildoff $(OPT)
2929CFLAGS = $(OPT)
30CXXFLAGS = -erroff=doubunder -qoption ccfe -expand=1000 -library=no%Cstd,no%iostream,no%rwtools7 -xildoff $(OPT)
30CXXFLAGS = -instances=global -erroff=doubunder -qoption ccfe -expand=1000 -library=no%Cstd,no%iostream,no%rwtools7 -xildoff $(OPT)
3131CDEPFLAGS = -xM
3232CCDEPFLAGS = -xM
3333
  
2121${PRG_STLDBG}: $(OBJ_STLDBG) $(LIBSDEP)
2222 $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ_STLDBG) $(LDLIBS) ${STDLIBS} ${END_OBJ}
2323
24endif
25
26ifeq (CC, $(COMPILER_NAME))
27
28${PRG}: $(OBJ) $(LIBSDEP)
29 $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ) $(LDLIBS) ${STDLIBS} ${END_OBJ}
30
31${PRG_DBG}: $(OBJ_DBG) $(LIBSDEP)
32 $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ_DBG) $(LDLIBS) ${STDLIBS} ${END_OBJ}
33
34${PRG_STLDBG}: $(OBJ_STLDBG) $(LIBSDEP)
35 $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ_STLDBG) $(LDLIBS) ${STDLIBS} ${END_OBJ}
36
2437else
2538
39ifneq (gcc, $(COMPILER_NAME))
2640# Original Borland and Digital Mars linkers
2741
2842${PRG}: $(OBJ) $(LIBSDEP)
4848${PRG_STLDBG}: $(OBJ_STLDBG) $(LIBSDEP)
4949 $(LINK.cc) $(subst /,\,$(START_OBJ) $(OBJ_STLDBG) $(END_OBJ),$(LINK_OUTPUT_OPTION),$(MAP_OUTPUT_OPTION),$(LDLIBS) $(STDLIBS),,)
5050
51endif
5152endif
5253
5354
  
11# -*- makefile -*- Time-stamp: <04/08/23 23:07:35 ptr>
22
3OPT += -xcode=pic32
3#OPT += -xcode=pic32
4OPT += -m64 -KPIC
45
56dbg-shared: LDFLAGS += -G -Qoption ld -z,initfirst -h$(SO_NAME_DBGxx) ${LDSEARCH} ${NOSTDLIB}
67stldbg-shared: LDFLAGS += -G -Qoption ld -z,initfirst -h$(SO_NAME_STLDBGxx) ${LDSEARCH} ${NOSTDLIB}
  
1# -*- Makefile -*- Time-stamp: <06/01/11 09:53:41 ptr>
1# -*- Makefile -*- Time-stamp: <08/10/08 20:28:41 ptr>
22
33LIBNAME = stlport
44MAJOR = 5
55MINOR = 1
6PATCH = 6
6PATCH = 7
77SRC_CPP = ../../src/dll_main.cpp \
88 ../../src/fstream.cpp \
99 ../../src/strstream.cpp \
  
22
33SRCROOT := ../..
44COMPILER_NAME := CC
5OPT= -m64 -xO2
56
67ALL_TAGS := release-shared stldbg-shared
78STLPORT_DIR := ../../..
2828dbg-shared: LDFLAGS += -R${INSTALL_LIB_DIR}
2929stldbg-shared: LDFLAGS += -R${INSTALL_LIB_DIR}
3030
31release-shared : LDLIBS = -lstlport
32dbg-shared : LDLIBS = -lstlportg
33stldbg-shared : LDLIBS = -lstlportstlg
31release-shared : LDLIBS = -lstlport -lrt
32dbg-shared : LDLIBS = -lstlportg -lrt
33stldbg-shared : LDLIBS = -lstlportstlg -lrt
  
12008-10-08 Petr Ovtchenkov <complement@users.sourceforge.net>
2
3 * Repository: support 64-bit Solaris 10 and 11 with SunPro's
4 CC; derived from patch #2152319, thanks Rick Weisner.
5
162008-10-07 Petr Ovtchenkov <complement@users.sourceforge.net>
27
38 * 5.1.6 release.
  
3737
3838// Absolute value
3939_STLP_TEMPLATE_NULL
40#if defined(__SunOS_5_11) || defined(__SunOS_5_10)
4041_STLP_DECLSPEC float _STLP_CALL abs(const complex<float>& __z)
42{ return ::hypotf(__z._M_re, __z._M_im); }
43#else
44_STLP_DECLSPEC float _STLP_CALL abs(const complex<float>& __z)
4145{ return ::hypot(__z._M_re, __z._M_im); }
46#endif
4247_STLP_TEMPLATE_NULL
4348_STLP_DECLSPEC double _STLP_CALL abs(const complex<double>& __z)
4449{ return ::hypot(__z._M_re, __z._M_im); }
4550
4651#if !defined (_STLP_NO_LONG_DOUBLE)
4752_STLP_TEMPLATE_NULL
53#if defined(__SunOS_5_11) || defined(__SunOS_5_10)
4854_STLP_DECLSPEC long double _STLP_CALL abs(const complex<long double>& __z)
55{ return ::hypotl(__z._M_re, __z._M_im); }
56#else
57_STLP_DECLSPEC long double _STLP_CALL abs(const complex<long double>& __z)
4958{ return ::hypot(__z._M_re, __z._M_im); }
59#endif
5060#endif
5161
5262// Phase
  
2424// For sunpro, it chokes if time.h is included through stat.h
2525#endif
2626
27#if defined(SunOS_5_11) || defined(__SunOS_5_10)
28#include <stdlib.h>
29#endif
30
2731#include <fstream>
2832
2933#ifdef __CYGWIN__
  
5555# define FPOS_T fpos_t
5656#elif defined(_LARGEFILE_SOURCE) || defined(_LARGEFILE64_SOURCE) /* || defined(__USE_FILE_OFFSET64) */ \
5757 /* || (defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)) */ /* || defined(__sgi) */
58#if defined(__SunOS_5_11) || defined(__SunOS_5_10)
59#include <stdio.h>
60# define FSEEK fseeko
61# define FTELL ftello
62# define FSTAT fstat
63# define STAT stat
64# define FSETPOS fsetpos
65# define FGETPOS fgetpos
66# define FPOS_T fpos_t
67#else
5868# define FSEEK fseeko64
5969# define FTELL ftello64
6070# define FSTAT fstat64
7272# define FSETPOS fsetpos64
7373# define FGETPOS fgetpos64
7474# define FPOS_T fpos64_t
75#endif
7576#else
7677# define FSEEK fseek
7778# define FTELL ftell
  
3434# include <stl/_vector.h>
3535#endif
3636
37#if defined(__SunOS_5_11) || defined(__SunOS_5_10)
38# include <stl/_range_errors.h>
39#endif
40
3741#define _STLP_WORD_BIT (int(CHAR_BIT*sizeof(unsigned int)))
3842
3943_STLP_BEGIN_NAMESPACE
  
4141# ifndef _STLP_HAS_NO_NAMESPACES
4242namespace std {
4343# endif
44#if !defined(__SunOS_5_11) && !defined(__SunOS_5_10)
4445extern "C" double hypot(double x, double y);
46#endif
47
4548# ifndef _STLP_HAS_NO_NAMESPACES
4649}
4750# endif
144144extern long double __sqrtl(long double);
145145extern long double __tanl(long double);
146146extern long double __tanhl(long double);
147#if defined(__SunOS_5_11) || defined(__SunOS_5_10)
148# include <math.h>
149#endif
147150}
148151#endif
149152
415415 * in global namespace.
416416 * HP-UX native lib has math functions in the global namespace.
417417 */
418#if (!defined (_STLP_MSVC_LIB) || (_STLP_MSVC_LIB < 1310) || defined(UNDER_CE)) && \
419 (!defined (__HP_aCC) || (__HP_aCC < 30000))
418#if (!defined (_STLP_MSVC_LIB) || (_STLP_MSVC_LIB < 1310) || defined(UNDER_CE) ) && !defined(__SunOS_5_11) && \
419 !defined(__SunOS_5_10) && (!defined (__HP_aCC) || (__HP_aCC < 30000))
420420inline double abs(double __x)
421421{ return ::fabs(__x); }
422422# if !defined (__MVS__)
490490# pragma warning (push)
491491# pragma warning (disable : 4996) // hypot is deprecated.
492492# endif
493#if defined(__SunOS_5_11) || defined(__SunOS_5_10)
494inline float hypot(float x, float y) { return hypotf(x, y); }
495inline long double hypot(long double x, long double y) { return hypotl( x, y); }
496#else
493497_STLP_MATH_INLINE2XX(float, hypot, hypot)
494498inline long double hypot(long double x, long double y) { return sqrt(x * x + y * y); }
499#endif
495500# if defined (_STLP_MSVC) && (_STLP_MSVC >= 1400)
496501# pragma warning (pop)
497502# endif
  
100100using _STLP_VENDOR_CSTD::lldiv_t;
101101using _STLP_VENDOR_CSTD::lldiv;
102102# else
103# if !defined(__SunOS_5_11) && !defined(__SunOS_5_10)
104#include <stdlib.h>
103105using ::llabs;
104106using ::lldiv_t;
105107using ::lldiv;
108 else
109using ::llabs;
110using ::lldiv_t;
111using ::lldiv;
112# endif
106113# endif
107114# endif
108115using _STLP_VENDOR_CSTD::rand;
136136#if !defined (__HP_aCC) || (__HP_aCC < 30000)
137137
138138//MSVC starting with .Net 2003 already define all math functions in global namespace:
139# if !defined (_STLP_MSVC_LIB) || (_STLP_MSVC_LIB < 1310) || defined(UNDER_CE)
139# if (!defined (_STLP_MSVC_LIB) || (_STLP_MSVC_LIB < 1310) || defined(UNDER_CE)) && !defined(__SunOS_5_11) && !defined(__SunOS_5_10)
140140inline long abs(long __x) { return _STLP_VENDOR_CSTD::labs(__x); }
141141# endif
142142
143143/** VC since version 8 has this, the platform SDK and CE SDKs hanging behind. */
144# if !defined (_STLP_MSVC_LIB) || (_STLP_MSVC_LIB < 1400) || defined (_STLP_USING_PLATFORM_SDK_COMPILER) || defined(UNDER_CE)
144# if (!defined (_STLP_MSVC_LIB) || (_STLP_MSVC_LIB < 1400) || defined (_STLP_USING_PLATFORM_SDK_COMPILER) || defined(UNDER_CE)) && !defined(__SunOS_5_10)
145145inline _STLP_VENDOR_CSTD::ldiv_t div(long __x, long __y) { return _STLP_VENDOR_CSTD::ldiv(__x, __y); }
146146# endif
147147
159159inline _STLP_LONG_LONG abs(_STLP_LONG_LONG __x) { return _STLP_VENDOR_CSTD::llabs(__x); }
160160inline lldiv_t div(_STLP_LONG_LONG __x, _STLP_LONG_LONG __y) { return _STLP_VENDOR_CSTD::lldiv(__x, __y); }
161161# else
162#if !defined(__SunOS_5_11) && !defined(__SunOS_5_10)
162163inline _STLP_LONG_LONG abs(_STLP_LONG_LONG __x) { return ::llabs(__x); }
163164inline lldiv_t div(_STLP_LONG_LONG __x, _STLP_LONG_LONG __y) { return ::lldiv(__x, __y); }
165#endif
164166# endif
165167# else
166168inline _STLP_LONG_LONG abs(_STLP_LONG_LONG __x) { return __x < 0 ? -__x : __x; }
182182#if defined (_STLP_IMPORT_VENDOR_CSTD) && !defined (_STLP_NO_CSTD_FUNCTION_IMPORTS)
183183// ad hoc, don't replace with _STLP_VENDOR_CSTD::abs here! - ptr 2005-03-05
184184_STLP_BEGIN_NAMESPACE
185#if !defined(__SunOS_5_11) && !defined(__SunOS_5_10)
185186using ::abs;
187#endif
186188# if !defined (N_PLAT_NLM)
187189using ::div;
188190# else
  
2323/* STLport version */
2424#define _STLPORT_MAJOR 5
2525#define _STLPORT_MINOR 1
26#define _STLPORT_PATCHLEVEL 6
26#define _STLPORT_PATCHLEVEL 7
2727
28#define _STLPORT_VERSION 0x516
28#define _STLPORT_VERSION 0x517
2929
3030#endif /* _STLP_STLPORT_VERSION_H */
  
5252template<int __32bits>
5353_STLP_STATIC_MUTEX
5454_Atomic_swap_struct<__32bits>::_S_swap_lock _STLP_MUTEX_INITIALIZER;
55#if (defined(__SunOS_5_11) || defined(__SunOS_5_10)) && defined(__amd64)
56template<int __64bits>
57_STLP_STATIC_MUTEX
58_Atomic_swap_struct<__64bits>::_S_swap_lock _STLP_MUTEX_INITIALIZER;
59#else
5560# undef _STLP_USE_ATOMIC_SWAP_MUTEX
61#endif
5662# endif
5763
5864# if defined (_STLP_THREADS) && !defined (_STLP_USE_PTHREAD_SPINLOCK)
  
2323
2424#ifndef _STLP_INTERNAL_THREADS_H
2525#define _STLP_INTERNAL_THREADS_H
26#if defined(__SunOS_5_11) || defined(__SunOS_5_10)
27typedef unsigned long size_t;
28#endif
2629
2730// Supported threading models are native SGI, pthreads, uithreads
2831// (similar to pthreads, but based on an earlier draft of the Posix
111111# endif
112112# endif // _STLP_USE_PTHREAD_SPINLOCK
113113
114# if defined (__GNUC__) && defined (__i386__)
114# if (defined (__GNUC__) && defined (__i386__)) || (defined(_SunOS_5_11) || defined(__SunOS_5_10)) && (defined(__i386) || defined(__amd64))
115115
116116# if !defined (_STLP_ATOMIC_INCREMENT)
117117inline long _STLP_atomic_increment_gcc_x86(long volatile* p) {
153153# endif
154154
155155# endif /* if defined(__GNUC__) && defined(__i386__) */
156/* || (defined(_SunOS_5_11) || (defined(__SunOS_5_10)) && (defined(__i386) || defined(__amd64))) */
156157
157158# elif defined (_STLP_WIN32THREADS)
158159
188188# elif defined(_STLP_SPARC_SOLARIS_THREADS)
189189
190190# include <stl/_sparc_atomic.h>
191
192# elif defined(_STLP_AMD_SOLARIS_THREADS)
193# include <atomic.h>
194
195 inline __stl_atomic_t stlp_atomic_increment(volatile __stl_atomic_t* __ptr) { atomic_inc_ulong(__ptr); return(*__ptr);}
196# define _STLP_ATOMIC_INCREMENT(__pvalue1) stlp_atomic_increment(__pvalue1)
197
198 inline __stl_atomic_t stlp_atomic_decrement(volatile __stl_atomic_t* __ptr) { atomic_dec_ulong(__ptr); return(*__ptr);}
199# define _STLP_ATOMIC_DECREMENT(__pvalue1) stlp_atomic_decrement(__pvalue1)
200
201 inline __stl_atomic_t stlp_atomic_exchange(volatile __stl_atomic_t* __target, __stl_atomic_t __val) {atomic_swap_ulong(__target,__val); return *__target;}
202# define _STLP_ATOMIC_EXCHANGE(__pvalue1, __value2) stlp_atomic_exchange(__pvalue1,__value2)
191203
192204# elif defined (_STLP_UITHREADS)
193205
  
1919#ifndef _STLP_VALARRAY_H
2020#define _STLP_VALARRAY_H
2121
22#if defined(__SunOS_5_11) || defined(__SunOS_5_10)
23#ifndef _STLP_INTERNAL_CONSTRUCT_H
24# include <stl/_construct.h>
25#endif
26#ifndef _STLP_INTERNAL_UNINITIALIZED_H
27# include <stl/_uninitialized.h>
28#endif
29#endif
30
31
2232#ifndef _STLP_INTERNAL_CMATH
2333# include <stl/_cmath.h>
2434#endif
  
77#include <sys/feature_tests.h>
88
99/* system-dependent defines */
10/* For SunOS greater than 5.7: */
1011
11/*
12 * Should be fixed:
13 * 1. __SunOS_5_x not defined, and no way to derive this from headers only;
14 * define it with -D on compiler command line is a bad idea too.
15 *
16 * 2. Solaris may has, but may hasn't MATH_F and MATH_L functions (even with two
17 * underscores)---this depends upon system update level and seems legally present
18 * only in Solaris 10 (i.e. I saw Solaris 9 with and without __acosf in libm.so.1)
19 *
20 * - ptr
21 */
22
23#if defined (__SunOS_5_8) && ! defined (_STLP_HAS_NO_NEW_C_HEADERS) && ( __cplusplus >= 199711L)
12# if defined (__SunOS_GT_7) && ! defined (_STLP_HAS_NO_NEW_C_HEADERS) && ( __cplusplus >= 199711L) && !defined (__linux__)
2413# define _STLP_HAS_NATIVE_FLOAT_ABS
25#endif
14# endif
2615
2716#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4)
2817# define _STLP_RAND48 1
4040# endif
4141#endif
4242
43#if defined (__sun ) && (defined(__SunOS_5_10) || defined(__SunOS_5_11))
44#define _STLP_AMD_SOLARIS_THREADS
45#undef _STLP_SPARC_SOLARIS_THREADS
46# define _STLP_THREADS_DEFINED
47#endif
48
4349/* gcc does not support ELF64 yet ; however; it supports ultrasparc + v8plus.
4450 * limits.h contains invalid values for this combination
4551 */
6767 * P.S. That's why I add two defines:
6868 */
6969
70/* #ifdef __GNUC__ */
70#ifdef __GNUC__
7171#define _STLP_NO_VENDOR_MATH_F
7272#define _STLP_NO_VENDOR_MATH_L
73/* #endif */
73#endif
7474
7575#ifdef __GNUC__
7676# define _STLP_WCHAR_BORLAND_EXCLUDE
7777# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1
7878#endif
79
80#define _STLP_USE_MALLOC
7981
8082#endif /* __stl_config__solaris_h */
  
1717# define _STLP_NO_BOOL 1
1818#endif
1919
20/*
21# if ! defined(_TEMPLATE_NO_EXTDEF)
22# define _STLP_LINK_TIME_INSTANTIATION 1
23# endif
24*/
25
26# if ! defined(_BOOL)
27# define _STLP_NO_BOOL 1
28# endif
29
30# if (__SUNPRO_CC >= 0x500 ) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 )) \
31 && defined (_STLP_NO_OWN_IOSTREAMS) && ! defined (_STLP_HAS_NO_NEW_IOSTREAMS)
32# error "The wrapper (_STLP_NO_OWN_IOSTREAMS) mode does not work well without _STLP_HAS_NO_NEW_IOSTREAMS. Please set this flag. You will also have to use -liostream option on link phase."
33/* # define _STLP_HAS_NO_NEW_IOSTREAMS */
34# endif
35
2036// compatibility mode stuff
21#if (__SUNPRO_CC >= 0x510) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 ))
37# if (__SUNPRO_CC >= 0x510) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 ))
2238# define _STLP_NATIVE_INCLUDE_PATH ../CC/Cstd
2339# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../CC
24#elif (__SUNPRO_CC >= 0x500) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 ))
40# elif (__SUNPRO_CC >= 0x500) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 ))
2541# define _STLP_NATIVE_INCLUDE_PATH ../CC
26#elif (defined (__SUNPRO_CC_COMPAT) && __SUNPRO_CC_COMPAT == 4)
42# elif (defined (__SUNPRO_CC_COMPAT) && __SUNPRO_CC_COMPAT == 4)
2743# define _STLP_NATIVE_INCLUDE_PATH ../CC4
28#else
44# else
2945# define _STLP_NATIVE_INCLUDE_PATH ../CC
30#endif
46# endif
3147
32#define _STLP_STATIC_CONST_INIT_BUG 1
48/* #define _STLP_STATIC_CONST_INIT_BUG 1 */
49# if (__SUNPRO_CC >= 0x500 ) && ( defined (_STLP_NO_NEW_IOSTREAMS) || defined (_STLP_HAS_NO_NEW_IOSTREAMS) )
50/* if the project is set up to use libiostream (_STLP_NO_NEW_IOSTREAMS should be defined then),
51 use classic iostreams */
52# define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../CCios
53# endif
3354
34#if (__SUNPRO_CC < 0x530)
55# if (__SUNPRO_CC < 0x530)
3556// those are tested and proved not to work...
57# define _STLP_STATIC_ARRAY_BUG 1
3658# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
3759# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
3860# define _STLP_USE_OLD_HP_ITERATOR_QUERIES
39#endif
61# endif
4062
4163#ifdef _STLP_USE_NO_IOSTREAMS
4264# define _STLP_HAS_NO_NEW_C_HEADERS 1
4365#endif
4466
67# if defined (_STLP_OWN_IOSTREAMS)
68# if ! defined (_STLP_NO_OWN_NAMESPACE)
69# define _STLP_NO_OWN_NAMESPACE
70# endif
71# else
72# define _STLP_HAS_NO_NEW_C_HEADERS 1
73# endif
74
75
4576// those do not depend on compatibility
4677#if (__SUNPRO_CC < 0x510)
4778# define _STLP_NO_TYPENAME_ON_RETURN_TYPE 1
4879# define _STLP_NONTEMPL_BASE_MATCH_BUG 1
4980#endif
5081
51#if (__SUNPRO_CC < 0x510) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
82# if (__SUNPRO_CC < 0x510) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
5283
5384# define _STLP_NO_QUALIFIED_FRIENDS 1
5485
9393# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
9494# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS
9595# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
96#endif
96# endif
9797
9898// Features that depend on compatibility switch
99#if ( __SUNPRO_CC < 0x500 ) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
99# if ( __SUNPRO_CC < 0x500 ) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5))
100100
101# ifndef _STLP_USE_NO_IOSTREAMS
102# define _STLP_USE_NO_IOSTREAMS 1
101# ifndef _STLP_HAS_NO_NEW_IOSTREAMS
102# define _STLP_HAS_NO_NEW_IOSTREAMS 1
103103# endif
104104# define _STLP_NO_NEW_NEW_HEADER 1
105105// # define _STLP_NO_RELOPS_NAMESPACE
108108# define _STLP_NO_BAD_ALLOC 1
109109# define _STLP_NO_EXCEPTION_HEADER 1
110110# define _STLP_NATIVE_C_INCLUDE_PATH ../include
111#elif (__SUNPRO_CC < 0x510)
111# elif (__SUNPRO_CC < 0x510)
112112// # define _STLP_NATIVE_C_HEADER(header) <../CC/##header##.SUNWCCh>
113113# define _STLP_NATIVE_CPP_C_HEADER(header) <../CC/##header##.SUNWCCh>
114114# define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
115#elif defined( __SunOS_5_5_1 ) || defined( __SunOS_5_6 ) || defined( __SunOS_5_7 )
115# elif defined( __SunOS_5_5_1 ) || defined( __SunOS_5_6 ) || defined( __SunOS_5_7 )
116116# define _STLP_NATIVE_C_INCLUDE_PATH ../CC/std
117117# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
118#else
118# else
119119# define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
120120# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
121#endif
121# endif
122122
123#if ( __SUNPRO_CC < 0x500 )
124123
125# undef _STLP_NATIVE_C_HEADER
124#if defined(__linux__) /* SunSoft's compiler present for Linux too ... */
126125# undef _STLP_NATIVE_CPP_C_HEADER
126# undef _STLP_NATIVE_CPP_C_INCLUDE_PATH
127# define _XOPEN_SOURCE 500
128# define _STLP_VENDOR_GLOBAL_CSTD
129# define _STLP_NATIVE_C_INCLUDE_PATH_VENDOR ../cc
130# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std
131/* # define _STLP_NATIVE_CPP_C_HEADER(header) </usr/include/g++-3/header> */
132/* # define _STLP_NATIVE_CPP_C_INCLUDE_PATH /usr/include/g++-3 */
133#endif /* __linux__ */
127134
128# define wint_t __wint_t
135# if ( __SUNPRO_CC < 0x500 )
136
137# undef _STLP_NATIVE_C_HEADER
138# undef _STLP_NATIVE_CPP_C_HEADER
139
140# define wint_t __wint_t
129141// famous CC 4.2 bug
130# define _STLP_INLINE_STRING_LITERAL_BUG 1
142# define _STLP_INLINE_STRING_LITERAL_BUG 1
131143// /usr/include
132# define _STLP_NATIVE_C_INCLUDE_PATH ../include
144# define _STLP_NATIVE_C_INCLUDE_PATH ../include
133145
134146// 4.2 cannot handle iterator_traits<_Tp>::iterator_category as a return type ;(
135147# define _STLP_USE_OLD_HP_ITERATOR_QUERIES
153153
154154# define _STLP_NEED_TYPENAME 1
155155# define _STLP_NEED_EXPLICIT 1
156# define _STLP_UNINITIALIZABLE_PRIVATE 1
156157# define _STLP_NO_BAD_ALLOC 1
157158# define _STLP_NO_ARROW_OPERATOR 1
159# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1
158160
159161# define _STLP_DEF_CONST_PLCT_NEW_BUG 1
160162# define _STLP_DEF_CONST_DEF_PARAM_BUG 1
165165# define _STLP_HAS_NO_NEW_C_HEADERS 1
166166// # define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
167167
168# if ( __SUNPRO_CC < 0x420 )
168# if ( __SUNPRO_CC < 0x420 )
169169# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
170170# define _STLP_NO_NEW_STYLE_CASTS 1
171171# define _STLP_NO_METHOD_SPECIALIZATION 1
172172# if ( __SUNPRO_CC > 0x401 )
173# if (__SUNPRO_CC==0x410)
174# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
175# endif
173# if (__SUNPRO_CC==0x410)
174# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
175# endif
176176# else
177177 // SUNPro C++ 4.0.1
178# define _STLP_BASE_MATCH_BUG 1
179# define _STLP_BASE_TYPEDEF_BUG 1
180# if (( __SUNPRO_CC < 0x401 ) && !defined(__SUNPRO_C))
181 __GIVE_UP_WITH_STL(SUNPRO_401)
178# define _STLP_BASE_MATCH_BUG 1
179# define _STLP_BASE_TYPEDEF_BUG 1
180# if ( __SUNPRO_CC < 0x401 )
181 __GIVE_UP_WITH_STL(SUNPRO_401)
182182# endif
183183# endif /* 4.0.1 */
184# endif /* 4.2 */
185#endif /* < 5.0 */
184# endif /* 4.2 */
185# endif /* 5.0 */
186186
187187#ifndef _MBSTATET_H
188188# define _MBSTATET_H