coolidge@casca.cs.uiuc.edu (John Coolidge) (03/20/90)
Here's the promised patches for libg++ 1.37.0. There is very little
functionally different here --- most of these just fix header file
dependancies or makefile problems. There are a few changes just intended
to make life easier (like turning -Wall off) which can easily be ignored
or changed back. The stdio and file buffering patches may be overkill ---
some of them are required, though, or the streambuf/{i,o}stream stuff
will fail.
As always, send bug reports (and hopefully fixes!) to coolidge@cs.uiuc.edu
and I'll put them together for the next release.
--John
--------------------------------------------------------------------------
diff -r -c libg++-1.37.0/Makefile libg++.aux/Makefile
*** libg++-1.37.0/Makefile Wed Feb 28 04:17:18 1990
--- libg++.aux/Makefile Fri Mar 16 15:01:05 1990
***************
*** 57,69 ****
# ------- use the second form of each for SystemV (USG)
# g++ flags
! OSFLAG=
! #OSFLAG = -DUSG
# other compilation control flags -- use any combination
# use this only if you have a strange stdio implementation
! #XTRAFLAGS = -DDEFAULT_filebuf
# use this if you do not want gnulib3 in libg++.a
#XTRAFLAGS = -DNO_GNULIB3
--- 57,69 ----
# ------- use the second form of each for SystemV (USG)
# g++ flags
! #OSFLAG=
! OSFLAG = -DUSG -DAUX
# other compilation control flags -- use any combination
# use this only if you have a strange stdio implementation
! XTRAFLAGS = -DDEFAULT_filebuf
# use this if you do not want gnulib3 in libg++.a
#XTRAFLAGS = -DNO_GNULIB3
***************
*** 72,79 ****
#XTRAFLAGS = -DCOFF_ENCAPSULATE
# use this if you want to disable line buffering for stream output
! #XTRAFLAGS = -DNO_LINE_BUFFER_STREAMBUF
# Use this to disable placing libg++ version of malloc in libg++.a
#XTRAFLAGS = -DNO_LIBGXX_MALLOC
--- 72,81 ----
#XTRAFLAGS = -DCOFF_ENCAPSULATE
# use this if you want to disable line buffering for stream output
! XTRAFLAGS = -DNO_LINE_BUFFER_STREAMBUF
+ XTRAFLAGS = -DNO_LINE_BUFFER_STREAMBUF -DDEFAULT_filebuf
+
# Use this to disable placing libg++ version of malloc in libg++.a
#XTRAFLAGS = -DNO_LIBGXX_MALLOC
***************
*** 82,97 ****
#XTRAFLAGS = -DMALLOC_STATS
# ld or ld++ flags
! OSLDFLAG =
! #OSLDFLAG= -lPW
# how to install
! INSTALL=install -c
! #INSTALL=cp
# ranlib if necessary
! RANLIB=ranlib
! #RANLIB=echo
# which make?
MAKE=make
--- 84,99 ----
#XTRAFLAGS = -DMALLOC_STATS
# ld or ld++ flags
! #OSLDFLAG =
! OSLDFLAG= -lPW
# how to install
! #INSTALL=install -c
! INSTALL=cp
# ranlib if necessary
! #RANLIB=ranlib
! RANLIB=echo
# which make?
MAKE=make
***************
*** 119,133 ****
# ------ Other compilation flags
# ------ modify as you like -- the ones here are sheer overkill
! GXX_OPTIMIZATION_FLAGS= -O -fstrength-reduce -felide-constructors -fschedule-insns -fdelayed-branch -fsave-memoized
GCC_OPTIMIZATION_FLAGS= -O -fstrength-reduce -fdelayed-branch
! DEBUG_FLAGS= -g
#use this only if you like to look at lots of useless messages
#VERBOSITY_FLAGS= -Wall -v
! VERBOSITY_FLAGS= -Wall
GXX_INCLUDE_DIRS= -I$(SRCIDIR)
--- 121,136 ----
# ------ Other compilation flags
# ------ modify as you like -- the ones here are sheer overkill
! #GXX_OPTIMIZATION_FLAGS= -O -fstrength-reduce -felide-constructors -fschedule-insns -fdelayed-branch -fsave-memoized
! GXX_OPTIMIZATION_FLAGS= -O -fstrength-reduce -felide-constructors -fschedule-insns -fsave-memoized
GCC_OPTIMIZATION_FLAGS= -O -fstrength-reduce -fdelayed-branch
! DEBUG_FLAGS=
#use this only if you like to look at lots of useless messages
#VERBOSITY_FLAGS= -Wall -v
! #VERBOSITY_FLAGS= -Wall
GXX_INCLUDE_DIRS= -I$(SRCIDIR)
***************
*** 135,142 ****
#use this only if you use GNU as (gas) or other assemblers that
#can read from pipes.
! PIPE_AS= -pipe
! #PIPE_AS=
# Flags for all C++ compiles
GXXFLAGS = $(OSFLAG) $(GXX_INCLUDE_DIRS) $(DEBUG_FLAGS) $(GXX_OPTIMIZATION_FLAGS) $(VERBOSITY_FLAGS) $(XTRAFLAGS) $(PIPE_AS)
--- 138,145 ----
#use this only if you use GNU as (gas) or other assemblers that
#can read from pipes.
! #PIPE_AS= -pipe
! PIPE_AS=
# Flags for all C++ compiles
GXXFLAGS = $(OSFLAG) $(GXX_INCLUDE_DIRS) $(DEBUG_FLAGS) $(GXX_OPTIMIZATION_FLAGS) $(VERBOSITY_FLAGS) $(XTRAFLAGS) $(PIPE_AS)
diff -r -c libg++-1.37.0/g++-include/math.h libg++.aux/g++-include/math.h
*** libg++-1.37.0/g++-include/math.h Sat Jan 6 08:09:52 1990
--- libg++.aux/g++-include/math.h Mon Mar 12 21:40:52 1990
***************
*** 31,37 ****
#endif
! #ifdef __HAVE_68881__ /* MC68881/2 Floating-Point Coprocessor */
#include <math-68881.h>
extern "C" { /* fill in what we've left out */
--- 31,37 ----
#endif
! #if defined(__HAVE_68881__) && !defined(AUX) /* MC68881/2 Floating-Point Coprocessor */
#include <math-68881.h>
extern "C" { /* fill in what we've left out */
***************
*** 88,94 ****
double gamma(double);
double hypot(double,double);
double infnan(int);
! #if !defined(sequent) && !defined(DGUX) /* see below */
int isinf(double);
int isnan(double);
#endif
--- 88,94 ----
double gamma(double);
double hypot(double,double);
double infnan(int);
! #if !defined(sequent) && !defined(DGUX) && !defined(AUX) /* see below */
int isinf(double);
int isnan(double);
#endif
***************
*** 154,160 ****
#endif
/* sequents don't supply these. The following should suffice */
! #if defined(sequent) || defined(DGUX)
static inline int isnan(double x) { return x != x; }
static inline int isinf(double x) { return x > MAXDOUBLE || x < -MAXDOUBLE; }
#endif
--- 154,160 ----
#endif
/* sequents don't supply these. The following should suffice */
! #if defined(sequent) || defined(DGUX) || defined(AUX)
static inline int isnan(double x) { return x != x; }
static inline int isinf(double x) { return x > MAXDOUBLE || x < -MAXDOUBLE; }
#endif
diff -r -c libg++-1.37.0/src/Makefile libg++.aux/src/Makefile
*** libg++-1.37.0/src/Makefile Wed Feb 28 04:14:22 1990
--- libg++.aux/src/Makefile Tue Mar 13 13:35:48 1990
***************
*** 142,148 ****
Fix.cc Fix16.cc Fix24.cc Curses.cc GetOpt.cc gnulib3.c EH.cc EH2.c \
malloc.c new.cc delete.cc xyzzy.cc chr.cc dtoa.cc error.cc \
form.cc gcd.cc hash.cc itoa.cc \
! lg.cc libgxx_fmtq.cc libgxx_io_ob.cc pow.cc sqrt.cc str.cc timer.cc
OBJS = AllocRing.o Obstack.o File.o ostream.o istream.o \
streambuf.o filebuf.o Filebuf.o \
--- 142,148 ----
Fix.cc Fix16.cc Fix24.cc Curses.cc GetOpt.cc gnulib3.c EH.cc EH2.c \
malloc.c new.cc delete.cc xyzzy.cc chr.cc dtoa.cc error.cc \
form.cc gcd.cc hash.cc itoa.cc \
! lg.cc libgxx_fmtq.cc libgxx_ioob.cc pow.cc sqrt.cc str.cc timer.cc
OBJS = AllocRing.o Obstack.o File.o ostream.o istream.o \
streambuf.o filebuf.o Filebuf.o \
***************
*** 155,161 ****
Fix.o Fix16.o Fix24.o Curses.o GetOpt.o EH.o EH2.o\
xyzzy.o gnulib3.o new.o delete.o malloc.o chr.o dtoa.o error.o form.o gcd.o \
hash.o itoa.o \
! lg.o libgxx_fmtq.o libgxx_io_ob.o pow.o sqrt.o str.o timer.o
###########################################################################
#
--- 155,161 ----
Fix.o Fix16.o Fix24.o Curses.o GetOpt.o EH.o EH2.o\
xyzzy.o gnulib3.o new.o delete.o malloc.o chr.o dtoa.o error.o form.o gcd.o \
hash.o itoa.o \
! lg.o libgxx_fmtq.o libgxx_ioob.o pow.o sqrt.o str.o timer.o
###########################################################################
#
***************
*** 412,418 ****
$(SRCIDIR)/stddef.h $(SRCIDIR)/std.h \
$(SRCIDIR)/stdio.h $(SRCIDIR)/math.h \
$(SRCIDIR)/values.h $(SRCIDIR)/AllocRing.h
! libgxx_io_ob.o : libgxx_io_ob.cc $(SRCIDIR)/Obstack.h \
$(SRCIDIR)/std.h $(SRCIDIR)/stddef.h \
$(SRCIDIR)/stdio.h
new.o : new.cc $(SRCIDIR)/stddef.h \
--- 412,418 ----
$(SRCIDIR)/stddef.h $(SRCIDIR)/std.h \
$(SRCIDIR)/stdio.h $(SRCIDIR)/math.h \
$(SRCIDIR)/values.h $(SRCIDIR)/AllocRing.h
! libgxx_ioob.o : libgxx_ioob.cc $(SRCIDIR)/Obstack.h \
$(SRCIDIR)/std.h $(SRCIDIR)/stddef.h \
$(SRCIDIR)/stdio.h
new.o : new.cc $(SRCIDIR)/stddef.h \
diff -r -c libg++-1.37.0/src/ostream.cc libg++.aux/src/ostream.cc
*** libg++-1.37.0/src/ostream.cc Sat Feb 3 10:41:42 1990
--- libg++.aux/src/ostream.cc Fri Mar 16 16:01:15 1990
***************
*** 88,93 ****
--- 88,94 ----
ostream::~ostream()
{
+ flush();
if (ownbuf) delete bp;
}
diff -r -c libg++-1.37.0/tests/Makefile libg++.aux/tests/Makefile
*** libg++-1.37.0/tests/Makefile Wed Feb 28 04:14:07 1990
--- libg++.aux/tests/Makefile Fri Mar 16 16:58:51 1990
***************
*** 98,110 ****
DEBUG_FLAGS= -g
#use this only if you like to look at lots of useless messages
! VERBOSITY_FLAGS= -Wall -v
GXX_INCLUDE_DIRS= -I$(SRCIDIR)
GCC_INCLUDE_DIRS= -I$(prefix)/lib/gcc-include -I/usr/include -I$(SRCIDIR)
! PIPE_AS= -pipe
# Flags for all C++ compiles
GXXFLAGS = $(OSFLAG) $(GXX_INCLUDE_DIRS) $(DEBUG_FLAGS) $(GXX_OPTIMIZATION_FLAGS) $(VERBOSITY_FLAGS) $(PIPE_AS)
--- 98,112 ----
DEBUG_FLAGS= -g
#use this only if you like to look at lots of useless messages
! #VERBOSITY_FLAGS= -Wall -v
! VERBOSITY_FLAGS=
GXX_INCLUDE_DIRS= -I$(SRCIDIR)
GCC_INCLUDE_DIRS= -I$(prefix)/lib/gcc-include -I/usr/include -I$(SRCIDIR)
! #PIPE_AS= -pipe
! PIPE_AS=
# Flags for all C++ compiles
GXXFLAGS = $(OSFLAG) $(GXX_INCLUDE_DIRS) $(DEBUG_FLAGS) $(GXX_OPTIMIZATION_FLAGS) $(VERBOSITY_FLAGS) $(PIPE_AS)
***************
*** 197,203 ****
tests: $(SRCDIR)/libg++.a $(GENCLASS) $(TOUTS)
! runtests: tests
for i in $(TOUTS); do \
case $$i in \
test0) echo "Must run test0 from tty";; \
--- 199,205 ----
tests: $(SRCDIR)/libg++.a $(GENCLASS) $(TOUTS)
! runtests:
for i in $(TOUTS); do \
case $$i in \
test0) echo "Must run test0 from tty";; \
diff -r -c libg++-1.37.0/tests/test.hello.cc libg++.aux/tests/test.hello.cc
*** libg++-1.37.0/tests/test.hello.cc Fri Dec 29 08:12:49 1989
--- libg++.aux/tests/test.hello.cc Tue Mar 13 15:33:13 1990
***************
*** 13,18 ****
--- 13,22 ----
#include <sys/file.h>
+ #ifdef AUX
+ #define getpagesize() 4096
+ #endif
+
#if defined(MIPSEL) || defined(USG)
#if !defined(hpux)
#define exec aouthdr
--------------------------------------------------------------------------
John L. Coolidge Internet:coolidge@cs.uiuc.edu UUCP:uiucdcs!coolidge
Of course I don't speak for the U of I (or anyone else except myself)
Copyright 1990 John L. Coolidge. Copying allowed if (and only if) attributed.
You may redistribute this article if and only if your recipients may as well.