1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-13 10:02:38 +00:00

Gcc 3.2.1-prerelease C++ support bits from the FSF anoncvs repo gcc-3_2-branch on October 9th 2002 20:15 EST.

This commit is contained in:
Alexander Kabaev 2002-10-10 04:40:44 +00:00
parent 423134a002
commit 2dfb3a5ed0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/vendor/gcc/dist/; revision=104754
10 changed files with 176 additions and 56 deletions

View File

@ -1,3 +1,64 @@
2002-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.am (all-multi): Fix multilib parallel build.
2002-10-01 Phil Edwards <pme@gcc.gnu.org>
* Makefile.am (check-abi): Add @ to rule.
* Makefile.in: Regenerated.
2002-10-01 Phil Edwards <pme@gcc.gnu.org>
PR libstdc++/8096
* include/bits/stl_deque.h (deque::_M_range_check): Throw
out_of_range, not range_error.
2002-09-28 Paolo Carlini <pcarlini@unitus.it>
* include/bits/locale_facets.tcc (num_put::_M_widen_int):
Deal correctly with grouped, showbased (oct or hex) zero.
* testsuite/22_locale/num_put_members_char.cc: Add test05.
* testsuite/22_locale/num_put_members_wchar_t.cc: Ditto.
2002-09-25 Phil Edwards <pme@gcc.gnu.org>
Bulk documentation merge (copy) from trunk.
* docs/doxygen/run_doxygen, docs/html/Makefile, docs/html/abi.txt,
docs/html/configopts.html, docs/html/documentation.html,
docs/html/explanations.html, docs/html/install.html,
docs/html/makedoc.awk, docs/html/17_intro/C++STYLE,
docs/html/17_intro/RELEASE-NOTES, docs/html/17_intro/contribute.html,
docs/html/17_intro/howto.html, docs/html/17_intro/license.html,
docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html,
docs/html/20_util/howto.html, docs/html/21_strings/howto.html,
docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html,
docs/html/22_locale/howto.html, docs/html/22_locale/locale.html,
docs/html/22_locale/messages.html, docs/html/23_containers/howto.html,
docs/html/24_iterators/howto.html, docs/html/25_algorithms/howto.html,
docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
docs/html/ext/howto.html, docs/html/ext/sgiexts.html,
docs/html/faq/index.html, docs/html/faq/index.txt: Merge from trunk.
2002-09-21 Phil Edwards <pme@gcc.gnu.org>
* testsuite/abi_check.cc: Pull shell fragments out into...
* config/abi/extract_symvers: ...here. New file.
* Makefile.am (check_abi): Change to match.
(new-abi-baseline): New target.
* Makefile.in: Regenerated.
2002-09-16 Loren J. Rittle <ljrittle@acm.org>
libstdc++/7922
* include/ext/stl_rope.h (rope<>): Qualify dependent names
with `typename'.
2002-09-16 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/codecvt.h: Remove __s.
* config/locale/gnu/codecvt_members.cc: Remove _M_c_locale_codecvt
usage, substitute _S_c_locale.
2002-09-12 Benjamin Kosnik <bkoz@redhat.com>
* libmath/Makefile.am (LIBTOOL): Use --tag CC always for this

View File

@ -44,10 +44,25 @@ check-script-install: $(top_builddir)/mkcheck
cd testsuite; \
@glibcpp_builddir@/mkcheck 1)
# Use 'new-abi-baseline' to create an initial symbol file. Then run
# 'check-abi' to test for changes against that file.
baseline_file = @baseline_file@
check-abi: $(top_builddir)/testsuite/abi_check
-(cd testsuite; \
./abi_check ${baseline_file})
-@(cd testsuite; \
${top_srcdir}/config/abi/extract_symvers \
../src/.libs/libstdc++.so \
./current_symbols.txt; \
./abi_check --check ./current_symbols.txt ${baseline_file})
new-abi-baseline:
-@(output=${baseline_file}; \
if test -f $${output}; then \
output=$${output}.new; \
t=`echo $${output} | sed 's=.*config/abi/=='`; \
echo "Baseline file already exists, writing to $${t} instead."; \
fi; \
${top_srcdir}/config/abi/extract_symvers \
src/.libs/libstdc++.so $${output})
# These rules are messy, but are hella worth it.
doxygen:
@ -93,7 +108,7 @@ distclean-am: distclean-multi
maintainer-clean-am: maintainer-clean-multi
all-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
: $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
install-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
mostlyclean-multi:

View File

@ -1,4 +1,4 @@
# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@ -139,6 +139,8 @@ SUBDIRS = include libio libmath libsupc++ src po testsuite
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
# Use 'new-abi-baseline' to create an initial symbol file. Then run
# 'check-abi' to test for changes against that file.
baseline_file = @baseline_file@
# Multilib support.
@ -155,44 +157,7 @@ MULTICLEAN = true
# Work around what appears to be a GNU make bug handling MAKEFLAGS
# values defined in terms of make variables, as is the case for CC and
# friends when we are called from the top level Makefile.
AM_MAKEFLAGS = \
"AR_FLAGS=$(AR_FLAGS)" \
"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
"CFLAGS=$(CFLAGS)" \
"CXXFLAGS=$(CXXFLAGS)" \
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
"INSTALL=$(INSTALL)" \
"INSTALL_DATA=$(INSTALL_DATA)" \
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
"LDFLAGS=$(LDFLAGS)" \
"LIBCFLAGS=$(LIBCFLAGS)" \
"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
"MAKE=$(MAKE)" \
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
"PICFLAG=$(PICFLAG)" \
"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
"SHELL=$(SHELL)" \
"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
"exec_prefix=$(exec_prefix)" \
"infodir=$(infodir)" \
"libdir=$(libdir)" \
"includedir=$(includedir)" \
"prefix=$(prefix)" \
"tooldir=$(tooldir)" \
"AR=$(AR)" \
"AS=$(AS)" \
"LD=$(LD)" \
"LIBCFLAGS=$(LIBCFLAGS)" \
"PICFLAG=$(PICFLAG)" \
"RANLIB=$(RANLIB)" \
"NM=$(NM)" \
"NM_FOR_BUILD=$(NM_FOR_BUILD)" \
"NM_FOR_TARGET=$(NM_FOR_TARGET)" \
"DESTDIR=$(DESTDIR)" \
"WERROR=$(WERROR)"
AM_MAKEFLAGS = "AR_FLAGS=$(AR_FLAGS)" "CC_FOR_BUILD=$(CC_FOR_BUILD)" "CC_FOR_TARGET=$(CC_FOR_TARGET)" "CFLAGS=$(CFLAGS)" "CXXFLAGS=$(CXXFLAGS)" "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" "INSTALL=$(INSTALL)" "INSTALL_DATA=$(INSTALL_DATA)" "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" "LDFLAGS=$(LDFLAGS)" "LIBCFLAGS=$(LIBCFLAGS)" "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" "MAKE=$(MAKE)" "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" "PICFLAG=$(PICFLAG)" "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" "SHELL=$(SHELL)" "RUNTESTFLAGS=$(RUNTESTFLAGS)" "exec_prefix=$(exec_prefix)" "infodir=$(infodir)" "libdir=$(libdir)" "includedir=$(includedir)" "prefix=$(prefix)" "tooldir=$(tooldir)" "AR=$(AR)" "AS=$(AS)" "LD=$(LD)" "LIBCFLAGS=$(LIBCFLAGS)" "PICFLAG=$(PICFLAG)" "RANLIB=$(RANLIB)" "NM=$(NM)" "NM_FOR_BUILD=$(NM_FOR_BUILD)" "NM_FOR_TARGET=$(NM_FOR_TARGET)" "DESTDIR=$(DESTDIR)" "WERROR=$(WERROR)"
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
CONFIG_HEADER = config.h
@ -204,7 +169,7 @@ mkcheck.in testsuite_flags.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
TAR = tar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@ -480,8 +445,21 @@ check-script-install: $(top_builddir)/mkcheck
cd testsuite; \
@glibcpp_builddir@/mkcheck 1)
check-abi: $(top_builddir)/testsuite/abi_check
-(cd testsuite; \
./abi_check ${baseline_file})
-@(cd testsuite; \
${top_srcdir}/config/abi/extract_symvers \
../src/.libs/libstdc++.so \
./current_symbols.txt; \
./abi_check --check ./current_symbols.txt ${baseline_file})
new-abi-baseline:
-@(output=${baseline_file}; \
if test -f $${output}; then \
output=$${output}.new; \
t=`echo $${output} | sed 's=.*config/abi/=='`; \
echo "Baseline file already exists, writing to $${t} instead."; \
fi; \
${top_srcdir}/config/abi/extract_symvers \
src/.libs/libstdc++.so $${output})
# These rules are messy, but are hella worth it.
doxygen:
@ -516,7 +494,7 @@ distclean-am: distclean-multi
maintainer-clean-am: maintainer-clean-multi
all-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
: $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
install-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
mostlyclean-multi:

View File

@ -0,0 +1,64 @@
#!/bin/sh
# Copyright (C) 2002 Free Software Foundation, Inc.
#
# This file is part of the GNU ISO C++ Library. This library is free
# software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2, 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this library; see the file COPYING. If not, write to the Free
# Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
# USA.
#
# As a special exception, you may use this file as part of a free software
# library without restriction. Specifically, if other files instantiate
# templates or use macros or inline functions from this file, or you compile
# this file and link it with other files to produce an executable, this
# file does not by itself cause the resulting executable to be covered by
# the GNU General Public License. This exception does not however
# invalidate any other reasons why the executable file might be covered by
# the GNU General Public License.
if test ${#} -lt 2 || test $1 = '--help'; then
echo "Usage: extract_symvers shared_lib output_file" 1>&2
exit 1
fi
lib=$1
output=$2
# GNU binutils, somewhere after version 2.11.2, requires -W/--wide to avoid
# default line truncation. -W is not supported and truncation did not occur
# by default before that point.
readelf="readelf --symbols"
if readelf --help | grep -- --wide > /dev/null; then
readelf="$readelf --wide"
fi
# This avoids weird sorting problems later.
export LC_ALL=C
tmp=extract.$$
${readelf} ${lib} | sed '/\.dynsym/,/^$/p;d' | egrep -v ' (LOCAL|UND) ' |\
awk '{ if ($4 == "FUNC" || $4 == "NOTYPE")
printf "%s:%s\n", $4, $8;
else if ($4 == "OBJECT")
printf "%s:%s:%s\n", $4, $3, $8;
}' | sort | uniq > $tmp 2>&1
# else printf "Huh? What is %s?\n", $8;
# I think we'll be doing some more with this file, but for now, dump.
mv $tmp $output
exit 0

View File

@ -50,7 +50,7 @@ namespace std
result __ret = error;
size_t __len = min(__from_end - __from, __to_end - __to);
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
__c_locale __old = __uselocale(_M_c_locale_codecvt);
__c_locale __old = __uselocale(_S_c_locale);
#endif
size_t __conv = wcsrtombs(__to, &__from, __len, &__state);
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
@ -85,7 +85,7 @@ namespace std
result __ret = error;
size_t __len = min(__from_end - __from, __to_end - __to);
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
__c_locale __old = __uselocale(_M_c_locale_codecvt);
__c_locale __old = __uselocale(_S_c_locale);
#endif
size_t __conv = mbsrtowcs(__to, &__from, __len, &__state);
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)

View File

@ -34,7 +34,7 @@
#include <bits/os_defines.h>
// The current version of the C++ library in compressed ISO date format.
#define __GLIBCPP__ 20020916
#define __GLIBCPP__ 20021009
// This is necessary until GCC supports separate template
// compilation.

View File

@ -320,7 +320,7 @@
{
public:
explicit
codecvt_byname(const char* __s, size_t __refs = 0)
codecvt_byname(const char*, size_t __refs = 0)
: codecvt<_InternT, _ExternT, _StateT>(__refs) { }
protected:

View File

@ -798,8 +798,10 @@ namespace std
// By itself __add_grouping cannot deal correctly with __ws when
// ios::showbase is set and ios_base::oct || ios_base::hex.
// Therefore we take care "by hand" of the initial 0, 0x or 0X.
// However, remember that the latter do not occur if the number
// printed is '0' (__len == 1).
streamsize __off = 0;
if (__io.flags() & ios_base::showbase)
if ((__io.flags() & ios_base::showbase) && __len > 1)
if (__basefield == ios_base::oct)
{
__off = 1;

View File

@ -665,7 +665,7 @@ class deque : protected _Deque_base<_Tp, _Alloc>
void _M_range_check(size_type __n) const {
if (__n >= this->size())
__throw_range_error("deque");
__throw_out_of_range("deque");
}
reference at(size_type __n)

View File

@ -1375,7 +1375,7 @@ class rope : public _Rope_base<_CharT,_Alloc> {
static _RopeLeaf* _S_new_RopeLeaf(__GC_CONST _CharT *__s,
size_t __size, allocator_type __a)
{
_RopeLeaf* __space = _LAllocator(__a).allocate(1);
_RopeLeaf* __space = typename _Base::_LAllocator(__a).allocate(1);
return new(__space) _RopeLeaf(__s, __size, __a);
}
@ -1383,14 +1383,14 @@ class rope : public _Rope_base<_CharT,_Alloc> {
_RopeRep* __left, _RopeRep* __right,
allocator_type __a)
{
_RopeConcatenation* __space = _CAllocator(__a).allocate(1);
_RopeConcatenation* __space = typename _Base::_CAllocator(__a).allocate(1);
return new(__space) _RopeConcatenation(__left, __right, __a);
}
static _RopeFunction* _S_new_RopeFunction(char_producer<_CharT>* __f,
size_t __size, bool __d, allocator_type __a)
{
_RopeFunction* __space = _FAllocator(__a).allocate(1);
_RopeFunction* __space = typename _Base::_FAllocator(__a).allocate(1);
return new(__space) _RopeFunction(__f, __size, __d, __a);
}
@ -1398,7 +1398,7 @@ class rope : public _Rope_base<_CharT,_Alloc> {
_Rope_RopeRep<_CharT,_Alloc>* __b, size_t __s,
size_t __l, allocator_type __a)
{
_RopeSubstring* __space = _SAllocator(__a).allocate(1);
_RopeSubstring* __space = typename _Base::_SAllocator(__a).allocate(1);
return new(__space) _RopeSubstring(__b, __s, __l, __a);
}