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