home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / gnu / g / lib / bug / 601 < prev    next >
Encoding:
Internet Message Format  |  1992-11-17  |  49.7 KB

  1. Xref: sparky gnu.g++.lib.bug:601 gnu.g++.help:1452 comp.sys.hp:13036
  2. Path: sparky!uunet!snorkelwacker.mit.edu!ai-lab!prep.ai.mit.edu!gnulists
  3. From: bartm@cv.ruu.nl (Bart Muyzer)
  4. Newsgroups: gnu.g++.lib.bug,gnu.g++.help,comp.sys.hp
  5. Subject: UPDATED PATCHES for libg++ 2.2 with HP-UX 8.0 (gcc 2.3.1)
  6. Followup-To: gnu.g++.lib.bug,gnu.g++.help,comp.sys.hp
  7. Date: 17 Nov 1992 23:48:21 -0500
  8. Organization: University of Utrecht, 3D Computer Vision Research Group
  9. Lines: 1821
  10. Sender: tower@ai.mit.edu
  11. Approved: info-gnu@prep.ai.mit.edu
  12. Distribution: world
  13. Message-ID: <1992Nov17.160758.17944@cv.ruu.nl>
  14. NNTP-Posting-Host: life.ai.mit.edu
  15. Keywords: update, gcc 2.3.1.u2
  16. Originator: bartm@mind.cv.ruu.nl
  17. Apparently-To: gnu-g++-lib-bug@nluug.nl
  18.  
  19. Hi,
  20.  
  21. Thanks to Dave Anglin, I can now post an updated set of patches which should
  22. make libg++ 2.2 make compile under HP-UX 8.0. Please refer to the README.hp
  23. file for details. I have to admit I didn't test them (yet), so please drop me
  24. a line in case of difficulties.
  25.  
  26. The file "Changes" describes the changes Dave made to the patches I posted
  27. earlier.
  28.  
  29. Have fun,
  30.                             >] Bartm [<
  31. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  32. # This is a shell archive.  Remove anything before this line,
  33. # then unpack it by saving it in a file and typing "sh file".
  34. #
  35. # Wrapped by Bart Muyzer <bartm@mind> on Tue Nov 17 16:45:38 1992
  36. #
  37. # This archive contains:
  38. #    README.hp    Changes        hp9k700-patches    
  39. #
  40.  
  41. LANG=""; export LANG
  42. PATH=/bin:/usr/bin:$PATH; export PATH
  43.  
  44. echo x - README.hp
  45. cat >README.hp <<'@EOF'
  46.     === Compiling libg++ 2.2 on HP9000 s700 using gcc 2.3.1.u2 ===
  47.  
  48. Original:
  49.     Author       : Bart Muijzer
  50.     E-mail       : bartm@cv.ruu.nl
  51.  
  52. Update 1:
  53.     Author         : Dave Anglin
  54.     E-mail         : dave@hiauly1.hia.nrc.ca
  55.  
  56. Last update: Fri Nov 13 10:11:48 EST 1992
  57.  
  58. THE COMPILER
  59. ============
  60.  
  61. I used gcc 2.3.1.u2 from jaguar.cs.utah.edu, installed "out-of-the-box" for
  62. hppa 1.1 architectures. This is a version of gcc 2.3.1 which fixes some major
  63. HPPA bugs in it.
  64.  
  65. I would advise getting the Utah version when you get time.  There seem to
  66. have been enough problems fixed to make this worthwhile.
  67.  
  68. COMPILING AND TESTING
  69. =====================
  70.  
  71. Here's how I got to compile and install libg++ 2.2 on the HP 9000 series 700 
  72. using gcc 2.3.1.u2.
  73.  
  74. 1. Apply the patches contained in the file hp9k700-patches from libg++-2.2/..
  75.    directory:
  76.     patch -p -N < hp9k700-patches
  77. 2. Run configure in both libg++-2.2 and libg++-2.2/libg++ directories:
  78.     ./configure hp9k700 --prefix=/usr/local
  79.     ../configure hp9k700 --prefix=/usr/local
  80.    Ignore wrong "in" directory.  The Makefile's are in the right place.
  81.    (Use whatever prefix you prefer)
  82. 3. Run make in libg++-2.2 directory:
  83.     make
  84.    Ignore warning messages (I did, too ;-) )
  85. 4. Run the tests like:
  86.     make check
  87.  
  88. NOTES
  89. =====
  90.  
  91. The majority of problems with the optimizer are fixed in gcc 2.3.1.u2
  92. and "-O" is now the default for building libg++.  The only optimizer
  93. problem which seems to remain relates to taking the address of arguments
  94. passed to inline procedures (see patches to BitString.h and String.h).
  95.  
  96. I have attempted to fix the problems with the high level Makefile passing
  97. both CC=cc and CC=gcc to the make for libg++.  A new make variable, GCFLAGS,
  98. is introduced to pass a special CFLAGS for building the libg++ subdirectory.
  99.  
  100. Some patches needed to work around bugs in gcc 2.2.2 have been removed.
  101.  
  102. PATCHES
  103. =======
  104.  
  105. The of the patches fix the following:
  106.  
  107.   1. Automatic generation of a working libg++/_G_config.h. The symbol
  108.      "_G_NEED_STDARG_H" needs to be defined and it won't be when compiling
  109.      the standard distribution. Somebody fixed this for the NeXT with m68k 
  110.      processor too, but I forgot his name :-(.
  111.   2. Passing of the value of CFLAGS to all subdirectories. The standard
  112.      distribution had "hardcoded" CFLAGS in virtually every Makefile.
  113.   3. Numerous (HP specific) fixes. I didn't come up with these myself, and
  114.      credits should go to:
  115.  
  116.     Jwahar R. Bammi    <bammi@cadence.com>
  117.         Per Bothner    <bothner@cygnus.com>
  118.         Dave Anglin    <dave@hiauly1.hia.nrc.ca>
  119.     Martin Junius    <mj@dfv.rwth-aachen.de>
  120.         Anton Koning    <anton@cv.ruu.nl>
  121.  
  122.      One of the things I did fix myself was to replace the calls to alloca()
  123.      in libg++/etc/trie-gen/compact.cc with calls to malloc(). Don't know if
  124.      this is a correct fix, but it seems to work...
  125.  
  126. MORE INFORMATION
  127. ================
  128.  
  129. If you have any questions, please contact me as "bartm@cv.ruu.nl". If you have
  130. a solution for the internal compiler error and/or the core dumps, or if you 
  131. have any additions/contributions, please contact me too. I'll summarize on the 
  132. net.
  133. @EOF
  134.  
  135. chmod 644 README.hp
  136.  
  137. echo x - Changes
  138. cat >Changes <<'@EOF'
  139.     === Changes to the patches for libg++ 2.2 on HP-UX ===
  140.  
  141. Author     : Bart Muijzer
  142. E-mail     : bartm@cv.ruu.nl
  143. Last update: Tue Nov 17 16:36:04 MET 1992
  144.  
  145. The following description, provided by Dave Anglin <dave@hiauly1.hia.nrc.ca>
  146. points out what's new in this set of patches to libg++ 2.2.
  147.  
  148. The most significant change in the patches which I sent you is the patch to
  149. BitString.h.  This works around a problem in the optimizer.  The older patch
  150. to String.h and String.cc also works around the same problem.  Some patches
  151. (e.g. to Regex.h) which I introduced in version 2.2.2 to work around the
  152. "const" problem are no longer needed and I removed these.  I also attempted
  153. to fix the high level Makefile so that it builds libiberty with cc and libg++
  154. with gcc and passes an appropriate CFLAGS to each.  I also fixed up the
  155. patch path in the patch file and checked that it works correctly.
  156. @EOF
  157.  
  158. chmod 644 Changes
  159.  
  160. echo x - hp9k700-patches
  161. cat >hp9k700-patches <<'@EOF'
  162. *** libg++-2.2/Makefile.in    Tue Jun 23 12:53:35 1992
  163. --- Makefile.in    Fri Nov 13 09:59:35 1992
  164. ***************
  165. *** 43,55 ****
  166.   
  167.   SHELL = /bin/sh
  168.   
  169. ! INSTALL = install -c
  170.   INSTALL_PROGRAM = $(INSTALL)
  171.   INSTALL_DATA = $(INSTALL)
  172.   
  173.   AR = ar
  174.   AR_FLAGS = qc
  175. ! CFLAGS = -g
  176.   RANLIB = ranlib
  177.   
  178.   BISON = `if [ -d $${rootme}/byacc ] ; \
  179. --- 43,56 ----
  180.   
  181.   SHELL = /bin/sh
  182.   
  183. ! INSTALL = cp
  184.   INSTALL_PROGRAM = $(INSTALL)
  185.   INSTALL_DATA = $(INSTALL)
  186.   
  187.   AR = ar
  188.   AR_FLAGS = qc
  189. ! CFLAGS =
  190. ! GCFLAGS = -O
  191.   RANLIB = ranlib
  192.   
  193.   BISON = `if [ -d $${rootme}/byacc ] ; \
  194. ***************
  195. *** 102,107 ****
  196. --- 103,125 ----
  197.       "INSTALL_DATA=$(INSTALL_DATA)" \
  198.       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)"
  199.   
  200. + GXX_FLAGS_TO_PASS = \
  201. +     "prefix=$(prefix)" \
  202. +     "exec_prefix=$(exec_prefix)" \
  203. +     "tooldir=$(tooldir)" \
  204. +     "AR=$(AR)" \
  205. +     "AR_FLAGS=$(AR_FLAGS)" \
  206. +     "CFLAGS=$(GCFLAGS)" \
  207. +     "RANLIB=$(RANLIB)" \
  208. +     "LOADLIBES=$(LOADLIBES)" \
  209. +     "LDFLAGS=$(LDFLAGS)" \
  210. +     "BISON=$(BISON)" \
  211. +     "LEX=$(LEX)" \
  212. +     "MAKEINFO=$(MAKEINFO)" \
  213. +     "INSTALL=$(INSTALL)" \
  214. +     "INSTALL_DATA=$(INSTALL_DATA)" \
  215. +     "INSTALL_PROGRAM=$(INSTALL_PROGRAM)"
  216.   .PHONY: all info install-info clean-info
  217.   .NOEXPORT:
  218.   
  219. ***************
  220. *** 115,121 ****
  221.       @rootme=`pwd` ; export rootme ; $(MAKE) subdir_do DO=check \
  222.         "DODIRS=`echo $(SUBDIRS) | sed -e \"s/libg\+\+//\"" $(FLAGS_TO_PASS)
  223.       @rootme=`pwd` ; export rootme ; $(MAKE) subdir_do DO=check \
  224. !       "DODIRS=libg++" $(FLAGS_TO_PASS) "CC=${GXX}" "XTRAFLAGS=${XTRAFLAGS}"
  225.   
  226.   clean-info:
  227.       @$(MAKE) subdir_do DO=clean-info "DODIRS=$(SUBDIRS)"
  228. --- 133,139 ----
  229.       @rootme=`pwd` ; export rootme ; $(MAKE) subdir_do DO=check \
  230.         "DODIRS=`echo $(SUBDIRS) | sed -e \"s/libg\+\+//\"" $(FLAGS_TO_PASS)
  231.       @rootme=`pwd` ; export rootme ; $(MAKE) subdir_do DO=check \
  232. !       "DODIRS=libg++" $(GXX_FLAGS_TO_PASS) "CC=${GXX}" "XTRAFLAGS=${XTRAFLAGS}"
  233.   
  234.   clean-info:
  235.       @$(MAKE) subdir_do DO=clean-info "DODIRS=$(SUBDIRS)"
  236. ***************
  237. *** 136,142 ****
  238.       $(INSTALL_DATA) cfg-paper.info $(infodir)/cfg-paper.info
  239.       $(INSTALL_DATA) configure.info $(infodir)/configure.info
  240.       $(INSTALL_DATA) standards.info $(infodir)/standards.info
  241. !     @$(MAKE) dir.info install-dir.info
  242.   
  243.   install-dir.info:
  244.       $(INSTALL_DATA) dir.info $(infodir)/dir.info
  245. --- 154,160 ----
  246.       $(INSTALL_DATA) cfg-paper.info $(infodir)/cfg-paper.info
  247.       $(INSTALL_DATA) configure.info $(infodir)/configure.info
  248.       $(INSTALL_DATA) standards.info $(infodir)/standards.info
  249. ! #    @$(MAKE) dir.info install-dir.info
  250.   
  251.   install-dir.info:
  252.       $(INSTALL_DATA) dir.info $(infodir)/dir.info
  253. ***************
  254. *** 968,974 ****
  255.       @if [ -d ./libg++ ] ; then \
  256.           rootme=`pwd` ; export rootme ; \
  257.           (cd ./libg++; \
  258. !         $(MAKE) $(FLAGS_TO_PASS) "CC=${GXX}" all) ; \
  259.       else \
  260.           true ; \
  261.       fi
  262. --- 986,992 ----
  263.       @if [ -d ./libg++ ] ; then \
  264.           rootme=`pwd` ; export rootme ; \
  265.           (cd ./libg++; \
  266. !         $(MAKE) $(GXX_FLAGS_TO_PASS) "CC=${GXX}" all) ; \
  267.       else \
  268.           true ; \
  269.       fi
  270. ***************
  271. *** 977,983 ****
  272.       @if [ -d ./libg++ ] ; then \
  273.           rootme=`pwd` ; export rootme ; \
  274.           (cd ./libg++; \
  275. !         $(MAKE) $(FLAGS_TO_PASS) "CC=${GXX}" clean) ; \
  276.       else \
  277.           true ; \
  278.       fi
  279. --- 995,1001 ----
  280.       @if [ -d ./libg++ ] ; then \
  281.           rootme=`pwd` ; export rootme ; \
  282.           (cd ./libg++; \
  283. !         $(MAKE) $(GXX_FLAGS_TO_PASS) "CC=${GXX}" clean) ; \
  284.       else \
  285.           true ; \
  286.       fi
  287. ***************
  288. *** 986,992 ****
  289.       @if [ -d ./libg++ ] ; then \
  290.           rootme=`pwd` ; export rootme ; \
  291.           (cd ./libg++; \
  292. !         $(MAKE) $(FLAGS_TO_PASS) "CC=${GXX}" install) ; \
  293.       else \
  294.           true ; \
  295.       fi
  296. --- 1004,1010 ----
  297.       @if [ -d ./libg++ ] ; then \
  298.           rootme=`pwd` ; export rootme ; \
  299.           (cd ./libg++; \
  300. !         $(MAKE) $(GXX_FLAGS_TO_PASS) "CC=${GXX}" install) ; \
  301.       else \
  302.           true ; \
  303.       fi
  304.  
  305. *** libg++-2.2/libg++/config/hpux.mh    Fri Jun 26 21:32:19 1992
  306. --- libg++/config/hpux.mh    Thu Nov  5 12:21:23 1992
  307. ***************
  308. *** 1,5 ****
  309.   # Use -nostdinc++ flag if your version of gcc understands it.
  310. ! NOSTDINC = -nostdinc++
  311.   
  312.   # If the C include files are C++-ready (with extern "C"),
  313.   # define: HAVE_CPLUS_EXTERN = 1 and: WRAP_C_INCLUDES =
  314. --- 1,5 ----
  315.   # Use -nostdinc++ flag if your version of gcc understands it.
  316. ! # NOSTDINC = -nostdinc++
  317.   
  318.   # If the C include files are C++-ready (with extern "C"),
  319.   # define: HAVE_CPLUS_EXTERN = 1 and: WRAP_C_INCLUDES =
  320.  
  321. *** libg++-2.2/libg++/Makefile.in    Fri Jun 26 15:35:09 1992
  322. --- libg++/Makefile.in    Thu Nov 12 18:03:48 1992
  323. ***************
  324. *** 45,51 ****
  325.   
  326.   SHELL = /bin/sh
  327.   
  328. ! INSTALL = install -c
  329.   INSTALL_PROGRAM = $(INSTALL)
  330.   INSTALL_DATA = $(INSTALL)
  331.   
  332. --- 45,51 ----
  333.   
  334.   SHELL = /bin/sh
  335.   
  336. ! INSTALL = cp
  337.   INSTALL_PROGRAM = $(INSTALL)
  338.   INSTALL_DATA = $(INSTALL)
  339.   
  340. ***************
  341. *** 122,128 ****
  342.       then echo $${rootme}/../gcc/gcc\\ -B$${rootme}/../gcc/ ; \
  343.       else echo ${GXX} ; fi`
  344.   
  345. ! CFLAGS = -g
  346.   XTRAFLAGS = `if [ -f $${rootme}/../gcc/gcc ] ; \
  347.       then echo -I$${rootme}/../gcc/include ; \
  348.       else echo ; fi`
  349. --- 122,128 ----
  350.       then echo $${rootme}/../gcc/gcc\\ -B$${rootme}/../gcc/ ; \
  351.       else echo ${GXX} ; fi`
  352.   
  353. ! CFLAGS = -O
  354.   XTRAFLAGS = `if [ -f $${rootme}/../gcc/gcc ] ; \
  355.       then echo -I$${rootme}/../gcc/include ; \
  356.       else echo ; fi`
  357. ***************
  358. *** 149,154 ****
  359. --- 149,155 ----
  360.       "RANLIB=$(RANLIB)" \
  361.       "LOADLIBES=$(LOADLIBES)" \
  362.       "LDFLAGS=$(LDFLAGS)" \
  363. +     "INSTALL=$(INSTALL)" \
  364.       "MAKEINFO=$(MAKEINFO)" \
  365.       "XTRAFLAGS=$(XTRAFLAGS)"
  366.   
  367. ***************
  368. *** 289,298 ****
  369.           $(INSTALL_DATA) $$FILE $(gxx_includedir)/$$FILE || exit 1; \
  370.           done; \
  371.       fi
  372. !     cd $(IO_DIR) ; $(MAKE) install-include-files
  373.       @for D in genclass $(UTILS) ; do \
  374.           if [ -d $$D ] ; then \
  375. !             (cd $$D; $(MAKE) "CC=$(CC)" install) ; \
  376.           fi ; \
  377.       done
  378.       cd test-install; $(MAKE) $(TEST_INSTALL) \
  379. --- 290,299 ----
  380.           $(INSTALL_DATA) $$FILE $(gxx_includedir)/$$FILE || exit 1; \
  381.           done; \
  382.       fi
  383. !     cd $(IO_DIR) ; $(MAKE) install-include-files "INSTALL=$(INSTALL)"
  384.       @for D in genclass $(UTILS) ; do \
  385.           if [ -d $$D ] ; then \
  386. !             (cd $$D; $(MAKE) "CC=$(CC)" install "INSTALL=$(INSTALL)") ; \
  387.           fi ; \
  388.       done
  389.       cd test-install; $(MAKE) $(TEST_INSTALL) \
  390.  
  391. *** libg++-2.2/libg++/configure.in    Fri Jun 26 21:32:57 1992
  392. --- libg++/configure.in    Thu Nov  5 12:21:14 1992
  393. ***************
  394. *** 3,9 ****
  395.   # script appropriate for this directory.  For more information, check
  396.   # any existing configure script.
  397.   
  398. ! subdirs="genclass src iostream iostream/stdio iostream/test no-stream old-stream tests etc etc/graph etc/ADT-examples etc/benchmarks etc/lf etc/PlotFile3D etc/trie-gen gperf gperf/src gperf/tests utils test-install"
  399.   srctrigger=libg++.texinfo
  400.   srcname="GNU C++ Class Library"
  401.   
  402. --- 3,9 ----
  403.   # script appropriate for this directory.  For more information, check
  404.   # any existing configure script.
  405.   
  406. ! subdirs="genclass src iostream iostream/stdio iostream/test no-stream old-stream tests etc etc/graph etc/ADT-examples etc/benchmarks etc/lf etc/PlotFile3D etc/trie-gen etc/fib gperf gperf/src gperf/tests utils test-install"
  407.   srctrigger=libg++.texinfo
  408.   srcname="GNU C++ Class Library"
  409.   
  410.  
  411. *** libg++-2.2/libg++/etc/PlotFile3D/Makefile.in    Thu Jun 18 01:38:22 1992
  412. --- libg++/etc/PlotFile3D/Makefile.in    Tue Nov 10 09:49:55 1992
  413. ***************
  414. *** 48,54 ****
  415.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  416.       else echo gcc ; fi`
  417.   
  418. ! CFLAGS = -g
  419.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  420.       then echo -I../../../gcc/include ; \
  421.       else echo ; fi`
  422. --- 48,54 ----
  423.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  424.       else echo gcc ; fi`
  425.   
  426. ! CFLAGS = 
  427.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  428.       then echo -I../../../gcc/include ; \
  429.       else echo ; fi`
  430. ***************
  431. *** 77,82 ****
  432. --- 77,83 ----
  433.           "XTRAFLAGS=$(XTRAFLAGS)" "AR=$(AR)" "RANLIB=$(RANLIB)" check
  434.   
  435.   .PHONY: check
  436.   check: tPlotFile3D
  437.       ./tPlotFile3D
  438.       @echo use plot to look at the plot file test.pl
  439.  
  440. *** libg++-2.2/libg++/etc/Makefile.in    Thu Jun 18 01:49:33 1992
  441. --- libg++/etc/Makefile.in    Thu Nov  5 12:21:35 1992
  442. ***************
  443. *** 83,89 ****
  444.       then echo -I$${rootprefix}../../gcc/include ; \
  445.       else echo ; fi`
  446.   
  447. ! SUBDIRS= graph ADT-examples benchmarks PlotFile3D lf # trie-gen
  448.   
  449.   #### host and target dependent Makefile fragments come in here.
  450.   ##
  451. --- 83,89 ----
  452.       then echo -I$${rootprefix}../../gcc/include ; \
  453.       else echo ; fi`
  454.   
  455. ! SUBDIRS= graph ADT-examples benchmarks PlotFile3D lf trie-gen fib
  456.   
  457.   #### host and target dependent Makefile fragments come in here.
  458.   ##
  459.  
  460. *** libg++-2.2/libg++/etc/ADT-examples/Makefile.in    Thu Jun 18 01:43:34 1992
  461. --- libg++/etc/ADT-examples/Makefile.in    Mon Nov  9 09:43:50 1992
  462. ***************
  463. *** 48,54 ****
  464.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  465.       else echo gcc ; fi`
  466.   
  467. ! CFLAGS = -g
  468.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  469.       then echo -I../../../gcc/include ; \
  470.       else echo ; fi`
  471. --- 48,54 ----
  472.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  473.       else echo gcc ; fi`
  474.   
  475. ! CFLAGS =
  476.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  477.       then echo -I../../../gcc/include ; \
  478.       else echo ; fi`
  479. ***************
  480. *** 86,116 ****
  481.   run_tests: check
  482.   
  483.   generic-q: generic-q.o
  484. !     $(CC)  generic-q.o -o $@ $(LIBS)
  485.   
  486.   tsort: tsortinp tsort.o
  487. !     $(CC)  tsort.o -o $@ $(LIBS)
  488.   
  489.   tsortinp: tsortinp.o
  490. !     $(CC)  tsortinp.o -o $@ $(LIBS)
  491.   
  492.   keyhash: keyhash.o
  493. !     $(CC)  keyhash.o -o $@ $(LIBS)
  494.   
  495.   search: search.o
  496. !     $(CC)  search.o -o $@ $(LIBS)
  497.   
  498.   genkey: genPatkey.o
  499. !     $(CC)  genPatkey.o -o $@ $(LIBS)
  500.      
  501.   Patricia.o: $(srcdir)/Patricia.h
  502.   Patmain.o: $(srcdir)/Patricia.h 
  503.   
  504.   patricia: Patmain.o Patricia.o
  505. !     $(CC)  Patmain.o Patricia.o -o $@ $(LIBS)
  506.   
  507.   kmp: kmp.o
  508. !     $(CC)  kmp.o -o $@ $(LIBS)
  509.   
  510.   
  511.   .PHONY: mostlyclean clean distclean realclean
  512. --- 86,116 ----
  513.   run_tests: check
  514.   
  515.   generic-q: generic-q.o
  516. !     $(CC) $(CFLAGS) generic-q.o -o $@ $(LIBS)
  517.   
  518.   tsort: tsortinp tsort.o
  519. !     $(CC) $(CFLAGS) tsort.o -o $@ $(LIBS)
  520.   
  521.   tsortinp: tsortinp.o
  522. !     $(CC) $(CFLAGS) tsortinp.o -o $@ $(LIBS)
  523.   
  524.   keyhash: keyhash.o
  525. !     $(CC) $(CFLAGS) keyhash.o -o $@ $(LIBS)
  526.   
  527.   search: search.o
  528. !     $(CC) $(CFLAGS) search.o -o $@ $(LIBS)
  529.   
  530.   genkey: genPatkey.o
  531. !     $(CC) $(CFLAGS) genPatkey.o -o $@ $(LIBS)
  532.      
  533.   Patricia.o: $(srcdir)/Patricia.h
  534.   Patmain.o: $(srcdir)/Patricia.h 
  535.   
  536.   patricia: Patmain.o Patricia.o
  537. !     $(CC) $(CFLAGS) Patmain.o Patricia.o -o $@ $(LIBS)
  538.   
  539.   kmp: kmp.o
  540. !     $(CC) $(CFLAGS) kmp.o -o $@ $(LIBS)
  541.   
  542.   
  543.   .PHONY: mostlyclean clean distclean realclean
  544.  
  545. *** libg++-2.2/libg++/etc/fib/Makefile.in    Thu Jun 18 01:46:55 1992
  546. --- libg++/etc/fib/Makefile.in    Mon Nov  9 13:07:20 1992
  547. ***************
  548. *** 62,84 ****
  549.       then echo ../../texinfo/C/makeinfo ; \
  550.       else echo makeinfo ; fi`
  551.   
  552. - IO_DIR = iostream
  553.   CC = `if [ -d ../../../gcc ] ; \
  554.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  555.       else echo gcc -O ; fi`
  556.   
  557. ! CFLAGS = -g
  558.   XTRAFLAGS = `if [ -d ../../../gcc ] ; \
  559.       then echo -I../../../gcc/include ; \
  560.       else echo ; fi`
  561.   
  562.   LIBS = ../../libg++.a
  563.   
  564.   .SUFFIXES: .o .cc
  565.   
  566.   .cc.o:
  567. !     $(CC) $(CFLAGS) -I$(srcdir)/../../g++-include -I$(srcdir)/../../$(IO_DIR) $(XTRAFLAGS) -c $<
  568.   
  569.   #### host and target dependent Makefile fragments come in here.
  570.   ##
  571. --- 62,83 ----
  572.       then echo ../../texinfo/C/makeinfo ; \
  573.       else echo makeinfo ; fi`
  574.   
  575.   CC = `if [ -d ../../../gcc ] ; \
  576.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  577.       else echo gcc -O ; fi`
  578.   
  579. ! CFLAGS = 
  580.   XTRAFLAGS = `if [ -d ../../../gcc ] ; \
  581.       then echo -I../../../gcc/include ; \
  582.       else echo ; fi`
  583.   
  584.   LIBS = ../../libg++.a
  585. + INCLUDES = -I$(srcdir)/../../g++-include -I$(srcdir)/../../iostream -I$(srcdir)/../../src -I$(srcdir)/../..
  586.   
  587.   .SUFFIXES: .o .cc
  588.   
  589.   .cc.o:
  590. !     $(CC) $(CFLAGS) $(INCLUDES) $(XTRAFLAGS) -c $<
  591.   
  592.   #### host and target dependent Makefile fragments come in here.
  593.   ##
  594. ***************
  595. *** 90,96 ****
  596.       -./fib 1000
  597.   
  598.   fib: $(srcdir)/fib.cc
  599. !     $(CC) $(CFLAGS) -o fib $(srcdir)/fib.cc $(LIBS)
  600.   
  601.   .PHONY: clean
  602.   clean: force
  603. --- 89,95 ----
  604.       -./fib 1000
  605.   
  606.   fib: $(srcdir)/fib.cc
  607. !     $(CC) $(CFLAGS) $(INCLUDES) -o fib $(srcdir)/fib.cc $(LIBS)
  608.   
  609.   .PHONY: clean
  610.   clean: force
  611.  
  612. *** libg++-2.2/libg++/etc/graph/Makefile.in    Thu Jun 18 01:35:54 1992
  613. --- libg++/etc/graph/Makefile.in    Mon Nov  9 08:58:48 1992
  614. ***************
  615. *** 49,55 ****
  616.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  617.       else echo gcc ; fi`
  618.   
  619. ! CFLAGS = -g
  620.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  621.       then echo -I../../../gcc/include ; \
  622.       else echo ; fi`
  623. --- 49,55 ----
  624.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  625.       else echo gcc ; fi`
  626.   
  627. ! CFLAGS =
  628.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  629.       then echo -I../../../gcc/include ; \
  630.       else echo ; fi`
  631. ***************
  632. *** 87,93 ****
  633.       $(RANLIB) libgraph.a
  634.   
  635.   graph : graph.o libgraph.a
  636. !     $(CC) graph.o libgraph.a $(LIBS) -lm -o $@
  637.   
  638.   graph.o: pXPlex.h pPlex.h
  639.   
  640. --- 87,93 ----
  641.       $(RANLIB) libgraph.a
  642.   
  643.   graph : graph.o libgraph.a
  644. !     $(CC) $(CFLAGS) graph.o libgraph.a $(LIBS) -lm -o $@
  645.   
  646.   graph.o: pXPlex.h pPlex.h
  647.   
  648.  
  649. *** libg++-2.2/libg++/etc/graph/graph.cc    Thu May 14 21:41:47 1992
  650. --- libg++/etc/graph/graph.cc    Thu Nov  5 12:21:50 1992
  651. ***************
  652. *** 289,296 ****
  653.         case 'z': no_standard_input++; break;
  654.         case '?': error_occurred++;
  655.         }
  656. !   if (error_occurred)
  657.       cerr << "usage" sp argv[0] sp usage_message;
  658.                   // Complain if the plot does not fits on page
  659.     if (up < 0.) cerr <<
  660.       "Warning: the plot may extend below the bottom of the page.\n";
  661. --- 289,298 ----
  662.         case 'z': no_standard_input++; break;
  663.         case '?': error_occurred++;
  664.         }
  665. !   if (error_occurred) {
  666.       cerr << "usage" sp argv[0] sp usage_message;
  667. +     exit(-1);
  668. +   }
  669.                   // Complain if the plot does not fits on page
  670.     if (up < 0.) cerr <<
  671.       "Warning: the plot may extend below the bottom of the page.\n";
  672. ***************
  673. *** 573,579 ****
  674.     
  675.                      // draw all the points
  676.     if (point.length () <= 0)
  677. !       return 0;            // exit if there is no data.
  678.     i = point.low ();
  679.     int move = 1;        // 1 means move to first point
  680.     double prev_x = point[i].x;
  681. --- 575,581 ----
  682.     
  683.                      // draw all the points
  684.     if (point.length () <= 0)
  685. !       exit(0);            // exit if there is no data.
  686.     i = point.low ();
  687.     int move = 1;        // 1 means move to first point
  688.     double prev_x = point[i].x;
  689. ***************
  690. *** 684,688 ****
  691.           }
  692.       }
  693.       }
  694. !   return 0;
  695.   }
  696. --- 686,690 ----
  697.           }
  698.       }
  699.       }
  700. !   exit(0);
  701.   }
  702.  
  703. *** libg++-2.2/libg++/etc/lf/Makefile.in    Thu Jun 18 01:35:37 1992
  704. --- libg++/etc/lf/Makefile.in    Fri Nov  6 11:12:42 1992
  705. ***************
  706. *** 54,60 ****
  707.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  708.       else echo gcc ; fi`
  709.   
  710. ! CFLAGS = -g
  711.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  712.       then echo -I../../../gcc/include ; \
  713.       else echo ; fi`
  714. --- 54,60 ----
  715.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  716.       else echo gcc ; fi`
  717.   
  718. ! CFLAGS =
  719.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  720.       then echo -I../../../gcc/include ; \
  721.       else echo ; fi`
  722.  
  723. *** libg++-2.2/libg++/etc/lf/screen.cc    Fri Jun 26 20:45:56 1992
  724. --- libg++/etc/lf/screen.cc    Thu Nov  5 12:21:59 1992
  725. ***************
  726. *** 1,12 ****
  727.   /* Handles screen manipulations for screen width and inverse mode. */
  728.   #include "screen.h"
  729.   
  730. - extern "C" int tgetent(void *, const char *);
  731. - extern "C" int tgetnum(const char*);
  732. - extern "C" char *tgetstr(const char *, char**);
  733. - typedef int (*int_func)(int);
  734. - extern "C" void tputs(char *, int, int_func);
  735.   /* Initializes the current screen width via
  736.      the terminal independent operation routines. */
  737.   
  738. --- 1,6 ----
  739.  
  740. *** libg++-2.2/libg++/etc/trie-gen/Makefile.in    Thu Jun 18 01:35:20 1992
  741. --- libg++/etc/trie-gen/Makefile.in    Mon Nov  9 11:00:31 1992
  742. ***************
  743. *** 65,71 ****
  744.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  745.       else echo gcc ; fi`
  746.   
  747. ! CFLAGS = -g
  748.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  749.       then echo -I../../../gcc/include ; \
  750.       else echo ; fi`
  751. --- 65,71 ----
  752.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  753.       else echo gcc ; fi`
  754.   
  755. ! CFLAGS =
  756.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  757.       then echo -I../../../gcc/include ; \
  758.       else echo ; fi`
  759. ***************
  760. *** 93,105 ****
  761.   install-info:
  762.   
  763.   trie-gen: $(OBJS) 
  764. !     $(CC) -o $@ $(OBJS) $(LIBS)
  765.   
  766.   check: trie-gen
  767.       @echo "Generating a compacted minimal-prefix trie for files in /bin"
  768.       /bin/ls -1 /bin | ./trie-gen -c > out.cc
  769. !     $(CC) -c out.cc $(srcdir)/test.cc
  770. !     $(CC) out.o test.o $(LIBS)
  771.       /bin/ls -1 /bin | ./a.out -v
  772.   
  773.   run_tests: check
  774. --- 93,105 ----
  775.   install-info:
  776.   
  777.   trie-gen: $(OBJS) 
  778. !     $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS)
  779.   
  780.   check: trie-gen
  781.       @echo "Generating a compacted minimal-prefix trie for files in /bin"
  782.       /bin/ls -1 /bin | ./trie-gen -c > out.cc
  783. !     $(CC) $(CFLAGS) -c out.cc $(srcdir)/test.cc
  784. !     $(CC) $(CFLAGS) out.o test.o $(LIBS)
  785.       /bin/ls -1 /bin | ./a.out -v
  786.   
  787.   run_tests: check
  788.  
  789. *** libg++-2.2/libg++/etc/trie-gen/compact.cc    Fri Jun 28 22:57:33 1991
  790. --- libg++/etc/trie-gen/compact.cc    Mon Nov  9 12:46:03 1992
  791. ***************
  792. *** 172,178 ****
  793.   {
  794.     /* Bit-vector and counter that records if a row/col location is already set. */
  795.     int    current_max = current_rows + (total_cols >? MAX_ASCII_RANGE);
  796. !   char *already_assigned = (char *) alloca (current_max);
  797.     
  798.     bzero (already_assigned, current_max);
  799.     row_offsets = new {current_rows} int;
  800. --- 172,178 ----
  801.   {
  802.     /* Bit-vector and counter that records if a row/col location is already set. */
  803.     int    current_max = current_rows + (total_cols >? MAX_ASCII_RANGE);
  804. !   char *already_assigned = (char *) malloc ((size_t) current_max);
  805.     
  806.     bzero (already_assigned, current_max);
  807.     row_offsets = new {current_rows} int;
  808. ***************
  809. *** 200,206 ****
  810.                 if (row_offset + col >= current_max)
  811.                   {
  812.                     int   new_size = (current_max >? row_offset + col) * 2;
  813. !                   char *temp     = (char *) alloca (new_size);
  814.   
  815.                     bcopy (already_assigned, temp, current_max);
  816.                     bzero (temp + current_max, new_size - current_max);
  817. --- 200,206 ----
  818.                 if (row_offset + col >= current_max)
  819.                   {
  820.                     int   new_size = (current_max >? row_offset + col) * 2;
  821. !                   char *temp     = (char *) malloc ((size_t) new_size);
  822.   
  823.                     bcopy (already_assigned, temp, current_max);
  824.                     bzero (temp + current_max, new_size - current_max);
  825.  
  826. *** libg++-2.2/libg++/g++-include/sys/socket.h    Thu Jun 18 03:41:56 1992
  827. --- libg++/g++-include/sys/socket.h    Thu Nov  5 12:22:17 1992
  828. ***************
  829. *** 28,34 ****
  830. --- 28,36 ----
  831.   int       getpeername _G_ARGS((int, struct sockaddr*, int*));
  832.   int       getsockopt(int, int, int, void*, int*);
  833.   int       listen(int, int);
  834. + #ifndef hpux
  835.   int       rcmd _G_ARGS((char**, int, const char*, const char*, const char*, int*));
  836. + #endif
  837.   int       recv(int, void*, int, int);
  838.   int       recvfrom _G_ARGS((int, void*, int, int, void*, int *));
  839.   int       recvmsg(int, struct msghdr*, int);
  840.  
  841. *** libg++-2.2/libg++/g++-include/curses.h    Fri Jun 26 20:35:06 1992
  842. --- libg++/g++-include/curses.h    Thu Nov  5 12:22:09 1992
  843. ***************
  844. *** 25,36 ****
  845. --- 25,44 ----
  846.   #ifdef _VR3_COMPAT_CODE
  847.         typedef unsigned long _G_chtype;    /* SVR4 default is "unsigned long" */
  848.   #else
  849. + #ifdef hpux
  850. +       typedef unsigned int _G_chtype;    /* HP-UX default is "unsigned int" */
  851. + #else
  852.         typedef char _G_chtype;        /* Traditional default is "char" */
  853.   #endif
  854.   #endif
  855. + #endif
  856.   
  857.   /* Some args are conceptually const, but SVR4 (and others?) get it wrong. */
  858. + #ifdef hpux
  859. + #define _C_const const
  860. + #else
  861.   #define _C_const /* const */
  862. + #endif
  863.   
  864.   WINDOW * (newwin)(int lines, int cols, int sy, int sx);
  865.   WINDOW * (subwin)(WINDOW *w, int lines, int cols, int sy, int sx);
  866.  
  867. *** libg++-2.2/libg++/gperf/src/Makefile.in    Thu Jun 18 01:32:31 1992
  868. --- libg++/gperf/src/Makefile.in    Fri Nov  6 11:13:03 1992
  869. ***************
  870. *** 78,84 ****
  871.   WRAP_C_INCLUDES = -I$(srcdir)/../../g++-include
  872.   
  873.   PROGRAM = gperf
  874. ! CFLAGS = -g
  875.   
  876.   #### host and target dependent Makefile fragments come in here.
  877.   ##
  878. --- 78,84 ----
  879.   WRAP_C_INCLUDES = -I$(srcdir)/../../g++-include
  880.   
  881.   PROGRAM = gperf
  882. ! CFLAGS =
  883.   
  884.   #### host and target dependent Makefile fragments come in here.
  885.   ##
  886.  
  887. *** libg++-2.2/libg++/gperf/Makefile.in    Thu Jun 18 01:32:07 1992
  888. --- libg++/gperf/Makefile.in    Fri Nov  6 11:13:10 1992
  889. ***************
  890. *** 63,69 ****
  891.       then echo $${rootme}/../../gcc/gcc -B$${rootme}/../../gcc/ ; \
  892.       else echo gcc ; fi`
  893.   
  894. ! CFLAGS = -g
  895.   XTRAFLAGS = `if [ -f $${rootme}/../../gcc/gcc ] ; \
  896.       then echo -I$${rootme}/../../gcc/include ; \
  897.       else echo ; fi`
  898. --- 63,69 ----
  899.       then echo $${rootme}/../../gcc/gcc -B$${rootme}/../../gcc/ ; \
  900.       else echo gcc ; fi`
  901.   
  902. ! CFLAGS =
  903.   XTRAFLAGS = `if [ -f $${rootme}/../../gcc/gcc ] ; \
  904.       then echo -I$${rootme}/../../gcc/include ; \
  905.       else echo ; fi`
  906.  
  907. *** libg++-2.2/libg++/iostream/stdio/Makefile.in    Thu Jun 18 02:04:09 1992
  908. --- libg++/iostream/stdio/Makefile.in    Fri Nov  6 11:13:25 1992
  909. ***************
  910. *** 72,78 ****
  911.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  912.       else echo gcc ; fi`
  913.   
  914. ! CFLAGS = -g
  915.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  916.       then echo -I../../../gcc/include ; \
  917.       else echo ; fi`
  918. --- 72,78 ----
  919.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  920.       else echo gcc ; fi`
  921.   
  922. ! CFLAGS =
  923.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  924.       then echo -I../../../gcc/include ; \
  925.       else echo ; fi`
  926.  
  927. *** libg++-2.2/libg++/iostream/Makefile.in    Fri Jun 26 21:24:01 1992
  928. --- libg++/iostream/Makefile.in    Fri Nov  6 11:13:36 1992
  929. ***************
  930. *** 102,108 ****
  931.   DEPEND_SOURCES = $(srcdir)/*.C
  932.   
  933.   #NOSTDINC = -nostdinc++
  934. ! CFLAGS = -g
  935.   
  936.   .PHONY: all
  937.   all: $(TARGETLIB)
  938. --- 102,108 ----
  939.   DEPEND_SOURCES = $(srcdir)/*.C
  940.   
  941.   #NOSTDINC = -nostdinc++
  942. ! CFLAGS =
  943.   
  944.   .PHONY: all
  945.   all: $(TARGETLIB)
  946.  
  947. *** libg++-2.2/libg++/iostream/igetline.C    Fri Jun  5 02:41:47 1992
  948. --- libg++/iostream/igetline.C    Tue Nov 10 11:26:46 1992
  949. ***************
  950. *** 23,30 ****
  951.       if (ipfx1()) {
  952.       long count = rdbuf()->sgetline(buf, len, delim, 0);
  953.       _gcount = count;
  954. !     if (count <= 0 || count == len-1)
  955. !         set(ios::failbit);
  956.       }
  957.       return *this;
  958.   }
  959. --- 23,32 ----
  960.       if (ipfx1()) {
  961.       long count = rdbuf()->sgetline(buf, len, delim, 0);
  962.       _gcount = count;
  963. ! //    if (count <= 0 || count == len-1)
  964. ! //        set(ios::failbit);
  965. !     if (count < 0)
  966. !         set(ios::failbit|ios::eofbit);
  967.       }
  968.       return *this;
  969.   }
  970. ***************
  971. *** 34,41 ****
  972.       _gcount = 0;
  973.       if (ipfx1()) {
  974.       long count = rdbuf()->sgetline(buf, len, delim, -1);
  975. !     if (count <= 0)
  976. !         set(ios::failbit);
  977.       else
  978.           _gcount = count;
  979.       }
  980. --- 36,45 ----
  981.       _gcount = 0;
  982.       if (ipfx1()) {
  983.       long count = rdbuf()->sgetline(buf, len, delim, -1);
  984. ! //    if (count <= 0)
  985. ! //        set(ios::failbit);
  986. !         if (count < 0)
  987. !         set(ios::failbit|ios::eofbit);
  988.       else
  989.           _gcount = count;
  990.       }
  991. ***************
  992. *** 80,88 ****
  993.       long old_total = total;
  994.       total += count;
  995.       if (ch != EOF && ch != terminator) {
  996.       ptr = _sb_readline(sb, total, terminator);
  997. !     if (ptr)
  998.           memcpy(ptr + old_total, buf, count);
  999.       return ptr;
  1000.       }
  1001.       
  1002. --- 84,95 ----
  1003.       long old_total = total;
  1004.       total += count;
  1005.       if (ch != EOF && ch != terminator) {
  1006. +     total++; // Include ch in total.
  1007.       ptr = _sb_readline(sb, total, terminator);
  1008. !     if (ptr) {
  1009.           memcpy(ptr + old_total, buf, count);
  1010. +         ptr[old_total+count] = ch;
  1011. +     }
  1012.       return ptr;
  1013.       }
  1014.       
  1015.  
  1016. *** libg++-2.2/libg++/iostream/outfloat.C    Fri Jun 26 21:24:11 1992
  1017. --- libg++/iostream/outfloat.C    Thu Nov  5 12:18:43 1992
  1018. ***************
  1019. *** 31,37 ****
  1020.   #define PADN(fill, n) do {if (sb->padn(fill, n) < 0) goto error;} while (0)
  1021.       ios::fmtflags pad_kind = flags & (ios::left|ios::right|ios::internal);
  1022.       int skip_zeroes = 0;
  1023. !     int show_dot = flags & ios::showpoint;
  1024.       int decpt;
  1025.       int sign;
  1026.       int mode;
  1027. --- 31,37 ----
  1028.   #define PADN(fill, n) do {if (sb->padn(fill, n) < 0) goto error;} while (0)
  1029.       ios::fmtflags pad_kind = flags & (ios::left|ios::right|ios::internal);
  1030.       int skip_zeroes = 0;
  1031. !     int show_dot = (flags & ios::showpoint) != 0;
  1032.       int decpt;
  1033.       int sign;
  1034.       int mode;
  1035. ***************
  1036. *** 47,61 ****
  1037. --- 47,64 ----
  1038.         case 'F':
  1039.       exp = 'e';
  1040.       mode = 0;
  1041. +     skip_zeroes = 1;
  1042.       type = 'g';
  1043.       break;
  1044.         case 'e':
  1045.       exp = 'e';
  1046.       mode = 2;
  1047. +     precision++;  // Add one to include digit before decimal point.
  1048.       break;
  1049.         case 'E':
  1050.       exp = 'E';
  1051.       mode = 2;
  1052. +     precision++;  // Add one to include digit before decimal point.
  1053.       break;
  1054.         case 'g':
  1055.         case 'G':
  1056. ***************
  1057. *** 75,81 ****
  1058.       // Check if we need to emit an exponent.
  1059.       if (mode != 3 && decpt != 9999) {
  1060.       i = decpt - 1;
  1061. !     if ((type != 'g' && type != 'F') || i <= -4 || i >= precision) {
  1062.           // Print the exponent into ebuf.
  1063.           // We write ebuf in reverse order (right-to-left).
  1064.           char sign;
  1065. --- 78,84 ----
  1066.       // Check if we need to emit an exponent.
  1067.       if (mode != 3 && decpt != 9999) {
  1068.       i = decpt - 1;
  1069. !     if ((type != 'g' && type != 'F') || i < -4 || i >= precision) {
  1070.           // Print the exponent into ebuf.
  1071.           // We write ebuf in reverse order (right-to-left).
  1072.           char sign;
  1073. ***************
  1074. *** 104,114 ****
  1075.       precision = 0;
  1076.       show_dot = 0;
  1077.       }
  1078. !     int trailing_zeroes = skip_zeroes ? 0 : precision-(useful_digits-decpt);
  1079.       if (trailing_zeroes < 0) trailing_zeroes = 0;
  1080.       if (trailing_zeroes != 0 || useful_digits > decpt)
  1081.       show_dot = 1;
  1082. -     int print_dot = 1;
  1083.       int print_sign;
  1084.       if (sign_mode == 0)
  1085.       print_sign = sign ? '-' : 0;
  1086. --- 107,130 ----
  1087.       precision = 0;
  1088.       show_dot = 0;
  1089.       }
  1090. !    // dtoa truncates trailing zeroes.  Set the variable trailing_zeroes to
  1091. !    // the number of 0's we have to add (after the decimal point).
  1092. !    int trailing_zeroes = 0;
  1093. !    if (skip_zeroes)
  1094. !        trailing_zeroes = 0;
  1095. !    else if (type == 'f')
  1096. !        trailing_zeroes = useful_digits <= decpt ? precision
  1097. !        : precision-(useful_digits-decpt);
  1098. !    else if (exponent_size) // 'e' 'E' or 'g' format using exponential notation.
  1099. !        trailing_zeroes = precision - useful_digits;
  1100. !    else // 'g' format not using exponential notation.
  1101. !        trailing_zeroes = useful_digits <= decpt ? precision - decpt
  1102. !        : precision-useful_digits;
  1103.       if (trailing_zeroes < 0) trailing_zeroes = 0;
  1104.       if (trailing_zeroes != 0 || useful_digits > decpt)
  1105.       show_dot = 1;
  1106.       int print_sign;
  1107.       if (sign_mode == 0)
  1108.       print_sign = sign ? '-' : 0;
  1109. ***************
  1110. *** 147,156 ****
  1111.       }
  1112.       else {
  1113.       PUT('0');
  1114. !     PUT('.');
  1115. !     PADN('0', -decpt);
  1116. !     // Print digits after the decimal point.
  1117. !     PUTN(p, useful_digits);
  1118.       }
  1119.       PADN('0', trailing_zeroes);
  1120.       if (exponent_size)
  1121. --- 163,174 ----
  1122.       }
  1123.       else {
  1124.       PUT('0');
  1125. !     if (show_dot) {
  1126. !         PUT('.');
  1127. !         PADN('0', -decpt);
  1128. !         // Print digits after the decimal point.
  1129. !         PUTN(p, useful_digits);
  1130. !     }
  1131.       }
  1132.       PADN('0', trailing_zeroes);
  1133.       if (exponent_size)
  1134.  
  1135. *** libg++-2.2/libg++/iostream/sgetline.C    Thu Jun  4 02:12:41 1992
  1136. --- libg++/iostream/sgetline.C    Tue Nov 10 11:26:47 1992
  1137. ***************
  1138. *** 34,40 ****
  1139.       int len = egptr() - gptr();
  1140.       if (len <= 0)
  1141.           if (underflow() == EOF)
  1142. !         break;
  1143.           else
  1144.           len = egptr() - gptr();
  1145.       if (len >= (int)n)
  1146. --- 34,43 ----
  1147.       int len = egptr() - gptr();
  1148.       if (len <= 0)
  1149.           if (underflow() == EOF)
  1150. !         {
  1151. !             *ptr = 0;
  1152. !             return EOF;
  1153. !         }
  1154.           else
  1155.           len = egptr() - gptr();
  1156.       if (len >= (int)n)
  1157.  
  1158. *** libg++-2.2/libg++/iostream/test/Makefile.in    Thu Jun 18 02:04:49 1992
  1159. --- libg++/iostream/test/Makefile.in    Fri Nov  6 11:54:29 1992
  1160. ***************
  1161. *** 48,54 ****
  1162.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  1163.       else echo gcc ; fi`
  1164.   
  1165. ! CFLAGS = -g
  1166.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  1167.       then echo -I../../../gcc/include ; \
  1168.       else echo ; fi` -I/usr/latest/lib/gcc-lib/sun4/cygnus-2.0.1/include -I/usr/include
  1169. --- 48,54 ----
  1170.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  1171.       else echo gcc ; fi`
  1172.   
  1173. ! CFLAGS =
  1174.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  1175.       then echo -I../../../gcc/include ; \
  1176.       else echo ; fi` -I/usr/latest/lib/gcc-lib/sun4/cygnus-2.0.1/include -I/usr/include
  1177. ***************
  1178. *** 114,123 ****
  1179.       $(GXX) -o tgetl tgetl.o $(LIBS)
  1180.   
  1181.   tFile: tFile.o
  1182. !     $(CC) -o tFile tFile.o $(LIBS)
  1183.   
  1184.   hounddog: hounddog.o
  1185. !     $(CC) -o hounddog hounddog.o $(IOLIBS)
  1186.   
  1187.   check-hounddog: hounddog
  1188.       ./hounddog <$(srcdir)/hounddog.in > hounddog.out 2>&1
  1189. --- 114,123 ----
  1190.       $(GXX) -o tgetl tgetl.o $(LIBS)
  1191.   
  1192.   tFile: tFile.o
  1193. !     $(CC) $(CFLAGS) -o tFile tFile.o $(LIBS)
  1194.   
  1195.   hounddog: hounddog.o
  1196. !     $(CC) $(CFLAGS) -o hounddog hounddog.o $(IOLIBS)
  1197.   
  1198.   check-hounddog: hounddog
  1199.       ./hounddog <$(srcdir)/hounddog.in > hounddog.out 2>&1
  1200. ***************
  1201. *** 128,134 ****
  1202.       diff -c hounddog-buf2.out $(srcdir)/hounddog.exp
  1203.   
  1204.   putbackdog: putbackdog.o
  1205. !     $(CC) -o putbackdog putbackdog.o $(IOLIBS)
  1206.   
  1207.   check-putbackdog-regular: putbackdog
  1208.       ./putbackdog <$(srcdir)/hounddog.in > putbackdog.out 2>&1
  1209. --- 128,134 ----
  1210.       diff -c hounddog-buf2.out $(srcdir)/hounddog.exp
  1211.   
  1212.   putbackdog: putbackdog.o
  1213. !     $(CC) $(CFLAGS) -o putbackdog putbackdog.o $(IOLIBS)
  1214.   
  1215.   check-putbackdog-regular: putbackdog
  1216.       ./putbackdog <$(srcdir)/hounddog.in > putbackdog.out 2>&1
  1217. ***************
  1218. *** 143,149 ****
  1219.     check-putbackdog-regular check-putbackdog-nobuf check-putbackdog-buf2
  1220.   
  1221.   tfseek: tfseek.o
  1222. !     $(CC) -o tfseek tfseek.o $(STDIOLIBS)
  1223.   
  1224.   check-tfseek: tfseek
  1225.       ./tfseek SEEK_SET fopen > tfseek-set-fopen.out 2>&1
  1226. --- 143,149 ----
  1227.     check-putbackdog-regular check-putbackdog-nobuf check-putbackdog-buf2
  1228.   
  1229.   tfseek: tfseek.o
  1230. !     $(CC) $(CFLAGS) -o tfseek tfseek.o $(STDIOLIBS)
  1231.   
  1232.   check-tfseek: tfseek
  1233.       ./tfseek SEEK_SET fopen > tfseek-set-fopen.out 2>&1
  1234. ***************
  1235. *** 156,169 ****
  1236.       diff -c tfseek-cur-freopen.out $(srcdir)/tfseek-cur.exp
  1237.   
  1238.   twrseek: twrseek.o
  1239. !     $(CC) -o twrseek twrseek.o $(STDIOLIBS)
  1240.   
  1241.   check-twrseek: twrseek
  1242.       ./twrseek > twrseek.out 2>&1
  1243.       diff -c twrseek.out $(srcdir)/twrseek.exp
  1244.   
  1245.   trdseek: trdseek.o
  1246. !     $(CC) -o trdseek -v trdseek.o $(STDIOLIBS)
  1247.   
  1248.   check-trdseek: trdseek
  1249.       ./trdseek
  1250. --- 156,169 ----
  1251.       diff -c tfseek-cur-freopen.out $(srcdir)/tfseek-cur.exp
  1252.   
  1253.   twrseek: twrseek.o
  1254. !     $(CC) $(CFLAGS) -o twrseek twrseek.o $(STDIOLIBS)
  1255.   
  1256.   check-twrseek: twrseek
  1257.       ./twrseek > twrseek.out 2>&1
  1258.       diff -c twrseek.out $(srcdir)/twrseek.exp
  1259.   
  1260.   trdseek: trdseek.o
  1261. !     $(CC) $(CFLAGS) -o trdseek -v trdseek.o $(STDIOLIBS)
  1262.   
  1263.   check-trdseek: trdseek
  1264.       ./trdseek
  1265. ***************
  1266. *** 182,195 ****
  1267.   check-tFile: check-tFile-regular check-tFile-nobuf check-tFile-buf3
  1268.   
  1269.   tpopen: tpopen.o
  1270. !     $(CC) -o tpopen tpopen.o $(STDIOLIBS)
  1271.   
  1272.   check-tpopen: tpopen
  1273.       ./tpopen > tpopen.out 2>&1
  1274.       diff -c tpopen.out $(srcdir)/tpopen.exp
  1275.   
  1276.   trwseek: trwseek.o
  1277. !     $(CC) -o trwseek trwseek.o $(STDIOLIBS)
  1278.   
  1279.   check-trwseek: trwseek
  1280.       ./trwsseek  TMP r+ k w o
  1281. --- 182,195 ----
  1282.   check-tFile: check-tFile-regular check-tFile-nobuf check-tFile-buf3
  1283.   
  1284.   tpopen: tpopen.o
  1285. !     $(CC) $(CFLAGS) -o tpopen tpopen.o $(STDIOLIBS)
  1286.   
  1287.   check-tpopen: tpopen
  1288.       ./tpopen > tpopen.out 2>&1
  1289.       diff -c tpopen.out $(srcdir)/tpopen.exp
  1290.   
  1291.   trwseek: trwseek.o
  1292. !     $(CC) $(CFLAGS) -o trwseek trwseek.o $(STDIOLIBS)
  1293.   
  1294.   check-trwseek: trwseek
  1295.       ./trwsseek  TMP r+ k w o
  1296.  
  1297. *** libg++-2.2/libg++/old-stream/Makefile.in    Fri Jun 19 00:56:40 1992
  1298. --- libg++/old-stream/Makefile.in    Fri Nov  6 11:13:54 1992
  1299. ***************
  1300. *** 47,53 ****
  1301.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  1302.       else echo gcc ; fi`
  1303.   
  1304. ! CFLAGS = -g
  1305.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  1306.       then echo -I../../../gcc/include ; \
  1307.       else echo ; fi`
  1308. --- 47,53 ----
  1309.       then echo ../../../gcc/gcc -B../../../gcc/ ; \
  1310.       else echo gcc ; fi`
  1311.   
  1312. ! CFLAGS =
  1313.   XTRAFLAGS = `if [ -f ../../../gcc/gcc ] ; \
  1314.       then echo -I../../../gcc/include ; \
  1315.       else echo ; fi`
  1316.  
  1317. *** libg++-2.2/libg++/src/BitString.h    Wed Jun 17 21:39:31 1992
  1318. --- libg++/src/BitString.h    Thu Nov 12 15:48:11 1992
  1319. ***************
  1320. *** 331,337 ****
  1321.   
  1322.   inline BitString shorttoBitString(unsigned short w) return r
  1323.   { 
  1324. !   r.rep = BStr_alloc(0, &w, 0, BITSTRBITS, BITSTRBITS);
  1325.   }
  1326.   
  1327.   inline BitString longtoBitString(unsigned long w) return r
  1328. --- 331,338 ----
  1329.   
  1330.   inline BitString shorttoBitString(unsigned short w) return r
  1331.   { 
  1332. !   unsigned short u = w;
  1333. !   r.rep = BStr_alloc(0, &u, 0, BITSTRBITS, BITSTRBITS);
  1334.   }
  1335.   
  1336.   inline BitString longtoBitString(unsigned long w) return r
  1337.  
  1338. *** libg++-2.2/libg++/src/Fix24.h    Sat Apr 18 01:50:07 1992
  1339. --- libg++/src/Fix24.h    Thu Nov  5 12:22:33 1992
  1340. ***************
  1341. *** 329,334 ****
  1342. --- 329,336 ----
  1343.     return sum;
  1344.   }
  1345.   
  1346. + extern Fix48 operator*(Fix24& a, Fix24& b);
  1347.   inline Fix24 operator*(Fix24& a, int b)     
  1348.   { 
  1349.     return a.m * b; 
  1350.  
  1351. *** libg++-2.2/libg++/src/Makefile.in    Thu Jun 18 03:39:45 1992
  1352. --- libg++/src/Makefile.in    Fri Nov  6 11:14:00 1992
  1353. ***************
  1354. *** 109,115 ****
  1355.   #### host, target, and site dependent Makefile fragments come in here.
  1356.   ##
  1357.   
  1358. ! CFLAGS = -g
  1359.   
  1360.   .SUFFIXES: .cc .o
  1361.   
  1362. --- 109,115 ----
  1363.   #### host, target, and site dependent Makefile fragments come in here.
  1364.   ##
  1365.   
  1366. ! CFLAGS =
  1367.   
  1368.   .SUFFIXES: .cc .o
  1369.   
  1370.  
  1371. *** libg++-2.2/libg++/src/String.cc    Thu Jun 18 03:39:48 1992
  1372. --- libg++/src/String.cc    Fri Nov  6 16:09:18 1992
  1373. ***************
  1374. *** 167,172 ****
  1375. --- 167,178 ----
  1376.     return rep;
  1377.   }
  1378.   
  1379. + // allocate, char
  1380. + StrRep* Schar(char c)
  1381. + {
  1382. +   return Salloc(0, &c, 1, 1);
  1383. + }
  1384.   // reallocate: Given the initial allocation scheme, it will
  1385.   // generally be faster in the long run to get new space & copy
  1386.   // than to call realloc
  1387.  
  1388. *** libg++-2.2/libg++/src/String.h    Sat Apr 18 01:50:54 1992
  1389. --- libg++/src/String.h    Fri Nov  6 16:10:55 1992
  1390. ***************
  1391. *** 38,43 ****
  1392. --- 38,44 ----
  1393.   // primitive ops on StrReps -- nearly all String fns go through these.
  1394.   
  1395.   StrRep*     Salloc(StrRep*, const char*, int, int);
  1396. + StrRep*     Schar(char);
  1397.   StrRep*     Scopy(StrRep*, StrRep*);
  1398.   StrRep*     Sresize(StrRep*, int);
  1399.   StrRep*     Scat(StrRep*, const char*, int, const char*, int);
  1400. ***************
  1401. *** 472,478 ****
  1402.   inline String::String(const SubString& y)
  1403.     : rep(Salloc(0, y.chars(), y.length(), y.length())) {}
  1404.   inline String::String(char c) 
  1405. !   : rep(Salloc(0, &c, 1, 1)) {}
  1406.   
  1407.   inline String::~String() { if (rep != &_nilStrRep) delete rep; }
  1408.   
  1409. --- 473,479 ----
  1410.   inline String::String(const SubString& y)
  1411.     : rep(Salloc(0, y.chars(), y.length(), y.length())) {}
  1412.   inline String::String(char c) 
  1413. !   : rep(Schar(c)) {}
  1414.   
  1415.   inline String::~String() { if (rep != &_nilStrRep) delete rep; }
  1416.   
  1417. ***************
  1418. *** 1074,1080 ****
  1419.   
  1420.   inline int SubString::contains(char c) const
  1421.   {
  1422. !   return S.search(pos, pos+len, 0, c) >= 0;
  1423.   }
  1424.   
  1425.   inline int SubString::contains(const Regex& r) const
  1426. --- 1075,1081 ----
  1427.   
  1428.   inline int SubString::contains(char c) const
  1429.   {
  1430. !   return S.search(pos, pos+len, c) >= 0;
  1431.   }
  1432.   
  1433.   inline int SubString::contains(const Regex& r) const
  1434.  
  1435. *** libg++-2.2/libg++/src/builtin.h    Fri Jun 26 14:32:59 1992
  1436. --- libg++/src/builtin.h    Thu Nov 12 14:10:35 1992
  1437. ***************
  1438. *** 84,95 ****
  1439.   
  1440.   #if !defined(IV)
  1441.   
  1442. - #ifndef hpux /* hpux defines this in math.h */
  1443.   inline double abs(double arg) 
  1444.   {
  1445.     return (arg < 0.0)? -arg : arg;
  1446.   }
  1447. - #endif
  1448.   
  1449.   inline float abs(float arg) 
  1450.   {
  1451. --- 84,93 ----
  1452. ***************
  1453. *** 121,132 ****
  1454.     return arg * arg;
  1455.   }
  1456.   
  1457. - #ifndef hpux /* hpux defines this in math.h */
  1458.   inline double sqr(double arg)
  1459.   {
  1460.     return arg * arg;
  1461.   }
  1462. - #endif
  1463.   
  1464.   inline int even(long arg)
  1465.   {
  1466. --- 119,128 ----
  1467.  
  1468. *** libg++-2.2/libg++/tests/Makefile.in    Thu Jun 18 01:56:21 1992
  1469. --- libg++/tests/Makefile.in    Fri Nov  6 12:05:04 1992
  1470. ***************
  1471. *** 68,74 ****
  1472.       then echo ../../gcc/gcc -B../../gcc/ ; \
  1473.       else echo gcc ; fi`
  1474.   
  1475. ! CFLAGS = -g
  1476.   XTRAFLAGS = `if [ -f ../../gcc/gcc ] ; \
  1477.       then echo -I../../gcc/include ; \
  1478.       else echo ; fi`
  1479. --- 68,74 ----
  1480.       then echo ../../gcc/gcc -B../../gcc/ ; \
  1481.       else echo gcc ; fi`
  1482.   
  1483. ! CFLAGS =
  1484.   XTRAFLAGS = `if [ -f ../../gcc/gcc ] ; \
  1485.       then echo -I../../gcc/include ; \
  1486.       else echo ; fi`
  1487. ***************
  1488. *** 148,154 ****
  1489.   
  1490.   .PHONY: boltcc
  1491.   boltcc:
  1492. !     $(MAKE) "CC=$(CC)" "XTRAFLAGS=$(XTRAFLAGS)" "AR=$(AR)" "RANLIB=$(RANLIB)" check
  1493.   
  1494.   .PHONY: info
  1495.   info:
  1496. --- 148,154 ----
  1497.   
  1498.   .PHONY: boltcc
  1499.   boltcc:
  1500. !     $(MAKE) "CC=$(CC)" "CFLAGS=$(CFLAGS)" "XTRAFLAGS=$(XTRAFLAGS)" "AR=$(AR)" "RANLIB=$(RANLIB)" check
  1501.   
  1502.   .PHONY: info
  1503.   info:
  1504. ***************
  1505. *** 258,264 ****
  1506.       echo "(Must run tCurses manually from tty)"
  1507.   
  1508.   test_h: test_h.o
  1509. !     $(CC) $(LDFLAGS) test_h.o -o $@ $(LIBS) -lm
  1510.       
  1511.   
  1512.       
  1513. --- 258,264 ----
  1514.       echo "(Must run tCurses manually from tty)"
  1515.   
  1516.   test_h: test_h.o
  1517. !     $(CC) $(CFLAGS) $(LDFLAGS) test_h.o -o $@ $(LIBS) -lm
  1518.       
  1519.   
  1520.       
  1521. ***************
  1522. *** 272,375 ****
  1523.   #
  1524.   
  1525.   test0: test0.h  test.hello.o test.bye test.bye2 test.shell
  1526. !     $(CC) $(LDFLAGS) test.hello.o $(LIBS) -o $@
  1527.   
  1528.   test.hello.o: test0.h test.hello.cc
  1529. !     $(CC) $(LDFLAGS) $(TFLAGS) test.hello.cc -o $@
  1530.   
  1531.   test.bye: test0.h test.bye.cc
  1532. !     $(CC) $(LDFLAGS) $(TFLAGS) test.bye.cc  -o $@
  1533.   
  1534.   test.bye2: test0.h test.bye2.cc
  1535. !     $(CC) $(LDFLAGS) $(TFLAGS) test.bye2.cc  -o $@
  1536.   
  1537.   test.shell: test0.h test.shell.cc
  1538. !     $(CC) $(LDFLAGS) $(TFLAGS) test.shell.cc  -o $@
  1539.   
  1540.   #
  1541.   # other tests
  1542.   #
  1543.   
  1544.   tFile:  tFile.o
  1545. !     $(CC) $(LDFLAGS) tFile.o -o $@ $(LIBS)
  1546.   
  1547.   tObstack:  tObstack.o
  1548. !     $(CC) $(LDFLAGS) tObstack.o -o $@ $(LIBS)
  1549.   
  1550.   tString:  tString.o
  1551. !     $(CC) $(LDFLAGS) tString.o -o $@ $(LIBS)
  1552.   
  1553.   tInteger:  tInteger.o
  1554. !     $(CC) $(LDFLAGS) tInteger.o -o $@ $(LIBS)
  1555.   
  1556.   twrapper:  twrapper.o
  1557. !     $(CC) $(LDFLAGS) twrapper.o -o $@ $(LIBS)
  1558.   
  1559.   tgwrapper:   tgwrapper.o
  1560. !     $(CC) $(LDFLAGS) tgwrapper.o -o $@ $(LIBS)
  1561.   
  1562.   tRational:  tRational.o
  1563. !     $(CC) $(LDFLAGS) tRational.o -o $@ $(LIBS) -lm
  1564.   
  1565.   tComplex:  tComplex.o
  1566. !     $(CC) $(LDFLAGS) tComplex.o -o $@ $(LIBS) -lm
  1567.   
  1568.   tBitSet:  tBitSet.o
  1569. !     $(CC) $(LDFLAGS) tBitSet.o -o $@ $(LIBS)
  1570.   
  1571.   tBitString:  tBitString.o
  1572. !     $(CC) $(LDFLAGS) tBitString.o -o $@ $(LIBS)
  1573.   
  1574.   tRandom:  tRandom.o
  1575. !     $(CC) $(LDFLAGS) tRandom.o -o $@ $(LIBS) -lm
  1576.   
  1577.   tFix:  tFix.o
  1578. !     $(CC) $(LDFLAGS) tFix.o -o $@ $(LIBS) -lm
  1579.   
  1580.   tFix16:  tFix16.o
  1581. !     $(CC) $(LDFLAGS) tFix16.o -o $@ $(LIBS) -lm
  1582.   
  1583.   tFix24:  tFix24.o
  1584. !     $(CC) $(LDFLAGS) tFix24.o -o $@ $(LIBS) -lm
  1585.   
  1586.   tCurses:  tCurses.o
  1587. !     $(CC) $(LDFLAGS) tCurses.o  -o $@ $(LIBS) -lcurses -ltermcap 
  1588.   
  1589.   tGetOpt:  tGetOpt.o
  1590. !     $(CC) $(LDFLAGS) tGetOpt.o -o $@ $(LIBS)
  1591.   
  1592.   tList:  $(LIBTEST)  tList.o
  1593. !     $(CC) $(LDFLAGS) tList.o -o $@ $(LIBTEST) $(LIBS)
  1594.   
  1595.   tPlex:  $(LIBTEST)  tPlex.o
  1596. !     $(CC) $(LDFLAGS) tPlex.o -o $@ $(LIBTEST) $(LIBS)
  1597.   
  1598.   tLList:  $(LIBTEST) tLList.o
  1599. !     $(CC) $(LDFLAGS) tLList.o -o $@ $(LIBTEST) $(LIBS)
  1600.   
  1601.   tVec: $(LIBTEST) tVec.o
  1602. !     $(CC) $(LDFLAGS) tVec.o -o $@ $(LIBTEST) $(LIBS)
  1603.   
  1604.   tStack: $(LIBTEST) tStack.o
  1605. !     $(CC) $(LDFLAGS) tStack.o -o $@ $(LIBTEST) $(LIBS)
  1606.   
  1607.   tQueue: $(LIBTEST) tQueue.o
  1608. !     $(CC) $(LDFLAGS) tQueue.o -o $@ $(LIBTEST) $(LIBS)
  1609.   
  1610.   tDeque: $(LIBTEST) tDeque.o
  1611. !     $(CC) $(LDFLAGS) tDeque.o -o $@ $(LIBTEST) $(LIBS)
  1612.   
  1613.   tPQ: $(LIBTEST) tPQ.o
  1614. !     $(CC) $(LDFLAGS) tPQ.o -o $@ $(LIBTEST) $(LIBS)
  1615.   
  1616.   tSet: $(LIBTEST) tSet.o
  1617. !     $(CC) $(LDFLAGS) tSet.o -o $@ $(LIBTEST) $(LIBS)
  1618.   
  1619.   tBag:  $(LIBTEST) tBag.o
  1620. !     $(CC) $(LDFLAGS) tBag.o -o $@ $(LIBTEST) $(LIBS)
  1621.   
  1622.   tMap:  $(LIBTEST) tMap.o
  1623. !     $(CC) $(LDFLAGS) tMap.o -o $@ $(LIBTEST) $(LIBS)
  1624.   
  1625.   idefs.h:
  1626.       PROTODIR=$(PROTODIR); export PROTODIR; $(GENCLASS) int val defs i
  1627. --- 272,375 ----
  1628.   #
  1629.   
  1630.   test0: test0.h  test.hello.o test.bye test.bye2 test.shell
  1631. !     $(CC) $(CFLAGS) $(LDFLAGS) test.hello.o $(LIBS) -o $@
  1632.   
  1633.   test.hello.o: test0.h test.hello.cc
  1634. !     $(CC) $(CFLAGS) $(LDFLAGS) $(TFLAGS) test.hello.cc -o $@
  1635.   
  1636.   test.bye: test0.h test.bye.cc
  1637. !     $(CC) $(CFLAGS) $(LDFLAGS) $(TFLAGS) test.bye.cc  -o $@
  1638.   
  1639.   test.bye2: test0.h test.bye2.cc
  1640. !     $(CC) $(CFLAGS) $(LDFLAGS) $(TFLAGS) test.bye2.cc  -o $@
  1641.   
  1642.   test.shell: test0.h test.shell.cc
  1643. !     $(CC) $(CFLAGS) $(LDFLAGS) $(TFLAGS) test.shell.cc  -o $@
  1644.   
  1645.   #
  1646.   # other tests
  1647.   #
  1648.   
  1649.   tFile:  tFile.o
  1650. !     $(CC) $(CFLAGS) $(LDFLAGS) tFile.o -o $@ $(LIBS)
  1651.   
  1652.   tObstack:  tObstack.o
  1653. !     $(CC) $(CFLAGS) $(LDFLAGS) tObstack.o -o $@ $(LIBS)
  1654.   
  1655.   tString:  tString.o
  1656. !     $(CC) $(CFLAGS) $(LDFLAGS) tString.o -o $@ $(LIBS)
  1657.   
  1658.   tInteger:  tInteger.o
  1659. !     $(CC) $(CFLAGS) $(LDFLAGS) tInteger.o -o $@ $(LIBS)
  1660.   
  1661.   twrapper:  twrapper.o
  1662. !     $(CC) $(CFLAGS) $(LDFLAGS) twrapper.o -o $@ $(LIBS)
  1663.   
  1664.   tgwrapper:   tgwrapper.o
  1665. !     $(CC) $(CFLAGS) $(LDFLAGS) tgwrapper.o -o $@ $(LIBS)
  1666.   
  1667.   tRational:  tRational.o
  1668. !     $(CC) $(CFLAGS) $(LDFLAGS) tRational.o -o $@ $(LIBS) -lm
  1669.   
  1670.   tComplex:  tComplex.o
  1671. !     $(CC) $(CFLAGS) $(LDFLAGS) tComplex.o -o $@ $(LIBS) -lm
  1672.   
  1673.   tBitSet:  tBitSet.o
  1674. !     $(CC) $(CFLAGS) $(LDFLAGS) tBitSet.o -o $@ $(LIBS)
  1675.   
  1676.   tBitString:  tBitString.o
  1677. !     $(CC) $(CFLAGS) $(LDFLAGS) tBitString.o -o $@ $(LIBS)
  1678.   
  1679.   tRandom:  tRandom.o
  1680. !     $(CC) $(CFLAGS) $(LDFLAGS) tRandom.o -o $@ $(LIBS) -lm
  1681.   
  1682.   tFix:  tFix.o
  1683. !     $(CC) $(CFLAGS) $(LDFLAGS) tFix.o -o $@ $(LIBS) -lm
  1684.   
  1685.   tFix16:  tFix16.o
  1686. !     $(CC) $(CFLAGS) $(LDFLAGS) tFix16.o -o $@ $(LIBS) -lm
  1687.   
  1688.   tFix24:  tFix24.o
  1689. !     $(CC) $(CFLAGS) $(LDFLAGS) tFix24.o -o $@ $(LIBS) -lm
  1690.   
  1691.   tCurses:  tCurses.o
  1692. !     $(CC) $(CFLAGS) $(LDFLAGS) tCurses.o  -o $@ $(LIBS) -lcurses -ltermcap 
  1693.   
  1694.   tGetOpt:  tGetOpt.o
  1695. !     $(CC) $(CFLAGS) $(LDFLAGS) tGetOpt.o -o $@ $(LIBS)
  1696.   
  1697.   tList:  $(LIBTEST)  tList.o
  1698. !     $(CC) $(CFLAGS) $(LDFLAGS) tList.o -o $@ $(LIBTEST) $(LIBS)
  1699.   
  1700.   tPlex:  $(LIBTEST)  tPlex.o
  1701. !     $(CC) $(CFLAGS) $(LDFLAGS) tPlex.o -o $@ $(LIBTEST) $(LIBS)
  1702.   
  1703.   tLList:  $(LIBTEST) tLList.o
  1704. !     $(CC) $(CFLAGS) $(LDFLAGS) tLList.o -o $@ $(LIBTEST) $(LIBS)
  1705.   
  1706.   tVec: $(LIBTEST) tVec.o
  1707. !     $(CC) $(CFLAGS) $(LDFLAGS) tVec.o -o $@ $(LIBTEST) $(LIBS)
  1708.   
  1709.   tStack: $(LIBTEST) tStack.o
  1710. !     $(CC) $(CFLAGS) $(LDFLAGS) tStack.o -o $@ $(LIBTEST) $(LIBS)
  1711.   
  1712.   tQueue: $(LIBTEST) tQueue.o
  1713. !     $(CC) $(CFLAGS) $(LDFLAGS) tQueue.o -o $@ $(LIBTEST) $(LIBS)
  1714.   
  1715.   tDeque: $(LIBTEST) tDeque.o
  1716. !     $(CC) $(CFLAGS) $(LDFLAGS) tDeque.o -o $@ $(LIBTEST) $(LIBS)
  1717.   
  1718.   tPQ: $(LIBTEST) tPQ.o
  1719. !     $(CC) $(CFLAGS) $(LDFLAGS) tPQ.o -o $@ $(LIBTEST) $(LIBS)
  1720.   
  1721.   tSet: $(LIBTEST) tSet.o
  1722. !     $(CC) $(CFLAGS) $(LDFLAGS) tSet.o -o $@ $(LIBTEST) $(LIBS)
  1723.   
  1724.   tBag:  $(LIBTEST) tBag.o
  1725. !     $(CC) $(CFLAGS) $(LDFLAGS) tBag.o -o $@ $(LIBTEST) $(LIBS)
  1726.   
  1727.   tMap:  $(LIBTEST) tMap.o
  1728. !     $(CC) $(CFLAGS) $(LDFLAGS) tMap.o -o $@ $(LIBTEST) $(LIBS)
  1729.   
  1730.   idefs.h:
  1731.       PROTODIR=$(PROTODIR); export PROTODIR; $(GENCLASS) int val defs i
  1732.  
  1733. *** libg++-2.2/libg++/tests/tString.cc    Fri Jun 28 23:32:54 1991
  1734. --- libg++/tests/tString.cc    Fri Nov  6 16:07:20 1992
  1735. ***************
  1736. *** 34,40 ****
  1737. --- 34,43 ----
  1738.     assert(y == "Hello");
  1739.   
  1740.     if (y[y.length()-1] == 'o')
  1741. +   {
  1742.       y = y + '\n';
  1743. +   }
  1744. +   y = "Hello\n";
  1745.     assert(y == "Hello\n");
  1746.     y = "Hello";
  1747.   
  1748.  
  1749. *** libg++-2.2/libg++/utils/Makefile.in    Sat Jun 20 08:22:17 1992
  1750. --- libg++/utils/Makefile.in    Fri Nov  6 11:14:28 1992
  1751. ***************
  1752. *** 64,70 ****
  1753.   
  1754.   PROGS = etags g++dep
  1755.   ELISP = c++-mode.el
  1756. ! CFLAGS = -g
  1757.   
  1758.   #### host and target dependent Makefile fragments come in here.
  1759.   ##
  1760. --- 64,70 ----
  1761.   
  1762.   PROGS = etags g++dep
  1763.   ELISP = c++-mode.el
  1764. ! CFLAGS = 
  1765.   
  1766.   #### host and target dependent Makefile fragments come in here.
  1767.   ##
  1768.  
  1769. *** libg++-2.2/libg++/utils/gen-params    Fri Jun 26 21:29:41 1992
  1770. --- libg++/utils/gen-params    Mon Nov  9 12:32:53 1992
  1771. ***************
  1772. *** 75,81 ****
  1773.     fi
  1774.   
  1775.     if test -n "${DOLLAR_IN_LABEL}" ; then
  1776. !     echo "#define ${macro_prefix} ${DOLLAR_IN_LABEL} ${DOLLAR_IN_LABEL}"
  1777.     elif test "`${CONFIG_NM} dummy.o | grep 'vt[$$]filebuf'`" != ""; then
  1778.       echo "#define ${macro_prefix}DOLLAR_IN_LABEL 1"
  1779.     elif test "`${CONFIG_NM} dummy.o | grep 'vt[.]filebuf'`" != ""; then
  1780. --- 75,81 ----
  1781.     fi
  1782.   
  1783.     if test -n "${DOLLAR_IN_LABEL}" ; then
  1784. !     echo "#define ${macro_prefix}DOLLAR_IN_LABEL ${DOLLAR_IN_LABEL}"
  1785.     elif test "`${CONFIG_NM} dummy.o | grep 'vt[$$]filebuf'`" != ""; then
  1786.       echo "#define ${macro_prefix}DOLLAR_IN_LABEL 1"
  1787.     elif test "`${CONFIG_NM} dummy.o | grep 'vt[.]filebuf'`" != ""; then
  1788. ***************
  1789. *** 219,224 ****
  1790. --- 219,227 ----
  1791.   extern long foo(X_va_list); /* Check that X_va_list compiles on its own */
  1792.   #include <stdarg.h>
  1793.   long foo(X_va_list ap) { return va_arg(ap, long); }
  1794. + #if defined(hpux) || defined(__hpux)
  1795. + blurfl /* cause compilation to fail -- we NEED stdarg.h on HP-UX*/
  1796. + #endif /* hpux || __hpux */
  1797.   long bar(int i, ...)
  1798.   { va_list ap; long j; va_start(ap, i); j = foo(ap); va_end(ap); return j; }
  1799.   !EOF!
  1800.  
  1801. *** libg++-2.2/libiberty/Makefile.in    Thu Jun 18 03:14:52 1992
  1802. --- libiberty/Makefile.in    Fri Nov  6 11:14:47 1992
  1803. ***************
  1804. *** 57,63 ****
  1805.   
  1806.   AR = ar
  1807.   AR_FLAGS = qv
  1808. ! CFLAGS = -g
  1809.   BISON = bison
  1810.   MAKEINFO = makeinfo
  1811.   RANLIB = ranlib
  1812. --- 57,63 ----
  1813.   
  1814.   AR = ar
  1815.   AR_FLAGS = qv
  1816. ! CFLAGS =
  1817.   BISON = bison
  1818.   MAKEINFO = makeinfo
  1819.   RANLIB = ranlib
  1820. @EOF
  1821.  
  1822. chmod 644 hp9k700-patches
  1823.  
  1824. exit 0
  1825. -- 
  1826. Bart Muyzer, Systems and Network Administrator, [NIC-Whois handle: BJM9]
  1827.      3D Computer Vision, Room E02.222, University Hospital Utrecht,
  1828.      Heidelberglaan 100, 3584 CX Utrecht, Holland. E-mail: bartm@cv.ruu.nl
  1829.      Fax: +31-30-513399. Tel: +31-30-506711 (w), +31-3402-52157 (h). 
  1830.  
  1831.  
  1832.