diff options
author | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-10 18:33:36 +0000 |
---|---|---|
committer | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-10 18:33:36 +0000 |
commit | f1c85d4f35bd5cec28420f804c963f349a756b80 (patch) | |
tree | fe01f8b9fd69c8c394258c85ebde6741c85bca48 /libstdc++-v3 | |
parent | eb4a8628c92f7bc6e2987f98db938f50b8be95f5 (diff) | |
download | gcc-f1c85d4f35bd5cec28420f804c963f349a756b80.tar.gz |
Merged r158907 through r159238 into branch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ifunc@159241 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
44 files changed, 684 insertions, 1059 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3c4b8db4b62..61294340d35 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,101 @@ +2010-05-07 Jonathan Wakely <jwakely.gcc@gmail.com> + + * libsupc++/exception_ptr.h (make_exception_ptr): Add. + * testsuite/18_support/exception_ptr/make_exception_ptr.cc: New. + +2010-05-06 Jason Merrill <jason@redhat.com> + + * config/abi/pre/gnu.ver: Move decltype(nullptr) into CXXABI_1.3.5. + * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.5. + + * config/abi/pre/gnu.ver: Add typeinfo for decltype(nullptr). + +2010-05-06 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/basic_string.h: Escape class names in doxygen docs. + +2010-05-06 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/44014 + * include/bits/stringfwd.h: Add doxygen comments and new group. + * include/bits/basic_string.h: Add to new doxygen group. + * doc/doxygen/user.cfg.in (ALIASES): Link to correct group. + +2010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * configure.host: Removed irix[1-6], irix[1-5].*, irix6.[0-4]* + support. + * config/os/irix/irix5.2: Removed. + +2010-05-05 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust + for profile-mode too. + * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: + Likewise. + +2010-05-05 Paolo Carlini <paolo.carlini@oracle.com> + + * include/profile/unordered_map (unordered_map<>::insert(_InputIter, + _InputIter), unordered_multimap<>::insert(_InputIter, _InputIter)): + Fix typo, don't call base() on __first and __last. + +2010-05-05 Paolo Carlini <paolo.carlini@oracle.com> + + Fix profile-mode vs -std=c++0x + * include/profile/impl/profiler_trace.h: Do not include the + whole <algorithm>, include <bits/stl_heap.h> (additionally + to <bits/stl_algobase.h>). + (__write_cost_factors): Replace std::for_each with open-coding. + (__set_cost_factors): Likewise. + (__report): Likewise; use std::make_heap / std::sort_heap + instead of std::sort. + (__report_cost_factors): Replace std::remove with open-coding. + (__warn, __cost_factor_writer, __cost_factor_setter): Remove. + +2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + PR other/43620 + * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. + * configure: Regenerate. + * Makefile.in: Regenerate. + * doc/Makefile.in: Regenerate. + * include/Makefile.in: Regenerate. + * libsupc++/Makefile.in: Regenerate. + * po/Makefile.in: Regenerate. + * python/Makefile.in: Regenerate. + * src/Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + +2010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/xml/faq.xml: Fix anachronisms. + * doc/xml/manual/intro.xml (Make): Tweak grammar and whitespace. + * doc/xml/manual/support.xml (NULL): Use inline <code> element + instead of <programlisting> block. + * doc/html/*: Regenerate. + +2010-04-30 Paolo Carlini <paolo.carlini@oracle.com> + + * include/bits/stl_pair.h (piecewise_construct_t, + pair<>::pair(piecewise_construct_t, tuple, tuple)): Add. + (pair<>::__cons, pair<>::__do_cons): Declare. + (__decay_and_strip, __strip_reference_wrapper): Move... + * include/std/type_traits: ... here. + * include/std/functional (_Index_tuple, _Build_index_tuple): Move... + * include/std/tuple: ... here. + (pack_arguments): Add. + (pair<>::__cons, pair<>::__do_cons): Define. + * testsuite/20_util/tuple/creation_functions/pack_arguments.cc: New. + * testsuite/20_util/pair/piecewise.cc: Likewise. + * testsuite/20_util/tuple/cons/big_tuples.cc: Include <utility>. + * testsuite/20_util/tuple/cons/constructor.cc: Likewise. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust + dg-error line numbers. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. + 2010-04-27 Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/43865 @@ -20,7 +118,7 @@ 2010-04-27 Alexander Monakov <amonakov@ispras.ru> - * testsuite/22_locale/codecvt/unshift/char/1.c (test01): Clarify size + * testsuite/22_locale/codecvt/unshift/char/1.cc (test01): Clarify size definition. Use memcpy and memcmp to avoid access beyond allocated memory. diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in index ecfe02a2ac7..fd89c02e982 100644 --- a/libstdc++-v3/Makefile.in +++ b/libstdc++-v3/Makefile.in @@ -34,13 +34,11 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -DIST_COMMON = README $(am__configure_deps) $(srcdir)/../config.guess \ - $(srcdir)/../config.sub $(srcdir)/../install-sh \ - $(srcdir)/../ltmain.sh $(srcdir)/../missing \ - $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure $(top_srcdir)/fragment.am \ - $(top_srcdir)/scripts/testsuite_flags.in ChangeLog +DIST_COMMON = $(top_srcdir)/fragment.am README ChangeLog \ + $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/configure $(am__configure_deps) \ + $(srcdir)/config.h.in $(srcdir)/../mkinstalldirs \ + $(top_srcdir)/scripts/testsuite_flags.in subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \ @@ -70,7 +68,6 @@ CONFIG_CLEAN_VPATH_FILES = depcomp = am__depfiles_maybe = SOURCES = -DIST_SOURCES = MULTISRCTOP = MULTIBUILDTOP = MULTIDIRS = @@ -87,47 +84,10 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir dist dist-all distcheck + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS ETAGS = etags CTAGS = ctags DIST_SUBDIRS = include libsupc++ doc src po testsuite python -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ACLOCAL = @ACLOCAL@ ALLOCATOR_H = @ALLOCATOR_H@ @@ -559,182 +519,6 @@ GTAGS: distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile all-multi config.h @@ -843,17 +627,14 @@ uninstall-am: .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am all-multi am--refresh check check-am clean \ clean-generic clean-libtool clean-multi ctags ctags-recursive \ - dist dist-all dist-bzip2 dist-gzip dist-lzma dist-shar \ - dist-tarZ dist-xz dist-zip distcheck distclean \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-multi distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-multi install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ + distclean distclean-generic distclean-hdr distclean-libtool \ + distclean-multi distclean-tags dvi dvi-am html html-am info \ + info-am install install-am install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-multi install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic maintainer-clean-multi mostlyclean \ mostlyclean-generic mostlyclean-libtool mostlyclean-multi pdf \ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index 1df649911a0..998b651d801 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -1311,8 +1311,14 @@ CXXABI_1.3.4 { _ZTID[fde]; _ZTIPD[fde]; _ZTIPKD[fde]; - _ZTID[fde]; - _ZTIPD[fde]; - _ZTIPKD[fde]; } CXXABI_1.3.3; + +CXXABI_1.3.5 { + + # typeinfo for decltype(nullptr) + _ZTIDn; + _ZTIPDn; + _ZTIPKDn; + +} CXXABI_1.3.4; diff --git a/libstdc++-v3/config/os/irix/irix5.2/ctype_base.h b/libstdc++-v3/config/os/irix/irix5.2/ctype_base.h deleted file mode 100644 index 0ba7eb1f09a..00000000000 --- a/libstdc++-v3/config/os/irix/irix5.2/ctype_base.h +++ /dev/null @@ -1,55 +0,0 @@ -// Locale support -*- C++ -*- - -// Copyright (C) 1997-1999, 2001, 2009 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 3, 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. - -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. - -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// <http://www.gnu.org/licenses/>. - -// -// ISO C++ 14882: 22.1 Locales -// - -// Information as gleaned from /usr/include/ctype.h on irix 5.2 - -_GLIBCXX_BEGIN_NAMESPACE(std) - - /// @brief Base class for ctype. - struct ctype_base - { - // Non-standard typedefs. - typedef unsigned int* __to_type; - - // NB: Offsets into ctype<char>::_M_table force a particular size - // on the mask type. Because of this, we don't use an enum. - typedef unsigned char mask; - static const mask upper = _U; - static const mask lower = _L; - static const mask alpha = _U | _L; - static const mask digit = _N; - static const mask xdigit = _X; - static const mask space = _S; - static const mask print = _U | _L | _N | _P | _B; - static const mask graph = _U | _L | _N | _P; - static const mask cntrl = _C; - static const mask punct = _P; - static const mask alnum = _U | _L | _N; - }; - -_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h b/libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h deleted file mode 100644 index 1b105b2a6c8..00000000000 --- a/libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h +++ /dev/null @@ -1,71 +0,0 @@ -// Locale support -*- C++ -*- - -// Copyright (C) 2001, 2002, 2009 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 3, 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. - -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. - -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// <http://www.gnu.org/licenses/>. - -/** @file ctype_inline.h - * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. - */ - -// -// ISO C++ 14882: 22.1 Locales -// - -// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) -// functions go in ctype.cc - -_GLIBCXX_BEGIN_NAMESPACE(std) - - bool - ctype<char>:: - is(mask __m, char __c) const - { return (_M_table)[static_cast<unsigned char>(__c)] & __m; } - - const char* - ctype<char>:: - is(const char* __low, const char* __high, mask* __vec) const - { - while (__low < __high) - *__vec++ = (_M_table)[static_cast<unsigned char>(*__low++)]; - return __high; - } - - const char* - ctype<char>:: - scan_is(mask __m, const char* __low, const char* __high) const - { - while (__low < __high && ! this->is(__m, *__low)) - ++__low; - return __low; - } - - const char* - ctype<char>:: - scan_not(mask __m, const char* __low, const char* __high) const - { - while (__low < __high && this->is(__m, *__low)) - ++__low; - return __low; - } - -_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/os/irix/irix5.2/ctype_noninline.h b/libstdc++-v3/config/os/irix/irix5.2/ctype_noninline.h deleted file mode 100644 index d70e398f4bf..00000000000 --- a/libstdc++-v3/config/os/irix/irix5.2/ctype_noninline.h +++ /dev/null @@ -1,93 +0,0 @@ -// Locale support -*- C++ -*- - -// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2009 -// 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 3, 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. - -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. - -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// <http://www.gnu.org/licenses/>. - -/** @file ctype_noninline.h - * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. - */ - -// -// ISO C++ 14882: 22.1 Locales -// - -// Information as gleaned from /usr/include/ctype.h - - const ctype_base::mask* - ctype<char>::classic_table() throw() - { return __ctype + 1; } - - ctype<char>::ctype(__c_locale, const mask* __table, bool __del, - size_t __refs) - : facet(__refs), _M_del(__table != 0 && __del), - _M_toupper(NULL), _M_tolower(NULL), - _M_table(!__table ? classic_table() : __table) - { - memset(_M_widen, 0, sizeof(_M_widen)); - _M_widen_ok = 0; - memset(_M_narrow, 0, sizeof(_M_narrow)); - _M_narrow_ok = 0; - } - - ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) - : facet(__refs), _M_del(__table != 0 && __del), - _M_toupper(NULL), _M_tolower(NULL), - _M_table(!__table ? classic_table() : __table) - { - memset(_M_widen, 0, sizeof(_M_widen)); - _M_widen_ok = 0; - memset(_M_narrow, 0, sizeof(_M_narrow)); - _M_narrow_ok = 0; - } - - char - ctype<char>::do_toupper(char __c) const - { return _toupper(__c); } - - const char* - ctype<char>::do_toupper(char* __low, const char* __high) const - { - while (__low < __high) - { - *__low = do_toupper(*__low); - ++__low; - } - return __high; - } - - char - ctype<char>::do_tolower(char __c) const - { return _tolower(__c); } - - const char* - ctype<char>::do_tolower(char* __low, const char* __high) const - { - while (__low < __high) - { - *__low = do_tolower(*__low); - ++__low; - } - return __high; - } - diff --git a/libstdc++-v3/config/os/irix/irix5.2/os_defines.h b/libstdc++-v3/config/os/irix/irix5.2/os_defines.h deleted file mode 100644 index 8769a752d1a..00000000000 --- a/libstdc++-v3/config/os/irix/irix5.2/os_defines.h +++ /dev/null @@ -1,46 +0,0 @@ -// Specific definitions for IRIX -*- C++ -*- - -// Copyright (C) 2001, 2002, 2005, 2009 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 3, 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. - -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. - -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// <http://www.gnu.org/licenses/>. - -#ifndef _GLIBCXX_OS_DEFINES -#define _GLIBCXX_OS_DEFINES 1 - -// System-specific #define, typedefs, corrections, etc, go here. This -// file will come before all others. - -// We need large file support. There are two ways to turn it on: by -// defining either _LARGEFILE64_SOURCE or _SGI_SOURCE. However, it -// does not actually work to define only the former, as then -// <sys/stat.h> is invalid: `st_blocks' is defined to be a macro, but -// then used as a field name. So, we have to turn on _SGI_SOURCE. -// That only works if _POSIX_SOURCE is turned off, so we have to -// explicitly turn it off. (Some of the libio C files explicitly try -// to turn it on.) _SGI_SOURCE is actually turned on implicitly via -// the command-line. -#undef _POSIX_SOURCE - -// GCC does not use thunks on IRIX. -#define _G_USING_THUNKS 0 - -#endif - diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 58af0324c5a..df45a861bf4 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -3018,6 +3018,7 @@ fi # foreign: we don't follow the normal rules for GNU packages (no COPYING # file in the top srcdir, etc, etc), so stop complaining. # no-dependencies: turns off auto dependency generation (just for now) +# no-dist: we don't want 'dist' and related rules. # -Wall: turns on all automake warnings... # -Wno-portability: ...except this one, since GNU make is now required. am__api_version='1.11' @@ -11441,7 +11442,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11444 "configure" +#line 11445 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11547,7 +11548,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11550 "configure" +#line 11551 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -14887,7 +14888,7 @@ fi # # Fake what AC_TRY_COMPILE does. XXX Look at redoing this new-style. cat > conftest.$ac_ext << EOF -#line 14890 "configure" +#line 14891 "configure" struct S { ~S(); }; void bar(); void foo() @@ -15255,7 +15256,7 @@ $as_echo "$glibcxx_cv_atomic_long_long" >&6; } # Fake what AC_TRY_COMPILE does. cat > conftest.$ac_ext << EOF -#line 15258 "configure" +#line 15259 "configure" int main() { typedef bool atomic_type; @@ -15292,7 +15293,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6; } rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15295 "configure" +#line 15296 "configure" int main() { typedef short atomic_type; @@ -15329,7 +15330,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6; } rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15332 "configure" +#line 15333 "configure" int main() { // NB: _Atomic_word not necessarily int. @@ -15367,7 +15368,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; } rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15370 "configure" +#line 15371 "configure" int main() { typedef long long atomic_type; @@ -15443,7 +15444,7 @@ $as_echo "$as_me: WARNING: Performance of certain classes will degrade as a resu # unnecessary for this test. cat > conftest.$ac_ext << EOF -#line 15446 "configure" +#line 15447 "configure" int main() { _Decimal32 d1; diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac index 9fe9c33964c..7d7f7a95478 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -72,9 +72,10 @@ fi # foreign: we don't follow the normal rules for GNU packages (no COPYING # file in the top srcdir, etc, etc), so stop complaining. # no-dependencies: turns off auto dependency generation (just for now) +# no-dist: we don't want 'dist' and related rules. # -Wall: turns on all automake warnings... # -Wno-portability: ...except this one, since GNU make is now required. -AM_INIT_AUTOMAKE([1.9.3 no-define foreign no-dependencies -Wall -Wno-portability -Wno-override]) +AM_INIT_AUTOMAKE([1.9.3 no-define foreign no-dependencies no-dist -Wall -Wno-portability -Wno-override]) AH_TEMPLATE(PACKAGE, [Name of package]) AH_TEMPLATE(VERSION, [Version number of package]) diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host index 8127a0d73c0..c1f2736667a 100644 --- a/libstdc++-v3/configure.host +++ b/libstdc++-v3/configure.host @@ -245,12 +245,6 @@ case "${host_os}" in hpux*) os_include_dir="os/hpux" ;; - irix[1-6] | irix[1-5].* | irix6.[0-4]*) - # This is known to work on at least IRIX 5.2 and 6.3. - os_include_dir="os/irix/irix5.2" - atomicity_dir=os/irix - atomic_word_dir=os/irix - ;; irix6.5*) os_include_dir="os/irix/irix6.5" atomicity_dir=os/irix diff --git a/libstdc++-v3/doc/Makefile.in b/libstdc++-v3/doc/Makefile.in index 408961e3f21..71f4d63070e 100644 --- a/libstdc++-v3/doc/Makefile.in +++ b/libstdc++-v3/doc/Makefile.in @@ -34,8 +34,8 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/fragment.am +DIST_COMMON = $(top_srcdir)/fragment.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am subdir = doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \ @@ -63,8 +63,6 @@ CONFIG_CLEAN_VPATH_FILES = depcomp = am__depfiles_maybe = SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ACLOCAL = @ACLOCAL@ ALLOCATOR_H = @ALLOCATOR_H@ @@ -440,37 +438,6 @@ TAGS: ctags: CTAGS CTAGS: - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done check-am: all-am check: check-am all-am: Makefile @@ -570,16 +537,15 @@ uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local distclean distclean-generic distclean-libtool \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am + clean-local distclean distclean-generic distclean-libtool dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am # Documentation Overview diff --git a/libstdc++-v3/doc/doxygen/user.cfg.in b/libstdc++-v3/doc/doxygen/user.cfg.in index 40e75087be6..118f9e78975 100644 --- a/libstdc++-v3/doc/doxygen/user.cfg.in +++ b/libstdc++-v3/doc/doxygen/user.cfg.in @@ -180,7 +180,7 @@ TAB_SIZE = 4 # You can put \n's in the value part of an alias to insert newlines. ALIASES = "doctodo=@todo\nDoc me! See doc/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more. " \ - "isiosfwd=One of the @link ios I/O @endlink " + "isiosfwd=One of the @link io I/O @endlink typedefs" # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. diff --git a/libstdc++-v3/doc/html/faq.html b/libstdc++-v3/doc/html/faq.html index 15798d68840..12d91a8e678 100644 --- a/libstdc++-v3/doc/html/faq.html +++ b/libstdc++-v3/doc/html/faq.html @@ -473,9 +473,8 @@ Recent GNU/Linux glibc required? </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-linux_glibc"></a></td><td align="left" valign="top"><p>When running on GNU/Linux, libstdc++ 3.2.1 (shared library version 5.0.1) and later uses localization and formatting code from the system - C library (glibc) version 2.2.5. That version of glibc is over a - year old and contains necessary bugfixes. Many GNU/Linux distros make - glibc version 2.3.x available now. + C library (glibc) version 2.2.5 which contains necessary bugfixes. + Most GNU/Linux distros make more recent versions available now. </p><p>The guideline is simple: the more recent the C++ library, the more recent the C library. (This is also documented in the main GCC installation instructions.) @@ -520,7 +519,7 @@ For those people who are not part of the ISO Library Group (i.e., nearly all of us needing to read this page in the first place), a public list of the library defects is occasionally - published <a class="ulink" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/" target="_top">here</a>. + published <a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">here</a>. Some of these issues have resulted in code changes in libstdc++. </p><p> If you think you've discovered a new bug that is not listed, diff --git a/libstdc++-v3/doc/html/manual/make.html b/libstdc++-v3/doc/html/manual/make.html index d3066e93934..fb6d3a3f368 100644 --- a/libstdc++-v3/doc/html/manual/make.html +++ b/libstdc++-v3/doc/html/manual/make.html @@ -4,6 +4,6 @@ <a class="ulink" href="http://gcc.gnu.org/install/" target="_top">GCC Installation Instructions</a> first. Read <span class="emphasis"><em>all of them</em></span>. <span class="emphasis"><em>Twice.</em></span> - </p><p>Then type:<span class="command"><strong>make</strong></span>, and congratulations, you're + </p><p>Then type: <span class="command"><strong>make</strong></span>, and congratulations, you've started to build. </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="configure.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="setup.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Configure </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 3. Using</td></tr></table></div></body></html> diff --git a/libstdc++-v3/doc/html/manual/support.html b/libstdc++-v3/doc/html/manual/support.html index 2a6dc2e717d..d351fdf8ee5 100644 --- a/libstdc++-v3/doc/html/manual/support.html +++ b/libstdc++-v3/doc/html/manual/support.html @@ -106,7 +106,7 @@ to be <code class="constant">(void*)0</code>, which is often used in C. </p><p> For <span class="command"><strong>g++</strong></span>, <code class="constant">NULL</code> is - </p><pre class="programlisting">#define</pre><p>'d to be + <code class="code">#define</code>'d to be <code class="constant">__null</code>, a magic keyword extension of <span class="command"><strong>g++</strong></span>. </p><p> diff --git a/libstdc++-v3/doc/xml/faq.xml b/libstdc++-v3/doc/xml/faq.xml index 22d2e629010..ad75d178470 100644 --- a/libstdc++-v3/doc/xml/faq.xml +++ b/libstdc++-v3/doc/xml/faq.xml @@ -638,9 +638,8 @@ <answer id="a-linux_glibc"> <para>When running on GNU/Linux, libstdc++ 3.2.1 (shared library version 5.0.1) and later uses localization and formatting code from the system - C library (glibc) version 2.2.5. That version of glibc is over a - year old and contains necessary bugfixes. Many GNU/Linux distros make - glibc version 2.3.x available now. + C library (glibc) version 2.2.5 which contains necessary bugfixes. + Most GNU/Linux distros make more recent versions available now. </para> <para>The guideline is simple: the more recent the C++ library, the more recent the C library. (This is also documented in the main @@ -718,7 +717,7 @@ For those people who are not part of the ISO Library Group (i.e., nearly all of us needing to read this page in the first place), a public list of the library defects is occasionally - published <ulink url="http://anubis.dkuug.dk/jtc1/sc22/wg21/">here</ulink>. + published <ulink url="http://www.open-std.org/jtc1/sc22/wg21/">here</ulink>. Some of these issues have resulted in code changes in libstdc++. </para> <para> diff --git a/libstdc++-v3/doc/xml/manual/intro.xml b/libstdc++-v3/doc/xml/manual/intro.xml index cfd8c4fe6ac..c1c1ee4de04 100644 --- a/libstdc++-v3/doc/xml/manual/intro.xml +++ b/libstdc++-v3/doc/xml/manual/intro.xml @@ -878,7 +878,7 @@ requirements of the license of GCC. <emphasis>Twice.</emphasis> </para> -<para>Then type:<command>make</command>, and congratulations, you're +<para>Then type: <command>make</command>, and congratulations, you've started to build. </para> diff --git a/libstdc++-v3/doc/xml/manual/support.xml b/libstdc++-v3/doc/xml/manual/support.xml index 20b5b726eed..8035efc38f6 100644 --- a/libstdc++-v3/doc/xml/manual/support.xml +++ b/libstdc++-v3/doc/xml/manual/support.xml @@ -166,7 +166,7 @@ <para> For <command>g++</command>, <constant>NULL</constant> is - <programlisting>#define</programlisting>'d to be + <code>#define</code>'d to be <constant>__null</constant>, a magic keyword extension of <command>g++</command>. </para> diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in index 9caf45989a8..cf3fa47f616 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in @@ -36,8 +36,8 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/fragment.am +DIST_COMMON = $(top_srcdir)/fragment.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am subdir = include ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \ @@ -65,8 +65,6 @@ CONFIG_CLEAN_VPATH_FILES = depcomp = am__depfiles_maybe = SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ACLOCAL = @ACLOCAL@ ALLOCATOR_H = @ALLOCATOR_H@ @@ -1189,37 +1187,6 @@ TAGS: ctags: CTAGS CTAGS: - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done check-am: all-am check: check-am all-am: Makefile all-local @@ -1320,15 +1287,15 @@ uninstall-am: .PHONY: all all-am all-local check check-am clean clean-generic \ clean-libtool clean-local distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-data-local install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + distclean-libtool dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-data-local \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am # Here are the rules for building the headers diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index b022c306053..d6d9989660e 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -48,13 +48,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * @class basic_string basic_string.h <string> * @brief Managing sequences of characters and character-like objects. * + * @ingroup strings * @ingroup sequences * * Meets the requirements of a <a href="tables.html#65">container</a>, a * <a href="tables.html#66">reversible container</a>, and a * <a href="tables.html#67">sequence</a>. Of the * <a href="tables.html#68">optional sequence requirements</a>, only - * @c push_back, @c at, and array access are supported. + * @c push_back, @c at, and @c %array access are supported. * * @doctodo * @@ -78,13 +79,13 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * * This approach has the enormous advantage that a string object * requires only one allocation. All the ugliness is confined - * within a single pair of inline functions, which each compile to + * within a single %pair of inline functions, which each compile to * a single @a add instruction: _Rep::_M_data(), and * string::_M_rep(); and the allocation function which gets a * block of raw bytes and with room enough and constructs a _Rep * object at the front. * - * The reason you want _M_data pointing to the character array and + * The reason you want _M_data pointing to the character %array and * not the _Rep is so that the debugger can see the string * contents. (Probably we should add a non-inline member to get * the _Rep for the debugger to use, so users can check the actual @@ -457,8 +458,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) size_type __n, const _Alloc& __a); /** - * @brief Construct string initialized by a character array. - * @param s Source character array. + * @brief Construct string initialized by a character %array. + * @param s Source character %array. * @param n Number of characters to copy. * @param a Allocator to use (default is default allocator). * @@ -500,7 +501,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @brief Construct string from an initializer list. + * @brief Construct string from an initializer %list. * @param l std::initializer_list of characters. * @param a Allocator to use (default is default allocator). */ @@ -570,7 +571,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @brief Set value to string constructed from initializer list. + * @brief Set value to string constructed from initializer %list. * @param l std::initializer_list. */ basic_string& @@ -719,7 +720,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * This function will %resize the %string to the specified * number of characters. If the number is smaller than the * %string's current size the %string is truncated, otherwise - * the %string is extended and new elements are set to @a c. + * the %string is extended and new elements are %set to @a c. */ void resize(size_type __n, _CharT __c); @@ -1696,7 +1697,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * @throw std::out_of_range If pos > size(). * * Copies up to @a n characters starting at @a pos into the C string @a - * s. If @a pos is greater than size(), out_of_range is thrown. + * s. If @a pos is %greater than size(), out_of_range is thrown. */ size_type copy(_CharT* __s, size_type __n, size_type __pos = 0) const; @@ -2224,10 +2225,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) compare(size_type __pos, size_type __n1, const _CharT* __s) const; /** - * @brief Compare substring against a character array. + * @brief Compare substring against a character %array. * @param pos1 Index of first character of substring. * @param n1 Number of characters in substring. - * @param s character array to compare against. + * @param s character %array to compare against. * @param n2 Number of characters of s. * @return Integer < 0, 0, or > 0. * diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h index 11d0d107f25..0618026f4d6 100644 --- a/libstdc++-v3/include/bits/stl_pair.h +++ b/libstdc++-v3/include/bits/stl_pair.h @@ -57,15 +57,25 @@ #ifndef _STL_PAIR_H #define _STL_PAIR_H 1 -#include <bits/move.h> // for std::move / std::forward, std::decay, and - // std::swap +#include <bits/move.h> // for std::move / std::forward, and std::swap #ifdef __GXX_EXPERIMENTAL_CXX0X__ -#include <type_traits> +#include <type_traits> // for std::__decay_and_strip too #endif _GLIBCXX_BEGIN_NAMESPACE(std) +#ifdef __GXX_EXPERIMENTAL_CXX0X__ + struct piecewise_construct_t { }; + + // forward declarations + template<typename...> + class tuple; + + template<int...> + struct _Index_tuple; +#endif + /// pair holds two objects of arbitrary type. template<class _T1, class _T2> struct pair @@ -111,6 +121,13 @@ _GLIBCXX_BEGIN_NAMESPACE(std) pair(pair&& __p) : first(std::move(__p.first)), second(std::move(__p.second)) { } + + template<class... _Args1, class... _Args2> + pair(piecewise_construct_t, + tuple<_Args1...> __first_args, + tuple<_Args2...> __second_args) + : first(__cons<first_type>(std::move(__first_args))), + second(__cons<second_type>(std::move(__second_args))) { } #endif /** There is also a templated copy ctor for the @c pair class itself. */ @@ -149,6 +166,15 @@ _GLIBCXX_BEGIN_NAMESPACE(std) swap(first, __p.first); swap(second, __p.second); } + + private: + template<typename _Tp, typename... _Args> + static _Tp + __cons(tuple<_Args...>&&); + + template<typename _Tp, typename... _Args, int... _Indexes> + static _Tp + __do_cons(tuple<_Args...>&&, const _Index_tuple<_Indexes...>&); #endif }; @@ -217,35 +243,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) make_pair(_T1 __x, _T2 __y) { return pair<_T1, _T2>(__x, __y); } #else - template<typename _Tp> - class reference_wrapper; - - // Helper which adds a reference to a type when given a reference_wrapper - template<typename _Tp> - struct __strip_reference_wrapper - { - typedef _Tp __type; - }; - - template<typename _Tp> - struct __strip_reference_wrapper<reference_wrapper<_Tp> > - { - typedef _Tp& __type; - }; - - template<typename _Tp> - struct __strip_reference_wrapper<const reference_wrapper<_Tp> > - { - typedef _Tp& __type; - }; - - template<typename _Tp> - struct __decay_and_strip - { - typedef typename __strip_reference_wrapper< - typename decay<_Tp>::type>::__type __type; - }; - // NB: DR 706. template<class _T1, class _T2> inline pair<typename __decay_and_strip<_T1>::__type, diff --git a/libstdc++-v3/include/bits/stringfwd.h b/libstdc++-v3/include/bits/stringfwd.h index c63e777b718..5679be76524 100644 --- a/libstdc++-v3/include/bits/stringfwd.h +++ b/libstdc++-v3/include/bits/stringfwd.h @@ -1,6 +1,7 @@ // String support -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, +// 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -44,6 +45,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template<typename _Alloc> class allocator; + /** + * @defgroup strings Strings + * + * @{ + */ + template<class _CharT> struct char_traits; @@ -53,12 +60,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template<> struct char_traits<char>; - typedef basic_string<char> string; + typedef basic_string<char> string; ///< A string of @c char #ifdef _GLIBCXX_USE_WCHAR_T template<> struct char_traits<wchar_t>; - typedef basic_string<wchar_t> wstring; + typedef basic_string<wchar_t> wstring; ///< A string of @c wchar_t #endif #if (defined(__GXX_EXPERIMENTAL_CXX0X__) \ @@ -67,10 +74,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template<> struct char_traits<char16_t>; template<> struct char_traits<char32_t>; - typedef basic_string<char16_t> u16string; - typedef basic_string<char32_t> u32string; + typedef basic_string<char16_t> u16string; ///< A string of @c char16_t + typedef basic_string<char32_t> u32string; ///< A string of @c char32_t #endif + /** @} */ _GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/include/profile/impl/profiler_trace.h b/libstdc++-v3/include/profile/impl/profiler_trace.h index c6ddfe774a8..ba486a57d93 100644 --- a/libstdc++-v3/include/profile/impl/profiler_trace.h +++ b/libstdc++-v3/include/profile/impl/profiler_trace.h @@ -53,10 +53,10 @@ #define _GLIBCXX_IMPL_UNORDERED_MAP std::tr1::unordered_map #endif -#include <algorithm> #include <fstream> #include <string> #include <utility> +#include <bits/stl_heap.h> // for std::make_heap, std::sort_heap #if (defined _GLIBCXX_PROFILE_THREADS) && !(defined _GLIBCXX_HAVE_TLS) #error You do not seem to have TLS support, which is required by the profile \ @@ -98,29 +98,20 @@ struct __warning_data __stack_t __context; const char* __warning_id; const char* __warning_message; - __warning_data(); - __warning_data(float __m, __stack_t __c, const char* __id, - const char* __msg); - bool operator>(const struct __warning_data& other) const; -}; -inline __warning_data::__warning_data() - : __magnitude(0.0), __context(NULL), __warning_id(NULL), - __warning_message(NULL) -{ -} + __warning_data() + : __magnitude(0.0), __context(NULL), __warning_id(NULL), + __warning_message(NULL) { } -inline __warning_data::__warning_data(float __m, __stack_t __c, - const char* __id, const char* __msg) - : __magnitude(__m), __context(__c), __warning_id(__id), - __warning_message(__msg) -{ -} + __warning_data(float __m, __stack_t __c, const char* __id, + const char* __msg) + : __magnitude(__m), __context(__c), __warning_id(__id), + __warning_message(__msg) { } -inline bool __warning_data::operator>(const struct __warning_data& other) const -{ - return __magnitude > other.__magnitude; -} + bool + operator>(const struct __warning_data& __other) const + { return __magnitude > __other.__magnitude; } +}; typedef std::_GLIBCXX_STD_PR::vector<__warning_data> __warning_vector_t; @@ -433,23 +424,6 @@ inline int __log_magnitude(float f) return sign * result; } -struct __warn -{ - FILE* __file; - __warn(FILE* __f) { __file = __f; } - void operator() (const __warning_data& __info) - { - fprintf(__file, __info.__warning_id); - fprintf(__file, ": improvement = %d", __log_magnitude(__info.__magnitude)); - fprintf(__file, ": call stack = "); - __gnu_profile::__write(__file, __info.__context); - fprintf(__file, ": advice = %s\n", __info.__warning_message); - free( - const_cast<void*>( - reinterpret_cast<const void*>(__info.__warning_message))); - } -}; - inline FILE* __open_output_file(const char* extension) { // The path is made of _S_trace_file_name + "." + extension. @@ -496,12 +470,27 @@ inline void __report(void) size_t __cutoff = __min(_GLIBCXX_PROFILE_DATA(_S_max_warn_count), __warnings.size()); - std::sort(__warnings.begin(), __warnings.end(), - std::greater<__warning_vector_t::value_type>()); + std::make_heap(__warnings.begin(), __warnings.end(), + std::greater<__warning_vector_t::value_type>()); + std::sort_heap(__warnings.begin(), __warnings.end(), + std::greater<__warning_vector_t::value_type>()); __warnings.resize(__cutoff); FILE* __warn_file = __open_output_file("txt"); - std::for_each(__warnings.begin(), __warnings.end(), __warn(__warn_file)); + + for (__warning_vector_t::iterator __it = __warnings.begin(); + __it != __warnings.end(); ++__it) + { + fprintf(__warn_file, __it->__warning_id); + fprintf(__warn_file, ": improvement = %d", + __log_magnitude(__it->__magnitude)); + fprintf(__warn_file, ": call stack = "); + __gnu_profile::__write(__warn_file, __it->__context); + fprintf(__warn_file, ": advice = %s\n", __it->__warning_message); + free(const_cast<void*>(reinterpret_cast<const void*> + (__it->__warning_message))); + } + fclose(__warn_file); __unlock(_GLIBCXX_PROFILE_DATA(__global_lock)); @@ -537,59 +526,56 @@ inline void __read_cost_factors() std::ifstream __conf_file(__conf_file_name.c_str()); - if (__conf_file.is_open()) { - std::string __line; - - while (getline(__conf_file, __line)) { - std::string::size_type __i = __line.find_first_not_of(" \t\n\v"); - - if (__line.length() <= 0 || __line[__i] == '#') { - // Skip empty lines or comments. - continue; - } - - // Trim. - __line.erase(std::remove(__line.begin(), __line.end(), ' '), - __line.end()); - std::string::size_type __pos = __line.find("="); - std::string __factor_name = __line.substr(0, __pos); - std::string::size_type __end = __line.find_first_of(";\n"); - std::string __factor_value = __line.substr(__pos + 1, __end - __pos); - - setenv(__factor_name.c_str(), __factor_value.c_str(), 0); + if (__conf_file.is_open()) + { + std::string __line; + + while (getline(__conf_file, __line)) + { + std::string::size_type __i = __line.find_first_not_of(" \t\n\v"); + + if (__line.length() <= 0 || __line[__i] == '#') { + // Skip empty lines or comments. + continue; + } + + // Trim. + if (__line.begin() != __line.end()) + { + // A simple remove operation. + std::string::iterator __first = __line.begin(); + std::string::iterator __result = __first; + ++__first; + for(; __first != __line.end(); ++__first) + if(!(*__first == ' ')) + { + *__result = *__first; + ++__result; + } + __line.erase(__result, __line.end()); + } + std::string::size_type __pos = __line.find("="); + std::string __factor_name = __line.substr(0, __pos); + std::string::size_type __end = __line.find_first_of(";\n"); + std::string __factor_value = __line.substr(__pos + 1, __end - __pos); + + setenv(__factor_name.c_str(), __factor_value.c_str(), 0); + } } - } } -struct __cost_factor_writer -{ - FILE* __file; - __cost_factor_writer(FILE* __f) : __file(__f) {} - void operator() (const __cost_factor* __factor) - { - fprintf(__file, "%s = %f\n", __factor->__env_var, __factor->__value); - } -}; - inline void __write_cost_factors() { FILE* __file = __open_output_file("conf.out"); - std::for_each(_GLIBCXX_PROFILE_DATA(__cost_factors)->begin(), - _GLIBCXX_PROFILE_DATA(__cost_factors)->end(), - __cost_factor_writer(__file)); + + for (__decltype(_GLIBCXX_PROFILE_DATA(__cost_factors)->begin()) __it + = _GLIBCXX_PROFILE_DATA(__cost_factors)->begin(); + __it != _GLIBCXX_PROFILE_DATA(__cost_factors)->end(); ++__it) + fprintf(__file, "%s = %f\n", (*__it)->__env_var, (*__it)->__value); + fclose(__file); } -struct __cost_factor_setter -{ - void operator() (__cost_factor* __factor) - { - char* __env_cost_factor; - if (__env_cost_factor = getenv(__factor->__env_var)) - __factor->__value = atof(__env_cost_factor); - } -}; - inline void __set_cost_factors() { _GLIBCXX_PROFILE_DATA(__cost_factors) = new __cost_factor_vector; @@ -621,9 +607,13 @@ inline void __set_cost_factors() &_GLIBCXX_PROFILE_DATA(__umap_find_cost_factor)); _GLIBCXX_PROFILE_DATA(__cost_factors)->push_back( &_GLIBCXX_PROFILE_DATA(__umap_iterate_cost_factor)); - std::for_each(_GLIBCXX_PROFILE_DATA(__cost_factors)->begin(), - _GLIBCXX_PROFILE_DATA(__cost_factors)->end(), - __cost_factor_setter()); + + + for (__decltype(_GLIBCXX_PROFILE_DATA(__cost_factors)->begin()) __it + = _GLIBCXX_PROFILE_DATA(__cost_factors)->begin(); + __it != _GLIBCXX_PROFILE_DATA(__cost_factors)->end(); ++__it) + if (char* __env_cost_factor = getenv((*__it)->__env_var)) + (*__it)->__value = atof(__env_cost_factor); } inline void __profcxx_init_unconditional() diff --git a/libstdc++-v3/include/profile/unordered_map b/libstdc++-v3/include/profile/unordered_map index 929a72d0e4c..6e832c80735 100644 --- a/libstdc++-v3/include/profile/unordered_map +++ b/libstdc++-v3/include/profile/unordered_map @@ -196,7 +196,7 @@ namespace __profile insert(_InputIter __first, _InputIter __last) { size_type __old_size = _Base::bucket_count(); - _Base::insert(__first.base(), __last.base()); + _Base::insert(__first, __last); _M_profile_resize(__old_size, _Base::bucket_count()); } @@ -430,7 +430,7 @@ namespace __profile insert(_InputIter __first, _InputIter __last) { size_type __old_size = _Base::bucket_count(); - _Base::insert(__first.base(), __last.base()); + _Base::insert(__first, __last); _M_profile_resize(__old_size, _Base::bucket_count()); } diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional index 2ba7243837a..00b94940f24 100644 --- a/libstdc++-v3/include/std/functional +++ b/libstdc++-v3/include/std/functional @@ -857,29 +857,6 @@ namespace std : public integral_constant<int, _Num> { }; - /** - * Stores a tuple of indices. Used by bind() to extract the elements - * in a tuple. - */ - template<int... _Indexes> - struct _Index_tuple - { - typedef _Index_tuple<_Indexes..., sizeof...(_Indexes)> __next; - }; - - /// Builds an _Index_tuple<0, 1, 2, ..., _Num-1>. - template<std::size_t _Num> - struct _Build_index_tuple - { - typedef typename _Build_index_tuple<_Num-1>::__type::__next __type; - }; - - template<> - struct _Build_index_tuple<0> - { - typedef _Index_tuple<> __type; - }; - /** * Used by _Safe_tuple_element to indicate that there is no tuple * element at this position. diff --git a/libstdc++-v3/include/std/tuple b/libstdc++-v3/include/std/tuple index bba7ba7bd08..f9aa14f2057 100644 --- a/libstdc++-v3/include/std/tuple +++ b/libstdc++-v3/include/std/tuple @@ -550,6 +550,28 @@ namespace std return __result_type(std::forward<_Elements>(__args)...); } + template<typename _Tp, bool = is_array<_Tp>::value> + struct __pa_add_rvalue_reference_helper + { typedef typename std::add_rvalue_reference<_Tp>::type __type; }; + + template<typename _Tp> + struct __pa_add_rvalue_reference_helper<_Tp, true> + { typedef _Tp& __type; }; + + template<typename _Tp> + struct __pa_add_rvalue_reference + : public __pa_add_rvalue_reference_helper<_Tp> + { }; + + template<typename... _Elements> + inline tuple<typename __pa_add_rvalue_reference<_Elements>::__type...> + pack_arguments(_Elements&&... __args) + { + typedef tuple<typename __pa_add_rvalue_reference<_Elements>::__type...> + __result_type; + return __result_type(std::forward<_Elements>(__args)...); + } + template<std::size_t...> struct __index_holder { }; template<std::size_t __i, typename _IdxHolder, typename... _Elements> @@ -678,6 +700,49 @@ namespace std { _Swallow_assign ignore; }; // anonymous namespace + + /** + * Stores a tuple of indices. Used by bind() to extract the elements + * in a tuple. + */ + template<int... _Indexes> + struct _Index_tuple + { + typedef _Index_tuple<_Indexes..., sizeof...(_Indexes)> __next; + }; + + /// Builds an _Index_tuple<0, 1, 2, ..., _Num-1>. + template<std::size_t _Num> + struct _Build_index_tuple + { + typedef typename _Build_index_tuple<_Num-1>::__type::__next __type; + }; + + template<> + struct _Build_index_tuple<0> + { + typedef _Index_tuple<> __type; + }; + + // See stl_pair.h... + template<class _T1, class _T2> + template<typename _Tp, typename... _Args> + inline _Tp + pair<_T1, _T2>:: + __cons(tuple<_Args...>&& __tuple) + { + typedef typename _Build_index_tuple<sizeof...(_Args)>::__type + _Indexes; + return __do_cons<_Tp>(std::move(__tuple), _Indexes()); + } + + template<class _T1, class _T2> + template<typename _Tp, typename... _Args, int... _Indexes> + inline _Tp + pair<_T1, _T2>:: + __do_cons(tuple<_Args...>&& __tuple, + const _Index_tuple<_Indexes...>&) + { return _Tp(std::forward<_Args>(get<_Indexes>(__tuple))...); } } #endif // __GXX_EXPERIMENTAL_CXX0X__ diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index c8166198805..a2748c565b1 100644 --- a/libstdc++-v3/include/std/type_traits +++ b/libstdc++-v3/include/std/type_traits @@ -405,6 +405,35 @@ namespace std typedef typename __decay_selector<__remove_type>::__type type; }; + template<typename _Tp> + class reference_wrapper; + + // Helper which adds a reference to a type when given a reference_wrapper + template<typename _Tp> + struct __strip_reference_wrapper + { + typedef _Tp __type; + }; + + template<typename _Tp> + struct __strip_reference_wrapper<reference_wrapper<_Tp> > + { + typedef _Tp& __type; + }; + + template<typename _Tp> + struct __strip_reference_wrapper<const reference_wrapper<_Tp> > + { + typedef _Tp& __type; + }; + + template<typename _Tp> + struct __decay_and_strip + { + typedef typename __strip_reference_wrapper< + typename decay<_Tp>::type>::__type __type; + }; + // Utility for constructing identically cv-qualified types. template<typename _Unqualified, bool _IsConst, bool _IsVol> diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in index a535d49cd51..171a35a647c 100644 --- a/libstdc++-v3/libsupc++/Makefile.in +++ b/libstdc++-v3/libsupc++/Makefile.in @@ -36,8 +36,8 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -DIST_COMMON = $(glibcxxinstall_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(top_srcdir)/fragment.am +DIST_COMMON = $(top_srcdir)/fragment.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am $(glibcxxinstall_HEADERS) subdir = libsupc++ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \ @@ -87,18 +87,6 @@ am__installdirs = "$(DESTDIR)$(toolexeclibdir)" \ "$(DESTDIR)$(glibcxxinstalldir)" LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES) libsupc___la_LIBADD = -am__libsupc___la_SOURCES_DIST = array_type_info.cc atexit_arm.cc \ - bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc \ - del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc \ - eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc \ - eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc \ - eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc \ - eh_unex_handler.cc enum_type_info.cc function_type_info.cc \ - fundamental_type_info.cc guard.cc new_handler.cc new_op.cc \ - new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc \ - pmem_type_info.cc pointer_type_info.cc pure.cc \ - si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc \ - vmi_class_type_info.cc vterminate.cc cp-demangle.c am__objects_1 = array_type_info.lo atexit_arm.lo bad_cast.lo \ bad_typeid.lo class_type_info.lo del_op.lo del_opnt.lo \ del_opv.lo del_opvnt.lo dyncast.lo eh_alloc.lo eh_arm.lo \ @@ -115,18 +103,6 @@ am__objects_1 = array_type_info.lo atexit_arm.lo bad_cast.lo \ am_libsupc___la_OBJECTS = $(am__objects_1) $(am__objects_2) libsupc___la_OBJECTS = $(am_libsupc___la_OBJECTS) libsupc__convenience_la_LIBADD = -am__libsupc__convenience_la_SOURCES_DIST = array_type_info.cc \ - atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc \ - del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc \ - eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc \ - eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc \ - eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc \ - eh_unex_handler.cc enum_type_info.cc function_type_info.cc \ - fundamental_type_info.cc guard.cc new_handler.cc new_op.cc \ - new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc \ - pmem_type_info.cc pointer_type_info.cc pure.cc \ - si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc \ - vmi_class_type_info.cc vterminate.cc cp-demangle.c am_libsupc__convenience_la_OBJECTS = $(am__objects_1) $(am__objects_2) libsupc__convenience_la_OBJECTS = \ $(am_libsupc__convenience_la_OBJECTS) @@ -143,12 +119,9 @@ CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) SOURCES = $(libsupc___la_SOURCES) $(libsupc__convenience_la_SOURCES) -DIST_SOURCES = $(am__libsupc___la_SOURCES_DIST) \ - $(am__libsupc__convenience_la_SOURCES_DIST) HEADERS = $(glibcxxinstall_HEADERS) ETAGS = etags CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ACLOCAL = @ACLOCAL@ ALLOCATOR_H = @ALLOCATOR_H@ @@ -638,37 +611,6 @@ GTAGS: distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(HEADERS) @@ -776,14 +718,14 @@ uninstall-am: uninstall-glibcxxinstallHEADERS \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES \ clean-toolexeclibLTLIBRARIES ctags distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-glibcxxinstallHEADERS \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip install-toolexeclibLTLIBRARIES \ - installcheck installcheck-am installdirs maintainer-clean \ + distclean-generic distclean-libtool distclean-tags dvi dvi-am \ + html html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-glibcxxinstallHEADERS install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip install-toolexeclibLTLIBRARIES installcheck \ + installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-glibcxxinstallHEADERS \ diff --git a/libstdc++-v3/libsupc++/exception_ptr.h b/libstdc++-v3/libsupc++/exception_ptr.h index 3ee4d8d327d..f3f0819b1c6 100644 --- a/libstdc++-v3/libsupc++/exception_ptr.h +++ b/libstdc++-v3/libsupc++/exception_ptr.h @@ -160,6 +160,14 @@ namespace std } } + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 1130. copy_exception name misleading + /// Obtain an exception_ptr pointing to a copy of the supplied object. + template<typename _Ex> + exception_ptr + make_exception_ptr(_Ex __ex) throw() + { return std::copy_exception<_Ex>(__ex); } + // @} group exceptions } // namespace std diff --git a/libstdc++-v3/po/Makefile.in b/libstdc++-v3/po/Makefile.in index 871bb37527a..ffffed2d518 100644 --- a/libstdc++-v3/po/Makefile.in +++ b/libstdc++-v3/po/Makefile.in @@ -34,8 +34,8 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/fragment.am +DIST_COMMON = $(top_srcdir)/fragment.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am subdir = po ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \ @@ -63,8 +63,6 @@ CONFIG_CLEAN_VPATH_FILES = depcomp = am__depfiles_maybe = SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ACLOCAL = @ACLOCAL@ ALLOCATOR_H = @ALLOCATOR_H@ @@ -324,37 +322,6 @@ TAGS: ctags: CTAGS CTAGS: - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done check-am: all-am check: check-am all-am: Makefile all-local @@ -455,15 +422,15 @@ uninstall-am: .PHONY: all all-am all-local check check-am clean clean-generic \ clean-libtool distclean distclean-generic distclean-libtool \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-data-local \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am uninstall uninstall-am + dvi dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-data-local install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am .po.mo: diff --git a/libstdc++-v3/python/Makefile.in b/libstdc++-v3/python/Makefile.in index 683d7986e7c..35ee1e910c6 100644 --- a/libstdc++-v3/python/Makefile.in +++ b/libstdc++-v3/python/Makefile.in @@ -35,8 +35,8 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/fragment.am +DIST_COMMON = $(top_srcdir)/fragment.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am subdir = python ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \ @@ -64,7 +64,6 @@ CONFIG_CLEAN_VPATH_FILES = depcomp = am__depfiles_maybe = SOURCES = -DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -88,7 +87,6 @@ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(pythondir)" DATA = $(nobase_python_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ACLOCAL = @ACLOCAL@ ALLOCATOR_H = @ALLOCATOR_H@ @@ -360,37 +358,6 @@ TAGS: ctags: CTAGS CTAGS: - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done check-am: all-am check: check-am all-am: Makefile $(DATA) all-local @@ -493,13 +460,13 @@ uninstall-am: uninstall-nobase_pythonDATA .PHONY: all all-am all-local check check-am clean clean-generic \ clean-libtool distclean distclean-generic distclean-libtool \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-data-local \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-nobase_pythonDATA install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ + dvi dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-data-local install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nobase_pythonDATA install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-nobase_pythonDATA diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in index 39cb22c3d92..f46d7a68fa4 100644 --- a/libstdc++-v3/src/Makefile.in +++ b/libstdc++-v3/src/Makefile.in @@ -35,8 +35,8 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/fragment.am +DIST_COMMON = $(top_srcdir)/fragment.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \ @@ -85,27 +85,6 @@ am__base_list = \ am__installdirs = "$(DESTDIR)$(toolexeclibdir)" LTLIBRARIES = $(toolexeclib_LTLIBRARIES) am__DEPENDENCIES_1 = -am__libstdc___la_SOURCES_DIST = atomic.cc bitmap_allocator.cc \ - pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc \ - compatibility-c++0x.cc compatibility-debug_list.cc \ - compatibility-list.cc complex_io.cc ctype.cc debug.cc \ - functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc \ - hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc \ - ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc \ - locale.cc locale_init.cc locale_facets.cc localename.cc \ - math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc \ - strstream.cc system_error.cc tree.cc allocator-inst.cc \ - concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc \ - iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc \ - misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc \ - streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc \ - wstring-inst.cc mutex.cc condition_variable.cc chrono.cc \ - thread.cc future.cc atomicity.cc codecvt_members.cc \ - collate_members.cc ctype_members.cc messages_members.cc \ - monetary_members.cc numeric_members.cc time_members.cc \ - basic_file.cc c++locale.cc compatibility-ldbl.cc \ - parallel_list.cc parallel_settings.cc \ - compatibility-parallel_list.cc am__objects_1 = atomicity.lo codecvt_members.lo collate_members.lo \ ctype_members.lo messages_members.lo monetary_members.lo \ numeric_members.lo time_members.lo @@ -140,10 +119,8 @@ CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) SOURCES = $(libstdc___la_SOURCES) -DIST_SOURCES = $(am__libstdc___la_SOURCES_DIST) ETAGS = etags CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ACLOCAL = @ACLOCAL@ ALLOCATOR_H = @ALLOCATOR_H@ @@ -648,37 +625,6 @@ GTAGS: distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) all-local @@ -785,12 +731,12 @@ uninstall-am: uninstall-toolexeclibLTLIBRARIES .PHONY: CTAGS GTAGS all all-am all-local check check-am clean \ clean-generic clean-libtool clean-toolexeclibLTLIBRARIES ctags \ distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-data-local install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ + distclean-libtool distclean-tags dvi dvi-am html html-am info \ + info-am install install-am install-data install-data-am \ + install-data-local install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip \ install-toolexeclibLTLIBRARIES installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc new file mode 100644 index 00000000000..bc16ccdfa1b --- /dev/null +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc @@ -0,0 +1,38 @@ +// { dg-options "-std=gnu++0x" } +// { dg-require-atomic-builtins "" } + +// Copyright (C) 2010 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 3, 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 COPYING3. If not see +// <http://www.gnu.org/licenses/>. + +#include <exception> +#include <testsuite_hooks.h> + +bool test01() +{ + bool test __attribute__((unused)) = true; + + std::exception_ptr p = std::make_exception_ptr(0); + + VERIFY( !(p == 0) ); +} + +int main() +{ + test01(); + + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc index 59b90961398..bd424788dfb 100644 --- a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc +++ b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc @@ -2,7 +2,7 @@ // { dg-do compile } // 2009-11-12 Paolo Carlini <paolo.carlini@oracle.com> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 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 @@ -19,7 +19,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// { dg-error "static assertion failed" "" { target *-*-* } 626 } +// { dg-error "static assertion failed" "" { target *-*-* } 655 } // { dg-error "instantiated from here" "" { target *-*-* } 30 } // { dg-excess-errors "In function" } diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc index eec74c71593..7a8ad661d85 100644 --- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc +++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc @@ -3,7 +3,7 @@ // 2007-05-03 Benjamin Kosnik <bkoz@redhat.com> // -// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 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 @@ -48,8 +48,8 @@ void test01() // { dg-error "instantiated from here" "" { target *-*-* } 40 } // { dg-error "instantiated from here" "" { target *-*-* } 42 } -// { dg-error "invalid use of incomplete type" "" { target *-*-* } 588 } -// { dg-error "declaration of" "" { target *-*-* } 552 } +// { dg-error "invalid use of incomplete type" "" { target *-*-* } 617 } +// { dg-error "declaration of" "" { target *-*-* } 581 } // { dg-excess-errors "At global scope" } // { dg-excess-errors "In instantiation of" } diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc index 708482ef8a3..23bca2bffa2 100644 --- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc +++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc @@ -3,7 +3,7 @@ // 2007-05-03 Benjamin Kosnik <bkoz@redhat.com> // -// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 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 @@ -48,8 +48,8 @@ void test01() // { dg-error "instantiated from here" "" { target *-*-* } 40 } // { dg-error "instantiated from here" "" { target *-*-* } 42 } -// { dg-error "invalid use of incomplete type" "" { target *-*-* } 511 } -// { dg-error "declaration of" "" { target *-*-* } 475 } +// { dg-error "invalid use of incomplete type" "" { target *-*-* } 540 } +// { dg-error "declaration of" "" { target *-*-* } 504 } // { dg-excess-errors "At global scope" } // { dg-excess-errors "In instantiation of" } diff --git a/libstdc++-v3/testsuite/20_util/pair/piecewise.cc b/libstdc++-v3/testsuite/20_util/pair/piecewise.cc new file mode 100644 index 00000000000..3844e1bf1e4 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/pair/piecewise.cc @@ -0,0 +1,98 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-04-30 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 3, 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 COPYING3. If not see +// <http://www.gnu.org/licenses/>. + +// Tuple + +#include <utility> +#include <tuple> +#include <testsuite_hooks.h> + +struct type_zero +{ + type_zero() : n_(757) { } + + type_zero(const type_zero&) = delete; + type_zero(type_zero&& other) : n_(other.n_) { } + + int get() const { return n_; } + +private: + int n_; +}; + +struct type_one +{ + type_one(int n) : n_(n) { } + + type_one(const type_one&) = delete; + type_one(type_one&& other) : n_(other.n_) { } + + int get() const { return n_; } + +private: + int n_; +}; + +struct type_two +{ + type_two(int n1, int n2) : n1_(n1), n2_(n2) { } + + type_two(const type_two&) = delete; + type_two(type_two&& other) : n1_(other.n1_), n2_(other.n2_) { } + + int get1() const { return n1_; } + int get2() const { return n2_; } + +private: + int n1_, n2_; +}; + +void test01() +{ + bool test __attribute__((unused)) = true; + + std::pair<type_one, type_zero> pp0(std::piecewise_construct_t(), + std::pack_arguments(-3), + std::pack_arguments()); + VERIFY( pp0.first.get() == -3 ); + VERIFY( pp0.second.get() == 757 ); + + std::pair<type_one, type_two> pp1(std::piecewise_construct_t(), + std::pack_arguments(6), + std::pack_arguments(5, 4)); + VERIFY( pp1.first.get() == 6 ); + VERIFY( pp1.second.get1() == 5 ); + VERIFY( pp1.second.get2() == 4 ); + + std::pair<type_two, type_two> pp2(std::piecewise_construct_t(), + std::pack_arguments(2, 1), + std::pack_arguments(-1, -3)); + VERIFY( pp2.first.get1() == 2 ); + VERIFY( pp2.first.get2() == 1 ); + VERIFY( pp2.second.get1() == -1 ); + VERIFY( pp2.second.get2() == -3 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc index f979623e932..7bcb5177169 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc @@ -1,6 +1,6 @@ // { dg-options "-std=gnu++0x" } -// Copyright (C) 2007, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2009, 2010 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 @@ -20,6 +20,7 @@ // Tuple #include <tuple> +#include <utility> // for pair #include <testsuite_hooks.h> using namespace std; diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc index 3afb059ce76..9871f4959a6 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc @@ -1,6 +1,6 @@ // { dg-options "-std=gnu++0x" } -// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 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 @@ -20,6 +20,7 @@ // Tuple #include <tuple> +#include <utility> // for pair #include <testsuite_hooks.h> using namespace std; diff --git a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/pack_arguments.cc b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/pack_arguments.cc new file mode 100644 index 00000000000..872405e3025 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/pack_arguments.cc @@ -0,0 +1,72 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-04-30 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 3, 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 COPYING3. If not see +// <http://www.gnu.org/licenses/>. + +// Tuple + +#include <tuple> +#include <type_traits> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::pack_arguments(); + + VERIFY( std::get<0>(std::pack_arguments(-1)) == -1 ); + VERIFY( (std::is_same<decltype(std::pack_arguments(-1)), + std::tuple<int&&>>::value) ); + + const int i1 = 1; + const int i2 = 2; + const double d1 = 4.0; + auto t1 = std::pack_arguments(i1, i2, d1); + VERIFY( (std::is_same<decltype(t1), std::tuple<const int&, + const int&, const double&>>::value) ); + VERIFY( std::get<0>(t1) == i1 ); + VERIFY( std::get<1>(t1) == i2 ); + VERIFY( std::get<2>(t1) == d1 ); + + typedef const int a_type1[3]; + a_type1 a1 = { -1, 1, 2 }; + auto t2 = std::pack_arguments(a1); + VERIFY( (std::is_same<decltype(t2), std::tuple<a_type1&>>::value) ); + VERIFY( std::get<0>(t2)[0] == a1[0] ); + VERIFY( std::get<0>(t2)[1] == a1[1] ); + VERIFY( std::get<0>(t2)[2] == a1[2] ); + + typedef int a_type2[2]; + a_type2 a2 = { 2, -2 }; + volatile int i4 = 1; + auto t3 = std::pack_arguments(a2, i4); + VERIFY( (std::is_same<decltype(t3), std::tuple<a_type2&, + volatile int&>>::value) ); + VERIFY( std::get<0>(t3)[0] == a2[0] ); + VERIFY( std::get<0>(t3)[1] == a2[1] ); + VERIFY( std::get<1>(t3) == i4 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc index 22b1c76d7f3..4b45d79fc1c 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. +// Copyright (C) 2006, 2007, 2009, 2010 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 @@ -29,10 +29,12 @@ void test01() using std::vector; using std::numeric_limits; -#ifndef _GLIBCXX_DEBUG - using std::_S_word_bit; -#else +#ifdef _GLIBCXX_DEBUG using std::_GLIBCXX_STD_D::_S_word_bit; +#elif defined(_GLIBCXX_PROFILE) + using std::_GLIBCXX_STD_PR::_S_word_bit; +#else + using std::_S_word_bit; #endif // Actually, vector<bool> is special, see libstdc++/31370. diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc index 571c6ecc1a6..40d09dbf752 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2007, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2009, 2010 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 @@ -23,10 +23,12 @@ #include <stdexcept> #include <testsuite_hooks.h> -#ifndef _GLIBCXX_DEBUG - using std::_S_word_bit; -#else +#ifdef _GLIBCXX_DEBUG using std::_GLIBCXX_STD_D::_S_word_bit; +#elif defined(_GLIBCXX_PROFILE) + using std::_GLIBCXX_STD_PR::_S_word_bit; +#else + using std::_S_word_bit; #endif inline void diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in index 72a40c8ff05..8eb34e97d84 100644 --- a/libstdc++-v3/testsuite/Makefile.in +++ b/libstdc++-v3/testsuite/Makefile.in @@ -34,8 +34,8 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/fragment.am +DIST_COMMON = $(top_srcdir)/fragment.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am subdir = testsuite ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \ @@ -63,8 +63,6 @@ CONFIG_CLEAN_VPATH_FILES = depcomp = am__depfiles_maybe = SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ACLOCAL = @ACLOCAL@ ALLOCATOR_H = @ALLOCATOR_H@ @@ -354,37 +352,6 @@ TAGS: ctags: CTAGS CTAGS: - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done check-am: all-am check: check-am all-am: Makefile @@ -484,16 +451,15 @@ uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local distclean distclean-generic distclean-libtool \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am + clean-local distclean distclean-generic distclean-libtool dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am # This rule generates all of the testsuite_files* lists at once. diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc b/libstdc++-v3/testsuite/util/testsuite_abi.cc index 2c9f93055fa..c7166c69917 100644 --- a/libstdc++-v3/testsuite/util/testsuite_abi.cc +++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc @@ -194,6 +194,7 @@ check_version(symbol& test, bool added) known_versions.push_back("CXXABI_1.3.2"); known_versions.push_back("CXXABI_1.3.3"); known_versions.push_back("CXXABI_1.3.4"); + known_versions.push_back("CXXABI_1.3.5"); known_versions.push_back("CXXABI_LDBL_1.3"); } compat_list::iterator begin = known_versions.begin(); |