From 2793714fe0c012276471e1be5f322bc60a884db1 Mon Sep 17 00:00:00 2001 From: schmidt Date: Sun, 17 Jan 1999 03:08:32 +0000 Subject: . --- ace/Env_Value_T.h | 11 ++++++-- ace/High_Res_Timer.cpp | 2 +- ace/IOStream.h | 22 ++++++++++++++++ ace/Process.h | 12 ++++++--- ace/config-irix6.x-common.h | 3 +++ ace/config-irix6.x-kcc.h | 61 +++++++++++++++++++++++++++++++++++++++++++++ ace/config-osf1-4.0.h | 18 +++++++------ 7 files changed, 114 insertions(+), 15 deletions(-) create mode 100644 ace/config-irix6.x-kcc.h (limited to 'ace') diff --git a/ace/Env_Value_T.h b/ace/Env_Value_T.h index 51813a93d8f..d7cd3298763 100644 --- a/ace/Env_Value_T.h +++ b/ace/Env_Value_T.h @@ -107,9 +107,16 @@ ACE_Convert (const char *s, short &si) } inline void -ACE_Convert (const char *s, unsigned short &us) +ACE_Convert (const char *s, u_short &us) { - us = ACE_static_cast (unsigned short, ACE_OS::strtol (s, 0, 10)); + us = ACE_static_cast (u_short, ACE_OS::strtol (s, 0, 10)); +} + +inline void +ACE_Convert (const char *s, u_int &i) +{ + i = ACE_static_cast (u_int, + ACE_OS::strtol (s, 0, 10)); } inline void diff --git a/ace/High_Res_Timer.cpp b/ace/High_Res_Timer.cpp index e7b34c42dac..1b405e4e09a 100644 --- a/ace/High_Res_Timer.cpp +++ b/ace/High_Res_Timer.cpp @@ -83,7 +83,7 @@ ACE_High_Res_Timer::global_scale_factor () defined (ACE_HAS_ALPHA_TIMER)) && \ !defined (ACE_HAS_HI_RES_TIMER) && \ ((defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) || \ - defined (ghs) || defined (__GNUG__)) + defined (ghs) || defined (__GNUG__) || defined (__KCC)) // Check if the global scale factor needs to be set, and do if so. if (ACE_High_Res_Timer::global_scale_factor_ == 1u) { diff --git a/ace/IOStream.h b/ace/IOStream.h index c1ecb5c9604..d98e8a3b399 100644 --- a/ace/IOStream.h +++ b/ace/IOStream.h @@ -344,6 +344,16 @@ typedef ostream& (*__omanip_)(ostream&); // operators. Notice how the ipfx() and isfx() functions are used. #define GET_SIG(MT,DT) inline virtual MT& operator>> (DT v) +#if defined (__KCC) +#define GET_CODE { \ + if (ipfx (0)) \ + { \ + (*((istream*)this)) >> (v); \ + } \ + isfx (); \ + return *this; \ + } +#else #define GET_CODE { \ if (ipfx (0)) \ { \ @@ -352,6 +362,7 @@ typedef ostream& (*__omanip_)(ostream&); isfx (); \ return *this; \ } +#endif /* __KCC */ #define GET_PROT(MT,DT,CODE) GET_SIG(MT,DT) CODE #define GET_FUNC(MT,DT) GET_PROT(MT,DT,GET_CODE) @@ -360,6 +371,16 @@ typedef ostream& (*__omanip_)(ostream&); // operators. Notice how the opfx() and osfx() functions are used. #define PUT_SIG(MT,DT) inline virtual MT& operator<< (DT v) +#if defined (__KCC) +#define PUT_CODE { \ + if (opfx ()) \ + { \ + (*((ostream *) this)) << (v); \ + } \ + osfx (); \ + return *this; \ + } +#else #define PUT_CODE { \ if (opfx ()) \ { \ @@ -368,6 +389,7 @@ typedef ostream& (*__omanip_)(ostream&); osfx (); \ return *this; \ } +#endif /* __KCC */ #define PUT_PROT(MT,DT,CODE) PUT_SIG(MT,DT) CODE #define PUT_FUNC(MT,DT) PUT_PROT(MT,DT,PUT_CODE) diff --git a/ace/Process.h b/ace/Process.h index 7d1eac37667..5281897e218 100644 --- a/ace/Process.h +++ b/ace/Process.h @@ -55,12 +55,16 @@ public: #endif /* ACE_WIN32 */ }; -// Default settings not part of public Iface protected: - enum { + // = Default settings not part of public Interface. + // + // @@ These sizes should be taken from the appropriate + // POSIX/system header files and/or defined dynamically. + enum + { MAX_COMMAND_LINE_OPTIONS = 128, - ENVIRONMENT_BUFFER = 8192, - MAX_ENVIRONMENT_ARGS = 128 + ENVIRONMENT_BUFFER = 16 * 1024, // 16K + MAX_ENVIRONMENT_ARGS = 512 // }; public: diff --git a/ace/config-irix6.x-common.h b/ace/config-irix6.x-common.h index 91f61f3e776..4cf818151da 100644 --- a/ace/config-irix6.x-common.h +++ b/ace/config-irix6.x-common.h @@ -19,10 +19,13 @@ // double and a long double. So, we have to hard-code this. Thanks // to Bob Laferriere for figuring it out. #if defined (_MIPS_SIM) /* 6.X System */ +# include # if defined (_MIPS_SIM_NABI32) && (_MIPS_SIM == _MIPS_SIM_NABI32) # define ACE_SIZEOF_LONG_DOUBLE 16 # elif defined (_MIPS_SIM_ABI32) && (_MIPS_SIM == _MIPS_SIM_ABI32) # define ACE_SIZEOF_LONG_DOUBLE 8 +# elif defined (_MIPS_SIM_ABI64) && (_MIPS_SIM == _MIPS_SIM_ABI64) +# define ACE_SIZEOF_LONG_DOUBLE 16 # elif !defined (ACE_SIZEOF_LONG_DOUBLE) # define ACE_SIZEOF_LONG_DOUBLE 8 # endif diff --git a/ace/config-irix6.x-kcc.h b/ace/config-irix6.x-kcc.h new file mode 100644 index 00000000000..2dfbfcae753 --- /dev/null +++ b/ace/config-irix6.x-kcc.h @@ -0,0 +1,61 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for the SGI +// Indigo2EX running Irix 6.5 platform using the KAI C++ compiler. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H + +#include "ace/config-kcc-common.h" + + +// Platform supports the very odd IRIX 6.2 threads... +#define ACE_HAS_THREADS +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif /* !ACE_MT_SAFE */ +#define ACE_HAS_IRIX62_THREADS + +// IRIX 6.2 supports a variant of POSIX Pthreads, supposedly POSIX 1c +#define ACE_HAS_PTHREADS +#define ACE_HAS_PTHREADS_STD +#define ACE_HAS_PTHREAD_SIGMASK + +#include "ace/config-irix6.x-common.h" + +// Needed for the threading stuff? +#include /**/ +#include /**/ + +#define PTHREAD_MIN_PRIORITY PX_PRIO_MIN +#define PTHREAD_MAX_PRIORITY PX_PRIO_MAX + +// Platforms has pthread_thr_sigsetmask +#define ACE_HAS_PTHREAD_SIGMASK + +// Compiler/platform has thread-specific storage +#define ACE_HAS_THREAD_SPECIFIC_STORAGE + +// The pthread_cond_timedwait call does not reset the timer. +#define ACE_LACKS_COND_TIMEDWAIT_RESET 1 + +#define ACE_HAS_STRING_CLASS +#ifndef IRIX6 +# define IRIX6 +#endif + +// Denotes that GNU has cstring.h as standard +// which redefines memchr() +#define ACE_HAS_GNU_CSTRING_H + +// Compiler/platform supports SVR4 signal typedef. +#define ACE_HAS_IRIX_53_SIGNALS + +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +// Compiler/platform supports sys_siglist array. +//#define ACE_HAS_SYS_SIGLIST + + +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-osf1-4.0.h b/ace/config-osf1-4.0.h index d2e1f0fef50..116bc70063d 100644 --- a/ace/config-osf1-4.0.h +++ b/ace/config-osf1-4.0.h @@ -3,12 +3,13 @@ // The following configuration file is designed to work for the // Digital UNIX V4.0a and later platforms with either the GNU g++, DEC -// cxx 5.4 and later, or Rational RCC (2.4.1) compilers. -// It is configured to use the IEEE Std 1003.1c-1995, POSIX System -// Application Program Interface, or DCE threads (with cxx only); it -// automatically selects the proper thread interface depending on whether -// the cxx -pthread or -threads option was specified. By 4.0a the version -// is meant that is called "V4.0 464" by uname -a. +// cxx 5.4 and later, Rational RCC (2.4.1) compilers, or KAI 3.3 +// compilers. It is configured to use the IEEE Std 1003.1c-1995, +// POSIX System Application Program Interface, or DCE threads (with +// cxx only); it automatically selects the proper thread interface +// depending on whether the cxx -pthread or -threads option was +// specified. By 4.0a the version is meant that is called "V4.0 464" +// by uname -a. #ifndef ACE_CONFIG_H #define ACE_CONFIG_H @@ -67,9 +68,10 @@ # define ACE_HAS_STDCPP_STL_INCLUDES # define ACE_HAS_TEMPLATE_SPECIALIZATION # define ACE_HAS_TYPENAME_KEYWORD -#else /* ! __GNUG__ && ! __DECCXX && ! __rational__ */ +#elif defined (__KCC) +# include "ace/config-kcc-common.h" # error unsupported compiler on Digital Unix -#endif /* ! __GNUG__ && ! __DECCXX && ! __rational__ */ +#endif /* ! __GNUG__ && ! __DECCXX && ! __rational__ && !_KCC */ #if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 199506L) // cxx with POSIX 1003.1c-1995 threads (pthreads) . . . -- cgit v1.2.1