summaryrefslogtreecommitdiff
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
parentfc95947d076de3b8f6056e8d16cb4badc0965500 (diff)
downloadATCD-2793714fe0c012276471e1be5f322bc60a884db1.tar.gz
.
-rw-r--r--ChangeLog-99b41
-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
-rw-r--r--include/makeinclude/platform_irix6.x_kcc.GNU35
-rw-r--r--include/makeinclude/platform_linux_kcc.GNU2
-rw-r--r--tests/UNIXclerk.conf4
-rw-r--r--tests/UNIXserver.conf4
-rw-r--r--tests/UNIXtokens.conf4
-rwxr-xr-xtests/run_tests.sh1
-rw-r--r--tests/test_config.h4
15 files changed, 188 insertions, 36 deletions
diff --git a/ChangeLog-99b b/ChangeLog-99b
index 71c1eff76c8..c1bf0c34c12 100644
--- a/ChangeLog-99b
+++ b/ChangeLog-99b
@@ -1,3 +1,44 @@
+Sat Jan 16 19:08:12 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/High_Res_Timer.cpp: Added #ifdef so high-res timers work
+ correctly on KCC. Thanks to Scott Snyder
+ <snyder@d0sgif.fnal.gov> for contributing this.
+
+ * tests/test_config.h: Updated randomize() so that it uses a
+ "fixed" seed, so that it will produce "reusable" random numbers.
+
+ * include/makeinclude/platform_linux_kcc.GNU (LD): Added the -lm
+ flag. Thanks to Scott Snyder <snyder@d0sgif.fnal.gov> for
+ contributing this.
+
+ * tests/run_tests.sh: Added an
+ LD_LIBRARY_PATH=../netsvcs/lib:$LD_LIBRARY_PATH so that we can
+ use a relative name for the svc.conf files used in the
+ Time_Service_Test and Tokens_Test.
+
+ * ace/config-irix6.x-common.h: Added support for long double for
+ KCC. Thanks to Scott Snyder <snyder@d0sgif.fnal.gov> for
+ contributing this.
+
+ * ace/config-irix6.x-kcc.h: Added KCC support. Thanks to Scott
+ Snyder <snyder@d0sgif.fnal.gov> for contributing this.
+
+ * ace/config-osf1-4.0.h: Added KCC support. Thanks to Scott
+ Snyder <snyder@d0sgif.fnal.gov> for contributing this.
+
+ * ace/IOStream.h: Fixed up the PUT_CODE and GET_CODE macros so
+ that they work with KCC. Thanks to Scott Snyder
+ <snyder@d0sgif.fnal.gov> for contributing this.
+
+ * ace/Env_Value_T.h (ACE_Convert): Added a new ACE_Convert
+ constructor for u_int so that TAO compiles correctly with KCC.
+ Thanks to Scott Snyder <snyder@d0sgif.fnal.gov> for contributing
+ this.
+
+ * include/makeinclude/platform_osf1_4.0_kcc.GNU: Added a new
+ platform config file for KCC. Thanks to Scott Snyder
+ <snyder@d0sgif.fnal.gov> for contributing this.
+
Sat Jan 16 18:13:29 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* include/makeinclude/wrapper_macros.GNU: Commented out adding
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) . . .
diff --git a/include/makeinclude/platform_irix6.x_kcc.GNU b/include/makeinclude/platform_irix6.x_kcc.GNU
index c37e92048fb..2e712aaccb6 100644
--- a/include/makeinclude/platform_irix6.x_kcc.GNU
+++ b/include/makeinclude/platform_irix6.x_kcc.GNU
@@ -2,23 +2,32 @@
# Irix 6.x with KCC 3.3f
+# WARNING_FLAGS +=
+# 111: statement is unreachable. There's a whole bunch of these
+# in the ace code.
+WARNING_FLAGS += --diag_suppress 111
+
debug = 1
optimize = 1
-CC = gcc
-CXX = g++
-CFLAGS += $(DCFLAGS)
-CCFLAGS += $(CFLAGS) -fno-implicit-templates
-DCFLAGS += -g
+CC = KCC
+CXX = KCC
+CFLAGS += -32
+CCFLAGS += $(CFLAGS) -DNULL=0 $(WARNING_FLAGS)
+ifeq ($(optimize),1)
+DCFLAGS += -g --backend -g3
+else
+DCFLAGS += +K0 -g
+endif
DLD = $(CXX)
LD = $(CXX)
-LDFLAGS += -L$(ACE_ROOT)/ace -Wl,-dont_warn_unused
+LDFLAGS += -32 -L$(ACE_ROOT)/ace -L.
LIBS += -lpthread
-OCFLAGS += -O2
-PIC = -fpic
-# AR = ar
-ARFLAGS = rv
+OCFLAGS += +K3 -O2
+PIC =
+AR = KCC
+ARFLAGS = -o
RANLIB = @true
-SOFLAGS = -shared $(CPPFLAGS)
-SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \
- $(SOLINK.cc) $(LDFLAGS) -o $@ $(VSHDIR)$*.o
+SOFLAGS = $(CPPFLAGS) -L$(ACE_ROOT)/ace $(ACELIB)
+SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<
+PRELIB = @true
diff --git a/include/makeinclude/platform_linux_kcc.GNU b/include/makeinclude/platform_linux_kcc.GNU
index 74d7325f935..4f4289ce269 100644
--- a/include/makeinclude/platform_linux_kcc.GNU
+++ b/include/makeinclude/platform_linux_kcc.GNU
@@ -13,7 +13,7 @@ CCFLAGS += $(CFLAGS) -DNULL=0
DCFLAGS += +K0 -g
DLD = $(CC)
LD = $(CC)
-LIBS += -ldl -lpthread
+LIBS += -ldl -lpthread -lm
EXCEPTION = --no_exceptions
OCFLAGS += +K3 -O --one_instantiation_per_object $(EXCEPTION)
PIC = -fPIC
diff --git a/tests/UNIXclerk.conf b/tests/UNIXclerk.conf
index 1f674c21678..3e1e50ac5c3 100644
--- a/tests/UNIXclerk.conf
+++ b/tests/UNIXclerk.conf
@@ -1,3 +1,3 @@
# Note: hostname and port number need to be concatenated separated by ":"
-dynamic Logging_Strategy Service_Object * ../netsvcs/lib/netsvcs:_make_ACE_Logging_Strategy() "-s log/Time_Service_Test_Clerk.log -f OSTREAM"
-dynamic Time_Server_Test Service_Object * ../netsvcs/lib/netsvcs:_make_ACE_TS_Clerk_Processor () "-h localhost:10222 -t 4"
+dynamic Logging_Strategy Service_Object * netsvcs:_make_ACE_Logging_Strategy() "-s log/Time_Service_Test_Clerk.log -f OSTREAM"
+dynamic Time_Server_Test Service_Object * netsvcs:_make_ACE_TS_Clerk_Processor () "-h localhost:10222 -t 4"
diff --git a/tests/UNIXserver.conf b/tests/UNIXserver.conf
index 23b18fc3c3d..7168d93ead8 100644
--- a/tests/UNIXserver.conf
+++ b/tests/UNIXserver.conf
@@ -5,6 +5,6 @@
# In addition, you can replace the hardcoded "-p 20xxx" with "-p
# $PORTxxx" if you set your environment variables correctly.
-dynamic Logging_Strategy Service_Object * ../netsvcs/lib/netsvcs:_make_ACE_Logging_Strategy() "-s log/Time_Service_Test_Server.log -f OSTREAM"
-dynamic Time_Service Service_Object * ../netsvcs/lib/netsvcs:_make_ACE_TS_Server_Acceptor() "-p 10222"
+dynamic Logging_Strategy Service_Object * netsvcs:_make_ACE_Logging_Strategy() "-s log/Time_Service_Test_Server.log -f OSTREAM"
+dynamic Time_Service Service_Object * netsvcs:_make_ACE_TS_Server_Acceptor() "-p 10222"
diff --git a/tests/UNIXtokens.conf b/tests/UNIXtokens.conf
index 2547639345c..a15f4ab14cc 100644
--- a/tests/UNIXtokens.conf
+++ b/tests/UNIXtokens.conf
@@ -1,5 +1,5 @@
# Solaris version
-dynamic Logging_Strategy Service_Object * ../netsvcs/lib/netsvcs:_make_ACE_Logging_Strategy() "-s log/Tokens_Test_Server.log -f OSTREAM"
-dynamic Token_Service Service_Object * ../netsvcs/lib/netsvcs:_make_ACE_Token_Acceptor() "-p 23456"
+dynamic Logging_Strategy Service_Object * netsvcs:_make_ACE_Logging_Strategy() "-s log/Tokens_Test_Server.log -f OSTREAM"
+dynamic Token_Service Service_Object * netsvcs:_make_ACE_Token_Acceptor() "-p 23456"
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index cbf76576920..e005acc7ed7 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -17,6 +17,7 @@ usage="usage: $0 <target>"
IFS="|"
tmp=/tmp
compilation_log="log/compilations.log"
+LD_LIBRARY_PATH=../netsvcs/lib:$LD_LIBRARY_PATH
####
#### Process command line arguments.
diff --git a/tests/test_config.h b/tests/test_config.h
index 122fea878ed..6b750e661f1 100644
--- a/tests/test_config.h
+++ b/tests/test_config.h
@@ -373,7 +373,9 @@ randomize (int array[], size_t size)
for (i = 0; i < size; i++)
array [i] = i;
- ACE_OS::srand (ACE_OS::time (0L));
+ // See with a fixed number so that we can produce "repeatable"
+ // random numbers.
+ ACE_OS::srand (0);
// Generate an array of random numbers from 0 .. size - 1.