jkp@SAUNA.HUT.FI (Jyrki Kuoppala) (08/23/89)
Environment: Sony NWS-1830 (m68030, BSD 4.3), NEWSOS 3.2, gcc 1.35.96
with three bugfixes from rms, g++.ytar.Z from yahi.stanford.edu as of
Aug 20, libg++ 1.35.1.
tRandom.c from the test directory fails with:
g++ -g -O -pipe -I../g++-include -I. -fstrength-reduce -fno-defer-pop -c tRandom.cc
tRandom.cc: In function int main ():
tRandom.cc:82: type `LogNormal' is derived from private `Random'
tRandom.cc:85: type `Poisson' is derived from private `Random'
Also, here are the context diffs needed to use libg++ on a Sony news
machine. I hope they can merged in the distribution:
(generic changes like the include/sys file bug omitted, except the
volatile abort thing which I don't remember seeing on the list. Also,
you could probably use #if defined(sun) || defined(sony) for values.h;
the values were generated by hard-params.c from gcc but I had to
change them so I wouldn't get +Infinity and -Infinity into the
assembly file. They were almost identical to those on the Sun, so I
copied MAX* from the sun values.)
diff -cr libg++.orig/g++-include/assert.h libg++/g++-include/assert.h
*** libg++.orig/g++-include/assert.h Sun May 7 16:16:41 1989
--- libg++/g++-include/assert.h Wed Aug 23 10:01:57 1989
***************
*** 31,37 ****
#else
extern "C" void __eprintf (char*, int, char*); /* Defined in gnulib */
! extern "C" void abort();
#define assert(ex) \
((ex) ? 1 : \
--- 31,37 ----
#else
extern "C" void __eprintf (char*, int, char*); /* Defined in gnulib */
! extern "C" void volatile abort();
#define assert(ex) \
((ex) ? 1 : \
diff -cr libg++.orig/g++-include/values.h libg++/g++-include/values.h
*** libg++.orig/g++-include/values.h Sun May 7 18:11:06 1989
--- libg++/g++-include/values.h Wed Aug 23 10:00:23 1989
***************
*** 59,64 ****
--- 59,78 ----
#define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE)
#define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE)
+ #elif defined(sony)
+ #define MAXDOUBLE 1.79769313486231470e+308
+ #define MAXFLOAT ((float)3.40282346638528860e+38)
+ #define MINDOUBLE 2.2250738585072010e-308
+ #define MINFLOAT ((float)1.17549435e-38)
+ #define _IEEE 1
+ #define _DEXPLEN 11
+ #define _FEXPLEN 8
+ #define _HIDDENBIT 1
+ #define DMINEXP (-(DMAXEXP + DSIGNIF - _HIDDENBIT - 3))
+ #define FMINEXP (-(FMAXEXP + FSIGNIF - _HIDDENBIT - 3))
+ #define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE)
+ #define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE)
+
#elif defined(sequent)
extern double _maxdouble, _mindouble;
extern float _maxfloat, _minfloat;
diff -cr libg++.orig/libconfig.h libg++/libconfig.h
*** libg++.orig/libconfig.h Sun May 21 13:08:47 1989
--- libg++/libconfig.h Wed Aug 23 08:47:18 1989
***************
*** 54,60 ****
The following are correct for vax BSD4.3 and sun. Others not yet known
*/
! #if defined(vax)
//#define HAVE_VPRINTF
//#define HAVE_SETVBUF
#define HAVE_SETLINEBUF
--- 54,60 ----
The following are correct for vax BSD4.3 and sun. Others not yet known
*/
! #if defined(vax) || defined(sony)
//#define HAVE_VPRINTF
//#define HAVE_SETVBUF
#define HAVE_SETLINEBUF