From 495de4f4cb2e9de61fe73a1000837e2f9001404d Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Fri, 28 Sep 2012 19:48:27 +0000 Subject: acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL. 2012-09-28 Benjamin Kosnik * acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL. * include/Makefile.am: Same. * src/c++98/Makefile.am: Same. * src/Makefile.am: Same. * Makefile.in: Regenerated. * aclocal.m4: Same. * configure: Same. * doc/Makefile.in: Same. * include/Makefile.in: Same. * libsupc++/Makefile.in: Same. * po/Makefile.in: Same. * python/Makefile.in: Same. * src/Makefile.in: Same. * testsuite/Makefile.in: Same. * src/c++11/Makefile.in: Same. * src/c++98/Makefile.in: Same. * src/c++98/compatibility-debug_list-2.cc: Update comments. * src/c++98/compatibility-debug_list.cc: Same. * src/c++98/compatibility-list-2.cc: Renamed to src/c++98/list-aux-2.cc * src/c++98/compatibility-list.cc: Renamed to src/c++98/list-aux.cc * src/c++98/compatibility-parallel_list-2.cc: Renamed to src/c++98/list_associated-2.cc. * src/c++98/compatibility-parallel_list.cc: Renamed to src/c++98/list_associated.cc. From-SVN: r191837 --- libstdc++-v3/src/Makefile.am | 23 +--- libstdc++-v3/src/Makefile.in | 86 +++--------- libstdc++-v3/src/c++11/Makefile.in | 44 ++----- libstdc++-v3/src/c++98/Makefile.am | 11 +- libstdc++-v3/src/c++98/Makefile.in | 64 +++------ .../src/c++98/compatibility-debug_list-2.cc | 4 +- libstdc++-v3/src/c++98/compatibility-debug_list.cc | 4 +- libstdc++-v3/src/c++98/compatibility-list-2.cc | 117 ----------------- libstdc++-v3/src/c++98/compatibility-list.cc | 146 --------------------- .../src/c++98/compatibility-parallel_list-2.cc | 28 ---- .../src/c++98/compatibility-parallel_list.cc | 28 ---- libstdc++-v3/src/c++98/list-aux-2.cc | 117 +++++++++++++++++ libstdc++-v3/src/c++98/list-aux.cc | 146 +++++++++++++++++++++ libstdc++-v3/src/c++98/list_associated-2.cc | 28 ++++ libstdc++-v3/src/c++98/list_associated.cc | 29 ++++ 15 files changed, 377 insertions(+), 498 deletions(-) delete mode 100644 libstdc++-v3/src/c++98/compatibility-list-2.cc delete mode 100644 libstdc++-v3/src/c++98/compatibility-list.cc delete mode 100644 libstdc++-v3/src/c++98/compatibility-parallel_list-2.cc delete mode 100644 libstdc++-v3/src/c++98/compatibility-parallel_list.cc create mode 100644 libstdc++-v3/src/c++98/list-aux-2.cc create mode 100644 libstdc++-v3/src/c++98/list-aux.cc create mode 100644 libstdc++-v3/src/c++98/list_associated-2.cc create mode 100644 libstdc++-v3/src/c++98/list_associated.cc (limited to 'libstdc++-v3/src') diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am index f64dca4..0251289 100644 --- a/libstdc++-v3/src/Makefile.am +++ b/libstdc++-v3/src/Makefile.am @@ -38,21 +38,16 @@ else ldbl_compat_sources = endif -if ENABLE_PARALLEL + parallel_compat_sources = \ compatibility-parallel_list.cc compatibility-parallel_list-2.cc -else -parallel_compat_sources = -endif + cxx98_sources = \ compatibility.cc \ compatibility-debug_list.cc \ compatibility-debug_list-2.cc \ - compatibility-list.cc \ - compatibility-list-2.cc \ - ${ldbl_compat_sources} \ - ${parallel_compat_sources} + ${ldbl_compat_sources} cxx11_sources = \ compatibility-c++0x.cc \ @@ -79,18 +74,6 @@ libstdc___la_LDFLAGS = \ libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS) -# Use special rules for parallel mode compilation. -PARALLEL_FLAGS = -fopenmp -D_GLIBCXX_PARALLEL -I$(glibcxx_builddir)/../libgomp -compatibility-parallel_list.lo: compatibility-parallel_list.cc - $(LTCXXCOMPILE) -c $< -compatibility-parallel_list.o: compatibility-parallel_list.cc - $(CXXCOMPILE) -c $< - -compatibility-parallel_list-2.lo: compatibility-parallel_list-2.cc - $(LTCXXCOMPILE) -c $< -compatibility-parallel_list-2.o: compatibility-parallel_list-2.cc - $(CXXCOMPILE) -c $< - # Use special rules for compatibility-ldbl.cc compilation, as we need to # pass -mlong-double-64. if GLIBCXX_LDBL_COMPAT diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in index aa96d8e..345a5e1 100644 --- a/libstdc++-v3/src/Makefile.in +++ b/libstdc++-v3/src/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +16,6 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -102,24 +85,15 @@ am__nobase_list = $(am__nobase_strip_setup); \ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } am__installdirs = "$(DESTDIR)$(toolexeclibdir)" LTLIBRARIES = $(toolexeclib_LTLIBRARIES) am__DEPENDENCIES_1 = @GLIBCXX_LDBL_COMPAT_TRUE@am__objects_1 = compatibility-ldbl.lo -@ENABLE_PARALLEL_TRUE@am__objects_2 = compatibility-parallel_list.lo \ -@ENABLE_PARALLEL_TRUE@ compatibility-parallel_list-2.lo -am__objects_3 = compatibility.lo compatibility-debug_list.lo \ - compatibility-debug_list-2.lo compatibility-list.lo \ - compatibility-list-2.lo $(am__objects_1) $(am__objects_2) -am__objects_4 = compatibility-c++0x.lo compatibility-atomic-c++0x.lo \ +am__objects_2 = compatibility.lo compatibility-debug_list.lo \ + compatibility-debug_list-2.lo $(am__objects_1) +am__objects_3 = compatibility-c++0x.lo compatibility-atomic-c++0x.lo \ compatibility-thread-c++0x.lo -am_libstdc___la_OBJECTS = $(am__objects_3) $(am__objects_4) +am_libstdc___la_OBJECTS = $(am__objects_2) $(am__objects_3) libstdc___la_OBJECTS = $(am_libstdc___la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = @@ -135,11 +109,6 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ @@ -368,18 +337,14 @@ SUBDIRS = c++98 c++11 toolexeclib_LTLIBRARIES = libstdc++.la @GLIBCXX_LDBL_COMPAT_FALSE@ldbl_compat_sources = @GLIBCXX_LDBL_COMPAT_TRUE@ldbl_compat_sources = compatibility-ldbl.cc -@ENABLE_PARALLEL_FALSE@parallel_compat_sources = -@ENABLE_PARALLEL_TRUE@parallel_compat_sources = \ -@ENABLE_PARALLEL_TRUE@ compatibility-parallel_list.cc compatibility-parallel_list-2.cc +parallel_compat_sources = \ + compatibility-parallel_list.cc compatibility-parallel_list-2.cc cxx98_sources = \ compatibility.cc \ compatibility-debug_list.cc \ compatibility-debug_list-2.cc \ - compatibility-list.cc \ - compatibility-list-2.cc \ - ${ldbl_compat_sources} \ - ${parallel_compat_sources} + ${ldbl_compat_sources} cxx11_sources = \ compatibility-c++0x.cc \ @@ -404,9 +369,6 @@ libstdc___la_LDFLAGS = \ libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS) -# Use special rules for parallel mode compilation. -PARALLEL_FLAGS = -fopenmp -D_GLIBCXX_PARALLEL -I$(glibcxx_builddir)/../libgomp - # A note on compatibility and static libraries. # # static lib == linked against only this version, should not need compat @@ -536,7 +498,6 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; -$(top_srcdir)/fragment.am: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh @@ -548,6 +509,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES) @$(NORMAL_INSTALL) + test -z "$(toolexeclibdir)" || $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ @@ -555,8 +517,6 @@ install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES) else :; fi; \ done; \ test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(toolexeclibdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" || exit 1; \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(toolexeclibdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(toolexeclibdir)"; \ } @@ -578,7 +538,7 @@ clean-toolexeclibLTLIBRARIES: echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES) $(EXTRA_libstdc___la_DEPENDENCIES) +libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES) $(libstdc___la_LINK) -rpath $(toolexeclibdir) $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD) $(LIBS) mostlyclean-compile: @@ -754,15 +714,10 @@ install-am: all-am installcheck: installcheck-recursive install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: @@ -867,15 +822,6 @@ uninstall-am: uninstall-toolexeclibLTLIBRARIES vpath % $(top_srcdir)/src/c++98 vpath % $(top_srcdir)/src/c++11 -compatibility-parallel_list.lo: compatibility-parallel_list.cc - $(LTCXXCOMPILE) -c $< -compatibility-parallel_list.o: compatibility-parallel_list.cc - $(CXXCOMPILE) -c $< - -compatibility-parallel_list-2.lo: compatibility-parallel_list-2.cc - $(LTCXXCOMPILE) -c $< -compatibility-parallel_list-2.o: compatibility-parallel_list-2.cc - $(CXXCOMPILE) -c $< # Use special rules for compatibility-ldbl.cc compilation, as we need to # pass -mlong-double-64. diff --git a/libstdc++-v3/src/c++11/Makefile.in b/libstdc++-v3/src/c++11/Makefile.in index c85f267..32c5c62 100644 --- a/libstdc++-v3/src/c++11/Makefile.in +++ b/libstdc++-v3/src/c++11/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +16,6 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -98,11 +81,6 @@ CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) SOURCES = $(libc__11convenience_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac ETAGS = etags CTAGS = ctags ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ @@ -438,7 +416,6 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; -$(top_srcdir)/fragment.am: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh @@ -457,7 +434,7 @@ clean-noinstLTLIBRARIES: echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -libc++11convenience.la: $(libc__11convenience_la_OBJECTS) $(libc__11convenience_la_DEPENDENCIES) $(EXTRA_libc__11convenience_la_DEPENDENCIES) +libc++11convenience.la: $(libc__11convenience_la_OBJECTS) $(libc__11convenience_la_DEPENDENCIES) $(CXXLINK) $(libc__11convenience_la_OBJECTS) $(libc__11convenience_la_LIBADD) $(LIBS) mostlyclean-compile: @@ -546,15 +523,10 @@ install-am: all-am installcheck: installcheck-am install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: diff --git a/libstdc++-v3/src/c++98/Makefile.am b/libstdc++-v3/src/c++98/Makefile.am index c153a59..5733f34 100644 --- a/libstdc++-v3/src/c++98/Makefile.am +++ b/libstdc++-v3/src/c++98/Makefile.am @@ -82,11 +82,6 @@ c++locale.cc: ${glibcxx_srcdir}/$(CLOCALE_CC) basic_file.cc: ${glibcxx_srcdir}/$(BASIC_FILE_CC) $(LN_S) ${glibcxx_srcdir}/$(BASIC_FILE_CC) ./$@ || true -if ENABLE_PARALLEL -parallel_sources = parallel_settings.cc -else -parallel_sources = -endif if ENABLE_EXTERN_TEMPLATE XTEMPLATE_FLAGS = -fno-implicit-templates @@ -108,6 +103,8 @@ XTEMPLATE_FLAGS = inst_sources = endif +parallel_sources = parallel_settings.cc + # Sources present in the src directory, always present. sources = \ bitmap_allocator.cc \ @@ -124,6 +121,10 @@ sources = \ ios_init.cc \ ios_locale.cc \ list.cc \ + list-aux.cc \ + list-aux-2.cc \ + list_associated.cc \ + list_associated-2.cc \ locale.cc \ locale_init.cc \ locale_facets.cc \ diff --git a/libstdc++-v3/src/c++98/Makefile.in b/libstdc++-v3/src/c++98/Makefile.in index caa0b87..6cb0c7f 100644 --- a/libstdc++-v3/src/c++98/Makefile.in +++ b/libstdc++-v3/src/c++98/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +16,6 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -93,17 +76,18 @@ am__objects_1 = atomicity.lo codecvt_members.lo collate_members.lo \ @ENABLE_EXTERN_TEMPLATE_TRUE@ misc-inst.lo ostream-inst.lo \ @ENABLE_EXTERN_TEMPLATE_TRUE@ sstream-inst.lo streambuf-inst.lo \ @ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst.lo -@ENABLE_PARALLEL_TRUE@am__objects_3 = parallel_settings.lo +am__objects_3 = parallel_settings.lo am__objects_4 = basic_file.lo c++locale.lo $(am__objects_2) \ $(am__objects_3) am__objects_5 = bitmap_allocator.lo pool_allocator.lo mt_allocator.lo \ codecvt.lo complex_io.lo ctype.lo globals_io.lo hash_tr1.lo \ hashtable_tr1.lo ios.lo ios_failure.lo ios_init.lo \ - ios_locale.lo list.lo locale.lo locale_init.lo \ - locale_facets.lo localename.lo math_stubs_float.lo \ - math_stubs_long_double.lo stdexcept.lo strstream.lo tree.lo \ - istream.lo streambuf.lo valarray.lo $(am__objects_1) \ - $(am__objects_4) + ios_locale.lo list.lo list-aux.lo list-aux-2.lo \ + list_associated.lo list_associated-2.lo locale.lo \ + locale_init.lo locale_facets.lo localename.lo \ + math_stubs_float.lo math_stubs_long_double.lo stdexcept.lo \ + strstream.lo tree.lo istream.lo streambuf.lo valarray.lo \ + $(am__objects_1) $(am__objects_4) am_libc__98convenience_la_OBJECTS = $(am__objects_5) libc__98convenience_la_OBJECTS = $(am_libc__98convenience_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) @@ -113,11 +97,6 @@ CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) SOURCES = $(libc__98convenience_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac ETAGS = etags CTAGS = ctags ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ @@ -361,8 +340,6 @@ host_sources_extra = \ basic_file.cc c++locale.cc \ ${inst_sources} ${parallel_sources} -@ENABLE_PARALLEL_FALSE@parallel_sources = -@ENABLE_PARALLEL_TRUE@parallel_sources = parallel_settings.cc @ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = @ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates @ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources = @@ -380,6 +357,7 @@ host_sources_extra = \ @ENABLE_EXTERN_TEMPLATE_TRUE@ streambuf-inst.cc \ @ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst.cc +parallel_sources = parallel_settings.cc # Sources present in the src directory, always present. sources = \ @@ -397,6 +375,10 @@ sources = \ ios_init.cc \ ios_locale.cc \ list.cc \ + list-aux.cc \ + list-aux-2.cc \ + list_associated.cc \ + list_associated-2.cc \ locale.cc \ locale_init.cc \ locale_facets.cc \ @@ -506,7 +488,6 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; -$(top_srcdir)/fragment.am: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh @@ -525,7 +506,7 @@ clean-noinstLTLIBRARIES: echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -libc++98convenience.la: $(libc__98convenience_la_OBJECTS) $(libc__98convenience_la_DEPENDENCIES) $(EXTRA_libc__98convenience_la_DEPENDENCIES) +libc++98convenience.la: $(libc__98convenience_la_OBJECTS) $(libc__98convenience_la_DEPENDENCIES) $(CXXLINK) $(libc__98convenience_la_OBJECTS) $(libc__98convenience_la_LIBADD) $(LIBS) mostlyclean-compile: @@ -614,15 +595,10 @@ install-am: all-am installcheck: installcheck-am install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: diff --git a/libstdc++-v3/src/c++98/compatibility-debug_list-2.cc b/libstdc++-v3/src/c++98/compatibility-debug_list-2.cc index c032ff8..7091ecd 100644 --- a/libstdc++-v3/src/c++98/compatibility-debug_list-2.cc +++ b/libstdc++-v3/src/c++98/compatibility-debug_list-2.cc @@ -1,6 +1,6 @@ // Compatibility symbols for previous versions, debug list -*- C++ -*- -// Copyright (C) 2011 Free Software Foundation, Inc. +// Copyright (C) 2011, 2012 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 @@ -25,4 +25,4 @@ #define _GLIBCXX_BEGIN_NAMESPACE_COMPAT namespace __norm { #define _GLIBCXX_END_NAMESPACE_COMPAT } -#include "compatibility-list-2.cc" +#include "list-aux-2.cc" diff --git a/libstdc++-v3/src/c++98/compatibility-debug_list.cc b/libstdc++-v3/src/c++98/compatibility-debug_list.cc index 76cceec..eb20884 100644 --- a/libstdc++-v3/src/c++98/compatibility-debug_list.cc +++ b/libstdc++-v3/src/c++98/compatibility-debug_list.cc @@ -1,6 +1,6 @@ // Compatibility symbols for previous versions, debug list -*- C++ -*- -// Copyright (C) 2010, 2011 Free Software Foundation, Inc. +// Copyright (C) 2010, 2011, 2012 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 @@ -25,4 +25,4 @@ #define _GLIBCXX_BEGIN_NAMESPACE_COMPAT namespace __norm { #define _GLIBCXX_END_NAMESPACE_COMPAT } -#include "compatibility-list.cc" +#include "list-aux.cc" diff --git a/libstdc++-v3/src/c++98/compatibility-list-2.cc b/libstdc++-v3/src/c++98/compatibility-list-2.cc deleted file mode 100644 index 0e118ff..0000000 --- a/libstdc++-v3/src/c++98/compatibility-list-2.cc +++ /dev/null @@ -1,117 +0,0 @@ -// Compatibility symbols for previous versions, list bits -*- C++ -*- - -// Copyright (C) 2011, 2012 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 -// . - -#include - -#ifdef _GLIBCXX_SHARED - -#ifndef _GLIBCXX_BEGIN_NAMESPACE_COMPAT -# define _GLIBCXX_BEGIN_NAMESPACE_COMPAT -#endif - -#ifndef _GLIBCXX_END_NAMESPACE_COMPAT -# define _GLIBCXX_END_NAMESPACE_COMPAT -#endif - -namespace std _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_COMPAT - - struct _List_node_base - { - _List_node_base* _M_next; - _List_node_base* _M_prev; - - void - _M_transfer(_List_node_base * const __first, - _List_node_base * const __last) _GLIBCXX_USE_NOEXCEPT; - - void - _M_reverse() _GLIBCXX_USE_NOEXCEPT; - - void - _M_hook(_List_node_base * const __position) _GLIBCXX_USE_NOEXCEPT; - - void - _M_unhook() _GLIBCXX_USE_NOEXCEPT; - }; - - void - _List_node_base:: - _M_transfer(_List_node_base * const __first, - _List_node_base * const __last) _GLIBCXX_USE_NOEXCEPT - { - if (this != __last) - { - // Remove [first, last) from its old position. - __last->_M_prev->_M_next = this; - __first->_M_prev->_M_next = __last; - this->_M_prev->_M_next = __first; - - // Splice [first, last) into its new position. - _List_node_base* const __tmp = this->_M_prev; - this->_M_prev = __last->_M_prev; - __last->_M_prev = __first->_M_prev; - __first->_M_prev = __tmp; - } - } - - void - _List_node_base::_M_reverse() _GLIBCXX_USE_NOEXCEPT - { - _List_node_base* __tmp = this; - do - { - std::swap(__tmp->_M_next, __tmp->_M_prev); - - // Old next node is now prev. - __tmp = __tmp->_M_prev; - } - while (__tmp != this); - } - - void - _List_node_base:: - _M_hook(_List_node_base* const __position) _GLIBCXX_USE_NOEXCEPT - { - this->_M_next = __position; - this->_M_prev = __position->_M_prev; - __position->_M_prev->_M_next = this; - __position->_M_prev = this; - } - - void - _List_node_base::_M_unhook() _GLIBCXX_USE_NOEXCEPT - { - _List_node_base* const __next_node = this->_M_next; - _List_node_base* const __prev_node = this->_M_prev; - __prev_node->_M_next = __next_node; - __next_node->_M_prev = __prev_node; - } - -_GLIBCXX_END_NAMESPACE_COMPAT - -} // namespace std - -#endif diff --git a/libstdc++-v3/src/c++98/compatibility-list.cc b/libstdc++-v3/src/c++98/compatibility-list.cc deleted file mode 100644 index 7e074a72..0000000 --- a/libstdc++-v3/src/c++98/compatibility-list.cc +++ /dev/null @@ -1,146 +0,0 @@ -// Compatibility symbols for previous versions, list bits -*- C++ -*- - -// Copyright (C) 2010, 2011, 2012 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 -// . - -#include - -#ifndef _GLIBCXX_BEGIN_NAMESPACE_COMPAT -# define _GLIBCXX_BEGIN_NAMESPACE_COMPAT -#endif - -#ifndef _GLIBCXX_END_NAMESPACE_COMPAT -# define _GLIBCXX_END_NAMESPACE_COMPAT -#endif - -namespace std _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_COMPAT - - struct _List_node_base - { - _List_node_base* _M_next; - _List_node_base* _M_prev; - - static void - swap(_List_node_base& __x, _List_node_base& __y) throw (); - - void - transfer(_List_node_base * const __first, - _List_node_base * const __last) throw (); - - void - reverse() throw (); - - void - hook(_List_node_base * const __position) throw (); - - void - unhook() throw (); - }; - - void - _List_node_base::swap(_List_node_base& __x, _List_node_base& __y) throw() - { - if ( __x._M_next != &__x ) - { - if ( __y._M_next != &__y ) - { - // Both __x and __y are not empty. - std::swap(__x._M_next,__y._M_next); - std::swap(__x._M_prev,__y._M_prev); - __x._M_next->_M_prev = __x._M_prev->_M_next = &__x; - __y._M_next->_M_prev = __y._M_prev->_M_next = &__y; - } - else - { - // __x is not empty, __y is empty. - __y._M_next = __x._M_next; - __y._M_prev = __x._M_prev; - __y._M_next->_M_prev = __y._M_prev->_M_next = &__y; - __x._M_next = __x._M_prev = &__x; - } - } - else if ( __y._M_next != &__y ) - { - // __x is empty, __y is not empty. - __x._M_next = __y._M_next; - __x._M_prev = __y._M_prev; - __x._M_next->_M_prev = __x._M_prev->_M_next = &__x; - __y._M_next = __y._M_prev = &__y; - } - } - - void - _List_node_base::transfer(_List_node_base * const __first, - _List_node_base * const __last) throw () - { - if (this != __last) - { - // Remove [first, last) from its old position. - __last->_M_prev->_M_next = this; - __first->_M_prev->_M_next = __last; - this->_M_prev->_M_next = __first; - - // Splice [first, last) into its new position. - _List_node_base* const __tmp = this->_M_prev; - this->_M_prev = __last->_M_prev; - __last->_M_prev = __first->_M_prev; - __first->_M_prev = __tmp; - } - } - - void - _List_node_base::reverse() throw () - { - _List_node_base* __tmp = this; - do - { - std::swap(__tmp->_M_next, __tmp->_M_prev); - - // Old next node is now prev. - __tmp = __tmp->_M_prev; - } - while (__tmp != this); - } - - void - _List_node_base::hook(_List_node_base* const __position) throw () - { - this->_M_next = __position; - this->_M_prev = __position->_M_prev; - __position->_M_prev->_M_next = this; - __position->_M_prev = this; - } - - void - _List_node_base::unhook() throw () - { - _List_node_base* const __next_node = this->_M_next; - _List_node_base* const __prev_node = this->_M_prev; - __prev_node->_M_next = __next_node; - __next_node->_M_prev = __prev_node; - } - -_GLIBCXX_END_NAMESPACE_COMPAT - -} // namespace std diff --git a/libstdc++-v3/src/c++98/compatibility-parallel_list-2.cc b/libstdc++-v3/src/c++98/compatibility-parallel_list-2.cc deleted file mode 100644 index 8dc837a..0000000 --- a/libstdc++-v3/src/c++98/compatibility-parallel_list-2.cc +++ /dev/null @@ -1,28 +0,0 @@ -// Compatibility symbols for previous versions, parallel list -*- C++ -*- - -// Copyright (C) 2011 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 -// . - -#define _GLIBCXX_BEGIN_NAMESPACE_COMPAT namespace __cxx1998 { -#define _GLIBCXX_END_NAMESPACE_COMPAT } - -#include "compatibility-list-2.cc" diff --git a/libstdc++-v3/src/c++98/compatibility-parallel_list.cc b/libstdc++-v3/src/c++98/compatibility-parallel_list.cc deleted file mode 100644 index 05e50fa..0000000 --- a/libstdc++-v3/src/c++98/compatibility-parallel_list.cc +++ /dev/null @@ -1,28 +0,0 @@ -// Compatibility symbols for previous versions, parallel list -*- C++ -*- - -// Copyright (C) 2010, 2011 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 -// . - -#define _GLIBCXX_BEGIN_NAMESPACE_COMPAT namespace __cxx1998 { -#define _GLIBCXX_END_NAMESPACE_COMPAT } - -#include "compatibility-list.cc" diff --git a/libstdc++-v3/src/c++98/list-aux-2.cc b/libstdc++-v3/src/c++98/list-aux-2.cc new file mode 100644 index 0000000..0e118ff --- /dev/null +++ b/libstdc++-v3/src/c++98/list-aux-2.cc @@ -0,0 +1,117 @@ +// Compatibility symbols for previous versions, list bits -*- C++ -*- + +// Copyright (C) 2011, 2012 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 +// . + +#include + +#ifdef _GLIBCXX_SHARED + +#ifndef _GLIBCXX_BEGIN_NAMESPACE_COMPAT +# define _GLIBCXX_BEGIN_NAMESPACE_COMPAT +#endif + +#ifndef _GLIBCXX_END_NAMESPACE_COMPAT +# define _GLIBCXX_END_NAMESPACE_COMPAT +#endif + +namespace std _GLIBCXX_VISIBILITY(default) +{ +_GLIBCXX_BEGIN_NAMESPACE_COMPAT + + struct _List_node_base + { + _List_node_base* _M_next; + _List_node_base* _M_prev; + + void + _M_transfer(_List_node_base * const __first, + _List_node_base * const __last) _GLIBCXX_USE_NOEXCEPT; + + void + _M_reverse() _GLIBCXX_USE_NOEXCEPT; + + void + _M_hook(_List_node_base * const __position) _GLIBCXX_USE_NOEXCEPT; + + void + _M_unhook() _GLIBCXX_USE_NOEXCEPT; + }; + + void + _List_node_base:: + _M_transfer(_List_node_base * const __first, + _List_node_base * const __last) _GLIBCXX_USE_NOEXCEPT + { + if (this != __last) + { + // Remove [first, last) from its old position. + __last->_M_prev->_M_next = this; + __first->_M_prev->_M_next = __last; + this->_M_prev->_M_next = __first; + + // Splice [first, last) into its new position. + _List_node_base* const __tmp = this->_M_prev; + this->_M_prev = __last->_M_prev; + __last->_M_prev = __first->_M_prev; + __first->_M_prev = __tmp; + } + } + + void + _List_node_base::_M_reverse() _GLIBCXX_USE_NOEXCEPT + { + _List_node_base* __tmp = this; + do + { + std::swap(__tmp->_M_next, __tmp->_M_prev); + + // Old next node is now prev. + __tmp = __tmp->_M_prev; + } + while (__tmp != this); + } + + void + _List_node_base:: + _M_hook(_List_node_base* const __position) _GLIBCXX_USE_NOEXCEPT + { + this->_M_next = __position; + this->_M_prev = __position->_M_prev; + __position->_M_prev->_M_next = this; + __position->_M_prev = this; + } + + void + _List_node_base::_M_unhook() _GLIBCXX_USE_NOEXCEPT + { + _List_node_base* const __next_node = this->_M_next; + _List_node_base* const __prev_node = this->_M_prev; + __prev_node->_M_next = __next_node; + __next_node->_M_prev = __prev_node; + } + +_GLIBCXX_END_NAMESPACE_COMPAT + +} // namespace std + +#endif diff --git a/libstdc++-v3/src/c++98/list-aux.cc b/libstdc++-v3/src/c++98/list-aux.cc new file mode 100644 index 0000000..7e074a72 --- /dev/null +++ b/libstdc++-v3/src/c++98/list-aux.cc @@ -0,0 +1,146 @@ +// Compatibility symbols for previous versions, list bits -*- C++ -*- + +// Copyright (C) 2010, 2011, 2012 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 +// . + +#include + +#ifndef _GLIBCXX_BEGIN_NAMESPACE_COMPAT +# define _GLIBCXX_BEGIN_NAMESPACE_COMPAT +#endif + +#ifndef _GLIBCXX_END_NAMESPACE_COMPAT +# define _GLIBCXX_END_NAMESPACE_COMPAT +#endif + +namespace std _GLIBCXX_VISIBILITY(default) +{ +_GLIBCXX_BEGIN_NAMESPACE_COMPAT + + struct _List_node_base + { + _List_node_base* _M_next; + _List_node_base* _M_prev; + + static void + swap(_List_node_base& __x, _List_node_base& __y) throw (); + + void + transfer(_List_node_base * const __first, + _List_node_base * const __last) throw (); + + void + reverse() throw (); + + void + hook(_List_node_base * const __position) throw (); + + void + unhook() throw (); + }; + + void + _List_node_base::swap(_List_node_base& __x, _List_node_base& __y) throw() + { + if ( __x._M_next != &__x ) + { + if ( __y._M_next != &__y ) + { + // Both __x and __y are not empty. + std::swap(__x._M_next,__y._M_next); + std::swap(__x._M_prev,__y._M_prev); + __x._M_next->_M_prev = __x._M_prev->_M_next = &__x; + __y._M_next->_M_prev = __y._M_prev->_M_next = &__y; + } + else + { + // __x is not empty, __y is empty. + __y._M_next = __x._M_next; + __y._M_prev = __x._M_prev; + __y._M_next->_M_prev = __y._M_prev->_M_next = &__y; + __x._M_next = __x._M_prev = &__x; + } + } + else if ( __y._M_next != &__y ) + { + // __x is empty, __y is not empty. + __x._M_next = __y._M_next; + __x._M_prev = __y._M_prev; + __x._M_next->_M_prev = __x._M_prev->_M_next = &__x; + __y._M_next = __y._M_prev = &__y; + } + } + + void + _List_node_base::transfer(_List_node_base * const __first, + _List_node_base * const __last) throw () + { + if (this != __last) + { + // Remove [first, last) from its old position. + __last->_M_prev->_M_next = this; + __first->_M_prev->_M_next = __last; + this->_M_prev->_M_next = __first; + + // Splice [first, last) into its new position. + _List_node_base* const __tmp = this->_M_prev; + this->_M_prev = __last->_M_prev; + __last->_M_prev = __first->_M_prev; + __first->_M_prev = __tmp; + } + } + + void + _List_node_base::reverse() throw () + { + _List_node_base* __tmp = this; + do + { + std::swap(__tmp->_M_next, __tmp->_M_prev); + + // Old next node is now prev. + __tmp = __tmp->_M_prev; + } + while (__tmp != this); + } + + void + _List_node_base::hook(_List_node_base* const __position) throw () + { + this->_M_next = __position; + this->_M_prev = __position->_M_prev; + __position->_M_prev->_M_next = this; + __position->_M_prev = this; + } + + void + _List_node_base::unhook() throw () + { + _List_node_base* const __next_node = this->_M_next; + _List_node_base* const __prev_node = this->_M_prev; + __prev_node->_M_next = __next_node; + __next_node->_M_prev = __prev_node; + } + +_GLIBCXX_END_NAMESPACE_COMPAT + +} // namespace std diff --git a/libstdc++-v3/src/c++98/list_associated-2.cc b/libstdc++-v3/src/c++98/list_associated-2.cc new file mode 100644 index 0000000..fd92a25 --- /dev/null +++ b/libstdc++-v3/src/c++98/list_associated-2.cc @@ -0,0 +1,28 @@ +// Default definitions when using namespace associations, list -*- C++ -*- + +// Copyright (C) 2011, 2012 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 +// . + +#define _GLIBCXX_BEGIN_NAMESPACE_COMPAT namespace __cxx1998 { +#define _GLIBCXX_END_NAMESPACE_COMPAT } + +#include "list-aux-2.cc" diff --git a/libstdc++-v3/src/c++98/list_associated.cc b/libstdc++-v3/src/c++98/list_associated.cc new file mode 100644 index 0000000..b2dd9e0 --- /dev/null +++ b/libstdc++-v3/src/c++98/list_associated.cc @@ -0,0 +1,29 @@ + +// Default definitions when using namespace associations, list -*- C++ -*- + +// Copyright (C) 2010, 2011, 2012 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 +// . + +#define _GLIBCXX_BEGIN_NAMESPACE_COMPAT namespace __cxx1998 { +#define _GLIBCXX_END_NAMESPACE_COMPAT } + +#include "list-aux.cc" -- cgit v1.1