Changes for libstdc++ version 2.8.0 to version 2.8.1.1. Before applying these diffs, rename the directory into which you unpacked libstdc++ 2.8.0 to libstdc++-2.8.1.1. Then go into that directory and execute the following command: patch -p1 -E feeding it the following diffs as input. diff -r -c2 -p -N libstdc++-2.8.0/COPYING.LIB libstdc++-2.8.1.1/COPYING.LIB *** libstdc++-2.8.0/COPYING.LIB Fri Aug 22 00:57:37 1997 --- libstdc++-2.8.1.1/COPYING.LIB Sat Feb 28 11:17:28 1998 *************** *** 3,7 **** Copyright (C) 1991 Free Software Foundation, Inc. ! 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. --- 3,7 ---- Copyright (C) 1991 Free Software Foundation, Inc. ! 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. *************** convey the exclusion of warranty; and ea *** 465,469 **** You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free ! Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. --- 465,470 ---- You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free ! Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, ! MA 02111-1307, USA Also add information on how to contact you by electronic and paper mail. diff -r -c2 -p -N libstdc++-2.8.0/ChangeLog libstdc++-2.8.1.1/ChangeLog *** libstdc++-2.8.0/ChangeLog Tue Jan 6 23:36:52 1998 --- libstdc++-2.8.1.1/ChangeLog Thu Mar 19 09:51:02 1998 *************** *** 1,2 **** --- 1,50 ---- + Thu Mar 19 08:08:43 1998 Manfred Hollstein + + * libstdc++-2.8.1.1 minor release. + + Thu Mar 19 07:42:09 1998 Manfred Hollstein + + * INSTALL: Add a section about how to report bugs. + + * Makefile.in (install-gcc): Don't specify LANGUAGES here. + (install-gcc-cross): Instead, override LANGUAGES here. + + Thu Mar 12 16:01:14 1998 Manfred Hollstein + + * config-ml.in: After building symlink tree call make distclean + if a Makefile got linked into ${ml_dir}/${ml_libdir}; this happens + to be the case for libiberty. + + Sat Feb 28 11:18:26 1998 Manfred Hollstein + + * libstdc++-2.8.1 release. + + Fri Feb 20 11:40:59 1998 Manfred Hollstein + + * INSTALL: New file. + * texinfo/lgpl.texinfo: New file. + + Fri Feb 6 01:33:52 1998 Pieter Nagel + Manfred Hollstein + + * Makefile.in (BASE_FLAGS_TO_PASS): Don't pass PICFLAG and + PICFLAG_FOR_TARGET. + (EXTRA_TARGET_FLAGS): Don't pass PICFLAG_FOR_TARGET. + (FLAGS_TO_PASS): Pass down gxx_include_dir to sub-make invocations. + + * configure: Emit a definition for the new macro enable_shared + into each Makefile. + + * config/mh-sparcpic (PICFLAG): Define to properly according + to current multilib configuration. + * config/mt-sparcpic (PICFLAG_FOR_TARGET): Define to properly + according to current multilib configuration. + + Tue Jan 27 17:48:40 1998 Manfred Hollstein + + * configure (package_makefile_rules_frag): New variable, which names + a file with generic rules, ... + Change comment to mention we now have FIVE parts. + Sun Jan 4 01:06:55 1998 Mumit Khan *************** Wed Aug 27 16:15:11 1997 Jim Wilson diff -r -c2 -p -N libstdc++-2.8.0/INSTALL libstdc++-2.8.1.1/INSTALL *** libstdc++-2.8.0/INSTALL Thu Jan 1 01:00:00 1970 --- libstdc++-2.8.1.1/INSTALL Mon Mar 23 15:27:25 1998 *************** *** 0 **** --- 1,387 ---- + Configuring libstdc++-2.8.1.1 + + Like most GNU software, libstdc++ must be configured before it can be built. + This document attempts to describe the recommended configuration procedure + for both native and cross targets. + + We use srcdir to refer to the toplevel source directory for + libstdc++; we use objdir to refer to the toplevel build/object + directory for libstdc++. + + First, we highly recommend that libstdc++ be built into a separate + directory than the sources. This is how we generally build libstdc++; building + where srcdir == objdir should still work, but doesn't get + extensive testing. + + Second, when configuring a native system, either "cc" must be in your + path or you must set CC in your environment before running configure. + Otherwise the configuration scripts may fail. + + Third, beginning with this version of libstdc++ we highly recommend that + gcc will not be built separately. One advantage of this is that gcc + and the runtime libraries agree about where the runtime libs' include + files will be installed. Rather untar gcc-m.x.y into the toplevel + directory of libstdc++ (where this INSTALL file lives), rename the + gcc-m.x.y directory to gcc, and optionally apply the patch + at the end of this file (you can actually feed this file as input to + patch). This patch allows you to check the built compiler (if you + actually intend to do this, you'd need to get a testsuite for gcc + - e.g. egcs' one from + and move that directory into the gcc directory): + + % cd srcdir + % gunzip < /where/you/store/GNU/packages/gcc-m.x.y.tar.gz | tar xf - + % mv gcc-m.x.y gcc + % patch < INSTALL + % gunzip < /where/you/store/GNU/packages/egcs-n.x.y.tar.gz | \ + tar xf - egcs-n.x.y/gcc/teststuite + % mv egcs-n.x.y/gcc/teststuite gcc + % rmdir -p egcs-n.x.y/gcc + + To configure libstdc++: + + % mkdir objdir + % cd objdir + % srcdir/configure [target] [options] + + + target specification + + libstdc++ has code to correctly determine the correct value for + target for nearly all native systems. Therefore, we highly + recommend you not provide a configure target when configuring a + native package. + + target must be specified when configuring a cross package; + examples of valid targets would be i960-rtems, m68k-coff, sh-elf, etc. + + + options specification + + Use options to override several configure time options for + libstdc++. A partial list of supported options: + + + --prefix=dirname -- Specify the toplevel installation + directory. This is the recommended way to install the tools into a directory + other than the default. The toplevel installation directory defaults to + /usr/local. + + These additional options control where certain parts of the distribution + are installed. Normally you should not need to use these options. + + --with-local-prefix=dirname -- Specify the installation + directory for local include files. The default is /usr/local. + + --with-gxx-include-dir=dirname -- Specify the installation + directory for g++ header files. The default is /usr/local/include/g++. + + + --enable-shared -- Build shared versions of the C++ runtime + libraries if supported --disable-shared is the default. + + --with-gnu-as -- Specify that the compiler should assume the GNU + assembler (aka gas) is available. + + --with-gnu-ld -- Specify that the compiler should assume the GNU + linker (aka gld) is available. + + --enable-multilib -- Specify that multiple target libraries + should be built to support different target variants, calling conventions, + etc. This is the default. + + + Note that each --enable option has a corresponding --disable option and + that each --with option has a corresponding --without option. + + + + Building libstdc++-2.8.1.1 + + Now that libstdc++ is configured, you are ready to build the compiler + (if you unpacked the compiler sources as recommended above) and + runtime libraries. If you've arranged your compiler and library sources + in the `one tree' proposal, you should call `make bootstrap'; this will + bootstrap the compiler and the runtime libraries in one shot. If you don't + want to build the compiler, simply call `make all'. + + We highly recommend that libstdc++ be built using gnu-make; other + versions may work, then again they might not. To be safe build with gnu-make. + + + + Testing libstdc++-2.8.1.1 + + To see if the built compiler (optionally) and runtime libraries actually + work, you can check them with `cd objdir; make check'. + + + + Final install libstdc++-2.8.1.1 + + Now that libstdc++ has been built and tested, you can install it with + `cd objdir; make install'. + + That step completes the installation of libstdc++; user level binaries can + be found in prefix/bin where prefix is the value you specified + with the --prefix to configure (or /usr/local by default). + + + + Found a bug? + + If you think you've found a bug, you should send a bug report to + . + + The fundamental principle of reporting bugs usefully is this: + + *report all the facts*. If you are not sure whether to state a fact or + leave it out, state it! + + Often people omit facts because they think they know what causes the + problem and they conclude that some details don't matter. Thus, you + might assume that the name of the variable you use in an example does + not matter. Well, probably it doesn't, but one cannot be sure. + Perhaps the bug is a stray memory reference which happens to fetch from + the location where that name is stored in memory; perhaps, if the name + were different, the contents of that location would fool the compiler + into doing the right thing despite the bug. Play it safe and give a + specific, complete example. That is the easiest thing for you to do, + and the most helpful. + + Keep in mind that the purpose of a bug report is to enable someone to + fix the bug if it is not known. It isn't very important what happens if + the bug is already known. Therefore, always write your bug reports on + the assumption that the bug is not known. + + Sometimes people give a few sketchy facts and ask, "Does this ring a + bell?" This cannot help us fix a bug, so it is basically useless. We + respond by asking for enough details to enable us to investigate. You + might as well expedite matters by sending them to begin with. + + Try to make your bug report self-contained. If we have to ask you + for more information, it is best if you include all the previous + information in your response, as well as the information that was + missing. + + Please report each bug in a separate message. This makes it easier + for us to track which bugs have been fixed and to forward your bugs + reports to the appropriate maintainer. + + Do not compress and encode any part of your bug report using programs + such as `uuencode'. If you do so it will slow down the processing of + your bug. If you must submit multiple large files, use `shar', which + allows us to read your message without having to run any decompression + programs. + + To enable someone to investigate the bug, you should include all + these things: + + * The version of GNU CC. You can get this by running it with the + `-v' option. + + Without this, we won't know whether there is any point in looking + for the bug in the current version of GNU CC. + + * A complete input file that will reproduce the bug. A single statement + is not enough of an example. In order to compile it, it must be + embedded in a complete file of compiler input; and the bug might + depend on the details of how this is done. + + * The command arguments you gave GNU CC or GNU C++ to compile that + example and observe the bug. For example, did you use `-O'? To + guarantee you won't omit something important, list all the options. + + If we were to try to guess the arguments, we would probably guess + wrong and then we would not encounter the bug. + + * The type of machine you are using, and the operating system name + and version number. + + * The operands you gave to the `configure' command when you installed + the compiler and libstdc++. + + * A complete list of any modifications you have made to the library + source. (We don't promise to investigate the bug unless it + happens with unmodified sources. But if you've made + modifications and don't tell us, then you are sending us on a wild + goose chase.) + + Be precise about these changes. A description in English is not + enough--send a context diff for them. + + Adding files of your own (such as a machine description for a + machine we don't support) is a modification of the library source. + + * Details of any other deviations from the standard procedure for + installing GNU libstdc++. + + * A description of what behavior you observe that you believe is + incorrect. For example, "The compiler gets a fatal signal," or, + "The assembler instruction at line 208 in the output is incorrect." + + Never send core dump files! We have no way of examining a core dump + for your type of machine unless we have an identical system--and if + we do have one, we should be able to reproduce the crash ourselves. + + + + Fri Feb 20 13:55:39 1998 Manfred Hollstein + + * Makefile.in (EXPECT): New macro for `make check'. + (RUNTEST): Likewise. + (RUNTESTFLAGS): Likewise. + (target_subdir): Likewise. + (CHECK_TARGETS): Likewise. + (FLAGS_TO_PASS): Add local_prefix and gxx_include_dir. + (distclean): Remove testsuite specific files. + (site.exp): New rule to generate gcc specific check information. + (testsuite/site.exp): Likewise. + (check-g++): Rule to invoke checking g++. + (check-gcc): Rule to invoke checking gcc. + (check-g77): Rule to invoke checking g77. + + --- gcc/Makefile.in.orig Fri Feb 20 13:53:00 1998 + +++ gcc/Makefile.in Fri Feb 20 13:58:33 1998 + @@ -411,6 +411,16 @@ + # Source for float.h. Overridden by cross-make. + FLOAT_H=float.h-nat + + +# Setup the testing framework, if you have one + +EXPECT = `if [ -f $${rootme}/../expect/expect ] ; then \ + + echo $${rootme}/../expect/expect ; \ + + else echo expect ; fi` + + + +RUNTEST = `if [ -f $${srcdir}/../dejagnu/runtest ] ; then \ + + echo $${srcdir}/../dejagnu/runtest ; \ + + else echo runtest; fi` + +RUNTESTFLAGS = + + + # Extra symbols for fixproto to define when parsing headers. + FIXPROTO_DEFINES = + + @@ -546,7 +556,9 @@ + "prefix=$(prefix)" \ + "tooldir=$(tooldir)" \ + "bindir=$(bindir)" \ + - "libsubdir=$(libsubdir)" + + "libsubdir=$(libsubdir)" \ + + "local_prefix=$(local_prefix)" \ + + "gxx_include_dir=$(gxx_include_dir)" + # + # Lists of files for various purposes. + + @@ -2100,6 +2112,8 @@ + -rm -f c-parse.output + -rm -f *.asm + -rm -f float.h + + -rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak + + -rm -f testsuite/{gcc,g++}.{log,sum} + + # Delete anything likely to be found in the source directory + # that shouldn't be in the distribution. + @@ -2383,6 +2397,104 @@ + -rm -rf $(mandir)/protoize$(manext) + -rm -rf $(mandir)/unprotoize$(manext) + # + +# These targets are for the dejagnu testsuites. The file site.exp + +# contains global variables that all the testsuites will use. + + + +# Set to $(target_alias)/ for cross. + +target_subdir = libraries/ + + + +site.exp: ./config.status Makefile + + @echo "Making a new config file..." + + -@rm -f ./tmp? + + @touch site.exp + + -@mv site.exp site.bak + + @echo "## these variables are automatically generated by make ##" > ./tmp0 + + @echo "# Do not edit here. If you wish to override these values" >> ./tmp0 + + @echo "# add them to the last section" >> ./tmp0 + + @echo "set rootme \"`pwd`\"" >> ./tmp0 + + @echo "set srcdir \"`cd ${srcdir}; pwd`\"" >> ./tmp0 + + @echo "set host_triplet $(host_canonical)" >> ./tmp0 + + @echo "set build_triplet $(build_canonical)" >> ./tmp0 + + @echo "set target_triplet $(target)" >> ./tmp0 + + @echo "set target_alias $(target_alias)" >> ./tmp0 + +# CFLAGS is set even though it's empty to show we reserve the right to set it. + + @echo "set CFLAGS \"\"" >> ./tmp0 + + @echo "set CXXFLAGS \"-I$(objdir)/../$(target_subdir)libio -I\$$srcdir/../libg++/src -I\$$srcdir/../libio -I\$$srcdir/../libstdc++ -I\$$srcdir/../libstdc++/stl -L$(objdir)/../$(target_subdir)libg++ -L$(objdir)/../$(target_subdir)libstdc++\"" >> ./tmp0 + +# If newlib has been configured, we need to pass -B to gcc so it can find + +# newlib's crt0.o if it exists. This will cause a "path prefix not used" + +# message if it doesn't, but the testsuite is supposed to ignore the message - + +# it's too difficult to tell when to and when not to pass -B (not all targets + +# have crt0's). We could only add the -B if ../newlib/crt0.o exists, but that + +# seems like too selective a test. + +# ??? Another way to solve this might be to rely on linker scripts. Then + +# theoretically the -B won't be needed. + +# We also need to pass -L ../ld so that the linker can find ldscripts. + + @if [ -d $(objdir)/../$(target_subdir)newlib ] ; then \ + + echo "set newlib_cflags \"-I$(objdir)/../$(target_subdir)newlib/targ-include -I\$$srcdir/../newlib/libc/include\"" >> ./tmp0; \ + + echo "set newlib_ldflags \"-B$(objdir)/../$(target_subdir)newlib/\"" >> ./tmp0; \ + + echo "append CFLAGS \" \$$newlib_cflags\"" >> ./tmp0; \ + + echo "append CXXFLAGS \" \$$newlib_cflags\"" >> ./tmp0; \ + + echo "append LDFLAGS \" \$$newlib_ldflags\"" >> ./tmp0; \ + + else true; \ + + fi + + @if [ -d $(objdir)/../ld ] ; then \ + + echo "append LDFLAGS \" -L$(objdir)/../ld\"" >> ./tmp0; \ + + else true; \ + + fi + + @if [ $(build_canonical) != $(host_canonical) ] ; then \ + + echo "set tmpdir /tmp" >> ./tmp0 ; \ + + else echo "set tmpdir $(objdir)/testsuite" >> ./tmp0 ; \ + + fi + + @echo "set srcdir \"\$${srcdir}/testsuite\"" >> ./tmp0 + + @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0 + + @cat ./tmp0 > site.exp + + @cat site.bak | sed \ + + -e '1,/^## All variables above are.*##/ d' >> site.exp + + -@rm -f ./tmp? + + + +CHECK_TARGETS = check-gcc check-g++ + + + +check: $(CHECK_TARGETS) + + + +testsuite/site.exp: site.exp + + if [ -d testsuite ]; then \ + + true; \ + + else \ + + mkdir testsuite; \ + + fi + + rm -rf testsuite/site.exp + + cp site.exp testsuite/site.exp + + + +check-g++: testsuite/site.exp + + -rootme=`pwd`; export rootme; \ + + srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \ + + cd testsuite; \ + + EXPECT=${EXPECT} ; export EXPECT ; \ + + if [ -f $${rootme}/../expect/expect ] ; then \ + + TCL_LIBRARY=$${srcdir}/../tcl/library ; \ + + export TCL_LIBRARY ; fi ; \ + + $(RUNTEST) --tool g++ $(RUNTESTFLAGS) + + + +check-gcc: testsuite/site.exp + + -rootme=`pwd`; export rootme; \ + + srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \ + + cd testsuite; \ + + EXPECT=${EXPECT} ; export EXPECT ; \ + + if [ -f $${rootme}/../expect/expect ] ; then \ + + TCL_LIBRARY=$${srcdir}/../tcl/library ; \ + + export TCL_LIBRARY ; fi ; \ + + $(RUNTEST) --tool gcc $(RUNTESTFLAGS) + + + +check-g77: testsuite/site.exp + + -rootme=`pwd`; export rootme; \ + + srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \ + + cd testsuite; \ + + EXPECT=${EXPECT} ; export EXPECT ; \ + + if [ -f $${rootme}/../expect/expect ] ; then \ + + TCL_LIBRARY=$${srcdir}/../tcl/library ; \ + + export TCL_LIBRARY ; fi ; \ + + $(RUNTEST) --tool g77 $(RUNTESTFLAGS) + + + # These exist for maintenance purposes. + + # Update the tags table. diff -r -c2 -p -N libstdc++-2.8.0/Makefile.in libstdc++-2.8.1.1/Makefile.in *** libstdc++-2.8.0/Makefile.in Tue Jan 6 23:36:53 1998 --- libstdc++-2.8.1.1/Makefile.in Thu Mar 19 07:41:57 1998 *************** *** 1,5 **** # # Makefile for directory with subdirs to build. ! # Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 1997 Free Software Foundation # # This file is free software; you can redistribute it and/or modify --- 1,5 ---- # # Makefile for directory with subdirs to build. ! # Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 97, 1998 Free Software Foundation # # This file is free software; you can redistribute it and/or modify *************** BASE_FLAGS_TO_PASS = \ *** 345,350 **** "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ "NM_FOR_TARGET=$(NM_FOR_TARGET)" \ - "PICFLAG=$(PICFLAG)" \ - "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \ "RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \ "SHELL=$(SHELL)" \ --- 345,348 ---- *************** BASE_FLAGS_TO_PASS = \ *** 356,360 **** "exec_prefix=$(exec_prefix)" \ "prefix=$(prefix)" \ ! "tooldir=$(tooldir)" # Flags to pass down to most sub-makes, in which we're building with --- 354,359 ---- "exec_prefix=$(exec_prefix)" \ "prefix=$(prefix)" \ ! "tooldir=$(tooldir)" \ ! "gxx_include_dir=$(gxx_include_dir)" # Flags to pass down to most sub-makes, in which we're building with *************** EXTRA_TARGET_FLAGS = \ *** 402,406 **** 'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \ 'NM=$$(NM_FOR_TARGET)' \ - 'PICFLAG=$$(PICFLAG_FOR_TARGET)' \ 'RANLIB=$$(RANLIB_FOR_TARGET)' \ 'WINDRES=$$(WINDRES_FOR_TARGET)' --- 401,404 ---- *************** install-gcc: *** 1341,1345 **** s=`cd $(srcdir); pwd`; export s; \ $(SET_LIB_PATH) \ ! (cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++" install); \ else \ true; \ --- 1339,1343 ---- s=`cd $(srcdir); pwd`; export s; \ $(SET_LIB_PATH) \ ! (cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) install); \ else \ true; \ *************** install-gcc-cross: *** 1352,1356 **** s=`cd $(srcdir); pwd`; export s; \ $(SET_LIB_PATH) \ ! (cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) install); \ else \ true; \ --- 1350,1354 ---- s=`cd $(srcdir); pwd`; export s; \ $(SET_LIB_PATH) \ ! (cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++" install); \ else \ true; \ diff -r -c2 -p -N libstdc++-2.8.0/README libstdc++-2.8.1.1/README *** libstdc++-2.8.0/README Fri Aug 22 00:57:37 1997 --- libstdc++-2.8.1.1/README Mon Mar 23 15:24:53 1998 *************** *** 1,41 **** ! README for GNU development tools ! This directory contains various GNU compilers, assemblers, linkers, ! debuggers, etc., plus their support routines, definitions, and documentation. ! ! If you are receiving this as part of a GDB release, see the file gdb/README. ! If with a binutils release, see binutils/README; if with a libg++ release, ! see libg++/README, etc. That'll give you info about this ! package -- supported targets, how to use it, how to report bugs, etc. ! ! It is now possible to automatically configure and build a variety of ! tools with one command. To build all of the tools contained herein, ! run the ``configure'' script here, e.g.: ! ! ./configure ! make ! ! To install them (by default in /usr/local/bin, /usr/local/lib, etc), ! then do: ! make install ! ! (If the configure script can't determine your type of computer, give it ! the name as an argument, for instance ``./configure sun4''. You can ! use the script ``config.sub'' to test whether a name is recognized; if ! it is, config.sub translates it to a triplet specifying CPU, vendor, ! and OS.) ! ! If you have more than one compiler on your system, it is often best to ! explicitly set CC in the environment before running configure, and to ! also set CC when running make. For example (assuming sh/bash/ksh): ! ! CC=gcc ./configure ! make ! ! A similar example using csh: ! ! setenv CC gcc ! ./configure ! make Much of the code and documentation enclosed is copyright by --- 1,6 ---- ! README for GNU libstdc++ ! Look at INSTALL for instructions how to build this package, and how ! to report bugs. Much of the code and documentation enclosed is copyright by *************** the Free Software Foundation, Inc. See *** 43,47 **** COPYING.LIB in the various directories, for a description of the GNU General Public License terms under which you can copy the files. - - REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info - on where and how to report problems. --- 8,9 ---- diff -r -c2 -p -N libstdc++-2.8.0/config/mh-sparcpic libstdc++-2.8.1.1/config/mh-sparcpic *** libstdc++-2.8.0/config/mh-sparcpic Fri Aug 22 00:58:46 1997 --- libstdc++-2.8.1.1/config/mh-sparcpic Tue Feb 24 15:08:43 1998 *************** *** 1 **** ! PICFLAG=-fPIC --- 1 ---- ! PICFLAG=`case '${LIBCFLAGS} ${LIBCXXFLAGS}' in *-fpic* ) echo -fpic ;; * ) echo -fPIC ;; esac` diff -r -c2 -p -N libstdc++-2.8.0/config/mt-sparcpic libstdc++-2.8.1.1/config/mt-sparcpic *** libstdc++-2.8.0/config/mt-sparcpic Fri Aug 22 00:58:46 1997 --- libstdc++-2.8.1.1/config/mt-sparcpic Tue Feb 24 15:08:43 1998 *************** *** 1 **** ! PICFLAG_FOR_TARGET=-fPIC --- 1 ---- ! PICFLAG_FOR_TARGET=`case '${LIBCFLAGS} ${LIBCXXFLAGS}' in *-fpic* ) echo -fpic ;; * ) echo -fPIC ;; esac` diff -r -c2 -p -N libstdc++-2.8.0/config-ml.in libstdc++-2.8.1.1/config-ml.in *** libstdc++-2.8.0/config-ml.in Fri Aug 22 00:57:38 1997 --- libstdc++-2.8.1.1/config-ml.in Thu Mar 19 07:31:58 1998 *************** if [ -n "${multidirs}" ] && [ -z "${ml_n *** 564,567 **** --- 564,574 ---- (cd ${ml_dir}/${ml_libdir}; ../${dotdot}${ml_unsubdir}symlink-tree ../${dotdot}${ml_unsubdir}${ml_libdir} "") + if [ -f ${ml_dir}/${ml_libdir}/Makefile ]; then + if [ x"${MAKE}" = x ]; then + (cd ${ml_dir}/${ml_libdir}; make distclean) + else + (cd ${ml_dir}/${ml_libdir}; ${MAKE} distclean) + fi + fi ml_newsrcdir="." ml_srcdiroption= diff -r -c2 -p -N libstdc++-2.8.0/configure libstdc++-2.8.1.1/configure *** libstdc++-2.8.0/configure Tue Jan 6 23:36:54 1998 --- libstdc++-2.8.1.1/configure Tue Feb 24 15:08:43 1998 *************** *** 4,8 **** # Configuration script ! # Copyright (C) 1988, 90, 91, 92, 93, 94, 95, 96, 1997 # Free Software Foundation, Inc. --- 4,8 ---- # Configuration script ! # Copyright (C) 1988, 90, 91, 92, 93, 94, 95, 96, 97, 1998 # Free Software Foundation, Inc. *************** norecursion= *** 63,66 **** --- 63,67 ---- other_options= package_makefile_frag= + package_makefile_rules_frag= prefix=/usr/local progname= *************** for subdir in . ${subdirs} ; do *** 993,1004 **** if [ ! -r ${srcdir}/${file} ] ; then echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2 echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2 exit 1 fi ${remove} -f ${link} # Make a symlink if possible, otherwise try a hard link ! if ${symbolic_link} ${srcdir}/${file} ${link} >/dev/null 2>&1 ; then true else --- 994,1012 ---- if [ ! -r ${srcdir}/${file} ] ; then + if [ ! -r ${file} ] ; then + echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2 echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2 exit 1 + else + srcfile=${file} + fi + else + srcfile=${srcdir}/${file} fi ${remove} -f ${link} # Make a symlink if possible, otherwise try a hard link ! if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then true else *************** for subdir in . ${subdirs} ; do *** 1006,1017 **** # very strange directory there when it fails an NFS symlink. ${remove} -r -f ${link} ! ${hard_link} ${srcdir}/${file} ${link} fi if [ ! -r ${link} ] ; then ! echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2 exit 1 fi ! echo "Linked \"${link}\" to \"${srcdir}/${file}\"." done --- 1014,1025 ---- # very strange directory there when it fails an NFS symlink. ${remove} -r -f ${link} ! ${hard_link} ${srcfile} ${link} fi if [ ! -r ${link} ] ; then ! echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2 exit 1 fi ! echo "Linked \"${link}\" to \"${srcfile}\"." done *************** EOF *** 1039,1046 **** # code is order so as to try to sed the smallest input files we know. ! # the four makefile fragments MUST end up in the resulting Makefile in this order: ! # package, target, host, and site. so do these separately because I don't trust the ! # order of sed -e expressions. if [ -f ${srcdir}/${subdir}/${Makefile_in} ] ; then --- 1047,1054 ---- # code is order so as to try to sed the smallest input files we know. + # so do these separately because I don't trust the order of sed -e expressions. ! # the five makefile fragments MUST end up in the resulting Makefile in this order: ! # package macros, target, host, site, and package rules. if [ -f ${srcdir}/${subdir}/${Makefile_in} ] ; then *************** EOF *** 1048,1061 **** # Conditionalize the makefile for this package from "Makefile.in" (or whatever it's called) into Makefile.tem. rm -f ${subdir}/${Makefile}.tem ! case "${package_makefile_frag}" in "") cp ${srcdir}/${subdir}/${Makefile_in} ${subdir}/Makefile.tem ;; *) ! if [ ! -f ${package_makefile_frag} ] ; then ! package_makefile_frag=${srcdir}/${package_makefile_frag} fi ! if [ -f ${package_makefile_frag} ] ; then ! sed -e "/^####/ r ${package_makefile_frag}" ${srcdir}/${subdir}/${Makefile_in} > ${Makefile}.tem else ! echo '***' Expected package makefile fragment \"${package_makefile_frag}\" 1>&2 echo '***' is missing in ${PWD=`pwd`}. 1>&2 cp ${srcdir}/${subdir}/${Makefile_in} ${subdir}/Makefile.tem --- 1056,1069 ---- # Conditionalize the makefile for this package from "Makefile.in" (or whatever it's called) into Makefile.tem. rm -f ${subdir}/${Makefile}.tem ! case "${package_makefile_rules_frag}" in "") cp ${srcdir}/${subdir}/${Makefile_in} ${subdir}/Makefile.tem ;; *) ! if [ ! -f ${package_makefile_rules_frag} ] ; then ! package_makefile_rules_frag=${srcdir}/${package_makefile_rules_frag} fi ! if [ -f ${package_makefile_rules_frag} ] ; then ! sed -e "/^####/ r ${package_makefile_rules_frag}" ${srcdir}/${subdir}/${Makefile_in} > ${Makefile}.tem else ! echo '***' Expected package makefile rules fragment \"${package_makefile_rules_frag}\" 1>&2 echo '***' is missing in ${PWD=`pwd`}. 1>&2 cp ${srcdir}/${subdir}/${Makefile_in} ${subdir}/Makefile.tem *************** EOF *** 1116,1123 **** ;; esac ! # real copy now in ${Makefile} ! ! mv ${Makefile} ${subdir}/Makefile.tem # real copy now in ${subdir}/Makefile.tem --- 1124,1145 ---- ;; esac ! # working copy now in ${Makefile} + # Emit the default values of this package's macros. + rm -f ${subdir}/Makefile.tem + case "${package_makefile_frag}" in + "") mv ${Makefile} ${subdir}/Makefile.tem ;; + *) + if [ ! -f ${package_makefile_frag} ] ; then + package_makefile_frag=${srcdir}/${package_makefile_frag} + fi + if [ -f ${package_makefile_frag} ] ; then + sed -e "/^####/ r ${package_makefile_frag}" ${Makefile} > ${subdir}/Makefile.tem + else + echo '***' Expected package makefile fragment \"${package_makefile_rules_frag}\" 1>&2 + echo '***' is missing in ${PWD=`pwd`}. 1>&2 + mv ${Makefile} ${subdir}/Makefile.tem + fi + esac # real copy now in ${subdir}/Makefile.tem *************** EOF *** 1179,1182 **** --- 1201,1211 ---- else echo gxx_include_dir = ${with_gxx_include_dir} >> ${Makefile} + fi + + # record if we want to build shared libs. + if test -z "${enable_shared}"; then + echo enable_shared = no >> ${Makefile} + else + echo enable_shared = ${enable_shared} >> ${Makefile} fi diff -r -c2 -p -N libstdc++-2.8.0/configure.in libstdc++-2.8.1.1/configure.in *** libstdc++-2.8.0/configure.in Tue Jan 6 23:36:54 1998 --- libstdc++-2.8.1.1/configure.in Tue Feb 24 15:08:43 1998 *************** if [ x${shared} = xyes ]; then *** 279,283 **** ;; *) ! host_makefile_frag="${host_makefile_frag} config/mh-${host_cpu}pic" ;; esac --- 279,285 ---- ;; *) ! if test -f ${srcdir}/config/mh-${host_cpu}pic; then ! host_makefile_frag="${host_makefile_frag} config/mh-${host_cpu}pic" ! fi ;; esac *************** if [ x${shared} = xyes ]; then *** 899,903 **** ;; *) ! target_makefile_frag="${target_makefile_frag} config/mt-${target_cpu}pic" ;; esac --- 901,907 ---- ;; *) ! if test -f ${srcdir}/config/mt-${target_cpu}pic; then ! target_makefile_frag="${target_makefile_frag} config/mt-${target_cpu}pic" ! fi ;; esac diff -r -c2 -p -N libstdc++-2.8.0/libiberty/COPYING.LIB libstdc++-2.8.1.1/libiberty/COPYING.LIB *** libstdc++-2.8.0/libiberty/COPYING.LIB Fri Aug 22 00:57:42 1997 --- libstdc++-2.8.1.1/libiberty/COPYING.LIB Sat Feb 28 11:17:28 1998 *************** *** 3,7 **** Copyright (C) 1991 Free Software Foundation, Inc. ! 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. --- 3,7 ---- Copyright (C) 1991 Free Software Foundation, Inc. ! 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. *************** convey the exclusion of warranty; and ea *** 465,469 **** You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free ! Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. --- 465,470 ---- You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free ! Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, ! MA 02111-1307, USA Also add information on how to contact you by electronic and paper mail. diff -r -c2 -p -N libstdc++-2.8.0/libiberty/ChangeLog libstdc++-2.8.1.1/libiberty/ChangeLog *** libstdc++-2.8.0/libiberty/ChangeLog Tue Jan 6 23:41:47 1998 --- libstdc++-2.8.1.1/libiberty/ChangeLog Thu Mar 19 07:31:58 1998 *************** *** 1,2 **** --- 1,17 ---- + Tue Mar 3 08:26:10 1998 Manfred Hollstein + + * config.table: Make locating frag files failsafe even for the + special case if configuring and building in srcdir. + + Thu Feb 26 17:53:19 1998 Manfred Hollstein + + * config.table: Add ../ if we are configuring inside srcdir. + + Fri Feb 6 01:35:17 1998 Manfred Hollstein + + * Makefile.in (FLAGS_TO_PASS): Don't pass PICFLAG. + (.c.o): Check value of enable_shared, not PICFLAG. + (stamp-picdir): Dito. + Thu Dec 4 17:25:19 1997 Jeffrey A Law (law@cygnus.com) diff -r -c2 -p -N libstdc++-2.8.0/libiberty/Makefile.in libstdc++-2.8.1.1/libiberty/Makefile.in *** libstdc++-2.8.0/libiberty/Makefile.in Tue Jan 6 23:41:48 1998 --- libstdc++-2.8.1.1/libiberty/Makefile.in Tue Feb 24 15:08:43 1998 *************** *** 1,5 **** # # Makefile ! # Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 1997 Free Software Foundation # # This file is part of the libiberty library. --- 1,5 ---- # # Makefile ! # Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 97, 1998 Free Software Foundation # # This file is part of the libiberty library. *************** FLAGS_TO_PASS = \ *** 112,116 **** "LDFLAGS=$(LDFLAGS)" \ "LOADLIBES=$(LOADLIBES)" \ - "PICFLAG=$(PICFLAG)" \ "RANLIB=$(RANLIB)" \ "SHELL=$(SHELL)" --- 112,115 ---- *************** INCDIR=$(srcdir)/$(MULTISRCTOP)../includ *** 133,137 **** COMPILE.c = $(CC) -c $(LIBCFLAGS) -I. -I$(INCDIR) $(HDEFINES) .c.o: ! test -z "$(PICFLAG)" || \ $(COMPILE.c) $(PICFLAG) $< -o pic/$@ $(COMPILE.c) $< --- 132,136 ---- COMPILE.c = $(CC) -c $(LIBCFLAGS) -I. -I$(INCDIR) $(HDEFINES) .c.o: ! test x"$(enable_shared)" != xyes || \ $(COMPILE.c) $(PICFLAG) $< -o pic/$@ $(COMPILE.c) $< *************** $(RULE2): $(REQUIRED_OFILES) $(HOST_OFIL *** 269,273 **** stamp-picdir: ! if [ -n "$(PICFLAG)" ] && [ ! -d pic ]; then \ mkdir pic; \ else true; fi --- 268,272 ---- stamp-picdir: ! if [ x"$(enable_shared)" = xyes ] && [ ! -d pic ]; then \ mkdir pic; \ else true; fi diff -r -c2 -p -N libstdc++-2.8.0/libiberty/config.table libstdc++-2.8.1.1/libiberty/config.table *** libstdc++-2.8.0/libiberty/config.table Tue Jan 6 23:41:49 1998 --- libstdc++-2.8.1.1/libiberty/config.table Thu Mar 19 07:31:58 1998 *************** echo "# Warning: this fragment is automa *** 60,63 **** --- 60,71 ---- for frag in ${frags}; do + case ${frag} in + ../* ) + if [ ${srcdir} = . ]; then + [ -n "${with_target_subdir}" ] && frag=../${frag} + [ -n "${with_multisrctop}" ] && frag=${with_multisrctop}${frag} + fi + ;; + esac frag=${srcdir}/${xsrcdir}config/$frag if [ -f ${frag} ]; then diff -r -c2 -p -N libstdc++-2.8.0/libio/ChangeLog libstdc++-2.8.1.1/libio/ChangeLog *** libstdc++-2.8.0/libio/ChangeLog Tue Jan 6 23:41:52 1998 --- libstdc++-2.8.1.1/libio/ChangeLog Thu Mar 19 12:51:37 1998 *************** *** 1,20 **** ! 1997-12-12 Brendan Kehoe ! Don't make gperf depend upon libg++. ! * config.shared (TOLIBGCXX) [DOING_GPERF]: Delete. ! (LIBS) [DOING_GPERF]: Make it just `-L../libstdc++ -lstdc++'. ! Thu Dec 11 11:20:59 1997 H.J. Lu (hjl@gnu.org) ! * configure.in (target frags): Add *-linux-gnu. ! Fri Dec 5 16:22:15 1997 H.J. Lu (hjl@gnu.org) * streambuf.cc (streambuf::~streambuf): Don't delete _lock for _IO_stdin/_IO_stdout/_IO_stderr. Thu Nov 27 01:32:43 1997 Jeffrey A Law (law@cygnus.com) ! * Makefile.in (install): Change gxx_includedir to gcc_include_dir. * config.shared (gxx_includedir): Remove default definition. * config/linux.mt: Change gxx_includedir to gxx_include_dir. --- 1,171 ---- ! Thu Mar 19 12:51:23 1998 Manfred Hollstein ! * Makefile.in (VERSION): Bump to 2.8.1.1. ! Tue Mar 3 08:26:10 1998 Manfred Hollstein ! * configure.in: Make locating frag files failsafe even for the ! special case if configuring and building in srcdir. ! ! Thu Feb 26 17:53:19 1998 Manfred Hollstein ! ! * configure.in: Add ../ if we are configuring inside srcdir. ! ! 1998-02-22 Andreas Schwab ! ! Changes for _G_IO_IO_FILE_VERSION == 0x20001: ! * libioP.h (_IO_showmanyc_t, _IO_SHOWMANYC, _IO_imbue_t, ! _IO_IMBUE): New definitions. ! (struct _IO_jump_t): Add __showmanyc and __imbue fields. ! (_IO_file_fopen): Add new fourth argument. ! * filebuf.cc (filebuf::open): Pass new fourth argument to ! _IO_file_fopen. ! * iolibio.h (_IO_freopen): Likewise. ! * streambuf.cc (streambuf::showmanyc, streambuf::imbue): New ! functions. ! * streambuf.h (_IO_wchar_t): Define to _G_wchar_t. ! (ios::fill): Remove casts. ! (struct streambuf): Add showmanyc and imbue members. ! ! * iostream.cc (ostream::operator<<(double n)) [__GLIBC_MINOR__ >= ! 1]: Initialize new fields is_char of struct printf_info. ! (ostream::operator<<(long double n)) [__GLIBC_MINOR__ >= 1]: ! Likewise. ! ! Fri Feb 20 11:59:23 1998 Manfred Hollstein ! ! * Makefile.in (VERSION): Bump to 2.8.1. ! ! 1998-02-17 Andreas Schwab (schwab@issan.informatik.uni-dortmund.de) ! ! * iostream.cc (istream::operator>>(long double&)) ! [!_G_HAVE_LONG_DOUBLE_IO]: Scan value into separate variable, in ! case long double is bigger than double. ! (ostream::operator<<(double)) [_G_HAVE_PRINTF_FP]: Fix order of ! initializers of struct printf_info to match declaration order, ! to work around g++ bug. ! (ostream::operator<<(long double)) [_G_HAVE_PRINTF_FP]: Likewise. ! ! * gen-params: Add missing quotes. Avoid useless use of command ! substitution. ! ! Tue Feb 17 21:52:44 1998 H.J. Lu (hjl@gnu.org) ! ! * config/linux.mt (IO_OBJECTS): Add iogetline.o. ! * config/linuxlibc1.mt: Ditto. ! ! * iogetline.c (_IO_getline_info): Renamed from _IO_getline. ! (_IO_getline): Just call _IO_getline_info. ! ! * isgetline.cc (istream::getline, istream::get, _sb_readline): ! Call _IO_getline_info instead of _IO_getline and get the EOF ! information. ! * sbgetline.cc (streambuf::sgetline): Ditto. ! ! * libioP.h (_IO_getline_info): New declaration. ! ! * iogetline.c (_IO_getline): Handle the case when there is no ! buffer. ! ! * filebuf.cc (filebuf::open): Call _IO_file_open if ! _G_HAVE_IO_FILE_OPEN is 1. ! ! * libio.h (_IO_fpos64_t, _IO_off64_t): Defined if ! _G_IO_IO_FILE_VERSION == 0x20001. ! ! * libioP.h (_IO_file_open): New declaration. ! ! * libio.h (_IO_FILE, _IO_stdin_, _IO_stdout_, _IO_stderr_, ! _IO_seekoff, _IO_seekpos): Add support for libio in egcs 2.1. ! * libioP.h (_IO_seekoff_t, _IO_seekpos_t, _IO_seek_t, ! _IO_seekoff, _IO_seekpos, _IO_default_seekoff, ! _IO_default_seekpos, _IO_default_seek, _IO_file_seekoff, ! _IO_file_seek, _IO_str_seekoff, _IO_pos_BAD, _IO_pos_as_off, ! _IO_pos_0): Ditto. ! * streambuf.h (streamoff, streampos): Ditto. ! ! * gen-params (__extension__): Use only if gcc version >= 2.8. ! ! Sun Feb 15 21:11:25 1998 Krister Walfridsson (cato@df.lth.se) ! ! * fileops.c: #include . ! * ioprims.c: Likewise. ! * dbz/dbz.c (putconf): Handle systems which use "long long" as type ! for "off_t". ! * dbz/dbzmain.c (mkfiles): Likewise. ! ! 1998-02-10 Mark Mitchell ! ! * iostream.cc (ostream::operator<<(long double)): Don't use ! labeled initializers. ! ! Fri Feb 6 01:35:56 1998 Manfred Hollstein ! ! * config.shared (FLAGS_TO_PASS): Don't emit PICFLAG. ! (.c.o): Check value of enable_shared, not PICFLAG. ! (.C.o): Dito. ! (.cc.o): Dito. ! (stamp-picdir): Dito. ! ! Tue Jan 27 10:35:22 1998 H.J. Lu (hjl@gnu.org) ! ! * configure.in (topsrcdir): New. ! (CHECK_SUBDIRS, configdirs): Check ${topsrcdir}/gcc instead. ! (config-ml.in): Use ${topsrcdir}/config-ml.in. ! ! * tests/configure.in (topsrcdir): New. ! (CHECK): Check ${topsrcdir}/gcc instead. ! ! Tue Jan 13 21:30:33 1998 H.J. Lu (hjl@gnu.org) ! * configure.in (CHECK_SUBDIRS): Set to testsuite only if ! ${srcdir}/../gcc exists. ! (configdirs): Include testsuite only if ${srcdir}/../gcc exists. ! ! * tests/Makefile.in (check): Depend on $(CHECK). ! ! * tests/configure.in (CHECK): Set to "check-iostream ! check-stdio" if ${srcdir}/../../gcc doesn't exists. ! ! Fri Dec 19 09:35:48 1997 H.J. Lu (hjl@gnu.org) ! ! * configure.in (target frags): Add *-linux-gnu. * streambuf.cc (streambuf::~streambuf): Don't delete _lock for _IO_stdin/_IO_stdout/_IO_stderr. + Wed Jan 28 10:27:11 1998 Manfred Hollstein + + * config.shared (FLAGS_TO_PASS): Add gxx_include_dir. + + * stdio/configure.in, tests/configure.in: Update with yesterday's + toplevel configure.in changes. + * testsuite/configure.in: Likewise. + + * config.shared: Fix typo in yesterday's changes. + + Tue Jan 27 17:48:40 1998 Manfred Hollstein + + * config.shared: Emit everything which needs to be re-definable + via file descriptor 1; the generic stuff is emitted using redirection + onto fd 2. + + * configure.in (package_makefile_rules_frag): New variable + which is used in the call to config.shared; redirect file descriptor 2 + to ${package_makefile_rules_frag}. + + Fri Jan 16 00:48:03 1998 Manfred Hollstein + + * config.shared (FLAGS_TO_PASS): Add SHELL. + + 1997-12-12 Brendan Kehoe + + Don't make gperf depend upon libg++. + * config.shared (TOLIBGCXX) [DOING_GPERF]: Delete. + (LIBS) [DOING_GPERF]: Make it just `-L../libstdc++ -lstdc++'. + Thu Nov 27 01:32:43 1997 Jeffrey A Law (law@cygnus.com) ! * Makefile.in (install): Change gxx_includedir to gxx_include_dir. * config.shared (gxx_includedir): Remove default definition. * config/linux.mt: Change gxx_includedir to gxx_include_dir. *************** Wed Nov 26 16:08:50 1997 Richard Hender *** 40,48 **** (NULL): Work around some linux kernel headers and redefine NULL. - Mon Nov 24 17:04:18 1997 Michael Meissner - - * stdiostream.cc (sys_read): Declare ch with int type, rather than - without a type. - Tue Nov 18 09:53:58 1997 H.J. Lu (hjl@gnu.ai.mit.edu) --- 191,194 ---- *************** Tue Nov 11 01:40:17 1997 Oleg Krivoshee *** 53,69 **** * iomanip.h: Fix guiding decls. - 1997-11-05 Brendan Kehoe - - * libio.h (__P): Name its arg `p' instead of `params'. - Avoids problems with an unchanged Solaris math.h header. - Wed Oct 29 23:01:47 1997 Jason Merrill * gen-params: Override NULL. - 1997-10-27 03:53 Ulrich Drepper - - * stdio-lock.h: Removed. Was never needed. - Wed Oct 22 19:19:32 1997 H.J. Lu (hjl@gnu.ai.mit.edu) --- 199,206 ---- *************** Sun Sep 28 12:04:21 1997 Jason Merrill *** 128,132 **** * libio.h: Don't use _IO_LOCK_T if it's not defined. ! Fri Sep 26 20:56:41 1997 Based on a patch by H.J. Lu (hjl@gnu.ai.mit.edu). --- 265,269 ---- * libio.h: Don't use _IO_LOCK_T if it's not defined. ! Fri Sep 26 20:56:41 1997 Ulrich Drepper Based on a patch by H.J. Lu (hjl@gnu.ai.mit.edu). *************** Fri Sep 26 20:56:41 1997 *** 168,172 **** * tests/tFile.cc (tempfile): Fix a typo. ! 1997-09-19 11:52 Jim Wilson * Makefile.in (LIBIO_OBJECTS): Depend on _G_CONFIG_H. --- 305,309 ---- * tests/tFile.cc (tempfile): Fix a typo. ! Fri Sep 19 11:52:25 1997 Jim Wilson * Makefile.in (LIBIO_OBJECTS): Depend on _G_CONFIG_H. *************** Fri Sep 26 20:56:41 1997 *** 181,184 **** --- 318,322 ---- * libioP.h: Define __set_errno if not already defined. + * fileops.c: Don't try to define __set_errno, it's already defined. 1997-09-15 02:37 Ulrich Drepper *************** Sat Apr 26 13:38:21 1997 Bob Manson ! * configure.in: Enable multilibing by default. Update multilib template to read config-ml.in. --- 644,653 ---- * testsuite/configure.in: * testsuite/lib/libio.exp: ! * testsuite/config/default.exp: New files for DejaGnu-style testsuite. ! Fri Apr 4 03:16:44 1997 Ulrich Drepper ! * configure.in: Enable multilibing by default. Update multilib template to read config-ml.in. *************** Tue May 14 11:47:21 1996 Per Bothner < *** 615,619 **** ios::init here. (other constructors): Simplify - init already called. ! Tue May 14 10:55:21 1996 Per Bothner --- 753,757 ---- ios::init here. (other constructors): Simplify - init already called. ! Tue May 14 10:55:21 1996 Per Bothner *************** Tue May 14 10:55:21 1996 Per Bothner < *** 626,635 **** * iostdio.h (remove, rename, tmpfile, tempnam): Comment out. ! Mon May 13 23:19:39 1996 Per Bothner * fileops.c (_IO_file_close_it): Just call _IO_do_flush rather than _IO_file_sync, to avoid useless lseek. ! Tue May 14 10:48:48 1996 Jason Merrill --- 764,773 ---- * iostdio.h (remove, rename, tmpfile, tempnam): Comment out. ! Mon May 13 23:19:39 1996 Per Bothner * fileops.c (_IO_file_close_it): Just call _IO_do_flush rather than _IO_file_sync, to avoid useless lseek. ! Tue May 14 10:48:48 1996 Jason Merrill *************** Tue Feb 27 18:08:16 1996 Per Bothner < *** 705,709 **** * streambuf.h (ios): Add ios::binary; deprecate ios::bin. * filebuf.cc (filebuf::open): Handle ios::binary. ! Fri Feb 9 12:40:19 1996 Brendan Kehoe --- 843,847 ---- * streambuf.h (ios): Add ios::binary; deprecate ios::bin. * filebuf.cc (filebuf::open): Handle ios::binary. ! Fri Feb 9 12:40:19 1996 Brendan Kehoe *************** Wed Oct 25 11:14:25 1995 Per Bothner < *** 838,842 **** * libioP.h (_IO_seekoff, _IO_seekpos): Remove declarations. * libioP.h: Cleanup; remove old !_IO_UNIFIED_JUMPTABLES stuff. ! * filebuf.cc (filebuf::~filebuf): Only call SYSYCLOSE if currently open. Bug found by Martin Gerbershagen . --- 976,980 ---- * libioP.h (_IO_seekoff, _IO_seekpos): Remove declarations. * libioP.h: Cleanup; remove old !_IO_UNIFIED_JUMPTABLES stuff. ! * filebuf.cc (filebuf::~filebuf): Only call SYSYCLOSE if currently open. Bug found by Martin Gerbershagen . *************** Fri Aug 4 23:21:17 1995 Paul Eggert < *** 906,910 **** e.g. `typedef void *__gnuc_va_list;' as in Linux. Also, not require a space in the definiens, e.g. `typedef void*foo;'. ! Thu Aug 3 17:54:15 1995 Per Bothner --- 1044,1048 ---- e.g. `typedef void *__gnuc_va_list;' as in Linux. Also, not require a space in the definiens, e.g. `typedef void*foo;'. ! Thu Aug 3 17:54:15 1995 Per Bothner *************** Fri Feb 11 11:08:01 1994 SBPM Marc GING *** 1685,1689 **** hp->_IO_file_flags = _IO_MAGIC|(_IO_IS_FILEBUF+_IO_NO_READS); [This is needed because _IO_vfprintf checks for _IO_UNBUFFERED. -PB] ! [Actually: don't set _IO_IS_FILEBUF. -PB] Wed Jun 22 13:49:22 1994 Per Bothner (bothner@kalessin.cygnus.com) --- 1823,1827 ---- hp->_IO_file_flags = _IO_MAGIC|(_IO_IS_FILEBUF+_IO_NO_READS); [This is needed because _IO_vfprintf checks for _IO_UNBUFFERED. -PB] ! [Actually: don't set _IO_IS_FILEBUF. -PB] Wed Jun 22 13:49:22 1994 Per Bothner (bothner@kalessin.cygnus.com) *************** Wed Nov 3 10:20:49 1993 Per Bothner ( *** 2165,2169 **** _IO_write_ptr, _IO_write_end). * libio.h: Remove the old macros (which fixes a conflict. ! Mon Nov 1 15:22:12 1993 Per Bothner (bothner@kalessin.cygnus.com) --- 2303,2307 ---- _IO_write_ptr, _IO_write_end). * libio.h: Remove the old macros (which fixes a conflict. ! Mon Nov 1 15:22:12 1993 Per Bothner (bothner@kalessin.cygnus.com) *************** Thu Oct 21 19:24:02 1993 Per Bothner ( *** 2208,2212 **** Wed Oct 20 15:22:04 1993 Per Bothner (bothner@kalessin.cygnus.com) ! * streambuf.h (streambuf::underflow, streambuf::overflow): Don't make virtual functions pure. * streambuf.cc (streambuf::underflow, streambuf::overflow): --- 2346,2350 ---- Wed Oct 20 15:22:04 1993 Per Bothner (bothner@kalessin.cygnus.com) ! * streambuf.h (streambuf::underflow, streambuf::overflow): Don't make virtual functions pure. * streambuf.cc (streambuf::underflow, streambuf::overflow): *************** Mon Sep 27 14:04:47 1993 Per Bothner ( *** 2290,2294 **** * streambuf.h (ios::unsetf): Return complete old value of flags. * iogets.c (_IO_gets(), ioungetc.c (_IO_ungetc), ioperror.c ! (_IO_perror), iostrerror.c (_IO_strerror): New files and functions, for stdio implementation. * iostdio.h: Add declarations for various recently-added functions. --- 2428,2432 ---- * streambuf.h (ios::unsetf): Return complete old value of flags. * iogets.c (_IO_gets(), ioungetc.c (_IO_ungetc), ioperror.c ! (_IO_perror), iostrerror.c (_IO_strerror): New files and functions, for stdio implementation. * iostdio.h: Add declarations for various recently-added functions. *************** Wed Aug 18 19:34:04 1993 david d `zoo' *** 2356,2360 **** * Makefile.in (install): don't use $TARGETLIB, set INSTALLDIR to ! $(libdir) Wed Aug 18 12:10:03 1993 Per Bothner (bothner@kalessin.cygnus.com) --- 2494,2498 ---- * Makefile.in (install): don't use $TARGETLIB, set INSTALLDIR to ! $(libdir) Wed Aug 18 12:10:03 1993 Per Bothner (bothner@kalessin.cygnus.com) *************** Tue Aug 17 17:34:24 1993 Per Bothner ( *** 2372,2373 **** --- 2510,2513 ---- New directory. Based on old libg++/iostream code, but extensively re-written. + + diff -r -c2 -p -N libstdc++-2.8.0/libio/Makefile.in libstdc++-2.8.1.1/libio/Makefile.in *** libstdc++-2.8.0/libio/Makefile.in Tue Jan 6 23:41:53 1998 --- libstdc++-2.8.1.1/libio/Makefile.in Thu Mar 19 12:51:56 1998 *************** *** 1,3 **** ! # Copyright (C) 1993, 1995 Free Software Foundation # # This file is part of the GNU IO Library. This library is free --- 1,3 ---- ! # Copyright (C) 1993, 1995, 1998 Free Software Foundation # # This file is part of the GNU IO Library. This library is free *************** *** 18,22 **** srcdir = . ! VERSION = 2.8.0 # The config file (overriden by Linux). _G_CONFIG_H=_G_config.h --- 18,22 ---- srcdir = . ! VERSION = 2.8.1.1 # The config file (overriden by Linux). _G_CONFIG_H=_G_config.h diff -r -c2 -p -N libstdc++-2.8.0/libio/README libstdc++-2.8.1.1/libio/README *** libstdc++-2.8.0/libio/README Fri Aug 22 00:58:14 1997 --- libstdc++-2.8.1.1/libio/README Thu Mar 19 07:52:47 1998 *************** The library can be configured to build t *** 7,11 **** that is part of a C run-time library. ! This library is distributed with libg++; see ../libg++/README for installation instructions, and where to send bug reports and questions. --- 7,11 ---- that is part of a C run-time library. ! This library is distributed with libstdc++; see ../INSTALL for installation instructions, and where to send bug reports and questions. diff -r -c2 -p -N libstdc++-2.8.0/libio/config/linux.mt libstdc++-2.8.1.1/libio/config/linux.mt *** libstdc++-2.8.0/libio/config/linux.mt Tue Jan 6 23:41:57 1998 --- libstdc++-2.8.1.1/libio/config/linux.mt Tue Feb 24 15:08:44 1998 *************** LIBIO_INCLUDE= *** 17,21 **** # We have those in libc.a. ! IO_OBJECTS= STDIO_WRAP_OBJECTS= OSPRIM_OBJECTS= --- 17,21 ---- # We have those in libc.a. ! IO_OBJECTS= iogetline.o STDIO_WRAP_OBJECTS= OSPRIM_OBJECTS= diff -r -c2 -p -N libstdc++-2.8.0/libio/config/linuxlibc1.mt libstdc++-2.8.1.1/libio/config/linuxlibc1.mt *** libstdc++-2.8.0/libio/config/linuxlibc1.mt Tue Jan 6 23:41:58 1998 --- libstdc++-2.8.1.1/libio/config/linuxlibc1.mt Tue Feb 24 15:08:44 1998 *************** LIBIO_INCLUDE= *** 12,16 **** IO_OBJECTS=iogetc.o ioputc.o iofeof.o ioferror.o \ filedoalloc.o fileops.o genops.o iofclose.o \ ! iovsprintf.o iovsscanf.o strops.o STDIO_WRAP_OBJECTS= OSPRIM_OBJECTS= --- 12,16 ---- IO_OBJECTS=iogetc.o ioputc.o iofeof.o ioferror.o \ filedoalloc.o fileops.o genops.o iofclose.o \ ! iovsprintf.o iovsscanf.o strops.o iogetline.o STDIO_WRAP_OBJECTS= OSPRIM_OBJECTS= diff -r -c2 -p -N libstdc++-2.8.0/libio/config.shared libstdc++-2.8.1.1/libio/config.shared *** libstdc++-2.8.0/libio/config.shared Tue Jan 6 23:41:53 1998 --- libstdc++-2.8.1.1/libio/config.shared Tue Feb 24 15:08:44 1998 *************** *** 1,3 **** ! # Copyright (C) 1993, 1995, 1997 Free Software Foundation # # This file is part of the GNU IO Library. This library is free --- 1,3 ---- ! # Copyright (C) 1993, 1995, 1997, 1998 Free Software Foundation # # This file is part of the GNU IO Library. This library is free *************** *** 16,19 **** --- 16,23 ---- # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + # File descriptor usage: + # 1: All macros which need to be re-definable by any target fragments + # 2: All generic rules; especially those which use re-defined macros, e.g. _G_CONFIG_H! + # Significant variables: *************** THIS_FILE="${srcdir}/${TOLIBGXX}config.s *** 34,37 **** --- 38,43 ---- echo "# Start of package fragment generated by ${THIS_FILE}." echo "" + echo >&2 "# Start of package rules fragment generated by ${THIS_FILE}." + echo >&2 "" # Multilib support. *************** fi *** 176,279 **** ALL='$(PICDIR)'" ${ALL}" ! echo "all: ${ALL} multi-all" if [ "${SUBDIRS}" != "" ] ; then ! echo ' @rootme=`pwd`/; export rootme; \' ! echo ' $(MAKE) "DODIRS=$(SUBDIRS)" DO=all $(FLAGS_TO_PASS) subdir_do' fi ! echo '.PHONY: all' ! echo '' ! echo '.PHONY: multi-all' ! echo 'multi-all:' ! echo ' @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all' ! echo '' ! echo if [ "${SUBDIRS}" != "" ] ; then ! echo '.PHONY: subdir_do' ! echo 'subdir_do: force' ! echo ' @rootme=`pwd`/; export rootme; \' ! echo ' for i in $(DODIRS); do \' ! echo ' if [ -f ./$$i/Makefile ] ; then \' ! echo ' echo "cd $$i; make $(DO) ..." ; \' ! echo ' (cd $$i ; $(MAKE) $(FLAGS_TO_PASS) $(DO)) || exit 1 ; \' ! echo ' else true ; fi ; \' ! echo ' done' ! echo '' ! echo '# List of variables to pass to sub-makes. This should not be needed' ! echo '# by GNU make or Sun make (both of which pass command-line variable' ! echo '# overrides thouh $(MAKE)) but may be needed by older versions.' ! echo '' ! echo 'FLAGS_TO_PASS= \' ! echo ' "INSTALL=$(INSTALL)" \' ! echo ' "INSTALL_DATA=$(INSTALL_DATA)" \' ! echo ' "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \' ! echo ' "prefix=$(prefix)" \' ! echo ' "exec_prefix=$(exec_prefix)" \' ! echo ' "tooldir=$(tooldir)" \' ! echo ' "AR=$(AR)" \' ! echo ' "AR_FLAGS=$(AR_FLAGS)" \' ! echo ' "CC=$(CC)" \' ! echo ' "CXX=$(CXX)" \' ! echo ' "CFLAGS=$(CFLAGS)" \' ! echo ' "CXXFLAGS=$(CXXFLAGS)" \' ! echo ' "NM=$(NM)" \' ! echo ' "RANLIB=$(RANLIB)" \' ! echo ' "LIBCFLAGS=$(LIBCFLAGS)" \' ! echo ' "LIBCXXFLAGS=$(LIBCXXFLAGS)" \' ! echo ' "LOADLIBES=$(LOADLIBES)" \' ! echo ' "LDFLAGS=$(LDFLAGS)" \' ! echo ' "MAKEINFO=$(MAKEINFO)" \' ! echo ' "SHLIB=$(SHLIB)" \' ! echo ' "SHCURSES=$(SHCURSES)" \' ! echo ' "PICFLAG=$(PICFLAG)" \' ! echo ' "RUNTESTFLAGS=$(RUNTESTFLAGS)"' fi ! echo 'NOSTDINC = -nostdinc++' if test -n "${XCXXINCLUDES}" ; then ! echo "CXXINCLUDES = ${XCXXINCLUDES} "'$(NOSTDINC)' elif test "${DOING_LIBGXX}" = "true" ; then ! echo 'CXXINCLUDES = $(NOSTDINC) -I. -I'"${TO_TOPDIR}libio"' -I$(srcdir) -I$(srcdir)/'"${TOLIBGXX}"'$(IO_DIR) -I$(srcdir)/'"${TOLIBGXX}"'../libstdc++ -I$(srcdir)/'"${TOLIBGXX}src"' $(WRAP_C_INCLUDES)' fi if test -n "${XCINCLUDES}" ; then ! echo "CINCLUDES = ${XCINCLUDES}" elif test "${DOING_LIBGXX}" = "true" ; then ! echo 'CINCLUDES =' fi if [ "${LIBDIR}" = "yes" ]; then ! echo 'XCFLAGS = $(LIBCFLAGS)' ! echo 'XCXXFLAGS = $(LIBCXXFLAGS)' else ! echo 'XCFLAGS = $(CFLAGS)' ! echo 'XCXXFLAGS = $(CXXFLAGS)' fi ! echo '.SUFFIXES: .o .C .cc .c' ! echo 'COMPILE.c = $(CC) -c $(XCFLAGS) $(CINCLUDES) $(MT_CFLAGS)' ! echo '.c.o:' if [ "${LIBDIR}" = "yes" ]; then ! echo ' test -z "$(PICFLAG)" ||\' ! echo ' $(COMPILE.c) $(PICFLAG) $< -o pic/$@' fi ! echo ' $(COMPILE.c) $<' ! [ "${TOUCH_ON_COMPILE}" = "yes" ] && echo ' @touch stamp' ! echo 'COMPILE.cc = $(CXX) -c $(XCXXFLAGS) $(CXXINCLUDES) $(MT_CFLAGS)' ! echo '.C.o:' if [ "${LIBDIR}" = "yes" ]; then ! echo ' test -z "$(PICFLAG)" ||\' ! echo ' $(COMPILE.cc) $(PICFLAG) $< -o pic/$@' fi ! echo ' $(COMPILE.cc) $<' ! [ "${TOUCH_ON_COMPILE}" = "yes" ] && echo ' @touch stamp' ! echo '.cc.o:' if [ "${LIBDIR}" = "yes" ]; then ! echo ' test -z "$(PICFLAG)" || \' ! echo ' $(COMPILE.cc) $(PICFLAG) $< -o pic/$@' fi ! echo ' $(COMPILE.cc) $<' ! [ "${TOUCH_ON_COMPILE}" = "yes" ] && echo ' @touch stamp' ! echo '' if [ -n "${TARGETLIB}" ] ; then --- 182,286 ---- ALL='$(PICDIR)'" ${ALL}" ! echo >&2 "all: ${ALL} multi-all" if [ "${SUBDIRS}" != "" ] ; then ! echo >&2 ' @rootme=`pwd`/; export rootme; \' ! echo >&2 ' $(MAKE) "DODIRS=$(SUBDIRS)" DO=all $(FLAGS_TO_PASS) subdir_do' fi ! echo >&2 '.PHONY: all' ! echo >&2 '' ! echo >&2 '.PHONY: multi-all' ! echo >&2 'multi-all:' ! echo >&2 ' @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all' ! echo >&2 '' ! echo >&2 if [ "${SUBDIRS}" != "" ] ; then ! echo >&2 '.PHONY: subdir_do' ! echo >&2 'subdir_do: force' ! echo >&2 ' @rootme=`pwd`/; export rootme; \' ! echo >&2 ' for i in $(DODIRS); do \' ! echo >&2 ' if [ -f ./$$i/Makefile ] ; then \' ! echo >&2 ' echo "cd $$i; make $(DO) ..." ; \' ! echo >&2 ' (cd $$i ; $(MAKE) $(FLAGS_TO_PASS) $(DO)) || exit 1 ; \' ! echo >&2 ' else true ; fi ; \' ! echo >&2 ' done' ! echo >&2 '' ! echo >&2 '# List of variables to pass to sub-makes. This should not be needed' ! echo >&2 '# by GNU make or Sun make (both of which pass command-line variable' ! echo >&2 '# overrides thouh $(MAKE)) but may be needed by older versions.' ! echo >&2 '' ! echo >&2 'FLAGS_TO_PASS= \' ! echo >&2 ' "SHELL=$(SHELL)" \' ! echo >&2 ' "INSTALL=$(INSTALL)" \' ! echo >&2 ' "INSTALL_DATA=$(INSTALL_DATA)" \' ! echo >&2 ' "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \' ! echo >&2 ' "prefix=$(prefix)" \' ! echo >&2 ' "exec_prefix=$(exec_prefix)" \' ! echo >&2 ' "tooldir=$(tooldir)" \' ! echo >&2 ' "gxx_include_dir=$(gxx_include_dir)" \' ! echo >&2 ' "AR=$(AR)" \' ! echo >&2 ' "AR_FLAGS=$(AR_FLAGS)" \' ! echo >&2 ' "CC=$(CC)" \' ! echo >&2 ' "CXX=$(CXX)" \' ! echo >&2 ' "CFLAGS=$(CFLAGS)" \' ! echo >&2 ' "CXXFLAGS=$(CXXFLAGS)" \' ! echo >&2 ' "NM=$(NM)" \' ! echo >&2 ' "RANLIB=$(RANLIB)" \' ! echo >&2 ' "LIBCFLAGS=$(LIBCFLAGS)" \' ! echo >&2 ' "LIBCXXFLAGS=$(LIBCXXFLAGS)" \' ! echo >&2 ' "LOADLIBES=$(LOADLIBES)" \' ! echo >&2 ' "LDFLAGS=$(LDFLAGS)" \' ! echo >&2 ' "MAKEINFO=$(MAKEINFO)" \' ! echo >&2 ' "SHLIB=$(SHLIB)" \' ! echo >&2 ' "SHCURSES=$(SHCURSES)" \' ! echo >&2 ' "RUNTESTFLAGS=$(RUNTESTFLAGS)"' fi ! echo >&2 'NOSTDINC = -nostdinc++' if test -n "${XCXXINCLUDES}" ; then ! echo >&2 "CXXINCLUDES = ${XCXXINCLUDES} "'$(NOSTDINC)' elif test "${DOING_LIBGXX}" = "true" ; then ! echo >&2 'CXXINCLUDES = $(NOSTDINC) -I. -I'"${TO_TOPDIR}libio"' -I$(srcdir) -I$(srcdir)/'"${TOLIBGXX}"'$(IO_DIR) -I$(srcdir)/'"${TOLIBGXX}"'../libstdc++ -I$(srcdir)/'"${TOLIBGXX}src"' $(WRAP_C_INCLUDES)' fi if test -n "${XCINCLUDES}" ; then ! echo >&2 "CINCLUDES = ${XCINCLUDES}" elif test "${DOING_LIBGXX}" = "true" ; then ! echo >&2 'CINCLUDES =' fi if [ "${LIBDIR}" = "yes" ]; then ! echo >&2 'XCFLAGS = $(LIBCFLAGS)' ! echo >&2 'XCXXFLAGS = $(LIBCXXFLAGS)' else ! echo >&2 'XCFLAGS = $(CFLAGS)' ! echo >&2 'XCXXFLAGS = $(CXXFLAGS)' fi ! echo >&2 '.SUFFIXES: .o .C .cc .c' ! echo >&2 'COMPILE.c = $(CC) -c $(XCFLAGS) $(CINCLUDES) $(MT_CFLAGS)' ! echo >&2 '.c.o:' if [ "${LIBDIR}" = "yes" ]; then ! echo >&2 ' test x"$(enable_shared)" != xyes ||\' ! echo >&2 ' $(COMPILE.c) $(PICFLAG) $< -o pic/$@' fi ! echo >&2 ' $(COMPILE.c) $<' ! [ "${TOUCH_ON_COMPILE}" = "yes" ] && echo >&2 ' @touch stamp' ! echo >&2 'COMPILE.cc = $(CXX) -c $(XCXXFLAGS) $(CXXINCLUDES) $(MT_CFLAGS)' ! echo >&2 '.C.o:' if [ "${LIBDIR}" = "yes" ]; then ! echo >&2 ' test x"$(enable_shared)" != xyes ||\' ! echo >&2 ' $(COMPILE.cc) $(PICFLAG) $< -o pic/$@' fi ! echo >&2 ' $(COMPILE.cc) $<' ! [ "${TOUCH_ON_COMPILE}" = "yes" ] && echo >&2 ' @touch stamp' ! echo >&2 '.cc.o:' if [ "${LIBDIR}" = "yes" ]; then ! echo >&2 ' test x"$(enable_shared)" != xyes || \' ! echo >&2 ' $(COMPILE.cc) $(PICFLAG) $< -o pic/$@' fi ! echo >&2 ' $(COMPILE.cc) $<' ! [ "${TOUCH_ON_COMPILE}" = "yes" ] && echo >&2 ' @touch stamp' ! echo >&2 '' if [ -n "${TARGETLIB}" ] ; then *************** fi *** 285,308 **** if [ "${LIBDIR}" = "yes" ]; then ! echo '' ! echo 'stamp-picdir:' ! echo ' if [ -n "$(PICFLAG)" ] && [ ! -d pic ]; then \' ! echo ' mkdir pic; \' ! echo ' else true; fi' ! echo ' touch stamp-picdir' fi ! echo '' ! echo '.PHONY: install' ! echo 'install:' ! echo '.PHONY: check' if [ "${CHECK}" != "check" ] ; then ! echo "check: ${ALL} ${CHECK}" if [ "${CHECK_SUBDIRS}" != "" ] ; then ! echo ' rootme=`pwd`/; export rootme; \' ! echo ' SAVE_LLPATH="$${SAVE_LLPATH-$$LD_LIBRARY_PATH}"; export SAVE_LLPATH; \' ! echo ' LD_LIBRARY_PATH="$${rootme}${TOLIBGXX}../libstdc++:$${rootme}${TOLIBGXX}../libg++:$$SAVE_LLPATH"; \' ! echo ' export LD_LIBRARY_PATH; \' ! echo ' $(MAKE) "DODIRS=$(CHECK_SUBDIRS)" DO=check $(FLAGS_TO_PASS) subdir_do' fi fi --- 292,315 ---- if [ "${LIBDIR}" = "yes" ]; then ! echo >&2 '' ! echo >&2 'stamp-picdir:' ! echo >&2 ' if [ x"$(enable_shared)" = xyes ] && [ ! -d pic ]; then \' ! echo >&2 ' mkdir pic; \' ! echo >&2 ' else true; fi' ! echo >&2 ' touch stamp-picdir' fi ! echo >&2 '' ! echo >&2 '.PHONY: install' ! echo >&2 'install:' ! echo >&2 '.PHONY: check' if [ "${CHECK}" != "check" ] ; then ! echo >&2 "check: ${ALL} ${CHECK}" if [ "${CHECK_SUBDIRS}" != "" ] ; then ! echo >&2 ' rootme=`pwd`/; export rootme; \' ! echo >&2 ' SAVE_LLPATH="$${SAVE_LLPATH-$$LD_LIBRARY_PATH}"; export SAVE_LLPATH; \' ! echo >&2 ' LD_LIBRARY_PATH="$${rootme}${TOLIBGXX}../libstdc++:$${rootme}${TOLIBGXX}../libg++:$$SAVE_LLPATH"; \' ! echo >&2 ' export LD_LIBRARY_PATH; \' ! echo >&2 ' $(MAKE) "DODIRS=$(CHECK_SUBDIRS)" DO=check $(FLAGS_TO_PASS) subdir_do' fi fi *************** fi *** 310,314 **** # Generate rules for documentation (depending on INFO_FILES and INFO_SUBDIRS). ! echo '.PHONY: info dvi install-info clean-info' # emit the rule for 'info' --- 317,321 ---- # Generate rules for documentation (depending on INFO_FILES and INFO_SUBDIRS). ! echo >&2 '.PHONY: info dvi install-info clean-info' # emit the rule for 'info' *************** echo '.PHONY: info dvi install-info clea *** 316,325 **** # a release (in "make taz"), so don't break that!) if [ -z "${INFO_FILES}" ] ; then ! echo 'info:' else ! echo info: `for file in ${INFO_FILES} ; do echo $file.info ; done` fi if [ "${INFO_SUBDIRS}" != "" ] ; then ! echo ' @rootme=`pwd`/; export rootme; \ $(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=info $(FLAGS_TO_PASS) subdir_do' fi --- 323,332 ---- # a release (in "make taz"), so don't break that!) if [ -z "${INFO_FILES}" ] ; then ! echo >&2 'info:' else ! echo >&2 info: `for file in ${INFO_FILES} ; do echo $file.info ; done` fi if [ "${INFO_SUBDIRS}" != "" ] ; then ! echo >&2 ' @rootme=`pwd`/; export rootme; \ $(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=info $(FLAGS_TO_PASS) subdir_do' fi *************** fi *** 327,336 **** # emit the rule for 'dvi' if [ -z "${INFO_FILES}" ] ; then ! echo 'dvi:' else ! echo dvi: `for file in ${INFO_FILES} ; do echo $file.dvi ; done` fi if [ "${INFO_SUBDIRS}" != "" ] ; then ! echo ' @rootme=`pwd`/; export rootme; \ $(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=dvi $(FLAGS_TO_PASS) subdir_do' fi --- 334,343 ---- # emit the rule for 'dvi' if [ -z "${INFO_FILES}" ] ; then ! echo >&2 'dvi:' else ! echo >&2 dvi: `for file in ${INFO_FILES} ; do echo $file.dvi ; done` fi if [ "${INFO_SUBDIRS}" != "" ] ; then ! echo >&2 ' @rootme=`pwd`/; export rootme; \ $(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=dvi $(FLAGS_TO_PASS) subdir_do' fi *************** fi *** 338,393 **** # Emit rules for each *.info and *.dvi file for file in ${INFO_FILES} ; do ! echo ${file}.info: '$(srcdir)'/${file}.texi ! echo ' $(MAKEINFO) -I$(srcdir) -I$(TEXIDIR) $(srcdir)/'${file}.texi -o ${file}.info ! echo ${file}.dvi: '$(srcdir)'/${file}.texi ! echo ' $(TEXI2DVI) $(srcdir)'/${file}.texi ! echo "${file}.ps: ${file}.dvi" ! echo " dvips ${file} -o" done # emit the rule for install-info ! echo 'install-info:' if [ -n "${INFO_FILES}" ] ; then ! echo ' -parent=`echo $(infodir)|sed -e' "'"'s@/[^/]*$$@@'"'"'`; \' ! echo ' if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi' ! echo ' -if [ -d $(infodir) ] ; then true ; else mkdir $(infodir) ; fi' ! echo ' for i in *.info* ; do \' ! echo ' $(INSTALL_DATA) $$i $(infodir)/$$i ; \' ! echo ' done' fi if [ "${INFO_SUBDIRS}" != "" ] ; then ! echo ' @rootme=`pwd`/; export rootme; \ $(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=install-info $(FLAGS_TO_PASS) subdir_do' fi # emit clean-info and clean-dvi rules ! echo '.PHONY: do-clean-info clean-info do-clean-dvi clean-dvi' ! echo do-clean-info: if [ -n "${INFO_FILES}" ] ; then ! echo ' rm -f *.info*' fi ! echo 'do-clean-dvi:' if [ -n "${INFO_FILES}" ] ; then ! echo ' rm -f *.dvi *.aux *.cp *.cps *.fn* *.ky *.log *.pg *.toc *.tp *.vr' fi for type in info dvi ; do ! echo clean-${type}: do-clean-${type} if [ "${INFO_SUBDIRS}" != "" ] ; then ! echo ' @rootme=`pwd`/; export rootme; \ $(MAKE) "DODIRS='${NFO_SUBDIRS}'" DO=clean-'${type} '$(FLAGS_TO_PASS) subdir_do' fi done ! echo '' ! echo '.PHONY: boltcc' ! echo 'boltcc:' ! echo ' rootme=`pwd`/ ; export rootme ; $(MAKE) $(FLAGS_TO_PASS)' ! echo '' # Emit clean rules ! echo '' ! echo '# clean rules' MOSTLYCLEAN="${MOSTLYCLEAN-*.o pic stamp-picdir core ${EXTRA_MOSTLYCLEAN}} `if test -n "${TOUCH_ON_COMPILE}"; then echo stamp; else true; fi`" --- 345,400 ---- # Emit rules for each *.info and *.dvi file for file in ${INFO_FILES} ; do ! echo >&2 ${file}.info: '$(srcdir)'/${file}.texi ! echo >&2 ' $(MAKEINFO) -I$(srcdir) -I$(TEXIDIR) $(srcdir)/'${file}.texi -o ${file}.info ! echo >&2 ${file}.dvi: '$(srcdir)'/${file}.texi ! echo >&2 ' $(TEXI2DVI) $(srcdir)'/${file}.texi ! echo >&2 "${file}.ps: ${file}.dvi" ! echo >&2 " dvips ${file} -o" done # emit the rule for install-info ! echo >&2 'install-info:' if [ -n "${INFO_FILES}" ] ; then ! echo >&2 ' -parent=`echo $(infodir)|sed -e' "'"'s@/[^/]*$$@@'"'"'`; \' ! echo >&2 ' if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi' ! echo >&2 ' -if [ -d $(infodir) ] ; then true ; else mkdir $(infodir) ; fi' ! echo >&2 ' for i in *.info* ; do \' ! echo >&2 ' $(INSTALL_DATA) $$i $(infodir)/$$i ; \' ! echo >&2 ' done' fi if [ "${INFO_SUBDIRS}" != "" ] ; then ! echo >&2 ' @rootme=`pwd`/; export rootme; \ $(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=install-info $(FLAGS_TO_PASS) subdir_do' fi # emit clean-info and clean-dvi rules ! echo >&2 '.PHONY: do-clean-info clean-info do-clean-dvi clean-dvi' ! echo >&2 do-clean-info: if [ -n "${INFO_FILES}" ] ; then ! echo >&2 ' rm -f *.info*' fi ! echo >&2 'do-clean-dvi:' if [ -n "${INFO_FILES}" ] ; then ! echo >&2 ' rm -f *.dvi *.aux *.cp *.cps *.fn* *.ky *.log *.pg *.toc *.tp *.vr' fi for type in info dvi ; do ! echo >&2 clean-${type}: do-clean-${type} if [ "${INFO_SUBDIRS}" != "" ] ; then ! echo >&2 ' @rootme=`pwd`/; export rootme; \ $(MAKE) "DODIRS='${NFO_SUBDIRS}'" DO=clean-'${type} '$(FLAGS_TO_PASS) subdir_do' fi done ! echo >&2 '' ! echo >&2 '.PHONY: boltcc' ! echo >&2 'boltcc:' ! echo >&2 ' rootme=`pwd`/ ; export rootme ; $(MAKE) $(FLAGS_TO_PASS)' ! echo >&2 '' # Emit clean rules ! echo >&2 '' ! echo >&2 '# clean rules' MOSTLYCLEAN="${MOSTLYCLEAN-*.o pic stamp-picdir core ${EXTRA_MOSTLYCLEAN}} `if test -n "${TOUCH_ON_COMPILE}"; then echo stamp; else true; fi`" *************** REALCLEAN="${REALCLEAN-depend *.info*}" *** 397,451 **** ! echo '.PHONY: mostlyclean clean distclean maintainer-clean realclean' if test -z "${SUBDIRS}" ; then ! echo "mostlyclean: clean-dvi" ! echo " rm -rf ${MOSTLYCLEAN}" ! echo ' @$(MULTICLEAN) multi-clean DO=mostlyclean' ! echo "clean: clean-dvi" ! echo " rm -rf ${MOSTLYCLEAN} ${CLEAN}" ! echo ' @$(MULTICLEAN) multi-clean DO=clean' ! echo "distclean: clean" ! echo ' @$(MULTICLEAN) multi-clean DO=distclean' ! echo " rm -rf ${DISTCLEAN}" ! echo "maintainer-clean realclean: clean clean-info" ! echo ' @$(MULTICLEAN) multi-clean DO=maintainer-clean' ! echo " rm -rf ${DISTCLEAN} ${REALCLEAN}" else ! echo '.PHONY: do-clean subdir_distclean subdir_maintainer_clean' ! echo "mostlyclean: do-clean-dvi" ! echo " rm -rf ${MOSTLYCLEAN}" ! echo ' @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=mostlyclean subdir_do' ! echo ' @$(MULTICLEAN) multi-clean DO=mostlyclean' ! echo "do-clean: do-clean-dvi" ! echo " rm -rf ${MOSTLYCLEAN} ${CLEAN}" ! echo "clean: do-clean" ! echo ' @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=clean subdir_do' ! echo ' @$(MULTICLEAN) multi-clean DO=clean' # distclean and maintainer-clean are tricky because they remove the Makefile. ! echo "subdir_distclean:" ! echo ' @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=distclean subdir_do' ! echo "distclean: do-clean subdir_distclean" ! echo ' @$(MULTICLEAN) multi-clean DO=distclean' ! echo " rm -rf ${DISTCLEAN}" ! echo "subdir_maintainer_clean:" ! echo ' @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=maintainer-clean subdir_do' ! echo "maintainer-clean realclean: do-clean subdir_maintainer_clean do-clean-info" ! echo ' @$(MULTICLEAN) multi-clean DO=maintainer-clean' ! echo " rm -rf ${DISTCLEAN} ${REALCLEAN}" ! fi ! ! echo '' ! echo '.PHONY: force' ! echo 'force:' ! echo '' ! echo '# with the gnu make, this is done automatically.' ! echo '' ! echo 'Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag)' ! echo ' $(SHELL) ./config.status' ! echo '' ! echo '.NOEXPORT:' ! echo 'MAKEOVERRIDES=' ! cat <<"EOF" DEPEND_SOURCES = ${srcdir}/*.cc ${srcdir}/*.c depend.new: --- 404,458 ---- ! echo >&2 '.PHONY: mostlyclean clean distclean maintainer-clean realclean' if test -z "${SUBDIRS}" ; then ! echo >&2 "mostlyclean: clean-dvi" ! echo >&2 " rm -rf ${MOSTLYCLEAN}" ! echo >&2 ' @$(MULTICLEAN) multi-clean DO=mostlyclean' ! echo >&2 "clean: clean-dvi" ! echo >&2 " rm -rf ${MOSTLYCLEAN} ${CLEAN}" ! echo >&2 ' @$(MULTICLEAN) multi-clean DO=clean' ! echo >&2 "distclean: clean" ! echo >&2 ' @$(MULTICLEAN) multi-clean DO=distclean' ! echo >&2 " rm -rf ${DISTCLEAN}" ! echo >&2 "maintainer-clean realclean: clean clean-info" ! echo >&2 ' @$(MULTICLEAN) multi-clean DO=maintainer-clean' ! echo >&2 " rm -rf ${DISTCLEAN} ${REALCLEAN}" else ! echo >&2 '.PHONY: do-clean subdir_distclean subdir_maintainer_clean' ! echo >&2 "mostlyclean: do-clean-dvi" ! echo >&2 " rm -rf ${MOSTLYCLEAN}" ! echo >&2 ' @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=mostlyclean subdir_do' ! echo >&2 ' @$(MULTICLEAN) multi-clean DO=mostlyclean' ! echo >&2 "do-clean: do-clean-dvi" ! echo >&2 " rm -rf ${MOSTLYCLEAN} ${CLEAN}" ! echo >&2 "clean: do-clean" ! echo >&2 ' @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=clean subdir_do' ! echo >&2 ' @$(MULTICLEAN) multi-clean DO=clean' # distclean and maintainer-clean are tricky because they remove the Makefile. ! echo >&2 "subdir_distclean:" ! echo >&2 ' @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=distclean subdir_do' ! echo >&2 "distclean: do-clean subdir_distclean" ! echo >&2 ' @$(MULTICLEAN) multi-clean DO=distclean' ! echo >&2 " rm -rf ${DISTCLEAN}" ! echo >&2 "subdir_maintainer_clean:" ! echo >&2 ' @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=maintainer-clean subdir_do' ! echo >&2 "maintainer-clean realclean: do-clean subdir_maintainer_clean do-clean-info" ! echo >&2 ' @$(MULTICLEAN) multi-clean DO=maintainer-clean' ! echo >&2 " rm -rf ${DISTCLEAN} ${REALCLEAN}" ! fi ! ! echo >&2 '' ! echo >&2 '.PHONY: force' ! echo >&2 'force:' ! echo >&2 '' ! echo >&2 '# with the gnu make, this is done automatically.' ! echo >&2 '' ! echo >&2 'Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag)' ! echo >&2 ' $(SHELL) ./config.status' ! echo >&2 '' ! echo >&2 '.NOEXPORT:' ! echo >&2 'MAKEOVERRIDES=' ! cat >&2 <<"EOF" DEPEND_SOURCES = ${srcdir}/*.cc ${srcdir}/*.c depend.new: *************** EOF *** 480,485 **** if [ -f ${srcdir}/${subdir}/depend ] ; then ! cat ${srcdir}/${subdir}/depend fi echo "# End of package fragment generated by ${THIS_FILE}." --- 487,493 ---- if [ -f ${srcdir}/${subdir}/depend ] ; then ! cat ${srcdir}/${subdir}/depend >&2 fi echo "# End of package fragment generated by ${THIS_FILE}." + echo >&2 "# End of package rules fragment generated by ${THIS_FILE}." diff -r -c2 -p -N libstdc++-2.8.0/libio/configure.in libstdc++-2.8.1.1/libio/configure.in *** libstdc++-2.8.0/libio/configure.in Tue Jan 6 23:41:53 1998 --- libstdc++-2.8.1.1/libio/configure.in Thu Mar 19 07:31:58 1998 *************** *** 3,10 **** # this directory. For more information, look at ../configure. ! configdirs="tests dbz stdio testsuite" srctrigger=libioP.h srcname="input/output library" package_makefile_frag=Make.pack # per-host: --- 3,25 ---- # this directory. For more information, look at ../configure. ! if [ "${srcdir}" = "." ] ; then ! if [ "${with_target_subdir}" != "." ] ; then ! topsrcdir=${with_multisrctop}../.. ! else ! topsrcdir=${with_multisrctop}.. ! fi ! else ! topsrcdir=${srcdir}/.. ! fi ! ! if [ -d ${topsrcdir}/gcc ] ; then ! configdirs="tests dbz stdio testsuite" ! else ! configdirs="tests dbz stdio" ! fi srctrigger=libioP.h srcname="input/output library" package_makefile_frag=Make.pack + package_makefile_rules_frag=Make.pack.r # per-host: *************** esac *** 79,82 **** --- 94,105 ---- for frag in ${frags}; do + case ${frag} in + ../* ) + if [ ${srcdir} = . ]; then + [ -n "${with_target_subdir}" ] && frag=../${frag} + [ -n "${with_multisrctop}" ] && frag=${with_multisrctop}${frag} + fi + ;; + esac frag=${srcdir}/config/$frag if [ -f ${frag} ]; then *************** if [ -n "${with_cross_host}" ] ; then *** 102,106 **** CHECK_SUBDIRS=testsuite fi ! (. ${srcdir}/config.shared) >${package_makefile_frag} # post-target: --- 125,129 ---- CHECK_SUBDIRS=testsuite fi ! (. ${srcdir}/config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag} # post-target: *************** if [ -n "${with_cross_host}" ] ; then *** 117,127 **** fi ! if [ "${srcdir}" = "." ] ; then ! if [ "${with_target_subdir}" != "." ] ; then ! . ${with_multisrctop}../../config-ml.in ! else ! . ${with_multisrctop}../config-ml.in ! fi ! else ! . ${srcdir}/../config-ml.in ! fi --- 140,142 ---- fi ! . ${topsrcdir}/config-ml.in diff -r -c2 -p -N libstdc++-2.8.0/libio/dbz/dbz.c libstdc++-2.8.1.1/libio/dbz/dbz.c *** libstdc++-2.8.0/libio/dbz/dbz.c Fri Aug 22 00:58:23 1997 --- libstdc++-2.8.1.1/libio/dbz/dbz.c Tue Feb 24 15:08:44 1998 *************** register struct dbzconfig *cp; *** 1199,1210 **** ret = -1; } ! fprintf(f, "dbz %d %ld %d %c %ld %ld %d %d", dbzversion, cp->tsize, ! cp->fieldsep, cp->casemap, cp->tagenb, ! cp->tagmask, cp->tagshift, cp->valuesize); for (i = 0; i < cp->valuesize; i++) fprintf(f, " %d", cp->bytemap[i]); fprintf(f, "\n"); for (i = 0; i < NUSEDS; i++) ! fprintf(f, "%ld%c", cp->used[i], (i < NUSEDS-1) ? ' ' : '\n'); (void) fflush(f); --- 1199,1215 ---- ret = -1; } ! fprintf(f, "dbz %d %ld %d %c %ld %ld %d %d", dbzversion, ! (long)cp->tsize, ! cp->fieldsep, cp->casemap, (long)cp->tagenb, ! (long)cp->tagmask, cp->tagshift, ! cp->valuesize); ! for (i = 0; i < cp->valuesize; i++) fprintf(f, " %d", cp->bytemap[i]); fprintf(f, "\n"); for (i = 0; i < NUSEDS; i++) ! fprintf(f, "%ld%c", ! (long)cp->used[i], (i < NUSEDS-1) ? ' ' : '\n'); ! (void) fflush(f); diff -r -c2 -p -N libstdc++-2.8.0/libio/dbz/dbzmain.c libstdc++-2.8.1.1/libio/dbz/dbzmain.c *** libstdc++-2.8.0/libio/dbz/dbzmain.c Fri Aug 22 00:58:23 1997 --- libstdc++-2.8.1.1/libio/dbz/dbzmain.c Tue Feb 24 15:08:44 1998 *************** *** 20,24 **** #ifndef lint ! static char RCSid[] = "$Header: /cvs/cvsfiles/egcs/libio/dbz/dbzmain.c,v 1.1.1.1 1997/08/21 22:58:23 jason Exp $"; #endif --- 20,24 ---- #ifndef lint ! static char RCSid[] = "$Header: /egcs/carton/cvsfiles/egcs/libio/dbz/dbzmain.c,v 1.1.1.1.2.1 1998/02/15 20:10:48 law Exp $"; #endif *************** mkfiles() *** 279,283 **** if (!exact) siz = dbzsize(siz); ! if (dbzfresh(my_basename, siz, (int)fs, map, tag) < 0) fail("dbzfresh(`%s'...) failed", my_basename); } else if (dbminit(my_basename) < 0) --- 279,283 ---- if (!exact) siz = dbzsize(siz); ! if (dbzfresh(my_basename, siz, (int)fs, map, (off_t)tag) < 0) fail("dbzfresh(`%s'...) failed", my_basename); } else if (dbminit(my_basename) < 0) diff -r -c2 -p -N libstdc++-2.8.0/libio/filebuf.cc libstdc++-2.8.1.1/libio/filebuf.cc *** libstdc++-2.8.0/libio/filebuf.cc Fri Aug 22 00:58:14 1997 --- libstdc++-2.8.1.1/libio/filebuf.cc Tue Feb 24 15:08:44 1998 *************** *** 1,4 **** /* This is part of libio/iostream, providing -*- C++ -*- input/output. ! Copyright (C) 1993, 1995 Free Software Foundation This file is part of the GNU IO Library. This library is free --- 1,4 ---- /* This is part of libio/iostream, providing -*- C++ -*- input/output. ! Copyright (C) 1993, 1995, 1998 Free Software Foundation This file is part of the GNU IO Library. This library is free *************** filebuf* filebuf::open(const char *filen *** 112,115 **** --- 112,119 ---- if (mode & (int)ios::noreplace) posix_mode |= O_EXCL; + #if _G_HAVE_IO_FILE_OPEN + return (filebuf*)_IO_file_open (this, filename, posix_mode, prot, + read_write, 0); + #else int fd = ::open(filename, posix_mode, prot); if (fd < 0) *************** filebuf* filebuf::open(const char *filen *** 123,131 **** --- 127,140 ---- _IO_link_in(this); return this; + #endif } filebuf* filebuf::open(const char *filename, const char *mode) { + #if _G_IO_IO_FILE_VERSION == 0x20001 + return (filebuf*)_IO_file_fopen(this, filename, mode, 0); + #else return (filebuf*)_IO_file_fopen(this, filename, mode); + #endif } diff -r -c2 -p -N libstdc++-2.8.0/libio/fileops.c libstdc++-2.8.1.1/libio/fileops.c *** libstdc++-2.8.0/libio/fileops.c Wed Sep 17 02:51:05 1997 --- libstdc++-2.8.1.1/libio/fileops.c Tue Feb 24 15:08:44 1998 *************** *** 1,3 **** ! /* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc. This file is part of the GNU IO Library. Written by Per Bothner . --- 1,3 ---- ! /* Copyright (C) 1993, 1995, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU IO Library. Written by Per Bothner . *************** *** 34,37 **** --- 34,38 ---- #include #include + #include #include #ifndef errno diff -r -c2 -p -N libstdc++-2.8.0/libio/gen-params libstdc++-2.8.1.1/libio/gen-params *** libstdc++-2.8.0/libio/gen-params Tue Jan 6 23:41:54 1998 --- libstdc++-2.8.1.1/libio/gen-params Tue Feb 24 15:08:44 1998 *************** *** 1,4 **** #!/bin/sh ! # Copyright (C) 1992, 1993, 1994 Free Software Foundation # # This file is part of the GNU IO Library. This library is free --- 1,4 ---- #!/bin/sh ! # Copyright (C) 1992, 1993, 1994, 1998 Free Software Foundation # # This file is part of the GNU IO Library. This library is free *************** tr ' ' ' ' dummy.out *** 278,282 **** for TYPE in dev_t clock_t fpos_t gid_t ino_t mode_t nlink_t off_t pid_t ptrdiff_t sigset_t size_t ssize_t time_t uid_t va_list wchar_t wint_t int16_t uint16_t int32_t uint_32_t u_int16_t u_int32_t; do ! IMPORTED=`eval 'echo $'"$TYPE"` if [ -n "${IMPORTED}" ] ; then eval "$TYPE='$IMPORTED'" --- 278,282 ---- for TYPE in dev_t clock_t fpos_t gid_t ino_t mode_t nlink_t off_t pid_t ptrdiff_t sigset_t size_t ssize_t time_t uid_t va_list wchar_t wint_t int16_t uint16_t int32_t uint_32_t u_int16_t u_int32_t; do ! eval IMPORTED=\$$TYPE if [ -n "${IMPORTED}" ] ; then eval "$TYPE='$IMPORTED'" *************** done *** 319,325 **** # Look for some standard macros. for NAME in BUFSIZ FOPEN_MAX FILENAME_MAX NULL; do ! IMPORTED=`eval 'echo $'"$NAME"` if [ -n "${IMPORTED}" ] ; then ! eval "$NAME='$IMPORTED /* specified */" else rm -f TMP --- 319,325 ---- # Look for some standard macros. for NAME in BUFSIZ FOPEN_MAX FILENAME_MAX NULL; do ! eval IMPORTED=\$$NAME if [ -n "${IMPORTED}" ] ; then ! eval "$NAME='$IMPORTED /* specified */'" else rm -f TMP *************** done *** 335,341 **** # These macros must be numerical constants; strip any trailing 'L's. for NAME in SHRT_MAX INT_MAX LONG_MAX LONG_LONG_MAX; do ! IMPORTED=`eval 'echo $'"$NAME"` if [ -n "${IMPORTED}" ] ; then ! eval "$NAME='$IMPORTED /* specified */" else rm -f TMP --- 335,341 ---- # These macros must be numerical constants; strip any trailing 'L's. for NAME in SHRT_MAX INT_MAX LONG_MAX LONG_LONG_MAX; do ! eval IMPORTED=\$$NAME if [ -n "${IMPORTED}" ] ; then ! eval "$NAME='$IMPORTED /* specified */'" else rm -f TMP *************** typedef unsigned int ${macro_prefix}uint *** 383,388 **** --- 383,390 ---- typedef int ${macro_prefix}int64_t __attribute__((__mode__(__DI__))); typedef unsigned int ${macro_prefix}uint64_t __attribute__((__mode__(__DI__))); + #if __GNUC__ > 2 || __GNUC_MINOR__ >= 8 __extension__ typedef long long ${macro_prefix}llong; __extension__ typedef unsigned long long ${macro_prefix}ullong; + #endif #else typedef $int16_t ${macro_prefix}int16_t; diff -r -c2 -p -N libstdc++-2.8.0/libio/iogetline.c libstdc++-2.8.1.1/libio/iogetline.c *** libstdc++-2.8.0/libio/iogetline.c Sat Sep 6 09:43:18 1997 --- libstdc++-2.8.1.1/libio/iogetline.c Tue Feb 24 15:08:44 1998 *************** *** 1,3 **** ! /* Copyright (C) 1993, 1997 Free Software Foundation, Inc. This file is part of the GNU IO Library. --- 1,3 ---- ! /* Copyright (C) 1993, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU IO Library. *************** *** 27,30 **** --- 27,43 ---- #include + #if defined(_LIBC) || !_G_HAVE_IO_GETLINE_INFO + + _IO_size_t + _IO_getline (fp, buf, n, delim, extract_delim) + _IO_FILE *fp; + char *buf; + _IO_size_t n; + int delim; + int extract_delim; + { + return _IO_getline_info (fp, buf, n, delim, extract_delim, (int *) 0); + } + /* Algorithm based on that used by Berkeley pre-4.4 fgets implementation. *************** *** 36,40 **** _IO_size_t ! _IO_getline (fp, buf, n, delim, extract_delim) _IO_FILE *fp; char *buf; --- 49,53 ---- _IO_size_t ! _IO_getline_info (fp, buf, n, delim, extract_delim, eof) _IO_FILE *fp; char *buf; *************** _IO_getline (fp, buf, n, delim, extract_ *** 42,78 **** int delim; int extract_delim; { char *ptr = buf; do { _IO_ssize_t len = fp->_IO_read_end - fp->_IO_read_ptr; - char *t; if (len <= 0) - if (__underflow (fp) == EOF) - break; - else - len = fp->_IO_read_end - fp->_IO_read_ptr; - if ((_IO_size_t) len >= n) - len = n; - t = (char *) memchr ((void *) fp->_IO_read_ptr, delim, len); - if (t != NULL) { ! _IO_size_t old_len = ptr-buf; ! len = t - fp->_IO_read_ptr; ! if (extract_delim >= 0) { - ++t; if (extract_delim > 0) ! ++len; } ! memcpy ((void *) ptr, (void *) fp->_IO_read_ptr, len); ! fp->_IO_read_ptr = t; ! return old_len + len; } ! memcpy ((void *) ptr, (void *) fp->_IO_read_ptr, len); ! fp->_IO_read_ptr += len; ! ptr += len; ! n -= len; } while (n != 0); return ptr - buf; } --- 55,112 ---- int delim; int extract_delim; + int *eof; { char *ptr = buf; + if (eof) *eof = 0; do { _IO_ssize_t len = fp->_IO_read_end - fp->_IO_read_ptr; if (len <= 0) { ! int c = __uflow (fp); ! if (c == EOF) ! { ! if (eof) *eof = c; ! break; ! } ! if (c == delim) { if (extract_delim > 0) ! *ptr++ = c; ! else if (extract_delim < 0) ! _IO_sputbackc (fp, c); ! return ptr - buf; } ! *ptr++ = c; ! n--; } ! else ! { ! char *t; ! if ((_IO_size_t) len >= n) ! len = n; ! t = (char *) memchr ((void *) fp->_IO_read_ptr, delim, len); ! if (t != NULL) ! { ! _IO_size_t old_len = ptr-buf; ! len = t - fp->_IO_read_ptr; ! if (extract_delim >= 0) ! { ! ++t; ! if (extract_delim > 0) ! ++len; ! } ! memcpy ((void *) ptr, (void *) fp->_IO_read_ptr, len); ! fp->_IO_read_ptr = t; ! return old_len + len; ! } ! memcpy ((void *) ptr, (void *) fp->_IO_read_ptr, len); ! fp->_IO_read_ptr += len; ! ptr += len; ! n -= len; ! } } while (n != 0); return ptr - buf; } + + #endif /* Defined(_LIBC) || !_G_HAVE_IO_GETLINE_INFO */ diff -r -c2 -p -N libstdc++-2.8.0/libio/iolibio.h libstdc++-2.8.1.1/libio/iolibio.h *** libstdc++-2.8.0/libio/iolibio.h Wed Sep 17 02:42:51 1997 --- libstdc++-2.8.1.1/libio/iolibio.h Tue Feb 24 15:08:44 1998 *************** extern int _IO_obstack_printf __P ((stru *** 46,51 **** --- 46,56 ---- #define _IO_rewind(FILE) (void)_IO_seekoff(FILE, 0, 0, _IOS_INPUT|_IOS_OUTPUT) #define _IO_vprintf(FORMAT, ARGS) _IO_vfprintf(_IO_stdout, FORMAT, ARGS) + #if _G_IO_IO_FILE_VERSION == 0x20001 + #define _IO_freopen(FILENAME, MODE, FP) \ + (_IO_file_close_it(FP), _IO_file_fopen(FP, FILENAME, MODE, 0)) + #else #define _IO_freopen(FILENAME, MODE, FP) \ (_IO_file_close_it(FP), _IO_file_fopen(FP, FILENAME, MODE)) + #endif #define _IO_fileno(FP) ((FP)->_fileno) extern _IO_FILE* _IO_popen __P((const char*, const char*)); diff -r -c2 -p -N libstdc++-2.8.0/libio/ioprims.c libstdc++-2.8.1.1/libio/ioprims.c *** libstdc++-2.8.0/libio/ioprims.c Wed Sep 17 02:42:52 1997 --- libstdc++-2.8.1.1/libio/ioprims.c Tue Feb 24 15:08:44 1998 *************** *** 1,4 **** /* ! Copyright (C) 1993 Free Software Foundation This file is part of the GNU IO Library. This library is free --- 1,4 ---- /* ! Copyright (C) 1993, 1998 Free Software Foundation This file is part of the GNU IO Library. This library is free *************** the executable file might be covered by *** 32,35 **** --- 32,36 ---- #include #include + #include #ifdef TODO diff -r -c2 -p -N libstdc++-2.8.0/libio/iostream.cc libstdc++-2.8.1.1/libio/iostream.cc *** libstdc++-2.8.0/libio/iostream.cc Tue Jan 6 23:41:55 1998 --- libstdc++-2.8.1.1/libio/iostream.cc Tue Feb 24 15:08:44 1998 *************** *** 1,4 **** /* This is part of libio/iostream, providing -*- C++ -*- input/output. ! Copyright (C) 1993, 1997 Free Software Foundation, Inc. This file is part of the GNU IO Library. This library is free --- 1,4 ---- /* This is part of libio/iostream, providing -*- C++ -*- input/output. ! Copyright (C) 1993, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU IO Library. This library is free *************** istream& istream::operator>>(long double *** 334,342 **** { if (ipfx0()) #if _G_HAVE_LONG_DOUBLE_IO scan("%Lg", &x); #else ! scan("%lg", &x); #endif return *this; } --- 334,346 ---- { if (ipfx0()) + { #if _G_HAVE_LONG_DOUBLE_IO scan("%Lg", &x); #else ! double y; ! scan("%lg", &y); ! x = y; #endif + } return *this; } *************** ostream& ostream::operator<<(double n) *** 618,636 **** #if _G_HAVE_PRINTF_FP { ! struct printf_info info = { prec: prec, ! width: width(0), ! spec: format_char, ! is_long_double: 0, ! is_short: 0, ! is_long: 0, ! alt: (flags() & ios::showpoint) != 0, ! space: 0, ! left: (flags() & ios::left) != 0, ! showsign: (flags() & ios::showpos) != 0, ! group: 0, ! pad: fill() #if defined __GLIBC__ && __GLIBC__ >= 2 ! , extra: 0 #endif }; const void *ptr = (const void *) &n; --- 622,643 ---- #if _G_HAVE_PRINTF_FP { ! struct printf_info info = { /* prec: */ prec, ! /* width: */ width(0), ! /* spec: */ format_char, ! /* is_long_double: */ 0, ! /* is_short: */ 0, ! /* is_long: */ 0, ! /* alt: */ (flags() & ios::showpoint) != 0, ! /* space: */ 0, ! /* left: */ (flags() & ios::left) != 0, ! /* showsign: */ (flags() & ios::showpos) != 0, ! /* group: */ 0, #if defined __GLIBC__ && __GLIBC__ >= 2 ! /* extra: */ 0, ! #if __GLIBC_MINOR__ >= 1 ! /* is_char: */ 0, #endif + #endif + /* pad: */ fill() }; const void *ptr = (const void *) &n; *************** ostream& ostream::operator<<(long double *** 721,739 **** #if _G_HAVE_PRINTF_FP // Do actual conversion. ! struct printf_info info = { prec: prec, ! width: width(0), ! spec: format_char, ! is_long_double: 1, ! is_short: 0, ! is_long: 0, ! alt: (flags() & ios::showpoint) != 0, ! space: 0, ! left: (flags() & ios::left) != 0, ! showsign: (flags() & ios::showpos) != 0, ! group: 0, ! pad: fill() #if defined __GLIBC__ && __GLIBC__ >= 2 ! , extra: 0 #endif }; --- 728,749 ---- #if _G_HAVE_PRINTF_FP // Do actual conversion. ! struct printf_info info = { /* prec: */ prec, ! /* width: */ width(0), ! /* spec: */ format_char, ! /* is_long_double: */ 1, ! /* is_short: */ 0, ! /* is_long: */ 0, ! /* alt: */ (flags() & ios::showpoint) != 0, ! /* space: */ 0, ! /* left: */ (flags() & ios::left) != 0, ! /* showsign: */ (flags() & ios::showpos) != 0, ! /* group: */ 0, #if defined __GLIBC__ && __GLIBC__ >= 2 ! /* extra: */ 0, ! #if __GLIBC_MINOR__ >= 1 ! /* is_char: */ 0, ! #endif #endif + /* pad: */ fill() }; diff -r -c2 -p -N libstdc++-2.8.0/libio/isgetline.cc libstdc++-2.8.1.1/libio/isgetline.cc *** libstdc++-2.8.0/libio/isgetline.cc Fri Aug 22 00:58:19 1997 --- libstdc++-2.8.1.1/libio/isgetline.cc Tue Feb 24 15:08:44 1998 *************** *** 1,4 **** /* This is part of libio/iostream, providing -*- C++ -*- input/output. ! Copyright (C) 1993 Free Software Foundation This file is part of the GNU IO Library. This library is free --- 1,4 ---- /* This is part of libio/iostream, providing -*- C++ -*- input/output. ! Copyright (C) 1993, 1998 Free Software Foundation This file is part of the GNU IO Library. This library is free *************** istream& istream::getline(char* buf, int *** 39,44 **** { streambuf *sb = rdbuf(); ! _gcount = _IO_getline(sb, buf, len - 1, delim, -1); ! ch = sb->sbumpc(); if (ch == EOF) set (_gcount == 0 ? (ios::failbit|ios::eofbit) : ios::eofbit); --- 39,45 ---- { streambuf *sb = rdbuf(); ! _gcount = _IO_getline_info(sb, buf, len - 1, delim, -1, &ch); ! if (ch != EOF) ! ch = sb->sbumpc(); if (ch == EOF) set (_gcount == 0 ? (ios::failbit|ios::eofbit) : ios::eofbit); *************** istream& istream::get(char* buf, int len *** 68,73 **** { streambuf *sbuf = rdbuf(); ! long count = _IO_getline(sbuf, buf, len - 1, delim, -1); ! if (count == 0 && sbuf->sgetc() == EOF) set(ios::failbit|ios::eofbit); else --- 69,75 ---- { streambuf *sbuf = rdbuf(); ! int ch; ! long count = _IO_getline_info(sbuf, buf, len - 1, delim, -1, &ch); ! if (_gcount == 0 && ch == EOF) set(ios::failbit|ios::eofbit); else *************** char *_sb_readline (streambuf *sb, long& *** 93,98 **** int ch; ! _IO_size_t count = _IO_getline(sb, buf, CHUNK_SIZE, terminator, -1); ! ch = sb->sbumpc(); long old_total = total; total += count; --- 95,102 ---- int ch; ! _IO_size_t count = _IO_getline_info(sb, buf, CHUNK_SIZE, terminator, ! -1, &ch); ! if (ch != EOF) ! ch = sb->sbumpc(); long old_total = total; total += count; diff -r -c2 -p -N libstdc++-2.8.0/libio/libio.h libstdc++-2.8.1.1/libio/libio.h *** libstdc++-2.8.0/libio/libio.h Tue Jan 6 23:41:55 1998 --- libstdc++-2.8.1.1/libio/libio.h Tue Feb 24 15:08:44 1998 *************** *** 1,3 **** ! /* Copyright (C) 1991, 92, 93, 94, 95, 97 Free Software Foundation, Inc. This file is part of the GNU IO Library. Written by Per Bothner . --- 1,3 ---- ! /* Copyright (C) 1991, 92, 93, 94, 95, 97, 1998 Free Software Foundation, Inc. This file is part of the GNU IO Library. Written by Per Bothner . *************** *** 40,43 **** --- 40,47 ---- #define _IO_BUFSIZ _G_BUFSIZ #define _IO_va_list _G_va_list + #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 + #define _IO_fpos64_t _G_fpos64_t + #define _IO_off64_t _G_off64_t + #endif #ifdef _G_NEED_STDARG_H *************** *** 56,62 **** # else # ifdef __STDC__ ! # define __P(p) p # else ! # define __P(p) () # endif # endif --- 60,66 ---- # else # ifdef __STDC__ ! # define __P(protos) protos # else ! # define __P(protos) () # endif # endif *************** struct _IO_FILE { *** 221,225 **** --- 225,233 ---- int _fileno; int _blksize; + #ifdef _G_IO_IO_FILE_VERSION + _IO_off_t _old_offset; + #else _IO_off_t _offset; + #endif #define __HAVE_COLUMN /* temporary */ *************** struct _IO_FILE { *** 234,237 **** --- 242,249 ---- _IO_LOCK_T _lock; #endif + #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 + _IO_off64_t _offset; + int _unused2[16]; /* Make sure we don't get into trouble again. */ + #endif }; *************** typedef struct _IO_FILE _IO_FILE; *** 240,243 **** --- 252,261 ---- #endif + #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 + #define _IO_stdin_ _IO_2_1_stdin_ + #define _IO_stdout_ _IO_2_1_stdout_ + #define _IO_stderr_ _IO_2_1_stderr_ + #endif + struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_stdin_, _IO_stdout_, _IO_stderr_; *************** extern _IO_ssize_t _IO_padn __P ((_IO_FI *** 322,327 **** --- 340,350 ---- extern _IO_size_t _IO_sgetn __P ((_IO_FILE *, void *, _IO_size_t)); + #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 + extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int)); + extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int)); + #else extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int)); + #endif extern void _IO_free_backup_area __P ((_IO_FILE *)); diff -r -c2 -p -N libstdc++-2.8.0/libio/libioP.h libstdc++-2.8.1.1/libio/libioP.h *** libstdc++-2.8.0/libio/libioP.h Tue Jan 6 23:41:56 1998 --- libstdc++-2.8.1.1/libio/libioP.h Tue Feb 24 15:08:44 1998 *************** *** 1,3 **** ! /* Copyright (C) 1993, 1997 Free Software Foundation, Inc. This file is part of the GNU IO Library. --- 1,3 ---- ! /* Copyright (C) 1993, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU IO Library. *************** typedef _IO_size_t (*_IO_xsgetn_t) __P ( *** 139,144 **** --- 139,149 ---- It matches the streambuf::seekoff virtual function. It is also used for the ANSI fseek function. */ + #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 + typedef _IO_fpos64_t (*_IO_seekoff_t) __P ((_IO_FILE *FP, _IO_off64_t OFF, + int DIR, int MODE)); + #else typedef _IO_fpos_t (*_IO_seekoff_t) __P ((_IO_FILE *FP, _IO_off_t OFF, int DIR, int MODE)); + #endif #define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE) *************** typedef _IO_fpos_t (*_IO_seekoff_t) __P *** 148,152 **** --- 153,161 ---- It is also used for the ANSI fgetpos and fsetpos functions. */ /* The _IO_seek_cur and _IO_seek_end options are not allowed. */ + #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 + typedef _IO_fpos64_t (*_IO_seekpos_t) __P ((_IO_FILE *, _IO_fpos64_t, int)); + #else typedef _IO_fpos_t (*_IO_seekpos_t) __P ((_IO_FILE *, _IO_fpos_t, int)); + #endif #define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS) *************** typedef _IO_ssize_t (*_IO_write_t) __P ( *** 197,201 **** --- 206,214 ---- It matches the streambuf::sys_seek virtual function, which is specific to this implementation. */ + #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 + typedef _IO_fpos64_t (*_IO_seek_t) __P ((_IO_FILE *, _IO_off64_t, int)); + #else typedef _IO_fpos_t (*_IO_seek_t) __P ((_IO_FILE *, _IO_off_t, int)); + #endif #define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE) *************** typedef int (*_IO_stat_t) __P ((_IO_FILE *** 214,217 **** --- 227,243 ---- #define _IO_SYSSTAT(FP, BUF) JUMP1 (__stat, FP, BUF) + #if _G_IO_IO_FILE_VERSION == 0x20001 + /* The 'showmany' hook can be used to get an image how much input is + available. In many cases the answer will be 0 which means unknown + but some cases one can provide real information. */ + typedef int (*_IO_showmanyc_t) __P ((_IO_FILE *)); + #define _IO_SHOWMANYC(FP) JUMP0 (__showmanyc, FP) + + /* The 'imbue' hook is used to get information about the currently + installed locales. */ + typedef void (*_IO_imbue_t) __P ((_IO_FILE *, void *)); + #define _IO_IMBUE(FP, LOCALE) JUMP1 (__imbue, FP, LOCALE) + #endif + #define _IO_CHAR_TYPE char /* unsigned char ? */ *************** struct _IO_jump_t *** 242,245 **** --- 268,275 ---- JUMP_FIELD(_IO_close_t, __close); JUMP_FIELD(_IO_stat_t, __stat); + #if _G_IO_IO_FILE_VERSION == 0x20001 + JUMP_FIELD(_IO_showmanyc_t, __showmanyc); + JUMP_FIELD(_IO_imbue_t, __imbue); + #endif #if 0 get_column; *************** struct _IO_FILE_plus *** 261,266 **** --- 291,301 ---- /* Generic functions */ + #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 + extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int)); + extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int)); + #else extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int)); + #endif extern void _IO_switch_to_main_get_area __P ((_IO_FILE *)); *************** extern _IO_size_t _IO_default_xsputn __P *** 298,308 **** --- 333,354 ---- _IO_size_t)); extern _IO_size_t _IO_default_xsgetn __P ((_IO_FILE *, void *, _IO_size_t)); + #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 + extern _IO_fpos64_t _IO_default_seekoff __P ((_IO_FILE *, + _IO_off64_t, int, int)); + extern _IO_fpos64_t _IO_default_seekpos __P ((_IO_FILE *, + _IO_fpos64_t, int)); + #else extern _IO_fpos_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); extern _IO_fpos_t _IO_default_seekpos __P ((_IO_FILE *, _IO_fpos_t, int)); + #endif extern _IO_ssize_t _IO_default_write __P ((_IO_FILE *, const void *, _IO_ssize_t)); extern _IO_ssize_t _IO_default_read __P ((_IO_FILE *, void *, _IO_ssize_t)); extern int _IO_default_stat __P ((_IO_FILE *, void *)); + #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 + extern _IO_fpos64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int)); + #else extern _IO_fpos_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int)); + #endif extern int _IO_default_sync __P ((_IO_FILE *)); #define _IO_default_close ((_IO_close_t) _IO_default_sync) *************** extern void _IO_flush_all_linebuffered _ *** 336,340 **** --- 382,392 ---- extern int _IO_file_doallocate __P ((_IO_FILE *)); extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t)); + #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 + extern _IO_fpos64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int)); + extern _IO_fpos64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int)); + #else extern _IO_fpos_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); + extern _IO_fpos_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int)); + #endif extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t)); extern int _IO_file_stat __P ((_IO_FILE *, void *)); *************** extern int _IO_file_overflow __P ((_IO_F *** 345,349 **** --- 397,408 ---- extern void _IO_file_init __P ((_IO_FILE *)); extern _IO_FILE* _IO_file_attach __P ((_IO_FILE *, int)); + extern _IO_FILE* _IO_file_open __P ((_IO_FILE *, const char *, int, int, + int, int)); + #if _G_IO_IO_FILE_VERSION == 0x20001 + extern _IO_FILE* _IO_file_fopen __P ((_IO_FILE *, const char *, const char *, + int)); + #else extern _IO_FILE* _IO_file_fopen __P ((_IO_FILE *, const char *, const char *)); + #endif extern _IO_ssize_t _IO_file_write __P ((_IO_FILE *, const void *, _IO_ssize_t)); *************** extern _IO_ssize_t _IO_file_read __P ((_ *** 351,355 **** extern int _IO_file_sync __P ((_IO_FILE *)); extern int _IO_file_close_it __P ((_IO_FILE *)); - extern _IO_fpos_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int)); extern void _IO_file_finish __P ((_IO_FILE *, int)); --- 410,413 ---- *************** extern int _IO_str_underflow __P ((_IO_F *** 362,366 **** --- 420,428 ---- extern int _IO_str_overflow __P ((_IO_FILE *, int)); extern int _IO_str_pbackfail __P ((_IO_FILE *, int)); + #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 + extern _IO_fpos64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int)); + #else extern _IO_fpos_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); + #endif extern void _IO_str_finish __P ((_IO_FILE *, int)); *************** extern int _IO_vsnprintf __P ((char *str *** 378,381 **** --- 440,445 ---- extern _IO_size_t _IO_getline __P ((_IO_FILE *,char *, _IO_size_t, int, int)); + extern _IO_size_t _IO_getline_info __P ((_IO_FILE *,char *, _IO_size_t, + int, int, int *)); extern _IO_ssize_t _IO_getdelim __P ((char **, _IO_size_t *, int, _IO_FILE *)); extern double _IO_strtod __P ((const char *, char **)); *************** extern int _IO_vscanf __P ((const char * *** 476,484 **** /* _IO_pos_BAD is an _IO_fpos_t value indicating error, unknown, or EOF. */ #ifndef _IO_pos_BAD ! # define _IO_pos_BAD ((_IO_fpos_t) -1) #endif /* _IO_pos_as_off converts an _IO_fpos_t value to an _IO_off_t value. */ #ifndef _IO_pos_as_off ! # define _IO_pos_as_off(__pos) ((_IO_off_t) (__pos)) #endif /* _IO_pos_adjust adjust an _IO_fpos_t by some number of bytes. */ --- 540,556 ---- /* _IO_pos_BAD is an _IO_fpos_t value indicating error, unknown, or EOF. */ #ifndef _IO_pos_BAD ! # if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 ! # define _IO_pos_BAD ((_IO_fpos64_t) -1) ! # else ! # define _IO_pos_BAD ((_IO_fpos_t) -1) ! # endif #endif /* _IO_pos_as_off converts an _IO_fpos_t value to an _IO_off_t value. */ #ifndef _IO_pos_as_off ! # if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 ! # define _IO_pos_as_off(__pos) ((_IO_off64_t) (__pos)) ! # else ! # define _IO_pos_as_off(__pos) ((_IO_off_t) (__pos)) ! # endif #endif /* _IO_pos_adjust adjust an _IO_fpos_t by some number of bytes. */ *************** extern int _IO_vscanf __P ((const char * *** 488,492 **** /* _IO_pos_0 is an _IO_fpos_t value indicating beginning of file. */ #ifndef _IO_pos_0 ! # define _IO_pos_0 ((_IO_fpos_t) 0) #endif --- 560,568 ---- /* _IO_pos_0 is an _IO_fpos_t value indicating beginning of file. */ #ifndef _IO_pos_0 ! # if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 ! # define _IO_pos_0 ((_IO_fpos64_t) 0) ! # else ! # define _IO_pos_0 ((_IO_fpos_t) 0) ! # endif #endif diff -r -c2 -p -N libstdc++-2.8.0/libio/sbgetline.cc libstdc++-2.8.1.1/libio/sbgetline.cc *** libstdc++-2.8.0/libio/sbgetline.cc Fri Aug 22 00:58:21 1997 --- libstdc++-2.8.1.1/libio/sbgetline.cc Tue Feb 24 15:08:44 1998 *************** *** 1,4 **** /* ! Copyright (C) 1993 Free Software Foundation This file is part of the GNU IO Library. This library is free --- 1,4 ---- /* ! Copyright (C) 1993, 1998 Free Software Foundation This file is part of the GNU IO Library. This library is free *************** the executable file might be covered by *** 28,31 **** long streambuf::sgetline(char* buf, _IO_size_t n, char delim, int extract_delim) { ! return _IO_getline(this, buf, n, delim, extract_delim); } --- 28,31 ---- long streambuf::sgetline(char* buf, _IO_size_t n, char delim, int extract_delim) { ! return _IO_getline_info(this, buf, n, delim, extract_delim, (int *) 0); } diff -r -c2 -p -N libstdc++-2.8.0/libio/stdio/configure.in libstdc++-2.8.1.1/libio/stdio/configure.in *** libstdc++-2.8.0/libio/stdio/configure.in Fri Aug 22 00:58:25 1997 --- libstdc++-2.8.1.1/libio/stdio/configure.in Tue Feb 24 15:08:44 1998 *************** srctrigger=stdio.h *** 7,10 **** --- 7,11 ---- srcname="libio/stdio" package_makefile_frag=../Make.pack + package_makefile_rules_frag=../Make.pack.r # per-host: *************** TO_TOPDIR=../../ *** 16,20 **** ALL=nothing MOSTLYCLEAN='*.o pic stamp-picdir core stdio.list' ! (. ${srcdir}/../config.shared) >${package_makefile_frag} # post-target: --- 17,21 ---- ALL=nothing MOSTLYCLEAN='*.o pic stamp-picdir core stdio.list' ! (. ${srcdir}/../config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag} # post-target: diff -r -c2 -p -N libstdc++-2.8.0/libio/stdiostream.cc libstdc++-2.8.1.1/libio/stdiostream.cc *** libstdc++-2.8.0/libio/stdiostream.cc Tue Jan 6 23:41:56 1998 --- libstdc++-2.8.1.1/libio/stdiostream.cc Tue Feb 24 15:08:44 1998 *************** *** 1,4 **** /* This is part of libio/iostream, providing -*- C++ -*- input/output. ! Copyright (C) 1993 Free Software Foundation This file is part of the GNU IO Library. This library is free --- 1,4 ---- /* This is part of libio/iostream, providing -*- C++ -*- input/output. ! Copyright (C) 1993, 1998 Free Software Foundation This file is part of the GNU IO Library. This library is free diff -r -c2 -p -N libstdc++-2.8.0/libio/streambuf.cc libstdc++-2.8.1.1/libio/streambuf.cc *** libstdc++-2.8.0/libio/streambuf.cc Tue Jan 6 23:41:56 1998 --- libstdc++-2.8.1.1/libio/streambuf.cc Tue Feb 24 15:08:44 1998 *************** *** 1,4 **** /* This is part of libio/iostream, providing -*- C++ -*- input/output. ! Copyright (C) 1991, 1992, 1993, 1995 Free Software Foundation This file is part of the GNU IO Library. This library is free --- 1,4 ---- /* This is part of libio/iostream, providing -*- C++ -*- input/output. ! Copyright (C) 1991, 1992, 1993, 1995, 1998 Free Software Foundation This file is part of the GNU IO Library. This library is free *************** streampos streambuf::sys_seek(streamoff, *** 301,304 **** --- 301,315 ---- int streambuf::sys_close() { return 0; /* Suceess; do nothing */ } + + #if _G_IO_IO_FILE_VERSION == 0x20001 + int streambuf::showmanyc() + { + return -1; + } + + void streambuf::imbue(void *) + { + } + #endif streammarker::streammarker(streambuf *sb) diff -r -c2 -p -N libstdc++-2.8.0/libio/streambuf.h libstdc++-2.8.1.1/libio/streambuf.h *** libstdc++-2.8.0/libio/streambuf.h Tue Jan 6 23:41:57 1998 --- libstdc++-2.8.1.1/libio/streambuf.h Tue Feb 24 15:08:44 1998 *************** *** 1,4 **** /* This is part of libio/iostream, providing -*- C++ -*- input/output. ! Copyright (C) 1993 Free Software Foundation This file is part of the GNU IO Library. This library is free --- 1,4 ---- /* This is part of libio/iostream, providing -*- C++ -*- input/output. ! Copyright (C) 1993, 1998 Free Software Foundation This file is part of the GNU IO Library. This library is free *************** extern "C" { *** 56,61 **** --- 56,65 ---- #ifndef _IO_wchar_t + #if _G_IO_IO_FILE_VERSION == 0x20001 + #define _IO_wchar_t _G_wchar_t + #else #define _IO_wchar_t short #endif + #endif extern "C++" { *************** class ostream; class streambuf; *** 67,72 **** --- 71,81 ---- #undef close + #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 + typedef _IO_off64_t streamoff; + typedef _IO_fpos64_t streampos; + #else typedef _IO_off_t streamoff; typedef _IO_fpos_t streampos; + #endif typedef _IO_ssize_t streamsize; *************** class ios : public _ios_fields { *** 172,178 **** // Methods to change the format state. ! _IO_wchar_t fill() const { return (_IO_wchar_t)_fill; } _IO_wchar_t fill(_IO_wchar_t newf) ! {_IO_wchar_t oldf = (_IO_wchar_t)_fill; _fill = (char)newf; return oldf;} fmtflags flags() const { return _flags; } fmtflags flags(fmtflags new_val) { --- 181,187 ---- // Methods to change the format state. ! _IO_wchar_t fill() const { return _fill; } _IO_wchar_t fill(_IO_wchar_t newf) ! {_IO_wchar_t oldf = _fill; _fill = newf; return oldf;} fmtflags flags() const { return _flags; } fmtflags flags(fmtflags new_val) { *************** struct streambuf : public _IO_FILE { // *** 405,408 **** --- 414,421 ---- virtual int sys_close(); virtual int sys_stat(void*); // Actually, a (struct stat*) + #if _G_IO_IO_FILE_VERSION == 0x20001 + virtual int showmanyc(); + virtual void imbue(void *); + #endif }; diff -r -c2 -p -N libstdc++-2.8.0/libio/tests/Makefile.in libstdc++-2.8.1.1/libio/tests/Makefile.in *** libstdc++-2.8.0/libio/tests/Makefile.in Fri Aug 22 00:58:27 1997 --- libstdc++-2.8.1.1/libio/tests/Makefile.in Tue Feb 24 15:08:44 1998 *************** *** 1,3 **** ! # Copyright (C) 1993 Free Software Foundation # # This file is part of the GNU IO Library. This library is free --- 1,3 ---- ! # Copyright (C) 1993, 1998 Free Software Foundation # # This file is part of the GNU IO Library. This library is free *************** DEPEND_SOURCES = $(srcdir)/*.C *** 42,48 **** .PHONY: check check-old check-iostream check-stdio ! check: ! ! check-old: check-iostream check-iostdio --- 42,46 ---- .PHONY: check check-old check-iostream check-stdio ! check: $(CHECK) diff -r -c2 -p -N libstdc++-2.8.0/libio/tests/configure.in libstdc++-2.8.1.1/libio/tests/configure.in *** libstdc++-2.8.0/libio/tests/configure.in Fri Aug 22 00:58:27 1997 --- libstdc++-2.8.1.1/libio/tests/configure.in Tue Feb 24 15:08:44 1998 *************** srctrigger=tFile.cc *** 7,10 **** --- 7,11 ---- srcname="test C++ input/output library" package_makefile_frag=Make.pack + package_makefile_rules_frag=Make.pack.r # per-host: *************** XCINCLUDES='-I. -I.. -I$(srcdir) -I$(src *** 17,21 **** XCXXINCLUDES='-I. -I.. -I$(srcdir) -I$(srcdir)/..' MOSTLYCLEAN='*.o core $(JUNK_TO_CLEAN)' ! (. ${srcdir}/../config.shared) >${package_makefile_frag} # post-target: --- 18,36 ---- XCXXINCLUDES='-I. -I.. -I$(srcdir) -I$(srcdir)/..' MOSTLYCLEAN='*.o core $(JUNK_TO_CLEAN)' ! (. ${srcdir}/../config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag} ! ! if [ "${srcdir}" = "." ] ; then ! if [ "${with_target_subdir}" != "." ] ; then ! topsrcdir=${with_multisrctop}../../.. ! else ! topsrcdir=${with_multisrctop}../.. ! fi ! else ! topsrcdir=${srcdir}/../.. ! fi ! ! if [ ! -d ${topsrcdir}/gcc ] ; then ! echo "CHECK = check-iostream check-iostdio" >>${package_makefile_frag} ! fi # post-target: diff -r -c2 -p -N libstdc++-2.8.0/libio/testsuite/ChangeLog libstdc++-2.8.1.1/libio/testsuite/ChangeLog *** libstdc++-2.8.0/libio/testsuite/ChangeLog Tue Jan 6 23:42:02 1998 --- libstdc++-2.8.1.1/libio/testsuite/ChangeLog Tue Feb 24 15:08:44 1998 *************** *** 1,17 **** - Sat Sep 6 00:49:31 1997 Brendan Kehoe - - * lib/libio.exp (test_libio): Lose -L.. before -lio, may as well - require things be fully usable. Not ideal, but...also no longer - have the -liostream approach. - Fri Sep 5 15:38:37 1997 Jeffrey A Law (law@cygnus.com) * lib/libio.exp (test_libio): Use libstdc++_{include,link}_flags instead of g++_{include,link}_flags. - - Thu Sep 4 15:22:46 1997 Brendan Kehoe - - * lib/libio.exp (test_libio): Add `-L..' before -lio. - Use `-L.. -liostream' for now. Fri Jun 27 18:19:21 1997 Bob Manson --- 1,6 ---- diff -r -c2 -p -N libstdc++-2.8.0/libio/testsuite/configure.in libstdc++-2.8.1.1/libio/testsuite/configure.in *** libstdc++-2.8.0/libio/testsuite/configure.in Fri Aug 22 00:58:30 1997 --- libstdc++-2.8.1.1/libio/testsuite/configure.in Tue Feb 24 15:08:44 1998 *************** srctrigger=libio.tests/hounddog.exp *** 7,10 **** --- 7,11 ---- srcname="test C++ input/output library, dejagnu style" package_makefile_frag=Make.pack + package_makefile_rules_frag=Make.pack.r # per-host: *************** XCINCLUDES='-I. -I.. -I$(srcdir) -I$(src *** 17,21 **** XCXXINCLUDES='-I. -I.. -I$(srcdir) -I$(srcdir)/..' MOSTLYCLEAN='*.o core $(JUNK_TO_CLEAN)' ! (. ${srcdir}/../config.shared) >${package_makefile_frag} # post-target: --- 18,22 ---- XCXXINCLUDES='-I. -I.. -I$(srcdir) -I$(srcdir)/..' MOSTLYCLEAN='*.o core $(JUNK_TO_CLEAN)' ! (. ${srcdir}/../config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag} # post-target: diff -r -c2 -p -N libstdc++-2.8.0/libio/testsuite/lib/libio.exp libstdc++-2.8.1.1/libio/testsuite/lib/libio.exp *** libstdc++-2.8.0/libio/testsuite/lib/libio.exp Tue Jan 6 23:42:03 1998 --- libstdc++-2.8.1.1/libio/testsuite/lib/libio.exp Tue Feb 24 15:08:44 1998 *************** *** 1,3 **** ! # Copyright (C) 1997 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify --- 1,3 ---- ! # Copyright (C) 1997, 1998 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify *************** proc test_libio { srcfile compile_args i *** 75,79 **** lappend args "additional_flags=[libio_link_flags]"; } - lappend args "additional_flags=[libio_link_flags]"; lappend args "libs=-lio" } --- 75,78 ---- diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/ChangeLog libstdc++-2.8.1.1/libstdc++/ChangeLog *** libstdc++-2.8.0/libstdc++/ChangeLog Tue Jan 6 23:42:04 1998 --- libstdc++-2.8.1.1/libstdc++/ChangeLog Thu Mar 19 12:53:14 1998 *************** *** 1,2 **** --- 1,66 ---- + Thu Mar 19 12:51:23 1998 Manfred Hollstein + + * Makefile.in (VERSION): Bump to 2.8.1.1. + + Tue Mar 3 08:26:10 1998 Manfred Hollstein + + * configure.in: Make locating frag files failsafe even for the + special case if configuring and building in srcdir. + + Thu Feb 26 17:53:19 1998 Manfred Hollstein + + * configure.in: Add ../ if we are configuring inside srcdir. + + 1998-02-18 Jason Merrill + + * std/bastring.h: Don't #include yet. + * sinst.cc: Revert. + + Tue Feb 10 01:03:19 1998 Jason Merrill + + * std/bastring.h (unique): We only need length bytes. + (c_str): Avoid writing over random memory. + #include . + Lose _G_ALLOC_CONTROL. + * std/bastring.cc: Likewise. + (nilRep): Add initializer for selfish. + * sinst.cc: Just #include . + + Mon Feb 9 13:38:07 1998 H.J. Lu (hjl@gnu.org) + + * config/linux.mt: Don't define _PTHREADS, but define + _IO_MTSAFE_IO. + + Mon Feb 9 00:09:16 1998 Jason Merrill + + * Makefile.in (install): Remove the shared library symlink even if + we aren't installing it. + + Fri Feb 6 01:36:21 1998 Manfred Hollstein + + * Makefile.in (piclist): Check value of enable_shared, not PICFLAG. + (stmp-string, ...): Dito. + (bigstmp-string, ...): Dito. + + Wed Jan 28 10:27:11 1998 Manfred Hollstein + + * tests/configure.in, testsuite/configure.in: Update with yesterday's + toplevel configure.in changes. + + Tue Jan 27 17:48:40 1998 Manfred Hollstein + + * configure.in (package_makefile_rules_frag): New variable + which is used in the call to config.shared; redirect file descriptor 2 + to ${package_makefile_rules_frag}. + + Tue Jan 27 10:29:44 1998 H.J. Lu (hjl@gnu.org) + + * configure.in (topsrcdir): New. + (configdirs): Check ${topsrcdir}/gcc instead. + (config-ml.in): Use ${topsrcdir}/config-ml.in. + + * tests/configure.in (topsrcdir): New. + (check): Check ${topsrcdir}/gcc instead. + 1998-01-05 Brendan Kehoe diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/Makefile.in libstdc++-2.8.1.1/libstdc++/Makefile.in *** libstdc++-2.8.0/libstdc++/Makefile.in Tue Jan 6 23:42:05 1998 --- libstdc++-2.8.1.1/libstdc++/Makefile.in Thu Mar 19 12:53:23 1998 *************** *** 1,3 **** ! # Copyright (C) 1994, 1995 Free Software Foundation # This file is part of the GNU ANSI C++ Library. This library is free --- 1,3 ---- ! # Copyright (C) 1994, 1995, 1998 Free Software Foundation # This file is part of the GNU ANSI C++ Library. This library is free *************** *** 15,19 **** # Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! VERSION = 2.8.0 OBJS = cstringi.o stdexcepti.o cstdlibi.o cmathi.o stlinst.o --- 15,19 ---- # Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! VERSION = 2.8.1.1 OBJS = cstringi.o stdexcepti.o cstdlibi.o cmathi.o stlinst.o *************** piclist: stdlist *** 76,80 **** -rm -f tlist cp stdlist tlist ! if [ -n "$(PICFLAG)" ]; then \ sed 's,\([A-Za-z_]*\.o\),pic/\1,g' tlist > tlist2 ; \ mv tlist2 tlist ; \ --- 76,80 ---- -rm -f tlist cp stdlist tlist ! if [ x"$(enable_shared)" = xyes ]; then \ sed 's,\([A-Za-z_]*\.o\),pic/\1,g' tlist > tlist2 ; \ mv tlist2 tlist ; \ *************** stmp-string: ${srcdir}/sinst.cc ${srcdir *** 126,130 **** for name in $(STRFUNCS) $(STRIO); do \ echo c$${name}; \ ! if [ -n "$(PICFLAG)" ]; then \ $(COMPILE.cc) $(PICFLAG) -DC -D$${name} ${srcdir}/sinst.cc \ -o pic/c$${name}.o; \ --- 126,130 ---- for name in $(STRFUNCS) $(STRIO); do \ echo c$${name}; \ ! if [ x"$(enable_shared)" = xyes ]; then \ $(COMPILE.cc) $(PICFLAG) -DC -D$${name} ${srcdir}/sinst.cc \ -o pic/c$${name}.o; \ *************** bigstmp-string: ${srcdir}/sinst.cc ${src *** 139,143 **** ${srcdir}/std/bastring.cc ${srcdir}/std/straits.h echo cstring ! if [ -n "$(PICFLAG)" ]; then \ $(COMPILE.cc) $(PICFLAG) -DC \ `for N in $(STRFUNCS); do echo " -D$${N}"; done` \ --- 139,143 ---- ${srcdir}/std/bastring.cc ${srcdir}/std/straits.h echo cstring ! if [ x"$(enable_shared)" = xyes ]; then \ $(COMPILE.cc) $(PICFLAG) -DC \ `for N in $(STRFUNCS); do echo " -D$${N}"; done` \ *************** bigstmp-string: ${srcdir}/sinst.cc ${src *** 147,151 **** $(srcdir)/sinst.cc -o cstrmain.o echo cstrio ! if [ -n "$(PICFLAG)" ]; then \ $(COMPILE.cc) $(PICFLAG) -DC \ `for N in $(STRIO); do echo " -D$${N}"; done` \ --- 147,151 ---- $(srcdir)/sinst.cc -o cstrmain.o echo cstrio ! if [ x"$(enable_shared)" = xyes ]; then \ $(COMPILE.cc) $(PICFLAG) -DC \ `for N in $(STRIO); do echo " -D$${N}"; done` \ *************** stmp-complx: ${srcdir}/cinst.cc ${srcdir *** 166,170 **** for N in $(COMFUNCS) $(COMIO); do \ echo f$${N}; \ ! if [ -n "$(PICFLAG)" ]; then \ $(COMPILE.cc) $(PICFLAG) -DF -D$${N} $(srcdir)/cinst.cc \ -o pic/f$${N}.o; \ --- 166,170 ---- for N in $(COMFUNCS) $(COMIO); do \ echo f$${N}; \ ! if [ x"$(enable_shared)" = xyes ]; then \ $(COMPILE.cc) $(PICFLAG) -DF -D$${N} $(srcdir)/cinst.cc \ -o pic/f$${N}.o; \ *************** stmp-complx: ${srcdir}/cinst.cc ${srcdir *** 174,178 **** if [ $$? -eq 0 ]; then true; else exit 1; fi; \ echo d$${N}; \ ! if [ -n "$(PICFLAG)" ]; then \ $(COMPILE.cc) $(PICFLAG) -DD -D$${N} $(srcdir)/cinst.cc \ -o pic/d$${N}.o; \ --- 174,178 ---- if [ $$? -eq 0 ]; then true; else exit 1; fi; \ echo d$${N}; \ ! if [ x"$(enable_shared)" = xyes ]; then \ $(COMPILE.cc) $(PICFLAG) -DD -D$${N} $(srcdir)/cinst.cc \ -o pic/d$${N}.o; \ *************** stmp-complx: ${srcdir}/cinst.cc ${srcdir *** 182,186 **** if [ $$? -eq 0 ]; then true; else exit 1; fi; \ echo ld$${N}; \ ! if [ -n "$(PICFLAG)" ]; then \ $(COMPILE.cc) $(PICFLAG) -DLD -D$${N} $(srcdir)/cinst.cc \ -o pic/ld$${N}.o; \ --- 182,186 ---- if [ $$? -eq 0 ]; then true; else exit 1; fi; \ echo ld$${N}; \ ! if [ x"$(enable_shared)" = xyes ]; then \ $(COMPILE.cc) $(PICFLAG) -DLD -D$${N} $(srcdir)/cinst.cc \ -o pic/ld$${N}.o; \ *************** bigstmp-complx: ${srcdir}/cinst.cc ${src *** 196,200 **** ${srcdir}/std/ldcomplex.h echo fcomplex ! if [ -n "$(PICFLAG)" ]; then \ $(COMPILE.cc) $(PICFLAG) -DF \ `for N in $(COMFUNCS); do echo " -D$${N}"; done` \ --- 196,200 ---- ${srcdir}/std/ldcomplex.h echo fcomplex ! if [ x"$(enable_shared)" = xyes ]; then \ $(COMPILE.cc) $(PICFLAG) -DF \ `for N in $(COMFUNCS); do echo " -D$${N}"; done` \ *************** bigstmp-complx: ${srcdir}/cinst.cc ${src *** 204,208 **** $(srcdir)/cinst.cc -o fcomplex.o echo fcomio ! if [ -n "$(PICFLAG)" ]; then \ $(COMPILE.cc) $(PICFLAG) -DF \ `for N in $(COMIO); do echo " -D$${N}"; done` \ --- 204,208 ---- $(srcdir)/cinst.cc -o fcomplex.o echo fcomio ! if [ x"$(enable_shared)" = xyes ]; then \ $(COMPILE.cc) $(PICFLAG) -DF \ `for N in $(COMIO); do echo " -D$${N}"; done` \ *************** bigstmp-complx: ${srcdir}/cinst.cc ${src *** 212,216 **** $(srcdir)/cinst.cc -o fcomio.o echo dcomplex ! if [ -n "$(PICFLAG)" ]; then \ $(COMPILE.cc) $(PICFLAG) -DD \ `for N in $(COMFUNCS); do echo " -D$${N}"; done` \ --- 212,216 ---- $(srcdir)/cinst.cc -o fcomio.o echo dcomplex ! if [ x"$(enable_shared)" = xyes ]; then \ $(COMPILE.cc) $(PICFLAG) -DD \ `for N in $(COMFUNCS); do echo " -D$${N}"; done` \ *************** bigstmp-complx: ${srcdir}/cinst.cc ${src *** 220,224 **** $(srcdir)/cinst.cc -o dcomplex.o echo dcomio ! if [ -n "$(PICFLAG)" ]; then \ $(COMPILE.cc) $(PICFLAG) -DD \ `for N in $(COMIO); do echo " -D$${N}"; done` \ --- 220,224 ---- $(srcdir)/cinst.cc -o dcomplex.o echo dcomio ! if [ x"$(enable_shared)" = xyes ]; then \ $(COMPILE.cc) $(PICFLAG) -DD \ `for N in $(COMIO); do echo " -D$${N}"; done` \ *************** bigstmp-complx: ${srcdir}/cinst.cc ${src *** 228,232 **** $(srcdir)/cinst.cc -o dcomio.o echo ldcomplex ! if [ -n "$(PICFLAG)" ]; then \ $(COMPILE.cc) $(PICFLAG) -DLD \ `for N in $(COMFUNCS); do echo " -D$${N}"; done` \ --- 228,232 ---- $(srcdir)/cinst.cc -o dcomio.o echo ldcomplex ! if [ x"$(enable_shared)" = xyes ]; then \ $(COMPILE.cc) $(PICFLAG) -DLD \ `for N in $(COMFUNCS); do echo " -D$${N}"; done` \ *************** bigstmp-complx: ${srcdir}/cinst.cc ${src *** 236,240 **** $(srcdir)/cinst.cc -o ldcomplex.o echo ldcomio ! if [ -n "$(PICFLAG)" ]; then \ $(COMPILE.cc) $(PICFLAG) -DLD \ `for N in $(COMIO); do echo " -D$${N}"; done` \ --- 236,240 ---- $(srcdir)/cinst.cc -o ldcomplex.o echo ldcomio ! if [ x"$(enable_shared)" = xyes ]; then \ $(COMPILE.cc) $(PICFLAG) -DLD \ `for N in $(COMIO); do echo " -D$${N}"; done` \ *************** install: *** 273,276 **** --- 273,277 ---- fi rootme=`pwd`/ ; export rootme ; \ + rm -f $(INSTALLDIR)$(MULTISUBDIR)/$(SHLINK) ; \ for FILE in $(LIBS) ; do \ rm -f $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \ diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/config/linux.mt libstdc++-2.8.1.1/libstdc++/config/linux.mt *** libstdc++-2.8.0/libstdc++/config/linux.mt Tue Sep 16 18:11:13 1997 --- libstdc++-2.8.1.1/libstdc++/config/linux.mt Tue Feb 24 15:08:44 1998 *************** *** 1 **** ! MT_CFLAGS = -D_PTHREADS --- 1,2 ---- ! # tell we want the mt-safe version ! MT_CFLAGS = -D_IO_MTSAFE_IO diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/configure.in libstdc++-2.8.1.1/libstdc++/configure.in *** libstdc++-2.8.0/libstdc++/configure.in Tue Jan 6 23:42:05 1998 --- libstdc++-2.8.1.1/libstdc++/configure.in Thu Mar 19 07:31:58 1998 *************** *** 3,10 **** # this directory. For more information, look at ../configure. ! configdirs="tests testsuite" srctrigger=sinst.cc srcname="ANSI C++ library" package_makefile_frag=Make.pack # per-host: --- 3,25 ---- # this directory. For more information, look at ../configure. ! if [ "${srcdir}" = "." ] ; then ! if [ "${with_target_subdir}" != "." ] ; then ! topsrcdir=${with_multisrctop}../.. ! else ! topsrcdir=${with_multisrctop}.. ! fi ! else ! topsrcdir=${srcdir}/.. ! fi ! ! if [ -d ${topsrcdir}/gcc ] ; then ! configdirs="tests testsuite" ! else ! configdirs="tests" ! fi srctrigger=sinst.cc srcname="ANSI C++ library" package_makefile_frag=Make.pack + package_makefile_rules_frag=Make.pack.r # per-host: *************** esac *** 51,54 **** --- 66,77 ---- for frag in ${frags}; do + case ${frag} in + ../* ) + if [ ${srcdir} = . ]; then + [ -n "${with_target_subdir}" ] && frag=../${frag} + [ -n "${with_multisrctop}" ] && frag=${with_multisrctop}${frag} + fi + ;; + esac frag=${srcdir}/config/$frag if [ -f ${frag} ]; then *************** CLEAN='$(CLEAN_JUNK)' *** 70,74 **** EXTRA_DISTCLEAN='target-mkfrag' ! (. ${srcdir}/${TO_TOPDIR}libio/config.shared) >${package_makefile_frag} # post-target: --- 93,97 ---- EXTRA_DISTCLEAN='target-mkfrag' ! (. ${srcdir}/${TO_TOPDIR}libio/config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag} # post-target: *************** if [ -n "${with_cross_host}" ] ; then *** 83,93 **** fi ! if [ "${srcdir}" = "." ] ; then ! if [ "${with_target_subdir}" != "." ] ; then ! . ${with_multisrctop}../../config-ml.in ! else ! . ${with_multisrctop}../config-ml.in ! fi ! else ! . ${srcdir}/../config-ml.in ! fi --- 106,108 ---- fi ! . ${topsrcdir}/config-ml.in diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/sinst.cc libstdc++-2.8.1.1/libstdc++/sinst.cc *** libstdc++-2.8.0/libstdc++/sinst.cc Fri Aug 22 00:58:34 1997 --- libstdc++-2.8.1.1/libstdc++/sinst.cc Tue Feb 24 15:08:44 1998 *************** *** 1,4 **** // Instantiation file for the -*- C++ -*- string classes. ! // Copyright (C) 1994 Free Software Foundation // This file is part of the GNU ANSI C++ Library. This library is free --- 1,4 ---- // Instantiation file for the -*- C++ -*- string classes. ! // Copyright (C) 1994, 1998 Free Software Foundation // This file is part of the GNU ANSI C++ Library. This library is free *************** *** 34,37 **** --- 34,38 ---- #endif + #include #include diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/std/bastring.cc libstdc++-2.8.1.1/libstdc++/std/bastring.cc *** libstdc++-2.8.0/libstdc++/std/bastring.cc Tue Jan 6 23:42:09 1998 --- libstdc++-2.8.1.1/libstdc++/std/bastring.cc Tue Feb 24 15:08:44 1998 *************** *** 1,4 **** // Member templates for the -*- C++ -*- string classes. ! // Copyright (C) 1994 Free Software Foundation // This file is part of the GNU ANSI C++ Library. This library is free --- 1,4 ---- // Member templates for the -*- C++ -*- string classes. ! // Copyright (C) 1994, 1998 Free Software Foundation // This file is part of the GNU ANSI C++ Library. This library is free *************** *** 26,32 **** // in ANSI X3J16/94-0013R2. - #include - #include - extern "C++" { template --- 26,29 ---- *************** operator delete (void * ptr) *** 48,56 **** template inline size_t basic_string ::Rep:: - #if _G_ALLOC_CONTROL - default_frob (size_t s) - #else frob_size (size_t s) - #endif { size_t i = 16; --- 45,49 ---- *************** clone () *** 84,92 **** template inline bool basic_string ::Rep:: - #ifdef _G_ALLOC_CONTROL - default_excess (size_t s, size_t r) - #else excess_slop (size_t s, size_t r) - #endif { return 2 * (s <= 16 ? 16 : s) < r; --- 77,81 ---- *************** getline (istream &is, basic_string basic_string ::Rep ! basic_string::nilRep = { 0, 0, 1 }; template const basic_string ::size_type basic_string ::npos; - - #ifdef _G_ALLOC_CONTROL - template - bool (*basic_string ::Rep::excess_slop) (size_t, size_t) - = basic_string ::Rep::default_excess; - - template - size_t (*basic_string ::Rep::frob_size) (size_t) - = basic_string ::Rep::default_frob; - #endif } // extern "C++" --- 510,518 ---- template basic_string ::Rep ! basic_string::nilRep = { 0, 0, 1, false }; template const basic_string ::size_type basic_string ::npos; } // extern "C++" diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/std/bastring.h libstdc++-2.8.1.1/libstdc++/std/bastring.h *** libstdc++-2.8.0/libstdc++/std/bastring.h Tue Jan 6 23:42:09 1998 --- libstdc++-2.8.1.1/libstdc++/std/bastring.h Tue Feb 24 15:08:44 1998 *************** *** 1,4 **** // Main templates for the -*- C++ -*- string classes. ! // Copyright (C) 1994, 1995 Free Software Foundation // This file is part of the GNU ANSI C++ Library. This library is free --- 1,4 ---- // Main templates for the -*- C++ -*- string classes. ! // Copyright (C) 1994, 1995, 1998 Free Software Foundation // This file is part of the GNU ANSI C++ Library. This library is free *************** private: *** 85,104 **** inline void set (size_t, const charT, size_t); - #if _G_ALLOC_CONTROL - // These function pointers allow you to modify the allocation policy used - // by the string classes. By default they expand by powers of two, but - // this may be excessive for space-critical applications. - - // Returns true if ALLOCATED is too much larger than LENGTH - static bool (*excess_slop) (size_t length, size_t allocated); - inline static bool default_excess (size_t, size_t); - - // Returns a good amount of space to allocate for a string of length LENGTH - static size_t (*frob_size) (size_t length); - inline static size_t default_frob (size_t); - #else inline static bool excess_slop (size_t, size_t); inline static size_t frob_size (size_t); - #endif private: --- 85,90 ---- *************** public: *** 274,278 **** private: static charT eos () { return traits::eos (); } ! void unique () { if (rep ()->ref > 1) alloc (capacity (), true); } void selfish () { unique (); rep ()->selfish = true; } --- 260,264 ---- private: static charT eos () { return traits::eos (); } ! void unique () { if (rep ()->ref > 1) alloc (length (), true); } void selfish () { unique (); rep ()->selfish = true; } *************** private: *** 305,309 **** public: const charT* c_str () const ! { terminate (); return data (); } void resize (size_type n, charT c); void resize (size_type n) --- 291,295 ---- public: const charT* c_str () const ! { if (length () == 0) return ""; terminate (); return data (); } void resize (size_type n, charT c); void resize (size_type n) diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/stl/ChangeLog libstdc++-2.8.1.1/libstdc++/stl/ChangeLog *** libstdc++-2.8.0/libstdc++/stl/ChangeLog Tue Jan 6 23:42:11 1998 --- libstdc++-2.8.1.1/libstdc++/stl/ChangeLog Thu Mar 19 07:31:58 1998 *************** *** 1,2 **** --- 1,23 ---- + Fri Mar 6 00:12:28 1998 H.J. Lu (hjl@gnu.org) + + * stl_config.h (__STL_PTHREADS): Don't define for glibc 2 if + _G_USING_THUNKS is not defined. + + 1998-02-25 Jason Merrill + + * stl_config.h: Work around glibc pthread.h bug. + + Wed Jan 14 16:15:05 1998 H.J. Lu (hjl@gnu.org) + Jason Merrill + + * ropeimpl.h: Check __STL_PTHREADS instead of _PTHREADS. + * stl_alloc.h: Ditto. + * stl_config.h: Ditto. + * stl_rope.h: Ditto. + + * stl_config.h: include <_G_config.h> if __GNUG__ is defined. + (__STL_PTHREADS): Defined if _PTHREADS is defined or + __GLIBC__ >= 2. + Sat Nov 8 00:45:17 1997 Jason Merrill diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/stl/ropeimpl.h libstdc++-2.8.1.1/libstdc++/stl/ropeimpl.h *** libstdc++-2.8.0/libstdc++/stl/ropeimpl.h Tue Jan 6 23:42:17 1998 --- libstdc++-2.8.1.1/libstdc++/stl/ropeimpl.h Tue Feb 24 15:08:44 1998 *************** rope::rope(size_t n, charT *** 1430,1434 **** template charT rope::empty_c_str[1]; ! # ifdef _PTHREADS template pthread_mutex_t rope::swap_lock = PTHREAD_MUTEX_INITIALIZER; --- 1430,1434 ---- template charT rope::empty_c_str[1]; ! # ifdef __STL_PTHREADS template pthread_mutex_t rope::swap_lock = PTHREAD_MUTEX_INITIALIZER; diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/stl/stl_alloc.h libstdc++-2.8.1.1/libstdc++/stl/stl_alloc.h *** libstdc++-2.8.0/libstdc++/stl/stl_alloc.h Sun Nov 2 21:28:09 1997 --- libstdc++-2.8.1.1/libstdc++/stl/stl_alloc.h Sat Feb 28 11:17:28 1998 *************** *** 62,71 **** #endif ! #if !defined(_PTHREADS) && !defined(_NOTHREADS) \ && !defined(__STL_SGI_THREADS) && !defined(__STL_WIN32THREADS) # define _NOTHREADS #endif ! # ifdef _PTHREADS // POSIX Threads // This is dubious, since this is likely to be a high contention --- 62,71 ---- #endif ! #if !defined(__STL_PTHREADS) && !defined(_NOTHREADS) \ && !defined(__STL_SGI_THREADS) && !defined(__STL_WIN32THREADS) # define _NOTHREADS #endif ! # ifdef __STL_PTHREADS // POSIX Threads // This is dubious, since this is likely to be a high contention *************** private: *** 358,362 **** # endif ! # ifdef _PTHREADS static pthread_mutex_t __node_allocator_lock; # endif --- 358,362 ---- # endif ! # ifdef __STL_PTHREADS static pthread_mutex_t __node_allocator_lock; # endif *************** __default_alloc_template: *** 559,563 **** } ! #ifdef _PTHREADS template pthread_mutex_t --- 559,563 ---- } ! #ifdef __STL_PTHREADS template pthread_mutex_t diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/stl/stl_config.h libstdc++-2.8.1.1/libstdc++/stl/stl_config.h *** libstdc++-2.8.0/libstdc++/stl/stl_config.h Tue Jan 6 23:42:19 1998 --- libstdc++-2.8.1.1/libstdc++/stl/stl_config.h Thu Mar 19 07:31:58 1998 *************** *** 72,75 **** --- 72,79 ---- // depending on whether or not __STL_ASSERTIONS is defined. + #ifdef _PTHREADS + # define __STL_PTHREADS + #endif + # if defined(__sgi) && !defined(__GNUC__) # if !defined(_BOOL) *************** *** 94,98 **** # define __STL_USE_NAMESPACES # endif ! # if !defined(_NOTHREADS) && !defined(_PTHREADS) # define __STL_SGI_THREADS # endif --- 98,102 ---- # define __STL_USE_NAMESPACES # endif ! # if !defined(_NOTHREADS) && !defined(__STL_PTHREADS) # define __STL_SGI_THREADS # endif *************** *** 100,104 **** # ifdef __GNUC__ ! # if 0 && (__GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)) # define __STL_STATIC_TEMPLATE_MEMBER_BUG # define __STL_NEED_TYPENAME --- 104,109 ---- # ifdef __GNUC__ ! # include <_G_config.h> ! # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __STL_STATIC_TEMPLATE_MEMBER_BUG # define __STL_NEED_TYPENAME *************** *** 109,112 **** --- 114,126 ---- # define __STL_EXPLICIT_FUNCTION_TMPL_ARGS # define __STL_MEMBER_TEMPLATES + # endif + /* glibc pre 2.0 is very buggy. We have to disable thread for it. + It should be upgraded to glibc 2.0 or later. */ + # if !defined(_NOTHREADS) && __GLIBC__ >= 2 && defined(_G_USING_THUNKS) + # define __STL_PTHREADS + # ifdef __STRICT_ANSI__ + /* Work around a bug in the glibc pthread.h. */ + # define sigset_t __sigset_t + # endif # endif # ifdef __EXCEPTIONS diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/stl/stl_rope.h libstdc++-2.8.1.1/libstdc++/stl/stl_rope.h *** libstdc++-2.8.0/libstdc++/stl/stl_rope.h Sun Nov 2 21:28:17 1997 --- libstdc++-2.8.1.1/libstdc++/stl/stl_rope.h Tue Feb 24 15:08:44 1998 *************** struct __rope_RopeBase { *** 307,311 **** return InterlockedDecrement(&refcount); } ! # elif defined(_PTHREADS) // This should be portable, but performance is expected // to be quite awful. This really needs platform specific --- 307,311 ---- return InterlockedDecrement(&refcount); } ! # elif defined(__STL_PTHREADS) // This should be portable, but performance is expected // to be quite awful. This really needs platform specific *************** class rope { *** 940,944 **** return (cstrptr) InterlockedExchange((LPLONG)p, (LONG)q); } ! # elif defined(_PTHREADS) // This should be portable, but performance is expected // to be quite awful. This really needs platform specific --- 940,944 ---- return (cstrptr) InterlockedExchange((LPLONG)p, (LONG)q); } ! # elif defined(__STL_PTHREADS) // This should be portable, but performance is expected // to be quite awful. This really needs platform specific diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/tests/ChangeLog libstdc++-2.8.1.1/libstdc++/tests/ChangeLog *** libstdc++-2.8.0/libstdc++/tests/ChangeLog Tue Jan 6 23:42:25 1998 --- libstdc++-2.8.1.1/libstdc++/tests/ChangeLog Thu Mar 19 12:54:05 1998 *************** *** 1,2 **** --- 1,10 ---- + Thu Mar 19 12:51:23 1998 Manfred Hollstein + + * Makefile.in (VERSION): Bump to 2.8.1.1. + + Fri Feb 20 12:00:30 1998 Manfred Hollstein + + * Makefile.in (VERSION): Bump to 2.8.1. + Fri Oct 10 00:40:31 1997 Jason Merrill diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/tests/Makefile.in libstdc++-2.8.1.1/libstdc++/tests/Makefile.in *** libstdc++-2.8.0/libstdc++/tests/Makefile.in Fri Aug 22 00:58:42 1997 --- libstdc++-2.8.1.1/libstdc++/tests/Makefile.in Thu Mar 19 12:54:10 1998 *************** *** 1,3 **** ! # Copyright (C) 1994 Free Software Foundation # This file is part of the GNU ANSI C++ Library. This library is free --- 1,3 ---- ! # Copyright (C) 1994, 1998 Free Software Foundation # This file is part of the GNU ANSI C++ Library. This library is free *************** *** 15,19 **** # Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! VERSION = 2.8.0 SHLIB = libstdc++.so.$(VERSION) --- 15,19 ---- # Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! VERSION = 2.8.1.1 SHLIB = libstdc++.so.$(VERSION) diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/tests/configure.in libstdc++-2.8.1.1/libstdc++/tests/configure.in *** libstdc++-2.8.0/libstdc++/tests/configure.in Fri Aug 22 00:58:42 1997 --- libstdc++-2.8.1.1/libstdc++/tests/configure.in Tue Feb 24 15:08:44 1998 *************** srctrigger=tcomplex.cc *** 7,10 **** --- 7,11 ---- srcname="tests for ANSI C++ library" package_makefile_frag=Make.pack + package_makefile_rules_frag=Make.pack.r # per-host: *************** SIMPLE_TESTS='tstring tlist tmap tvector *** 20,24 **** TESTS="tcomplex ${SIMPLE_TESTS}" MOSTLYCLEAN="*.o core ${TESTS} *.out" ! (. ${srcdir}/${TO_TOPDIR}libio/config.shared) >${package_makefile_frag} # post-target: --- 21,25 ---- TESTS="tcomplex ${SIMPLE_TESTS}" MOSTLYCLEAN="*.o core ${TESTS} *.out" ! (. ${srcdir}/${TO_TOPDIR}libio/config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag} # post-target: *************** for TEST in ${TESTS} ; do *** 44,50 **** CHECK="${CHECK} check-${TEST}" done - echo " - check: - check-old: ${CHECK}" >>Makefile --- 45,65 ---- CHECK="${CHECK} check-${TEST}" done + if [ "${srcdir}" = "." ] ; then + if [ "${with_target_subdir}" != "." ] ; then + topsrcdir=${with_multisrctop}../../.. + else + topsrcdir=${with_multisrctop}../.. + fi + else + topsrcdir=${srcdir}/../.. + fi + if [ -d ${topsrcdir}/gcc ] ; then + echo " + check: + check-old: ${CHECK}" >>Makefile + else + echo " + check: ${CHECK}" >>Makefile + fi diff -r -c2 -p -N libstdc++-2.8.0/libstdc++/testsuite/configure.in libstdc++-2.8.1.1/libstdc++/testsuite/configure.in *** libstdc++-2.8.0/libstdc++/testsuite/configure.in Fri Aug 22 00:58:43 1997 --- libstdc++-2.8.1.1/libstdc++/testsuite/configure.in Tue Feb 24 15:08:44 1998 *************** srctrigger=configure.in *** 7,10 **** --- 7,11 ---- srcname="tests for ANSI C++ library, dejagnu style" package_makefile_frag=Make.pack + package_makefile_rules_frag=Make.pack.r # per-host: *************** XCXXINCLUDES="-I${srcdir}/.. -I${srcdir} *** 19,23 **** TESTS="tcomplex tstring tlist tmap tvector" MOSTLYCLEAN="*.o core ${TESTS} *.out" ! (. ${srcdir}/${TO_TOPDIR}libio/config.shared) >${package_makefile_frag} # post-target: --- 20,24 ---- TESTS="tcomplex tstring tlist tmap tvector" MOSTLYCLEAN="*.o core ${TESTS} *.out" ! (. ${srcdir}/${TO_TOPDIR}libio/config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag} # post-target: diff -r -c2 -p -N libstdc++-2.8.0/texinfo/lgpl.texinfo libstdc++-2.8.1.1/texinfo/lgpl.texinfo *** libstdc++-2.8.0/texinfo/lgpl.texinfo Thu Jan 1 01:00:00 1970 --- libstdc++-2.8.1.1/texinfo/lgpl.texinfo Tue Feb 24 15:08:45 1998 *************** *** 0 **** --- 1,548 ---- + @c This LGPL is meant to be included from other files. + @c To format a standalone LGPL, use liblic.texi. + + @ifset lgpl-appendix + @appendix GNU LIBRARY GENERAL PUBLIC LICENSE + @end ifset + + @ifclear lgpl-appendix + @unnumbered GNU LIBRARY GENERAL PUBLIC LICENSE + @end ifclear + @center Version 2, June 1991 + + @display + Copyright @copyright{} 1991 Free Software Foundation, Inc. + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + [This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + @end display + + @unnumberedsec Preamble + + The licenses for most software are designed to take away your + freedom to share and change it. By contrast, the GNU General Public + Licenses are intended to guarantee your freedom to share and change + free software---to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some + specially designated Free Software Foundation software, and to any + other libraries whose authors decide to use it. You can use it for + your libraries, too. + + When we speak of free software, we are referring to freedom, not + price. Our General Public Licenses are designed to make sure that you + have the freedom to distribute copies of free software (and charge for + this service if you wish), that you receive source code or can get it + if you want it, that you can change the software or use pieces of it + in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid + anyone to deny you these rights or to ask you to surrender the rights. + These restrictions translate to certain responsibilities for you if + you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis + or for a fee, you must give the recipients all the rights that we gave + you. You must make sure that they, too, receive or can get the source + code. If you link a program with the library, you must provide + complete object files to the recipients so that they can relink them + with the library, after making changes to the library and recompiling + it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright + the library, and (2) offer you this license which gives you legal + permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain + that everyone understands that there is no warranty for this free + library. If the library is modified by someone else and passed on, we + want its recipients to know that what they have is not the original + version, so that any problems introduced by others will not reflect on + the original authors' reputations. + + Finally, any free program is threatened constantly by software + patents. We wish to avoid the danger that companies distributing free + software will individually obtain patent licenses, thus in effect + transforming the program into proprietary software. To prevent this, + we have made it clear that any patent must be licensed for everyone's + free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary + GNU General Public License, which was designed for utility programs. This + license, the GNU Library General Public License, applies to certain + designated libraries. This license is quite different from the ordinary + one; be sure to read it in full, and don't assume that anything in it is + the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that + they blur the distinction we usually make between modifying or adding to a + program and simply using it. Linking a program with a library, without + changing the library, is in some sense simply using the library, and is + analogous to running a utility program or application program. However, in + a textual and legal sense, the linked executable is a combined work, a + derivative of the original library, and the ordinary General Public License + treats it as such. + + Because of this blurred distinction, using the ordinary General + Public License for libraries did not effectively promote software + sharing, because most developers did not use the libraries. We + concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the + users of those programs of all benefit from the free status of the + libraries themselves. This Library General Public License is intended to + permit developers of non-free programs to use free libraries, while + preserving your freedom as a user of such programs to change the free + libraries that are incorporated in them. (We have not seen how to achieve + this as regards changes in header files, but we have achieved it as regards + changes in the actual functions of the Library.) The hope is that this + will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and + modification follow. Pay close attention to the difference between a + ``work based on the library'' and a ``work that uses the library''. The + former contains code derived from the library, while the latter only + works together with the library. + + Note that it is possible for a library to be covered by the ordinary + General Public License rather than by this special one. + + @iftex + @unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + @end iftex + @ifinfo + @center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + @end ifinfo + + @enumerate 0 + @item + This License Agreement applies to any software library which + contains a notice placed by the copyright holder or other authorized + party saying it may be distributed under the terms of this Library + General Public License (also called ``this License''). Each licensee is + addressed as ``you''. + + A ``library'' means a collection of software functions and/or data + prepared so as to be conveniently linked with application programs + (which use some of those functions and data) to form executables. + + The ``Library'', below, refers to any such software library or work + which has been distributed under these terms. A ``work based on the + Library'' means either the Library or any derivative work under + copyright law: that is to say, a work containing the Library or a + portion of it, either verbatim or with modifications and/or translated + straightforwardly into another language. (Hereinafter, translation is + included without limitation in the term ``modification''.) + + ``Source code'' for a work means the preferred form of the work for + making modifications to it. For a library, complete source code means + all the source code for all modules it contains, plus any associated + interface definition files, plus the scripts used to control compilation + and installation of the library. + + Activities other than copying, distribution and modification are not + covered by this License; they are outside its scope. The act of + running a program using the Library is not restricted, and output from + such a program is covered only if its contents constitute a work based + on the Library (independent of the use of the Library in a tool for + writing it). Whether that is true depends on what the Library does + and what the program that uses the Library does. + + @item + You may copy and distribute verbatim copies of the Library's + complete source code as you receive it, in any medium, provided that + you conspicuously and appropriately publish on each copy an + appropriate copyright notice and disclaimer of warranty; keep intact + all the notices that refer to this License and to the absence of any + warranty; and distribute a copy of this License along with the + Library. + + You may charge a fee for the physical act of transferring a copy, + and you may at your option offer warranty protection in exchange for a + fee. + + @item + You may modify your copy or copies of the Library or any portion + of it, thus forming a work based on the Library, and copy and + distribute such modifications or work under the terms of Section 1 + above, provided that you also meet all of these conditions: + + @enumerate a + @item + The modified work must itself be a software library. + + @item + You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + @item + You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + @item + If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + @end enumerate + + These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the Library, + and can be reasonably considered independent and separate works in + themselves, then this License, and its terms, do not apply to those + sections when you distribute them as separate works. But when you + distribute the same sections as part of a whole which is a work based + on the Library, the distribution of the whole must be on the terms of + this License, whose permissions for other licensees extend to the + entire whole, and thus to each and every part regardless of who wrote + it. + + Thus, it is not the intent of this section to claim rights or contest + your rights to work written entirely by you; rather, the intent is to + exercise the right to control the distribution of derivative or + collective works based on the Library. + + In addition, mere aggregation of another work not based on the Library + with the Library (or with a work based on the Library) on a volume of + a storage or distribution medium does not bring the other work under + the scope of this License. + + @item + You may opt to apply the terms of the ordinary GNU General Public + License instead of this License to a given copy of the Library. To do + this, you must alter all the notices that refer to this License, so + that they refer to the ordinary GNU General Public License, version 2, + instead of to this License. (If a newer version than version 2 of the + ordinary GNU General Public License has appeared, then you can specify + that version instead if you wish.) Do not make any other change in + these notices. + + Once this change is made in a given copy, it is irreversible for + that copy, so the ordinary GNU General Public License applies to all + subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of + the Library into a program that is not a library. + + @item + You may copy and distribute the Library (or a portion or + derivative of it, under Section 2) in object code or executable form + under the terms of Sections 1 and 2 above provided that you accompany + it with the complete corresponding machine-readable source code, which + must be distributed under the terms of Sections 1 and 2 above on a + medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy + from a designated place, then offering equivalent access to copy the + source code from the same place satisfies the requirement to + distribute the source code, even though third parties are not + compelled to copy the source along with the object code. + + @item + A program that contains no derivative of any portion of the + Library, but is designed to work with the Library by being compiled or + linked with it, is called a ``work that uses the Library''. Such a + work, in isolation, is not a derivative work of the Library, and + therefore falls outside the scope of this License. + + However, linking a ``work that uses the Library'' with the Library + creates an executable that is a derivative of the Library (because it + contains portions of the Library), rather than a ``work that uses the + library''. The executable is therefore covered by this License. + Section 6 states terms for distribution of such executables. + + When a ``work that uses the Library'' uses material from a header file + that is part of the Library, the object code for the work may be a + derivative work of the Library even though the source code is not. + Whether this is true is especially significant if the work can be + linked without the Library, or if the work is itself a library. The + threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data + structure layouts and accessors, and small macros and small inline + functions (ten lines or less in length), then the use of the object + file is unrestricted, regardless of whether it is legally a derivative + work. (Executables containing this object code plus portions of the + Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may + distribute the object code for the work under the terms of Section 6. + Any executables containing that work also fall under Section 6, + whether or not they are linked directly with the Library itself. + + @item + As an exception to the Sections above, you may also compile or + link a ``work that uses the Library'' with the Library to produce a + work containing portions of the Library, and distribute that work + under terms of your choice, provided that the terms permit + modification of the work for the customer's own use and reverse + engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the + Library is used in it and that the Library and its use are covered by + this License. You must supply a copy of this License. If the work + during execution displays copyright notices, you must include the + copyright notice for the Library among them, as well as a reference + directing the user to the copy of this License. Also, you must do one + of these things: + + @enumerate a + @item + Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable ``work that + uses the Library'', as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + @item + Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + @item + If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + @item + Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + @end enumerate + + For an executable, the required form of the ``work that uses the + Library'' must include any data and utility programs needed for + reproducing the executable from it. However, as a special exception, + the source code distributed need not include anything that is normally + distributed (in either source or binary form) with the major + components (compiler, kernel, and so on) of the operating system on + which the executable runs, unless that component itself accompanies + the executable. + + It may happen that this requirement contradicts the license + restrictions of other proprietary libraries that do not normally + accompany the operating system. Such a contradiction means you cannot + use both them and the Library together in an executable that you + distribute. + + @item + You may place library facilities that are a work based on the + Library side-by-side in a single library together with other library + facilities not covered by this License, and distribute such a combined + library, provided that the separate distribution of the work based on + the Library and of the other library facilities is otherwise + permitted, and provided that you do these two things: + + @enumerate a + @item + Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + @item + Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + @end enumerate + + @item + You may not copy, modify, sublicense, link with, or distribute + the Library except as expressly provided under this License. Any + attempt otherwise to copy, modify, sublicense, link with, or + distribute the Library is void, and will automatically terminate your + rights under this License. However, parties who have received copies, + or rights, from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + @item + You are not required to accept this License, since you have not + signed it. However, nothing else grants you permission to modify or + distribute the Library or its derivative works. These actions are + prohibited by law if you do not accept this License. Therefore, by + modifying or distributing the Library (or any work based on the + Library), you indicate your acceptance of this License to do so, and + all its terms and conditions for copying, distributing or modifying + the Library or works based on it. + + @item + Each time you redistribute the Library (or any work based on the + Library), the recipient automatically receives a license from the + original licensor to copy, distribute, link with or modify the Library + subject to these terms and conditions. You may not impose any further + restrictions on the recipients' exercise of the rights granted herein. + You are not responsible for enforcing compliance by third parties to + this License. + + @item + If, as a consequence of a court judgment or allegation of patent + infringement or for any other reason (not limited to patent issues), + conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot + distribute so as to satisfy simultaneously your obligations under this + License and any other pertinent obligations, then as a consequence you + may not distribute the Library at all. For example, if a patent + license would not permit royalty-free redistribution of the Library by + all those who receive copies directly or indirectly through you, then + the only way you could satisfy both it and this License would be to + refrain entirely from distribution of the Library. + + If any portion of this section is held invalid or unenforceable under any + particular circumstance, the balance of the section is intended to apply, + and the section as a whole is intended to apply in other circumstances. + + It is not the purpose of this section to induce you to infringe any + patents or other property right claims or to contest validity of any + such claims; this section has the sole purpose of protecting the + integrity of the free software distribution system which is + implemented by public license practices. Many people have made + generous contributions to the wide range of software distributed + through that system in reliance on consistent application of that + system; it is up to the author/donor to decide if he or she is willing + to distribute software through any other system and a licensee cannot + impose that choice. + + This section is intended to make thoroughly clear what is believed to + be a consequence of the rest of this License. + + @item + If the distribution and/or use of the Library is restricted in + certain countries either by patents or by copyrighted interfaces, the + original copyright holder who places the Library under this License may add + an explicit geographical distribution limitation excluding those countries, + so that distribution is permitted only in or among countries not thus + excluded. In such case, this License incorporates the limitation as if + written in the body of this License. + + @item + The Free Software Foundation may publish revised and/or new + versions of the Library General Public License from time to time. + Such new versions will be similar in spirit to the present version, + but may differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the Library + specifies a version number of this License which applies to it and + ``any later version'', you have the option of following the terms and + conditions either of that version or of any later version published by + the Free Software Foundation. If the Library does not specify a + license version number, you may choose any version ever published by + the Free Software Foundation. + + @item + If you wish to incorporate parts of the Library into other free + programs whose distribution conditions are incompatible with these, + write to the author to ask for permission. For software which is + copyrighted by the Free Software Foundation, write to the Free + Software Foundation; we sometimes make exceptions for this. Our + decision will be guided by the two goals of preserving the free status + of all derivatives of our free software and of promoting the sharing + and reuse of software generally. + + @iftex + @heading NO WARRANTY + @end iftex + @ifinfo + @center NO WARRANTY + @end ifinfo + + @item + BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO + WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. + EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR + OTHER PARTIES PROVIDE THE LIBRARY ``AS IS'' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE + LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME + THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + @item + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN + WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY + AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU + FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR + CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE + LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING + RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A + FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF + SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + @end enumerate + + @iftex + @heading END OF TERMS AND CONDITIONS + @end iftex + @ifinfo + @center END OF TERMS AND CONDITIONS + @end ifinfo + + @page + @unnumberedsec How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest + possible use to the public, we recommend making it free software that + everyone can redistribute and change. You can do so by permitting + redistribution under these terms (or, alternatively, under the terms of the + ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is + safest to attach them to the start of each source file to most effectively + convey the exclusion of warranty; and each file should have at least the + ``copyright'' line and a pointer to where the full notice is found. + + @smallexample + @var{one line to give the library's name and an idea of what it does.} + Copyright (C) @var{year} @var{name of author} + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, + MA 02139, USA. + @end smallexample + + Also add information on how to contact you by electronic and paper mail. + + You should also get your employer (if you work as a programmer) or your + school, if any, to sign a ``copyright disclaimer'' for the library, if + necessary. Here is a sample; alter the names: + + @example + Yoyodyne, Inc., hereby disclaims all copyright interest in + the library `Frob' (a library for tweaking knobs) written + by James Random Hacker. + + @var{signature of Ty Coon}, 1 April 1990 + Ty Coon, President of Vice + @end example + + That's all there is to it!