summaryrefslogtreecommitdiff
path: root/ace
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1999-01-17 03:08:32 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1999-01-17 03:08:32 +0000
commit2793714fe0c012276471e1be5f322bc60a884db1 (patch)
tree26944b622d714a0247930649d41525afcf41ab0a /ace
parentfc95947d076de3b8f6056e8d16cb4badc0965500 (diff)
downloadATCD-2793714fe0c012276471e1be5f322bc60a884db1.tar.gz
.
Diffstat (limited to 'ace')
-rw-r--r--ace/Env_Value_T.h11
-rw-r--r--ace/High_Res_Timer.cpp2
-rw-r--r--ace/IOStream.h22
-rw-r--r--ace/Process.h12
-rw-r--r--ace/config-irix6.x-common.h3
-rw-r--r--ace/config-irix6.x-kcc.h61
-rw-r--r--ace/config-osf1-4.0.h18
7 files changed, 114 insertions, 15 deletions
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 <laferrie@gsao.med.ge.com> for figuring it out.
#if defined (_MIPS_SIM) /* 6.X System */
+# include <sgidefs.h>
# 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 /**/ <sched.h>
+#include /**/ <task.h>
+
+#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) . . .