]> git.pld-linux.org Git - packages/gcc.git/blame - gcc-branch.diff
- rel 5; --force when creating svn patch, so binary files will be included
[packages/gcc.git] / gcc-branch.diff
CommitLineData
5a87b929
AM
1Index: libitm/configure
2===================================================================
9f95000d
AM
3--- libitm/configure (.../tags/gcc_4_7_2_release) (wersja 192468)
4+++ libitm/configure (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
5@@ -2844,6 +2844,7 @@
6 # no-define: PACKAGE and VERSION will not be #define'd in config.h (a bunch
7 # of other PACKAGE_* variables will, however, and there's nothing
8 # we can do about that; they come from AC_INIT).
9+# no-dist: we don't want 'dist' and related rules.
10 # foreign: we don't follow the normal rules for GNU packages (no COPYING
11 # file in the top srcdir, etc, etc), so stop complaining.
12 # -Wall: turns on all automake warnings...
13@@ -11770,7 +11771,7 @@
14 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
15 lt_status=$lt_dlunknown
16 cat > conftest.$ac_ext <<_LT_EOF
17-#line 11773 "configure"
18+#line 11774 "configure"
19 #include "confdefs.h"
20
21 #if HAVE_DLFCN_H
22@@ -11876,7 +11877,7 @@
23 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
24 lt_status=$lt_dlunknown
25 cat > conftest.$ac_ext <<_LT_EOF
26-#line 11879 "configure"
27+#line 11880 "configure"
28 #include "confdefs.h"
29
30 #if HAVE_DLFCN_H
31Index: libitm/Makefile.in
32===================================================================
9f95000d
AM
33--- libitm/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
34+++ libitm/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
35@@ -40,13 +40,10 @@
36 @ARCH_X86_TRUE@am__append_2 = x86_sse.cc x86_avx.cc
37 @ARCH_FUTEX_TRUE@am__append_3 = futex.cc
38 subdir = .
39-DIST_COMMON = $(am__configure_deps) $(srcdir)/../config.guess \
40- $(srcdir)/../config.sub $(srcdir)/../depcomp \
41- $(srcdir)/../install-sh $(srcdir)/../ltmain.sh \
42- $(srcdir)/../missing $(srcdir)/../mkinstalldirs \
43- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
44- $(srcdir)/config.h.in $(srcdir)/libitm.spec.in \
45- $(top_srcdir)/configure ChangeLog
46+DIST_COMMON = ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
47+ $(top_srcdir)/configure $(am__configure_deps) \
48+ $(srcdir)/config.h.in $(srcdir)/../mkinstalldirs \
49+ $(srcdir)/libitm.spec.in $(srcdir)/../depcomp
50 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
51 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
52 $(top_srcdir)/../config/asmcfi.m4 \
53@@ -97,11 +94,6 @@
54 "$(DESTDIR)$(toolexeclibdir)"
55 LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
56 libitm_la_LIBADD =
57-am__libitm_la_SOURCES_DIST = aatree.cc alloc.cc alloc_c.cc \
58- alloc_cpp.cc barrier.cc beginend.cc clone.cc eh_cpp.cc \
59- local.cc query.cc retry.cc rwlock.cc useraction.cc util.cc \
60- sjlj.S tls.cc method-serial.cc method-gl.cc method-ml.cc \
61- hwcap.cc x86_sse.cc x86_avx.cc futex.cc
62 @ARCH_ARM_TRUE@am__objects_1 = hwcap.lo
63 @ARCH_X86_TRUE@am__objects_2 = x86_sse.lo x86_avx.lo
64 @ARCH_FUTEX_TRUE@am__objects_3 = futex.lo
65@@ -139,7 +131,6 @@
66 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
67 $(LDFLAGS) -o $@
68 SOURCES = $(libitm_la_SOURCES)
69-DIST_SOURCES = $(am__libitm_la_SOURCES_DIST)
70 MULTISRCTOP =
71 MULTIBUILDTOP =
72 MULTIDIRS =
73@@ -169,47 +160,10 @@
74 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
75 distclean-recursive maintainer-clean-recursive
76 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
77- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
78- distdir dist dist-all distcheck
79+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
80 ETAGS = etags
81 CTAGS = ctags
82 DIST_SUBDIRS = $(SUBDIRS)
83-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
84-distdir = $(PACKAGE)-$(VERSION)
85-top_distdir = $(distdir)
86-am__remove_distdir = \
87- { test ! -d "$(distdir)" \
88- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
89- && rm -fr "$(distdir)"; }; }
90-am__relativize = \
91- dir0=`pwd`; \
92- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
93- sed_rest='s,^[^/]*/*,,'; \
94- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
95- sed_butlast='s,/*[^/]*$$,,'; \
96- while test -n "$$dir1"; do \
97- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
98- if test "$$first" != "."; then \
99- if test "$$first" = ".."; then \
100- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
101- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
102- else \
103- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
104- if test "$$first2" = "$$first"; then \
105- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
106- else \
107- dir2="../$$dir2"; \
108- fi; \
109- dir0="$$dir0"/"$$first"; \
110- fi; \
111- fi; \
112- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
113- done; \
114- reldir="$$dir2"
115-DIST_ARCHIVES = $(distdir).tar.gz
116-GZIP_ENV = --best
117-distuninstallcheck_listfiles = find . -type f -print
118-distcleancheck_listfiles = find . -type f -print
119 ACLOCAL = @ACLOCAL@
120 AMTAR = @AMTAR@
121 AR = @AR@
122@@ -867,185 +821,6 @@
123
124 distclean-tags:
125 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
126-
127-distdir: $(DISTFILES)
128- $(am__remove_distdir)
129- test -d "$(distdir)" || mkdir "$(distdir)"
130- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
131- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
132- list='$(DISTFILES)'; \
133- dist_files=`for file in $$list; do echo $$file; done | \
134- sed -e "s|^$$srcdirstrip/||;t" \
135- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
136- case $$dist_files in \
137- */*) $(MKDIR_P) `echo "$$dist_files" | \
138- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
139- sort -u` ;; \
140- esac; \
141- for file in $$dist_files; do \
142- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
143- if test -d $$d/$$file; then \
144- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
145- if test -d "$(distdir)/$$file"; then \
146- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
147- fi; \
148- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
149- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
150- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
151- fi; \
152- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
153- else \
154- test -f "$(distdir)/$$file" \
155- || cp -p $$d/$$file "$(distdir)/$$file" \
156- || exit 1; \
157- fi; \
158- done
159- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
160- if test "$$subdir" = .; then :; else \
161- test -d "$(distdir)/$$subdir" \
162- || $(MKDIR_P) "$(distdir)/$$subdir" \
163- || exit 1; \
164- fi; \
165- done
166- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
167- if test "$$subdir" = .; then :; else \
168- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
169- $(am__relativize); \
170- new_distdir=$$reldir; \
171- dir1=$$subdir; dir2="$(top_distdir)"; \
172- $(am__relativize); \
173- new_top_distdir=$$reldir; \
174- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
175- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
176- ($(am__cd) $$subdir && \
177- $(MAKE) $(AM_MAKEFLAGS) \
178- top_distdir="$$new_top_distdir" \
179- distdir="$$new_distdir" \
180- am__remove_distdir=: \
181- am__skip_length_check=: \
182- am__skip_mode_fix=: \
183- distdir) \
184- || exit 1; \
185- fi; \
186- done
187- $(MAKE) $(AM_MAKEFLAGS) \
188- top_distdir="$(top_distdir)" distdir="$(distdir)" \
189- dist-info
190- -test -n "$(am__skip_mode_fix)" \
191- || find "$(distdir)" -type d ! -perm -755 \
192- -exec chmod u+rwx,go+rx {} \; -o \
193- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
194- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
195- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
196- || chmod -R a+r "$(distdir)"
197-dist-gzip: distdir
198- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
199- $(am__remove_distdir)
200-
201-dist-bzip2: distdir
202- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
203- $(am__remove_distdir)
204-
205-dist-lzma: distdir
206- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
207- $(am__remove_distdir)
208-
209-dist-xz: distdir
210- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
211- $(am__remove_distdir)
212-
213-dist-tarZ: distdir
214- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
215- $(am__remove_distdir)
216-
217-dist-shar: distdir
218- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
219- $(am__remove_distdir)
220-
221-dist-zip: distdir
222- -rm -f $(distdir).zip
223- zip -rq $(distdir).zip $(distdir)
224- $(am__remove_distdir)
225-
226-dist dist-all: distdir
227- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
228- $(am__remove_distdir)
229-
230-# This target untars the dist file and tries a VPATH configuration. Then
231-# it guarantees that the distribution is self-contained by making another
232-# tarfile.
233-distcheck: dist
234- case '$(DIST_ARCHIVES)' in \
235- *.tar.gz*) \
236- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
237- *.tar.bz2*) \
238- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
239- *.tar.lzma*) \
240- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
241- *.tar.xz*) \
242- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
243- *.tar.Z*) \
244- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
245- *.shar.gz*) \
246- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
247- *.zip*) \
248- unzip $(distdir).zip ;;\
249- esac
250- chmod -R a-w $(distdir); chmod a+w $(distdir)
251- mkdir $(distdir)/_build
252- mkdir $(distdir)/_inst
253- chmod a-w $(distdir)
254- test -d $(distdir)/_build || exit 0; \
255- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
256- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
257- && am__cwd=`pwd` \
258- && $(am__cd) $(distdir)/_build \
259- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
260- $(DISTCHECK_CONFIGURE_FLAGS) \
261- && $(MAKE) $(AM_MAKEFLAGS) \
262- && $(MAKE) $(AM_MAKEFLAGS) dvi \
263- && $(MAKE) $(AM_MAKEFLAGS) check \
264- && $(MAKE) $(AM_MAKEFLAGS) install \
265- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
266- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
267- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
268- distuninstallcheck \
269- && chmod -R a-w "$$dc_install_base" \
270- && ({ \
271- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
272- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
273- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
274- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
275- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
276- } || { rm -rf "$$dc_destdir"; exit 1; }) \
277- && rm -rf "$$dc_destdir" \
278- && $(MAKE) $(AM_MAKEFLAGS) dist \
279- && rm -rf $(DIST_ARCHIVES) \
280- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
281- && cd "$$am__cwd" \
282- || exit 1
283- $(am__remove_distdir)
284- @(echo "$(distdir) archives ready for distribution: "; \
285- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
286- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
287-distuninstallcheck:
288- @$(am__cd) '$(distuninstallcheck_dir)' \
289- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
290- || { echo "ERROR: files left after uninstall:" ; \
291- if test -n "$(DESTDIR)"; then \
292- echo " (check DESTDIR support)"; \
293- fi ; \
294- $(distuninstallcheck_listfiles) ; \
295- exit 1; } >&2
296-distcleancheck: distclean
297- @if test '$(srcdir)' = . ; then \
298- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
299- exit 1 ; \
300- fi
301- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
302- || { echo "ERROR: files left in build directory after distclean:" ; \
303- $(distcleancheck_listfiles) ; \
304- exit 1; } >&2
305 check-am: all-am
306 check: check-recursive
307 all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) all-multi $(HEADERS) \
308@@ -1244,13 +1019,10 @@
309 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
310 all all-am all-local all-multi am--refresh check check-am \
311 clean clean-aminfo clean-generic clean-libtool clean-multi \
312- clean-toolexeclibLTLIBRARIES ctags ctags-recursive dist \
313- dist-all dist-bzip2 dist-gzip dist-info dist-lzma dist-shar \
314- dist-tarZ dist-xz dist-zip distcheck distclean \
315- distclean-compile distclean-generic distclean-hdr \
316- distclean-libtool distclean-multi distclean-tags \
317- distcleancheck distdir distuninstallcheck dvi dvi-am html \
318- html-am info info-am install install-am install-data \
319+ clean-toolexeclibLTLIBRARIES ctags ctags-recursive dist-info \
320+ distclean distclean-compile distclean-generic distclean-hdr \
321+ distclean-libtool distclean-multi distclean-tags dvi dvi-am \
322+ html html-am info info-am install install-am install-data \
323 install-data-am install-dvi install-dvi-am install-exec \
324 install-exec-am install-html install-html-am install-info \
325 install-info-am install-man install-multi \
326Index: libitm/configure.ac
327===================================================================
9f95000d
AM
328--- libitm/configure.ac (.../tags/gcc_4_7_2_release) (wersja 192468)
329+++ libitm/configure.ac (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
330@@ -70,12 +70,13 @@
331 # no-define: PACKAGE and VERSION will not be #define'd in config.h (a bunch
332 # of other PACKAGE_* variables will, however, and there's nothing
333 # we can do about that; they come from AC_INIT).
334+# no-dist: we don't want 'dist' and related rules.
335 # foreign: we don't follow the normal rules for GNU packages (no COPYING
336 # file in the top srcdir, etc, etc), so stop complaining.
337 # -Wall: turns on all automake warnings...
338 # -Wno-portability: ...except this one, since GNU make is required.
339 # -Wno-override: ... and this one, since we do want this in testsuite.
340-AM_INIT_AUTOMAKE([1.9.0 foreign -Wall -Wno-portability -Wno-override])
341+AM_INIT_AUTOMAKE([1.9.0 foreign no-dist -Wall -Wno-portability -Wno-override])
342 AM_ENABLE_MULTILIB(, ..)
343
344 # Calculate toolexeclibdir
345Index: libitm/ChangeLog
346===================================================================
9f95000d
AM
347--- libitm/ChangeLog (.../tags/gcc_4_7_2_release) (wersja 192468)
348+++ libitm/ChangeLog (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
349@@ -1,3 +1,11 @@
350+2012-09-20 Jakub Jelinek <jakub@redhat.com>
351+
352+ PR other/43620
353+ * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
354+ * Makefile.in: Regenerated.
355+ * configure: Regenerated.
356+ * testsuite/Makefile.in: Regenerated.
357+
358 2012-09-20 Release Manager
359
360 * GCC 4.7.2 released.
361Index: libitm/testsuite/Makefile.in
362===================================================================
9f95000d
AM
363--- libitm/testsuite/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
364+++ libitm/testsuite/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
365@@ -35,7 +35,7 @@
366 host_triplet = @host@
367 target_triplet = @target@
368 subdir = testsuite
369-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
370+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
371 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
372 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
373 $(top_srcdir)/../config/asmcfi.m4 \
374@@ -60,10 +60,8 @@
375 CONFIG_CLEAN_FILES =
376 CONFIG_CLEAN_VPATH_FILES =
377 SOURCES =
378-DIST_SOURCES =
379 DEJATOOL = $(PACKAGE)
380 RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
381-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
382 ACLOCAL = @ACLOCAL@
383 AMTAR = @AMTAR@
384 AR = @AR@
385@@ -295,37 +293,6 @@
386 -l='$(DEJATOOL)'; for tool in $$l; do \
387 rm -f $$tool.sum $$tool.log; \
388 done
389-
390-distdir: $(DISTFILES)
391- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
392- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
393- list='$(DISTFILES)'; \
394- dist_files=`for file in $$list; do echo $$file; done | \
395- sed -e "s|^$$srcdirstrip/||;t" \
396- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
397- case $$dist_files in \
398- */*) $(MKDIR_P) `echo "$$dist_files" | \
399- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
400- sort -u` ;; \
401- esac; \
402- for file in $$dist_files; do \
403- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
404- if test -d $$d/$$file; then \
405- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
406- if test -d "$(distdir)/$$file"; then \
407- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
408- fi; \
409- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
410- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
411- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
412- fi; \
413- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
414- else \
415- test -f "$(distdir)/$$file" \
416- || cp -p $$d/$$file "$(distdir)/$$file" \
417- || exit 1; \
418- fi; \
419- done
420 check-am: all-am
421 $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
422 check: check-am
423@@ -426,8 +393,8 @@
424
425 .PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \
426 clean-libtool distclean distclean-DEJAGNU distclean-generic \
427- distclean-libtool distdir dvi dvi-am html html-am info info-am \
428- install install-am install-data install-data-am install-dvi \
429+ distclean-libtool dvi dvi-am html html-am info info-am install \
430+ install-am install-data install-data-am install-dvi \
431 install-dvi-am install-exec install-exec-am install-html \
432 install-html-am install-info install-info-am install-man \
433 install-pdf install-pdf-am install-ps install-ps-am \
434Index: libstdc++-v3/configure
435===================================================================
9f95000d
AM
436--- libstdc++-v3/configure (.../tags/gcc_4_7_2_release) (wersja 192468)
437+++ libstdc++-v3/configure (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
438@@ -3025,8 +3025,7 @@
439 target_alias=${target_alias-$host_alias}
440
441 # Handy for debugging:
442-{ $as_echo "$as_me:${as_lineno-$LINENO}: $build / $host / $target / $host_alias / $target_alias" >&5
443-$as_echo "$as_me: $build / $host / $target / $host_alias / $target_alias" >&6;}; sleep 5
444+#AC_MSG_NOTICE($build / $host / $target / $host_alias / $target_alias); sleep 5
445
446 if test "$build" != "$host"; then
447 # We are being configured with some form of cross compiler.
448@@ -11498,7 +11497,7 @@
449 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
450 lt_status=$lt_dlunknown
451 cat > conftest.$ac_ext <<_LT_EOF
452-#line 11501 "configure"
453+#line 11500 "configure"
454 #include "confdefs.h"
455
456 #if HAVE_DLFCN_H
457@@ -11604,7 +11603,7 @@
458 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
459 lt_status=$lt_dlunknown
460 cat > conftest.$ac_ext <<_LT_EOF
461-#line 11607 "configure"
462+#line 11606 "configure"
463 #include "confdefs.h"
464
465 #if HAVE_DLFCN_H
466@@ -14962,7 +14961,7 @@
467 #
468 # Fake what AC_TRY_COMPILE does. XXX Look at redoing this new-style.
469 cat > conftest.$ac_ext << EOF
470-#line 14965 "configure"
471+#line 14964 "configure"
472 struct S { ~S(); };
473 void bar();
474 void foo()
475@@ -15297,7 +15296,7 @@
476 # Fake what AC_TRY_COMPILE does.
477
478 cat > conftest.$ac_ext << EOF
479-#line 15300 "configure"
480+#line 15299 "configure"
481 int main()
482 {
483 typedef bool atomic_type;
484@@ -15332,7 +15331,7 @@
485 rm -f conftest*
486
487 cat > conftest.$ac_ext << EOF
488-#line 15335 "configure"
489+#line 15334 "configure"
490 int main()
491 {
492 typedef short atomic_type;
493@@ -15367,7 +15366,7 @@
494 rm -f conftest*
495
496 cat > conftest.$ac_ext << EOF
497-#line 15370 "configure"
498+#line 15369 "configure"
499 int main()
500 {
501 // NB: _Atomic_word not necessarily int.
502@@ -15403,7 +15402,7 @@
503 rm -f conftest*
504
505 cat > conftest.$ac_ext << EOF
506-#line 15406 "configure"
507+#line 15405 "configure"
508 int main()
509 {
510 typedef long long atomic_type;
511@@ -15482,7 +15481,7 @@
512 # unnecessary for this test.
513
514 cat > conftest.$ac_ext << EOF
515-#line 15485 "configure"
516+#line 15484 "configure"
517 int main()
518 {
519 _Decimal32 d1;
520@@ -15524,7 +15523,7 @@
521 # unnecessary for this test.
522
523 cat > conftest.$ac_ext << EOF
524-#line 15527 "configure"
525+#line 15526 "configure"
526 template<typename T1, typename T2>
527 struct same
528 { typedef T2 type; };
529@@ -15558,7 +15557,7 @@
530 rm -f conftest*
531
532 cat > conftest.$ac_ext << EOF
533-#line 15561 "configure"
534+#line 15560 "configure"
535 template<typename T1, typename T2>
536 struct same
537 { typedef T2 type; };
538@@ -66485,7 +66484,9 @@
539
540 ac_config_files="$ac_config_files scripts/extract_symvers"
541
542+ac_config_files="$ac_config_files doc/xsl/customization.xsl"
543
544+
545 # Multilibs need MULTISUBDIR defined correctly in certain makefiles so
546 # that multilib installs will end up installed in the correct place.
547 # The testsuite needs it for multilib-aware ABI baseline files.
548@@ -67696,6 +67697,7 @@
549 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
550 "scripts/testsuite_flags") CONFIG_FILES="$CONFIG_FILES scripts/testsuite_flags" ;;
551 "scripts/extract_symvers") CONFIG_FILES="$CONFIG_FILES scripts/extract_symvers" ;;
552+ "doc/xsl/customization.xsl") CONFIG_FILES="$CONFIG_FILES doc/xsl/customization.xsl" ;;
553 "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
554 "libsupc++/Makefile") CONFIG_FILES="$CONFIG_FILES libsupc++/Makefile" ;;
555 "python/Makefile") CONFIG_FILES="$CONFIG_FILES python/Makefile" ;;
556Index: libstdc++-v3/Makefile.in
557===================================================================
9f95000d
AM
558--- libstdc++-v3/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
559+++ libstdc++-v3/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
560@@ -39,7 +39,8 @@
561 $(top_srcdir)/configure $(am__configure_deps) \
562 $(srcdir)/config.h.in $(srcdir)/../mkinstalldirs \
563 $(top_srcdir)/scripts/testsuite_flags.in \
564- $(top_srcdir)/scripts/extract_symvers.in
565+ $(top_srcdir)/scripts/extract_symvers.in \
566+ $(top_srcdir)/doc/xsl/customization.xsl.in
567 subdir = .
568 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
569 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
570@@ -67,7 +68,8 @@
571 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
572 configure.lineno config.status.lineno
573 CONFIG_HEADER = config.h
574-CONFIG_CLEAN_FILES = scripts/testsuite_flags scripts/extract_symvers
575+CONFIG_CLEAN_FILES = scripts/testsuite_flags scripts/extract_symvers \
576+ doc/xsl/customization.xsl
577 CONFIG_CLEAN_VPATH_FILES =
578 depcomp =
579 am__depfiles_maybe =
580@@ -434,6 +436,8 @@
581 cd $(top_builddir) && $(SHELL) ./config.status $@
582 scripts/extract_symvers: $(top_builddir)/config.status $(top_srcdir)/scripts/extract_symvers.in
583 cd $(top_builddir) && $(SHELL) ./config.status $@
584+doc/xsl/customization.xsl: $(top_builddir)/config.status $(top_srcdir)/doc/xsl/customization.xsl.in
585+ cd $(top_builddir) && $(SHELL) ./config.status $@
586
587 mostlyclean-libtool:
588 -rm -f *.lo
589Index: libstdc++-v3/configure.ac
590===================================================================
9f95000d
AM
591--- libstdc++-v3/configure.ac (.../tags/gcc_4_7_2_release) (wersja 192468)
592+++ libstdc++-v3/configure.ac (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
593@@ -434,6 +434,7 @@
594 AC_CONFIG_FILES(Makefile)
595 AC_CONFIG_FILES([scripts/testsuite_flags],[chmod +x scripts/testsuite_flags])
596 AC_CONFIG_FILES([scripts/extract_symvers],[chmod +x scripts/extract_symvers])
597+AC_CONFIG_FILES([doc/xsl/customization.xsl])
598
599 # Multilibs need MULTISUBDIR defined correctly in certain makefiles so
600 # that multilib installs will end up installed in the correct place.
601Index: libstdc++-v3/doc/Makefile.in
602===================================================================
9f95000d
AM
603--- libstdc++-v3/doc/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
604+++ libstdc++-v3/doc/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
605@@ -517,9 +517,10 @@
606 #XSL_STYLE_DIR = /usr/share/xml/docbook/stylesheet/docbook-xsl-ns
607 #XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-ns-stylesheets
608 XSL_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl
609-XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml-1_1/chunk.xsl
610-XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml-1_1/docbook.xsl
611+XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml/chunk.xsl
612+XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/html/docbook.xsl
613 XSL_EPUB_STYLE = $(XSL_STYLE_DIR)/epub3/chunk.xsl
614+XSL_LOCAL_STYLE = ${glibcxx_builddir}/doc/xsl/customization.xsl
615 LINT_FLAGS = --debug --xinclude --noent --noblanks --noout
616 SCHEMA_FLAGS = http://www.docbook.org/xml/5.0/dtd/docbook.dtd
617 #SCHEMA_FLAGS = --nonet /usr/share/xml/docbook5/schema/dtd/5.0/docbook.dtd
618@@ -533,6 +534,7 @@
619 set_xml = ${docbook_outdir}/xml/libstdc++-set-single.xml
620
621 # HTML, all one page
622+# NB: Have to generate customization XSL for UTF-8 output.
623 manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html
624
625 # PDF, via dblatex
626@@ -917,18 +919,21 @@
627 stamp-html-docbook-data: stamp-html-docbook-images stamp-html-docbook-lwg
628 $(STAMP) stamp-html-docbook-data
629
630-# HTML, index plus chapters
631+# HTML, "chunked" into index plus chapters as separate pages
632 stamp-html-docbook: $(xml_sources) ${docbook_outdir}/html
633 @echo "Generating html files..."
634 $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${docbook_outdir}/html/ \
635- $(XSL_HTML_STYLE) ${top_srcdir}/doc/xml/spine.xml
636+ --stringparam chunker.output.encoding UTF-8 \
637+ $(XSL_HTML_STYLE) \
638+ ${top_srcdir}/doc/xml/spine.xml
639 $(STAMP) stamp-html-docbook
640
641 doc-html-docbook: stamp-html-docbook-data
642 stamp-html-single-docbook: $(xml_sources) ${docbook_outdir}/html
643 @echo "Generating html single file..."
644 $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${manual_html} \
645- $(XSL_HTML_SINGLE_STYLE) ${top_srcdir}/doc/xml/spine.xml
646+ ${XSL_LOCAL_STYLE} \
647+ ${top_srcdir}/doc/xml/spine.xml
648 $(STAMP) stamp-html-single-docbook
649
650 doc-html-single-docbook: stamp-html-single-docbook
651Index: libstdc++-v3/doc/html/bk02.html
652===================================================================
9f95000d
AM
653--- libstdc++-v3/doc/html/bk02.html (.../tags/gcc_4_7_2_release) (wersja 192468)
654+++ libstdc++-v3/doc/html/bk02.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
655@@ -1,3 +1,3 @@
656 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
657-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
658-<html xmlns="http://www.w3.org/1999/xhtml"><head><title/><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="index.html" title="The GNU C++ Library"/><link rel="up" href="index.html" title="The GNU C++ Library"/><link rel="prev" href="manual/backwards.html" title="Backwards Compatibility"/><link rel="next" href="api.html" title="The GNU C++ Library API Reference"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"/></tr><tr><td align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><th width="60%" align="center"> </th><td align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr/></div><div class="book"><div class="titlepage"><hr/></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="article"><a href="api.html">The GNU C++ Library API Reference</a></span></dt></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><td align="center"> </td><td align="right"> <a accesskey="n" href="api.html">Next</a></td></tr><tr><td align="left" valign="top">Backwards Compatibility </td><td align="center"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top"> The GNU C++ Library API Reference</td></tr></table></div></body></html>
659+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
660+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library" /><link rel="prev" href="manual/backwards.html" title="Backwards Compatibility" /><link rel="next" href="api.html" title="The GNU C++ Library API Reference" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="article"><a href="api.html">The GNU C++ Library API Reference</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Backwards Compatibility </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> The GNU C++ Library API Reference</td></tr></table></div></body></html>
661Index: libstdc++-v3/doc/html/bk03.html
662===================================================================
9f95000d
AM
663--- libstdc++-v3/doc/html/bk03.html (.../tags/gcc_4_7_2_release) (wersja 192468)
664+++ libstdc++-v3/doc/html/bk03.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
665@@ -1,3 +1,3 @@
666 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
667-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
668-<html xmlns="http://www.w3.org/1999/xhtml"><head><title/><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="index.html" title="The GNU C++ Library"/><link rel="up" href="index.html" title="The GNU C++ Library"/><link rel="prev" href="api.html" title="The GNU C++ Library API Reference"/><link rel="next" href="faq.html" title="Frequently Asked Questions"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"/></tr><tr><td align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center"> </th><td align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr></table><hr/></div><div class="book"><div class="titlepage"><hr/></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="article"><a href="faq.html">Frequently Asked Questions</a></span></dt></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="api.html">Prev</a> </td><td align="center"> </td><td align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr><tr><td align="left" valign="top">The GNU C++ Library API Reference </td><td align="center"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top"> Frequently Asked Questions</td></tr></table></div></body></html>
669+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
670+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library" /><link rel="prev" href="api.html" title="The GNU C++ Library API Reference" /><link rel="next" href="faq.html" title="Frequently Asked Questions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="article"><a href="faq.html">Frequently Asked Questions</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library API Reference </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Frequently Asked Questions</td></tr></table></div></body></html>
671Index: libstdc++-v3/doc/html/faq.html
672===================================================================
9f95000d
AM
673--- libstdc++-v3/doc/html/faq.html (.../tags/gcc_4_7_2_release) (wersja 192468)
674+++ libstdc++-v3/doc/html/faq.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
675@@ -1,10 +1,10 @@
676 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
677-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
678-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Frequently Asked Questions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="index.html" title="The GNU C++ Library"/><link rel="up" href="bk03.html" title=""/><link rel="prev" href="bk03.html" title=""/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Frequently Asked Questions</th></tr><tr><td align="left"><a accesskey="p" href="bk03.html">Prev</a> </td><th width="60%" align="center"/><td align="right"> </td></tr></table><hr/></div><div class="article" title="Frequently Asked Questions"><div class="titlepage"><div><div><h1 class="title"><a id="faq"/>Frequently Asked Questions</h1></div><div><p class="copyright">Copyright ©
679+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
680+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Frequently Asked Questions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="bk03.html" title="" /><link rel="prev" href="bk03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Frequently Asked Questions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk03.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="article" title="Frequently Asked Questions"><div class="titlepage"><div><div><h1 class="title"><a id="faq"></a>Frequently Asked Questions</h1></div><div><p class="copyright">Copyright ©
681 2008, 2010
682
683- <a class="link" href="http://www.fsf.org">FSF</a>
684- </p></div></div><hr/></div><div class="qandaset" title="Frequently Asked Questions"><a id="id373797"/><dl><dt/><dd><dl><dt>1.1. <a href="faq.html#faq.what">
685+ <a class="link" href="http://www.fsf.org" target="_top">FSF</a>
686+ </p></div></div><hr /></div><div class="qandaset" title="Frequently Asked Questions"><a id="id575606"></a><dl><dt></dt><dd><dl><dt>1.1. <a href="faq.html#faq.what">
687 What is libstdc++?
688 </a></dt><dt>1.2. <a href="faq.html#faq.why">
689 Why should I use libstdc++?
690@@ -18,7 +18,7 @@
691 What happened to the older libg++? I need that!
692 </a></dt><dt>1.7. <a href="faq.html#faq.more_questions">
693 What if I have more questions?
694- </a></dt></dl></dd><dt/><dd><dl><dt>2.1. <a href="faq.html#faq.license.what">
695+ </a></dt></dl></dd><dt></dt><dd><dl><dt>2.1. <a href="faq.html#faq.license.what">
696 What are the license terms for libstdc++?
697 </a></dt><dt>2.2. <a href="faq.html#faq.license.any_program">
698 So any program which uses libstdc++ falls under the GPL?
699@@ -26,7 +26,7 @@
700 How is that different from the GNU {Lesser,Library} GPL?
701 </a></dt><dt>2.4. <a href="faq.html#faq.license.what_restrictions">
702 I see. So, what restrictions are there on programs that use the library?
703- </a></dt></dl></dd><dt/><dd><dl><dt>3.1. <a href="faq.html#faq.how_to_install">How do I install libstdc++?
704+ </a></dt></dl></dd><dt></dt><dd><dl><dt>3.1. <a href="faq.html#faq.how_to_install">How do I install libstdc++?
705 </a></dt><dt>3.2. <a href="faq.html#faq.how_to_get_sources">How does one get current libstdc++ sources?
706 </a></dt><dt>3.3. <a href="faq.html#faq.how_to_test">How do I know if it works?
707 </a></dt><dt>3.4. <a href="faq.html#faq.how_to_set_paths">How do I insure that the dynamically linked library will be found?
708@@ -34,7 +34,7 @@
709 What's libsupc++?
710 </a></dt><dt>3.6. <a href="faq.html#faq.size">
711 This library is HUGE!
712- </a></dt></dl></dd><dt/><dd><dl><dt>4.1. <a href="faq.html#faq.other_compilers">
713+ </a></dt></dl></dd><dt></dt><dd><dl><dt>4.1. <a href="faq.html#faq.other_compilers">
714 Can libstdc++ be used with non-GNU compilers?
715 </a></dt><dt>4.2. <a href="faq.html#faq.solaris_long_long">
716 No 'long long' type on Solaris?
717@@ -50,13 +50,13 @@
718 Recent GNU/Linux glibc required?
719 </a></dt><dt>4.8. <a href="faq.html#faq.freebsd_wchar">
720 Can't use wchar_t/wstring on FreeBSD
721- </a></dt></dl></dd><dt/><dd><dl><dt>5.1. <a href="faq.html#faq.what_works">
722+ </a></dt></dl></dd><dt></dt><dd><dl><dt>5.1. <a href="faq.html#faq.what_works">
723 What works already?
724 </a></dt><dt>5.2. <a href="faq.html#faq.standard_bugs">
725 Bugs in the ISO C++ language or library specification
726 </a></dt><dt>5.3. <a href="faq.html#faq.compiler_bugs">
727 Bugs in the compiler (gcc/g++) and not libstdc++
728- </a></dt></dl></dd><dt/><dd><dl><dt>6.1. <a href="faq.html#faq.stream_reopening_fails">
729+ </a></dt></dl></dd><dt></dt><dd><dl><dt>6.1. <a href="faq.html#faq.stream_reopening_fails">
730 Reopening a stream fails
731 </a></dt><dt>6.2. <a href="faq.html#faq.wefcxx_verbose">
732 -Weffc++ complains too much
733@@ -76,7 +76,7 @@
734 list::size() is O(n)!
735 </a></dt><dt>6.9. <a href="faq.html#faq.easy_to_fix">
736 Aw, that's easy to fix!
737- </a></dt></dl></dd><dt/><dd><dl><dt>7.1. <a href="faq.html#faq.iterator_as_pod">
738+ </a></dt></dl></dd><dt></dt><dd><dl><dt>7.1. <a href="faq.html#faq.iterator_as_pod">
739 string::iterator is not char*; vector&lt;T&gt;::iterator is not T*
740 </a></dt><dt>7.2. <a href="faq.html#faq.what_is_next">
741 What's next after libstdc++?
742@@ -91,7 +91,7 @@
743 What's an ABI and why is it so messy?
744 </a></dt><dt>7.8. <a href="faq.html#faq.size_equals_capacity">
745 How do I make std::vector&lt;T&gt;::capacity() == std::vector&lt;T&gt;::size?
746- </a></dt></dl></dd></dl><table border="0" width="100%" summary="Q and A Set"><col align="left" width="1%"/><col/><tbody><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>1.1. <a href="faq.html#faq.what">
747+ </a></dt></dl></dd></dl><table border="0" width="100%" summary="Q and A Set"><col align="left" width="1%" /><col /><tbody><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>1.1. <a href="faq.html#faq.what">
748 What is libstdc++?
749 </a></dt><dt>1.2. <a href="faq.html#faq.why">
750 Why should I use libstdc++?
751@@ -105,19 +105,19 @@
752 What happened to the older libg++? I need that!
753 </a></dt><dt>1.7. <a href="faq.html#faq.more_questions">
754 What if I have more questions?
755- </a></dt></dl></td></tr><tr class="question" title="1.1."><td align="left" valign="top"><a id="faq.what"/><a id="faq.what.q"/><p><strong>1.1.</strong></p></td><td align="left" valign="top"><p>
756+ </a></dt></dl></td></tr><tr class="question" title="1.1."><td align="left" valign="top"><a id="faq.what"></a><a id="faq.what.q"></a><p><strong>1.1.</strong></p></td><td align="left" valign="top"><p>
757 What is libstdc++?
758- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="faq.what.a"/></td><td align="left" valign="top"><p>
759+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="faq.what.a"></a></td><td align="left" valign="top"><p>
760 The GNU Standard C++ Library v3 is an ongoing project to
761 implement the ISO 14882 Standard C++ library as described in
762 chapters 17 through 27 and annex D. For those who want to see
763 exactly how far the project has come, or just want the latest
764 bleeding-edge code, the up-to-date source is available over
765 anonymous SVN, and can even be browsed over
766- the <a class="link" href="http://gcc.gnu.org/svn.html">web</a>.
767- </p></td></tr><tr class="question" title="1.2."><td align="left" valign="top"><a id="faq.why"/><a id="q-why"/><p><strong>1.2.</strong></p></td><td align="left" valign="top"><p>
768+ the <a class="link" href="http://gcc.gnu.org/svn.html" target="_top">web</a>.
769+ </p></td></tr><tr class="question" title="1.2."><td align="left" valign="top"><a id="faq.why"></a><a id="q-why"></a><p><strong>1.2.</strong></p></td><td align="left" valign="top"><p>
770 Why should I use libstdc++?
771- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-why"/></td><td align="left" valign="top"><p>
772+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-why"></a></td><td align="left" valign="top"><p>
773 The completion of the ISO C++ standardization gave the C++
774 community a powerful set of reuseable tools in the form of the C++
775 Standard Library. However, all existing C++ implementations are
776@@ -129,9 +129,9 @@
777 (<span class="command"><strong>gcc</strong></span>, <span class="command"><strong>g++</strong></span>, etc) is widely
778 considered to be one of the leading compilers in the world. Its
779 development is overseen by the
780- <a class="link" href="http://gcc.gnu.org/">GCC team</a>. All of
781+ <a class="link" href="http://gcc.gnu.org/" target="_top">GCC team</a>. All of
782 the rapid development and near-legendary
783- <a class="link" href="http://gcc.gnu.org/buildstat.html">portability</a>
784+ <a class="link" href="http://gcc.gnu.org/buildstat.html" target="_top">portability</a>
785 that are the hallmarks of an open-source project are being
786 applied to libstdc++.
787 </p><p>
788@@ -141,9 +141,9 @@
789 <code class="classname">vector&lt;&gt;</code>, iostreams, and algorithms.)
790 Programmers will no longer need to <span class="quote">“<span class="quote">roll their own</span>”</span>
791 nor be worried about platform-specific incompatibilities.
792- </p></td></tr><tr class="question" title="1.3."><td align="left" valign="top"><a id="faq.who"/><a id="q-who"/><p><strong>1.3.</strong></p></td><td align="left" valign="top"><p>
793+ </p></td></tr><tr class="question" title="1.3."><td align="left" valign="top"><a id="faq.who"></a><a id="q-who"></a><p><strong>1.3.</strong></p></td><td align="left" valign="top"><p>
794 Who's in charge of it?
795- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-who"/></td><td align="left" valign="top"><p>
796+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-who"></a></td><td align="left" valign="top"><p>
797 The libstdc++ project is contributed to by several developers
798 all over the world, in the same way as GCC or the Linux kernel.
799 Benjamin Kosnik, Gabriel Dos Reis, Phil Edwards, Ulrich Drepper,
800@@ -153,17 +153,17 @@
801 Development and discussion is held on the libstdc++ mailing
802 list. Subscribing to the list, or searching the list
803 archives, is open to everyone. You can read instructions for
804- doing so on the <a class="link" href="http://gcc.gnu.org/libstdc++/">homepage</a>.
805+ doing so on the <a class="link" href="http://gcc.gnu.org/libstdc++/" target="_top">homepage</a>.
806 If you have questions, ideas, code, or are just curious, sign up!
807- </p></td></tr><tr class="question" title="1.4."><td align="left" valign="top"><a id="faq.when"/><a id="q-when"/><p><strong>1.4.</strong></p></td><td align="left" valign="top"><p>
808+ </p></td></tr><tr class="question" title="1.4."><td align="left" valign="top"><a id="faq.when"></a><a id="q-when"></a><p><strong>1.4.</strong></p></td><td align="left" valign="top"><p>
809 When is libstdc++ going to be finished?
810- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-when"/></td><td align="left" valign="top"><p>
811+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-when"></a></td><td align="left" valign="top"><p>
812 Nathan Myers gave the best of all possible answers, responding to
813 a Usenet article asking this question: <span class="emphasis"><em>Sooner, if you
814 help.</em></span>
815- </p></td></tr><tr class="question" title="1.5."><td align="left" valign="top"><a id="faq.how"/><a id="q-how"/><p><strong>1.5.</strong></p></td><td align="left" valign="top"><p>
816+ </p></td></tr><tr class="question" title="1.5."><td align="left" valign="top"><a id="faq.how"></a><a id="q-how"></a><p><strong>1.5.</strong></p></td><td align="left" valign="top"><p>
817 How do I contribute to the effort?
818- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how"/></td><td align="left" valign="top"><p>
819+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how"></a></td><td align="left" valign="top"><p>
820 Here is <a class="link" href="manual/appendix_contributing.html" title="Appendix A.  Contributing">a page devoted to
821 this topic</a>. Subscribing to the mailing list (see above, or
822 the homepage) is a very good idea if you have something to
823@@ -172,17 +172,17 @@
824 anybody who is willing to help write documentation, for example,
825 or has found a bug in code that we all thought was working and is
826 willing to provide details, is more than welcome!
827- </p></td></tr><tr class="question" title="1.6."><td align="left" valign="top"><a id="faq.whereis_old"/><a id="q-whereis_old"/><p><strong>1.6.</strong></p></td><td align="left" valign="top"><p>
828+ </p></td></tr><tr class="question" title="1.6."><td align="left" valign="top"><a id="faq.whereis_old"></a><a id="q-whereis_old"></a><p><strong>1.6.</strong></p></td><td align="left" valign="top"><p>
829 What happened to the older libg++? I need that!
830- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-whereis_old"/></td><td align="left" valign="top"><p>
831+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-whereis_old"></a></td><td align="left" valign="top"><p>
832 The most recent libg++ README states that libg++ is no longer
833 being actively maintained. It should not be used for new
834 projects, and is only being kicked along to support older code.
835 </p><p>
836 More information in the <a class="link" href="manual/backwards.html" title="Backwards Compatibility">backwards compatibility documentation</a>
837- </p></td></tr><tr class="question" title="1.7."><td align="left" valign="top"><a id="faq.more_questions"/><a id="q-more_questions"/><p><strong>1.7.</strong></p></td><td align="left" valign="top"><p>
838+ </p></td></tr><tr class="question" title="1.7."><td align="left" valign="top"><a id="faq.more_questions"></a><a id="q-more_questions"></a><p><strong>1.7.</strong></p></td><td align="left" valign="top"><p>
839 What if I have more questions?
840- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-more_questions"/></td><td align="left" valign="top"><p>
841+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-more_questions"></a></td><td align="left" valign="top"><p>
842 If you have read the README file, and your question remains
843 unanswered, then just ask the mailing list. At present, you do not
844 need to be subscribed to the list to send a message to it. More
845@@ -201,19 +201,19 @@
846 How is that different from the GNU {Lesser,Library} GPL?
847 </a></dt><dt>2.4. <a href="faq.html#faq.license.what_restrictions">
848 I see. So, what restrictions are there on programs that use the library?
849- </a></dt></dl></td></tr><tr class="question" title="2.1."><td align="left" valign="top"><a id="faq.license.what"/><a id="q-license.what"/><p><strong>2.1.</strong></p></td><td align="left" valign="top"><p>
850+ </a></dt></dl></td></tr><tr class="question" title="2.1."><td align="left" valign="top"><a id="faq.license.what"></a><a id="q-license.what"></a><p><strong>2.1.</strong></p></td><td align="left" valign="top"><p>
851 What are the license terms for libstdc++?
852- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.what"/></td><td align="left" valign="top"><p>
853+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.what"></a></td><td align="left" valign="top"><p>
854 See <a class="link" href="manual/license.html" title="License">our license description</a>
855 for these and related questions.
856- </p></td></tr><tr class="question" title="2.2."><td align="left" valign="top"><a id="faq.license.any_program"/><a id="q-license.any_program"/><p><strong>2.2.</strong></p></td><td align="left" valign="top"><p>
857+ </p></td></tr><tr class="question" title="2.2."><td align="left" valign="top"><a id="faq.license.any_program"></a><a id="q-license.any_program"></a><p><strong>2.2.</strong></p></td><td align="left" valign="top"><p>
858 So any program which uses libstdc++ falls under the GPL?
859- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.any_program"/></td><td align="left" valign="top"><p>
860+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.any_program"></a></td><td align="left" valign="top"><p>
861 No. The special exception permits use of the library in
862 proprietary applications.
863- </p></td></tr><tr class="question" title="2.3."><td align="left" valign="top"><a id="faq.license.lgpl"/><a id="q-license.lgpl"/><p><strong>2.3.</strong></p></td><td align="left" valign="top"><p>
864+ </p></td></tr><tr class="question" title="2.3."><td align="left" valign="top"><a id="faq.license.lgpl"></a><a id="q-license.lgpl"></a><p><strong>2.3.</strong></p></td><td align="left" valign="top"><p>
865 How is that different from the GNU {Lesser,Library} GPL?
866- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.lgpl"/></td><td align="left" valign="top"><p>
867+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.lgpl"></a></td><td align="left" valign="top"><p>
868 The LGPL requires that users be able to replace the LGPL code with a
869 modified version; this is trivial if the library in question is a C
870 shared library. But there's no way to make that work with C++, where
871@@ -221,9 +221,9 @@
872 are expanded inside the code that uses the library. So to allow people
873 to replace the library code, someone using the library would have to
874 distribute their own source, rendering the LGPL equivalent to the GPL.
875- </p></td></tr><tr class="question" title="2.4."><td align="left" valign="top"><a id="faq.license.what_restrictions"/><a id="q-license.what_restrictions"/><p><strong>2.4.</strong></p></td><td align="left" valign="top"><p>
876+ </p></td></tr><tr class="question" title="2.4."><td align="left" valign="top"><a id="faq.license.what_restrictions"></a><a id="q-license.what_restrictions"></a><p><strong>2.4.</strong></p></td><td align="left" valign="top"><p>
877 I see. So, what restrictions are there on programs that use the library?
878- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.what_restrictions"/></td><td align="left" valign="top"><p>
879+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.what_restrictions"></a></td><td align="left" valign="top"><p>
880 None. We encourage such programs to be released as open source,
881 but we won't punish you or sue you if you choose otherwise.
882 </p></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>3.1. <a href="faq.html#faq.how_to_install">How do I install libstdc++?
883@@ -234,8 +234,8 @@
884 What's libsupc++?
885 </a></dt><dt>3.6. <a href="faq.html#faq.size">
886 This library is HUGE!
887- </a></dt></dl></td></tr><tr class="question" title="3.1."><td align="left" valign="top"><a id="faq.how_to_install"/><a id="q-how_to_install"/><p><strong>3.1.</strong></p></td><td align="left" valign="top"><p>How do I install libstdc++?
888- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_install"/></td><td align="left" valign="top"><p>
889+ </a></dt></dl></td></tr><tr class="question" title="3.1."><td align="left" valign="top"><a id="faq.how_to_install"></a><a id="q-how_to_install"></a><p><strong>3.1.</strong></p></td><td align="left" valign="top"><p>How do I install libstdc++?
890+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_install"></a></td><td align="left" valign="top"><p>
891 Often libstdc++ comes pre-installed as an integral part of many
892 existing GNU/Linux and Unix systems, as well as many embedded
893 development tools. It may be necessary to install extra
894@@ -247,11 +247,11 @@
895 documentation</a> for detailed
896 instructions. You may wish to browse those files ahead
897 of time to get a feel for what's required.
898- </p></td></tr><tr class="question" title="3.2."><td align="left" valign="top"><a id="faq.how_to_get_sources"/><a id="q-how_to_get_sources"/><p><strong>3.2.</strong></p></td><td align="left" valign="top"><p>How does one get current libstdc++ sources?
899- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_get_sources"/></td><td align="left" valign="top"><p>
900+ </p></td></tr><tr class="question" title="3.2."><td align="left" valign="top"><a id="faq.how_to_get_sources"></a><a id="q-how_to_get_sources"></a><p><strong>3.2.</strong></p></td><td align="left" valign="top"><p>How does one get current libstdc++ sources?
901+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_get_sources"></a></td><td align="left" valign="top"><p>
902 Libstdc++ sources for all official releases can be obtained as
903 part of the GCC sources, available from various sites and
904- mirrors. A full <a class="link" href="http://gcc.gnu.org/mirrors.html">list of
905+ mirrors. A full <a class="link" href="http://gcc.gnu.org/mirrors.html" target="_top">list of
906 download sites</a> is provided on the main GCC site.
907 </p><p>
908 Current libstdc++ sources can always be checked out of the main
909@@ -262,7 +262,7 @@
910 <span class="application">Subversion</span>, or <acronym class="acronym">SVN</acronym>, is
911 one of several revision control packages. It was selected for GNU
912 projects because it's free (speech), free (beer), and very high
913- quality. The <a class="link" href="http://subversion.tigris.org"> Subversion
914+ quality. The <a class="link" href="http://subversion.tigris.org" target="_top"> Subversion
915 home page</a> has a better description.
916 </p><p>
917 The <span class="quote">“<span class="quote">anonymous client checkout</span>”</span> feature of SVN is
918@@ -270,21 +270,21 @@
919 the latest libstdc++ sources.
920 </p><p>
921 For more information
922- see <a class="link" href="http://gcc.gnu.org/svn.html"><acronym class="acronym">SVN</acronym>
923+ see <a class="link" href="http://gcc.gnu.org/svn.html" target="_top"><acronym class="acronym">SVN</acronym>
924 details</a>.
925- </p></td></tr><tr class="question" title="3.3."><td align="left" valign="top"><a id="faq.how_to_test"/><a id="q-how_to_test"/><p><strong>3.3.</strong></p></td><td align="left" valign="top"><p>How do I know if it works?
926- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_test"/></td><td align="left" valign="top"><p>
927+ </p></td></tr><tr class="question" title="3.3."><td align="left" valign="top"><a id="faq.how_to_test"></a><a id="q-how_to_test"></a><p><strong>3.3.</strong></p></td><td align="left" valign="top"><p>How do I know if it works?
928+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_test"></a></td><td align="left" valign="top"><p>
929 Libstdc++ comes with its own validation testsuite, which includes
930 conformance testing, regression testing, ABI testing, and
931 performance testing. Please consult the
932- <a class="link" href="http://gcc.gnu.org/install/test.html">testing
933+ <a class="link" href="http://gcc.gnu.org/install/test.html" target="_top">testing
934 documentation</a> for more details.
935 </p><p>
936 If you find bugs in the testsuite programs themselves, or if you
937 think of a new test program that should be added to the suite,
938 <span class="emphasis"><em>please</em></span> write up your idea and send it to the list!
939- </p></td></tr><tr class="question" title="3.4."><td align="left" valign="top"><a id="faq.how_to_set_paths"/><a id="q-how_to_set_paths"/><p><strong>3.4.</strong></p></td><td align="left" valign="top"><p>How do I insure that the dynamically linked library will be found?
940- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_set_paths"/></td><td align="left" valign="top"><p>
941+ </p></td></tr><tr class="question" title="3.4."><td align="left" valign="top"><a id="faq.how_to_set_paths"></a><a id="q-how_to_set_paths"></a><p><strong>3.4.</strong></p></td><td align="left" valign="top"><p>How do I insure that the dynamically linked library will be found?
942+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_set_paths"></a></td><td align="left" valign="top"><p>
943 Depending on your platform and library version, the error message might
944 be similar to one of the following:
945 </p><pre class="screen">
946@@ -318,9 +318,9 @@
947 </p><p>
948 Using LD_LIBRARY_PATH is not always the best solution, <a class="link" href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic" title="Finding Dynamic or Shared Libraries">Finding Dynamic or Shared
949 Libraries</a> in the manual gives some alternatives.
950- </p></td></tr><tr class="question" title="3.5."><td align="left" valign="top"><a id="faq.what_is_libsupcxx"/><a id="q-what_is_libsupcxx"/><p><strong>3.5.</strong></p></td><td align="left" valign="top"><p>
951+ </p></td></tr><tr class="question" title="3.5."><td align="left" valign="top"><a id="faq.what_is_libsupcxx"></a><a id="q-what_is_libsupcxx"></a><p><strong>3.5.</strong></p></td><td align="left" valign="top"><p>
952 What's libsupc++?
953- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_libsupcxx"/></td><td align="left" valign="top"><p>
954+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_libsupcxx"></a></td><td align="left" valign="top"><p>
955 If the only functions from <code class="filename">libstdc++.a</code>
956 which you need are language support functions (those listed in
957 <a class="link" href="manual/support.html" title="Chapter 4.  Support">clause 18</a> of the
958@@ -335,9 +335,9 @@
959 using anything from the rest of the library, such as IOStreams
960 or vectors, then you'll still need pieces from
961 <code class="filename">libstdc++.a</code>.
962- </p></td></tr><tr class="question" title="3.6."><td align="left" valign="top"><a id="faq.size"/><a id="q-size"/><p><strong>3.6.</strong></p></td><td align="left" valign="top"><p>
963+ </p></td></tr><tr class="question" title="3.6."><td align="left" valign="top"><a id="faq.size"></a><a id="q-size"></a><p><strong>3.6.</strong></p></td><td align="left" valign="top"><p>
964 This library is HUGE!
965- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-size"/></td><td align="left" valign="top"><p>
966+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-size"></a></td><td align="left" valign="top"><p>
967 Usually the size of libraries on disk isn't noticeable. When a
968 link editor (or simply <span class="quote">“<span class="quote">linker</span>”</span>) pulls things from a
969 static archive library, only the necessary object files are copied
970@@ -382,9 +382,9 @@
971 Recent GNU/Linux glibc required?
972 </a></dt><dt>4.8. <a href="faq.html#faq.freebsd_wchar">
973 Can't use wchar_t/wstring on FreeBSD
974- </a></dt></dl></td></tr><tr class="question" title="4.1."><td align="left" valign="top"><a id="faq.other_compilers"/><a id="q-other_compilers"/><p><strong>4.1.</strong></p></td><td align="left" valign="top"><p>
975+ </a></dt></dl></td></tr><tr class="question" title="4.1."><td align="left" valign="top"><a id="faq.other_compilers"></a><a id="q-other_compilers"></a><p><strong>4.1.</strong></p></td><td align="left" valign="top"><p>
976 Can libstdc++ be used with non-GNU compilers?
977- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-other_compilers"/></td><td align="left" valign="top"><p>
978+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-other_compilers"></a></td><td align="left" valign="top"><p>
979 Perhaps.
980 </p><p>
981 Since the goal of ISO Standardization is for all C++
982@@ -402,9 +402,9 @@
983 been known to work with versions of the EDG C++ compiler, and
984 vendor-specific proprietary C++ compilers such as the Intel ICC
985 C++ compiler.
986- </p></td></tr><tr class="question" title="4.2."><td align="left" valign="top"><a id="faq.solaris_long_long"/><a id="q-solaris_long_long"/><p><strong>4.2.</strong></p></td><td align="left" valign="top"><p>
987+ </p></td></tr><tr class="question" title="4.2."><td align="left" valign="top"><a id="faq.solaris_long_long"></a><a id="q-solaris_long_long"></a><p><strong>4.2.</strong></p></td><td align="left" valign="top"><p>
988 No 'long long' type on Solaris?
989- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-solaris_long_long"/></td><td align="left" valign="top"><p>
990+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-solaris_long_long"></a></td><td align="left" valign="top"><p>
991 By default we try to support the C99 <span class="type">long long</span> type.
992 This requires that certain functions from your C library be present.
993 </p><p>
994@@ -414,9 +414,9 @@
995 commonly reported platform affected was Solaris.
996 </p><p>
997 This has been fixed for libstdc++ releases greater than 3.0.3.
998- </p></td></tr><tr class="question" title="4.3."><td align="left" valign="top"><a id="faq.predefined"/><a id="q-predefined"/><p><strong>4.3.</strong></p></td><td align="left" valign="top"><p>
999+ </p></td></tr><tr class="question" title="4.3."><td align="left" valign="top"><a id="faq.predefined"></a><a id="q-predefined"></a><p><strong>4.3.</strong></p></td><td align="left" valign="top"><p>
1000 <code class="constant">_XOPEN_SOURCE</code> and <code class="constant">_GNU_SOURCE</code> are always defined?
1001- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-predefined"/></td><td align="left" valign="top"><p>On Solaris, g++ (but not gcc) always defines the preprocessor
1002+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-predefined"></a></td><td align="left" valign="top"><p>On Solaris, g++ (but not gcc) always defines the preprocessor
1003 macro <code class="constant">_XOPEN_SOURCE</code>. On GNU/Linux, the same happens
1004 with <code class="constant">_GNU_SOURCE</code>. (This is not an exhaustive list;
1005 other macros and other platforms are also affected.)
1006@@ -440,18 +440,18 @@
1007 <span class="command"><strong>g++ -E -dM - &lt; /dev/null"</strong></span> to display
1008 a list of predefined macros for any particular installation.
1009 </p><p>This has been discussed on the mailing lists
1010- <a class="link" href="http://gcc.gnu.org/cgi-bin/htsearch?method=and&amp;format=builtin-long&amp;sort=score&amp;words=_XOPEN_SOURCE+Solaris">quite a bit</a>.
1011+ <a class="link" href="http://gcc.gnu.org/cgi-bin/htsearch?method=and&amp;format=builtin-long&amp;sort=score&amp;words=_XOPEN_SOURCE+Solaris" target="_top">quite a bit</a>.
1012 </p><p>This method is something of a wart. We'd like to find a cleaner
1013 solution, but nobody yet has contributed the time.
1014- </p></td></tr><tr class="question" title="4.4."><td align="left" valign="top"><a id="faq.darwin_ctype"/><a id="q-darwin_ctype"/><p><strong>4.4.</strong></p></td><td align="left" valign="top"><p>
1015+ </p></td></tr><tr class="question" title="4.4."><td align="left" valign="top"><a id="faq.darwin_ctype"></a><a id="q-darwin_ctype"></a><p><strong>4.4.</strong></p></td><td align="left" valign="top"><p>
1016 Mac OS X <code class="filename">ctype.h</code> is broken! How can I fix it?
1017- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-darwin_ctype"/></td><td align="left" valign="top"><p>This is a long-standing bug in the OS X support. Fortunately,
1018+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-darwin_ctype"></a></td><td align="left" valign="top"><p>This is a long-standing bug in the OS X support. Fortunately,
1019 the patch is quite simple, and well-known.
1020- <a class="link" href="http://gcc.gnu.org/ml/gcc/2002-03/msg00817.html"> Here's a
1021+ <a class="link" href="http://gcc.gnu.org/ml/gcc/2002-03/msg00817.html" target="_top"> Here's a
1022 link to the solution</a>.
1023- </p></td></tr><tr class="question" title="4.5."><td align="left" valign="top"><a id="faq.threads_i386"/><a id="q-threads_i386"/><p><strong>4.5.</strong></p></td><td align="left" valign="top"><p>
1024+ </p></td></tr><tr class="question" title="4.5."><td align="left" valign="top"><a id="faq.threads_i386"></a><a id="q-threads_i386"></a><p><strong>4.5.</strong></p></td><td align="left" valign="top"><p>
1025 Threading is broken on i386?
1026- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-threads_i386"/></td><td align="left" valign="top"><p>
1027+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-threads_i386"></a></td><td align="left" valign="top"><p>
1028 </p><p>Support for atomic integer operations is/was broken on i386
1029 platforms. The assembly code accidentally used opcodes that are
1030 only available on the i486 and later. So if you configured GCC
1031@@ -459,9 +459,9 @@
1032 on an i686, then you would encounter no problems. Only when
1033 actually running the code on a i386 will the problem appear.
1034 </p><p>This is fixed in 3.2.2.
1035- </p></td></tr><tr class="question" title="4.6."><td align="left" valign="top"><a id="faq.atomic_mips"/><a id="q-atomic_mips"/><p><strong>4.6.</strong></p></td><td align="left" valign="top"><p>
1036+ </p></td></tr><tr class="question" title="4.6."><td align="left" valign="top"><a id="faq.atomic_mips"></a><a id="q-atomic_mips"></a><p><strong>4.6.</strong></p></td><td align="left" valign="top"><p>
1037 MIPS atomic operations
1038- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-atomic_mips"/></td><td align="left" valign="top"><p>
1039+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-atomic_mips"></a></td><td align="left" valign="top"><p>
1040 The atomic locking routines for MIPS targets requires MIPS II
1041 and later. A patch went in just after the 3.3 release to
1042 make mips* use the generic implementation instead. You can also
1043@@ -469,9 +469,9 @@
1044 </p><p>
1045 The mips*-*-linux* port continues to use the MIPS II routines, and more
1046 work in this area is expected.
1047- </p></td></tr><tr class="question" title="4.7."><td align="left" valign="top"><a id="faq.linux_glibc"/><a id="q-linux_glibc"/><p><strong>4.7.</strong></p></td><td align="left" valign="top"><p>
1048+ </p></td></tr><tr class="question" title="4.7."><td align="left" valign="top"><a id="faq.linux_glibc"></a><a id="q-linux_glibc"></a><p><strong>4.7.</strong></p></td><td align="left" valign="top"><p>
1049 Recent GNU/Linux glibc required?
1050- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-linux_glibc"/></td><td align="left" valign="top"><p>When running on GNU/Linux, libstdc++ 3.2.1 (shared library version
1051+ </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
1052 5.0.1) and later uses localization and formatting code from the system
1053 C library (glibc) version 2.2.5 which contains necessary bugfixes.
1054 Most GNU/Linux distros make more recent versions available now.
1055@@ -480,9 +480,9 @@
1056 </p><p>The guideline is simple: the more recent the C++ library, the
1057 more recent the C library. (This is also documented in the main
1058 GCC installation instructions.)
1059- </p></td></tr><tr class="question" title="4.8."><td align="left" valign="top"><a id="faq.freebsd_wchar"/><a id="q-freebsd_wchar"/><p><strong>4.8.</strong></p></td><td align="left" valign="top"><p>
1060+ </p></td></tr><tr class="question" title="4.8."><td align="left" valign="top"><a id="faq.freebsd_wchar"></a><a id="q-freebsd_wchar"></a><p><strong>4.8.</strong></p></td><td align="left" valign="top"><p>
1061 Can't use wchar_t/wstring on FreeBSD
1062- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-freebsd_wchar"/></td><td align="left" valign="top"><p>
1063+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-freebsd_wchar"></a></td><td align="left" valign="top"><p>
1064 Older versions of FreeBSD's C library do not have sufficient
1065 support for wide character functions, and as a result the
1066 libstdc++ configury decides that wchar_t support should be
1067@@ -499,9 +499,9 @@
1068 Bugs in the ISO C++ language or library specification
1069 </a></dt><dt>5.3. <a href="faq.html#faq.compiler_bugs">
1070 Bugs in the compiler (gcc/g++) and not libstdc++
1071- </a></dt></dl></td></tr><tr class="question" title="5.1."><td align="left" valign="top"><a id="faq.what_works"/><a id="q-what_works"/><p><strong>5.1.</strong></p></td><td align="left" valign="top"><p>
1072+ </a></dt></dl></td></tr><tr class="question" title="5.1."><td align="left" valign="top"><a id="faq.what_works"></a><a id="q-what_works"></a><p><strong>5.1.</strong></p></td><td align="left" valign="top"><p>
1073 What works already?
1074- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_works"/></td><td align="left" valign="top"><p>
1075+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_works"></a></td><td align="left" valign="top"><p>
1076 Short answer: Pretty much everything <span class="emphasis"><em>works</em></span>
1077 except for some corner cases. Support for localization
1078 in <code class="classname">locale</code> may be incomplete on non-GNU
1079@@ -513,24 +513,24 @@
1080 <a class="link" href="manual/status.html#status.iso.1998" title="C++ 1998/2003">C++98</a>,
1081 <a class="link" href="manual/status.html#status.iso.tr1" title="C++ TR1">TR1</a>, and
1082 <a class="link" href="manual/status.html#status.iso.2011" title="C++ 2011">C++11</a>.
1083- </p></td></tr><tr class="question" title="5.2."><td align="left" valign="top"><a id="faq.standard_bugs"/><a id="q-standard_bugs"/><p><strong>5.2.</strong></p></td><td align="left" valign="top"><p>
1084+ </p></td></tr><tr class="question" title="5.2."><td align="left" valign="top"><a id="faq.standard_bugs"></a><a id="q-standard_bugs"></a><p><strong>5.2.</strong></p></td><td align="left" valign="top"><p>
1085 Bugs in the ISO C++ language or library specification
1086- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-standard_bugs"/></td><td align="left" valign="top"><p>
1087+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-standard_bugs"></a></td><td align="left" valign="top"><p>
1088 Unfortunately, there are some.
1089 </p><p>
1090 For those people who are not part of the ISO Library Group
1091 (i.e., nearly all of us needing to read this page in the first
1092 place), a public list of the library defects is occasionally
1093- published on <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/">the WG21
1094+ published on <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">the WG21
1095 website</a>.
1096 Some of these issues have resulted in code changes in libstdc++.
1097 </p><p>
1098 If you think you've discovered a new bug that is not listed,
1099 please post a message describing your problem to the author of
1100 the library issues list or the Usenet group comp.lang.c++.moderated.
1101- </p></td></tr><tr class="question" title="5.3."><td align="left" valign="top"><a id="faq.compiler_bugs"/><a id="q-compiler_bugs"/><p><strong>5.3.</strong></p></td><td align="left" valign="top"><p>
1102+ </p></td></tr><tr class="question" title="5.3."><td align="left" valign="top"><a id="faq.compiler_bugs"></a><a id="q-compiler_bugs"></a><p><strong>5.3.</strong></p></td><td align="left" valign="top"><p>
1103 Bugs in the compiler (gcc/g++) and not libstdc++
1104- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-compiler_bugs"/></td><td align="left" valign="top"><p>
1105+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-compiler_bugs"></a></td><td align="left" valign="top"><p>
1106 On occasion, the compiler is wrong. Please be advised that this
1107 happens much less often than one would think, and avoid jumping to
1108 conclusions.
1109@@ -541,7 +541,7 @@
1110 these lists with terms describing your issue.
1111 </p><p>
1112 Before reporting a bug, please examine the
1113- <a class="link" href="http://gcc.gnu.org/bugs/">bugs database</a> with the
1114+ <a class="link" href="http://gcc.gnu.org/bugs/" target="_top">bugs database</a> with the
1115 category set to <span class="quote">“<span class="quote">g++</span>”</span>.
1116 </p></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>6.1. <a href="faq.html#faq.stream_reopening_fails">
1117 Reopening a stream fails
1118@@ -563,19 +563,19 @@
1119 list::size() is O(n)!
1120 </a></dt><dt>6.9. <a href="faq.html#faq.easy_to_fix">
1121 Aw, that's easy to fix!
1122- </a></dt></dl></td></tr><tr class="question" title="6.1."><td align="left" valign="top"><a id="faq.stream_reopening_fails"/><a id="q-stream_reopening_fails"/><p><strong>6.1.</strong></p></td><td align="left" valign="top"><p>
1123+ </a></dt></dl></td></tr><tr class="question" title="6.1."><td align="left" valign="top"><a id="faq.stream_reopening_fails"></a><a id="q-stream_reopening_fails"></a><p><strong>6.1.</strong></p></td><td align="left" valign="top"><p>
1124 Reopening a stream fails
1125- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-stream_reopening_fails"/></td><td align="left" valign="top"><p>
1126+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-stream_reopening_fails"></a></td><td align="left" valign="top"><p>
1127 One of the most-reported non-bug reports. Executing a sequence like:
1128- </p><div class="literallayout"><p><br/>
1129-    #include &lt;fstream&gt;<br/>
1130-    ...<br/>
1131-    std::fstream  fs(<span class="quote">“<span class="quote">a_file</span>”</span>);<br/>
1132-    // .<br/>
1133-    // . do things with fs...<br/>
1134-    // .<br/>
1135-    fs.close();<br/>
1136-    fs.open(<span class="quote">“<span class="quote">a_new_file</span>”</span>);<br/>
1137+ </p><div class="literallayout"><p><br />
1138+    #include &lt;fstream&gt;<br />
1139+    ...<br />
1140+    std::fstream  fs(<span class="quote">“<span class="quote">a_file</span>”</span>);<br />
1141+    // .<br />
1142+    // . do things with fs...<br />
1143+    // .<br />
1144+    fs.close();<br />
1145+    fs.open(<span class="quote">“<span class="quote">a_new_file</span>”</span>);<br />
1146     </p></div><p>
1147 All operations on the re-opened <code class="varname">fs</code> will fail, or at
1148 least act very strangely. Yes, they often will, especially if
1149@@ -590,9 +590,9 @@
1150 <span class="emphasis"><em>Update:</em></span> for GCC 4.0 we implemented the resolution
1151 of <a class="link" href="manual/bugs.html" title="Bugs">DR #409</a> and open()
1152 now calls <code class="function">clear()</code> on success!
1153- </p></td></tr><tr class="question" title="6.2."><td align="left" valign="top"><a id="faq.wefcxx_verbose"/><a id="q-wefcxx_verbose"/><p><strong>6.2.</strong></p></td><td align="left" valign="top"><p>
1154+ </p></td></tr><tr class="question" title="6.2."><td align="left" valign="top"><a id="faq.wefcxx_verbose"></a><a id="q-wefcxx_verbose"></a><p><strong>6.2.</strong></p></td><td align="left" valign="top"><p>
1155 -Weffc++ complains too much
1156- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-wefcxx_verbose"/></td><td align="left" valign="top"><p>
1157+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-wefcxx_verbose"></a></td><td align="left" valign="top"><p>
1158 Many warnings are emitted when <code class="literal">-Weffc++</code> is used. Making
1159 libstdc++ <code class="literal">-Weffc++</code>-clean is not a goal of the project,
1160 for a few reasons. Mainly, that option tries to enforce
1161@@ -602,21 +602,21 @@
1162 We do, however, try to have libstdc++ sources as clean as possible. If
1163 you see some simple changes that pacify <code class="literal">-Weffc++</code>
1164 without other drawbacks, send us a patch.
1165- </p></td></tr><tr class="question" title="6.3."><td align="left" valign="top"><a id="faq.ambiguous_overloads"/><a id="q-ambiguous_overloads"/><p><strong>6.3.</strong></p></td><td align="left" valign="top"><p>
1166+ </p></td></tr><tr class="question" title="6.3."><td align="left" valign="top"><a id="faq.ambiguous_overloads"></a><a id="q-ambiguous_overloads"></a><p><strong>6.3.</strong></p></td><td align="left" valign="top"><p>
1167 Ambiguous overloads after including an old-style header
1168- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-ambiguous_overloads"/></td><td align="left" valign="top"><p>
1169+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-ambiguous_overloads"></a></td><td align="left" valign="top"><p>
1170 Another problem is the <code class="literal">rel_ops</code> namespace and the template
1171 comparison operator functions contained therein. If they become
1172 visible in the same namespace as other comparison functions
1173 (e.g., <span class="quote">“<span class="quote">using</span>”</span> them and the &lt;iterator&gt; header),
1174 then you will suddenly be faced with huge numbers of ambiguity
1175 errors. This was discussed on the -v3 list; Nathan Myers
1176- <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html">sums
1177+ <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html" target="_top">sums
1178 things up here</a>. The collisions with vector/string iterator
1179 types have been fixed for 3.1.
1180- </p></td></tr><tr class="question" title="6.4."><td align="left" valign="top"><a id="faq.v2_headers"/><a id="q-v2_headers"/><p><strong>6.4.</strong></p></td><td align="left" valign="top"><p>
1181+ </p></td></tr><tr class="question" title="6.4."><td align="left" valign="top"><a id="faq.v2_headers"></a><a id="q-v2_headers"></a><p><strong>6.4.</strong></p></td><td align="left" valign="top"><p>
1182 The g++-3 headers are <span class="emphasis"><em>not ours</em></span>
1183- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-v2_headers"/></td><td align="left" valign="top"><p>
1184+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-v2_headers"></a></td><td align="left" valign="top"><p>
1185 If you are using headers in
1186 <code class="filename">${prefix}/include/g++-3</code>, or if the installed
1187 library's name looks like <code class="filename">libstdc++-2.10.a</code> or
1188@@ -630,10 +630,10 @@
1189 'v'?). Starting with version 3.2 the headers are installed in
1190 <code class="filename">${prefix}/include/c++/${version}</code> as this prevents
1191 headers from previous versions being found by mistake.
1192- </p></td></tr><tr class="question" title="6.5."><td align="left" valign="top"><a id="faq.boost_concept_checks"/><a id="q-boost_concept_checks"/><p><strong>6.5.</strong></p></td><td align="left" valign="top"><p>
1193+ </p></td></tr><tr class="question" title="6.5."><td align="left" valign="top"><a id="faq.boost_concept_checks"></a><a id="q-boost_concept_checks"></a><p><strong>6.5.</strong></p></td><td align="left" valign="top"><p>
1194 Errors about <span class="emphasis"><em>*Concept</em></span> and
1195 <span class="emphasis"><em>constraints</em></span> in the STL
1196- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-boost_concept_checks"/></td><td align="left" valign="top"><p>
1197+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-boost_concept_checks"></a></td><td align="left" valign="top"><p>
1198 If you see compilation errors containing messages about
1199 <span class="errortext">foo Concept </span>and something to do with a
1200 <span class="errortext">constraints</span> member function, then most
1201@@ -647,31 +647,31 @@
1202 checks, is available in the
1203 <a class="link" href="manual/bk01pt02ch05s02.html" title="Concept Checking">Diagnostics</a>.
1204 chapter of the manual.
1205- </p></td></tr><tr class="question" title="6.6."><td align="left" valign="top"><a id="faq.dlopen_crash"/><a id="q-dlopen_crash"/><p><strong>6.6.</strong></p></td><td align="left" valign="top"><p>
1206+ </p></td></tr><tr class="question" title="6.6."><td align="left" valign="top"><a id="faq.dlopen_crash"></a><a id="q-dlopen_crash"></a><p><strong>6.6.</strong></p></td><td align="left" valign="top"><p>
1207 Program crashes when using library code in a
1208 dynamically-loaded library
1209- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-dlopen_crash"/></td><td align="left" valign="top"><p>
1210+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-dlopen_crash"></a></td><td align="left" valign="top"><p>
1211 If you are using the C++ library across dynamically-loaded
1212 objects, make certain that you are passing the correct options
1213 when compiling and linking:
1214- </p><div class="literallayout"><p><br/>
1215-    // compile your library components<br/>
1216-    g++ -fPIC -c a.cc<br/>
1217-    g++ -fPIC -c b.cc<br/>
1218-    ...<br/>
1219-    g++ -fPIC -c z.cc<br/>
1220-<br/>
1221-    // create your library<br/>
1222-    g++ -fPIC -shared -rdynamic -o libfoo.so a.o b.o ... z.o<br/>
1223-<br/>
1224-    // link the executable<br/>
1225-    g++ -fPIC -rdynamic -o foo ... -L. -lfoo -ldl<br/>
1226-    </p></div></td></tr><tr class="question" title="6.7."><td align="left" valign="top"><a id="faq.memory_leaks"/><a id="q-memory_leaks"/><p><strong>6.7.</strong></p></td><td align="left" valign="top"><p>
1227+ </p><div class="literallayout"><p><br />
1228+    // compile your library components<br />
1229+    g++ -fPIC -c a.cc<br />
1230+    g++ -fPIC -c b.cc<br />
1231+    ...<br />
1232+    g++ -fPIC -c z.cc<br />
1233+<br />
1234+    // create your library<br />
1235+    g++ -fPIC -shared -rdynamic -o libfoo.so a.o b.o ... z.o<br />
1236+<br />
1237+    // link the executable<br />
1238+    g++ -fPIC -rdynamic -o foo ... -L. -lfoo -ldl<br />
1239+    </p></div></td></tr><tr class="question" title="6.7."><td align="left" valign="top"><a id="faq.memory_leaks"></a><a id="q-memory_leaks"></a><p><strong>6.7.</strong></p></td><td align="left" valign="top"><p>
1240 <span class="quote">“<span class="quote">Memory leaks</span>”</span> in containers
1241- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-memory_leaks"/></td><td align="left" valign="top"><p>
1242+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-memory_leaks"></a></td><td align="left" valign="top"><p>
1243 A few people have reported that the standard containers appear
1244 to leak memory when tested with memory checkers such as
1245- <a class="link" href="http://valgrind.org/">valgrind</a>.
1246+ <a class="link" href="http://valgrind.org/" target="_top">valgrind</a>.
1247 The library's default allocators keep free memory in a pool
1248 for later reuse, rather than returning it to the OS. Although
1249 this memory is always reachable by the library and is never
1250@@ -679,18 +679,18 @@
1251 want to test the library for memory leaks please read
1252 <a class="link" href="manual/debug.html#debug.memory" title="Memory Leak Hunting">Tips for memory leak hunting</a>
1253 first.
1254- </p></td></tr><tr class="question" title="6.8."><td align="left" valign="top"><a id="faq.list_size_on"/><a id="q-list_size_on"/><p><strong>6.8.</strong></p></td><td align="left" valign="top"><p>
1255+ </p></td></tr><tr class="question" title="6.8."><td align="left" valign="top"><a id="faq.list_size_on"></a><a id="q-list_size_on"></a><p><strong>6.8.</strong></p></td><td align="left" valign="top"><p>
1256 list::size() is O(n)!
1257- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-list_size_on"/></td><td align="left" valign="top"><p>
1258+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-list_size_on"></a></td><td align="left" valign="top"><p>
1259 See
1260 the <a class="link" href="manual/containers.html" title="Chapter 9.  Containers">Containers</a>
1261 chapter.
1262- </p></td></tr><tr class="question" title="6.9."><td align="left" valign="top"><a id="faq.easy_to_fix"/><a id="q-easy_to_fix"/><p><strong>6.9.</strong></p></td><td align="left" valign="top"><p>
1263+ </p></td></tr><tr class="question" title="6.9."><td align="left" valign="top"><a id="faq.easy_to_fix"></a><a id="q-easy_to_fix"></a><p><strong>6.9.</strong></p></td><td align="left" valign="top"><p>
1264 Aw, that's easy to fix!
1265- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-easy_to_fix"/></td><td align="left" valign="top"><p>
1266+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-easy_to_fix"></a></td><td align="left" valign="top"><p>
1267 If you have found a bug in the library and you think you have
1268 a working fix, then send it in! The main GCC site has a page
1269- on <a class="link" href="http://gcc.gnu.org/contribute.html">submitting
1270+ on <a class="link" href="http://gcc.gnu.org/contribute.html" target="_top">submitting
1271 patches</a> that covers the procedure, but for libstdc++ you
1272 should also send the patch to our mailing list in addition to
1273 the GCC patches mailing list. The libstdc++
1274@@ -718,9 +718,9 @@
1275 What's an ABI and why is it so messy?
1276 </a></dt><dt>7.8. <a href="faq.html#faq.size_equals_capacity">
1277 How do I make std::vector&lt;T&gt;::capacity() == std::vector&lt;T&gt;::size?
1278- </a></dt></dl></td></tr><tr class="question" title="7.1."><td align="left" valign="top"><a id="faq.iterator_as_pod"/><a id="faq.iterator_as_pod_q"/><p><strong>7.1.</strong></p></td><td align="left" valign="top"><p>
1279+ </a></dt></dl></td></tr><tr class="question" title="7.1."><td align="left" valign="top"><a id="faq.iterator_as_pod"></a><a id="faq.iterator_as_pod_q"></a><p><strong>7.1.</strong></p></td><td align="left" valign="top"><p>
1280 string::iterator is not char*; vector&lt;T&gt;::iterator is not T*
1281- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="faq.iterator_as_pod_a"/></td><td align="left" valign="top"><p>
1282+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="faq.iterator_as_pod_a"></a></td><td align="left" valign="top"><p>
1283 If you have code that depends on container&lt;T&gt; iterators
1284 being implemented as pointer-to-T, your code is broken. It's
1285 considered a feature, not a bug, that libstdc++ points this out.
1286@@ -737,9 +737,9 @@
1287 certain expressions to <code class="varname">&amp;*i</code>. Future revisions
1288 of the Standard are expected to bless this usage for
1289 vector&lt;&gt; (but not for basic_string&lt;&gt;).
1290- </p></td></tr><tr class="question" title="7.2."><td align="left" valign="top"><a id="faq.what_is_next"/><a id="q-what_is_next"/><p><strong>7.2.</strong></p></td><td align="left" valign="top"><p>
1291+ </p></td></tr><tr class="question" title="7.2."><td align="left" valign="top"><a id="faq.what_is_next"></a><a id="q-what_is_next"></a><p><strong>7.2.</strong></p></td><td align="left" valign="top"><p>
1292 What's next after libstdc++?
1293- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_next"/></td><td align="left" valign="top"><p>
1294+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_next"></a></td><td align="left" valign="top"><p>
1295 Hopefully, not much. The goal of libstdc++ is to produce a
1296 fully-compliant, fully-portable Standard Library. After that,
1297 we're mostly done: there won't <span class="emphasis"><em>be</em></span> any
1298@@ -748,12 +748,12 @@
1299 There is an effort underway to add significant extensions to
1300 the standard library specification. The latest version of
1301 this effort is described in
1302- <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf">
1303+ <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">
1304 The C++ Library Technical Report 1</a>.
1305- </p></td></tr><tr class="question" title="7.3."><td align="left" valign="top"><a id="faq.sgi_stl"/><a id="q-sgi_stl"/><p><strong>7.3.</strong></p></td><td align="left" valign="top"><p>
1306+ </p></td></tr><tr class="question" title="7.3."><td align="left" valign="top"><a id="faq.sgi_stl"></a><a id="q-sgi_stl"></a><p><strong>7.3.</strong></p></td><td align="left" valign="top"><p>
1307 What about the STL from SGI?
1308- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-sgi_stl"/></td><td align="left" valign="top"><p>
1309- The <a class="link" href="http://www.sgi.com/tech/stl/">STL from SGI</a>,
1310+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-sgi_stl"></a></td><td align="left" valign="top"><p>
1311+ The <a class="link" href="http://www.sgi.com/tech/stl/" target="_top">STL from SGI</a>,
1312 version 3.3, was the final merge of the STL codebase. The
1313 code in libstdc++ contains many fixes and changes, and
1314 the SGI code is no longer under active
1315@@ -773,24 +773,24 @@
1316 </p><p>
1317 The FAQ for SGI's STL (one jump off of their main page) is
1318 still recommended reading.
1319- </p></td></tr><tr class="question" title="7.4."><td align="left" valign="top"><a id="faq.extensions_and_backwards_compat"/><a id="q-extensions_and_backwards_compat"/><p><strong>7.4.</strong></p></td><td align="left" valign="top"><p>
1320+ </p></td></tr><tr class="question" title="7.4."><td align="left" valign="top"><a id="faq.extensions_and_backwards_compat"></a><a id="q-extensions_and_backwards_compat"></a><p><strong>7.4.</strong></p></td><td align="left" valign="top"><p>
1321 Extensions and Backward Compatibility
1322- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-extensions_and_backwards_compat"/></td><td align="left" valign="top"><p>
1323+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-extensions_and_backwards_compat"></a></td><td align="left" valign="top"><p>
1324 See the <a class="link" href="manual/backwards.html" title="Backwards Compatibility">link</a> on backwards compatibility and <a class="link" href="manual/api.html" title="API Evolution and Deprecation History">link</a> on evolution.
1325- </p></td></tr><tr class="question" title="7.5."><td align="left" valign="top"><a id="faq.tr1_support"/><a id="q-tr1_support"/><p><strong>7.5.</strong></p></td><td align="left" valign="top"><p>
1326+ </p></td></tr><tr class="question" title="7.5."><td align="left" valign="top"><a id="faq.tr1_support"></a><a id="q-tr1_support"></a><p><strong>7.5.</strong></p></td><td align="left" valign="top"><p>
1327 Does libstdc++ support TR1?
1328- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-tr1_support"/></td><td align="left" valign="top"><p>
1329+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-tr1_support"></a></td><td align="left" valign="top"><p>
1330 Yes.
1331 </p><p>
1332 The C++ Standard Library Technical Report adds many new features to
1333 the library. The latest version of this effort is described in
1334- <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf">
1335+ <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">
1336 Technical Report 1</a>.
1337 </p><p>
1338 The implementation status of TR1 in libstdc++ can be tracked <a class="link" href="manual/status.html#status.iso.tr1" title="C++ TR1">on the TR1 status
1339 page</a>.
1340- </p></td></tr><tr class="question" title="7.6."><td align="left" valign="top"><a id="faq.get_iso_cxx"/><a id="q-get_iso_cxx"/><p><strong>7.6.</strong></p></td><td align="left" valign="top"><p>How do I get a copy of the ISO C++ Standard?
1341- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-get_iso_cxx"/></td><td align="left" valign="top"><p>
1342+ </p></td></tr><tr class="question" title="7.6."><td align="left" valign="top"><a id="faq.get_iso_cxx"></a><a id="q-get_iso_cxx"></a><p><strong>7.6.</strong></p></td><td align="left" valign="top"><p>How do I get a copy of the ISO C++ Standard?
1343+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-get_iso_cxx"></a></td><td align="left" valign="top"><p>
1344 Copies of the full ISO 14882 standard are available on line via
1345 the ISO mirror site for committee members. Non-members, or those
1346 who have not paid for the privilege of sitting on the committee
1347@@ -798,19 +798,19 @@
1348 get a copy of the standard from their respective national
1349 standards organization. In the USA, this national standards
1350 organization is ANSI and their website is
1351- right <a class="link" href="http://www.ansi.org">here</a>. (And if
1352+ right <a class="link" href="http://www.ansi.org" target="_top">here</a>. (And if
1353 you've already registered with them, clicking this link will take
1354 you to directly to the place where you can
1355- <a class="link" href="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003">buy the standard on-line</a>.
1356+ <a class="link" href="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003" target="_top">buy the standard on-line</a>.
1357 </p><p>
1358 Who is your country's member body? Visit the
1359- <a class="link" href="http://www.iso.ch/">ISO homepage</a> and find out!
1360+ <a class="link" href="http://www.iso.ch/" target="_top">ISO homepage</a> and find out!
1361 </p><p>
1362 The 2003 version of the standard (the 1998 version plus TC1) is
1363 available in print, ISBN 0-470-84674-7.
1364- </p></td></tr><tr class="question" title="7.7."><td align="left" valign="top"><a id="faq.what_is_abi"/><a id="q-what_is_abi"/><p><strong>7.7.</strong></p></td><td align="left" valign="top"><p>
1365+ </p></td></tr><tr class="question" title="7.7."><td align="left" valign="top"><a id="faq.what_is_abi"></a><a id="q-what_is_abi"></a><p><strong>7.7.</strong></p></td><td align="left" valign="top"><p>
1366 What's an ABI and why is it so messy?
1367- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_abi"/></td><td align="left" valign="top"><p>
1368+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_abi"></a></td><td align="left" valign="top"><p>
1369 <acronym class="acronym">ABI</acronym> stands for <span class="quote">“<span class="quote">Application Binary
1370 Interface</span>”</span>. Conventionally, it refers to a great
1371 mass of details about how arguments are arranged on the call
1372@@ -856,17 +856,17 @@
1373 so they may later be changed. Deciding which, and implementing
1374 the decisions, must happen before you can reasonably document a
1375 candidate C++ ABI that encompasses the standard library.
1376- </p></td></tr><tr class="question" title="7.8."><td align="left" valign="top"><a id="faq.size_equals_capacity"/><a id="q-size_equals_capacity"/><p><strong>7.8.</strong></p></td><td align="left" valign="top"><p>
1377+ </p></td></tr><tr class="question" title="7.8."><td align="left" valign="top"><a id="faq.size_equals_capacity"></a><a id="q-size_equals_capacity"></a><p><strong>7.8.</strong></p></td><td align="left" valign="top"><p>
1378 How do I make std::vector&lt;T&gt;::capacity() == std::vector&lt;T&gt;::size?
1379- </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-size_equals_capacity"/></td><td align="left" valign="top"><p>
1380+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-size_equals_capacity"></a></td><td align="left" valign="top"><p>
1381 The standard idiom for deallocating a <code class="classname">vector&lt;T&gt;</code>'s
1382 unused memory is to create a temporary copy of the vector and swap their
1383 contents, e.g. for <code class="classname">vector&lt;T&gt; v</code>
1384- </p><div class="literallayout"><p><br/>
1385-     std::vector&lt;T&gt;(v).swap(v);<br/>
1386+ </p><div class="literallayout"><p><br />
1387+     std::vector&lt;T&gt;(v).swap(v);<br />
1388     </p></div><p>
1389 The copy will take O(n) time and the swap is constant time.
1390 </p><p>
1391 See <a class="link" href="manual/strings.html#strings.string.shrink" title="Shrink to Fit">Shrink-to-fit
1392 strings</a> for a similar solution for strings.
1393- </p></td></tr></tbody></table></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk03.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk03.html">Up</a></td><td align="right"> </td></tr><tr><td align="left" valign="top"> </td><td align="center"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top"> </td></tr></table></div></body></html>
1394+ </p></td></tr></tbody></table></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk03.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
1395Index: libstdc++-v3/doc/html/index.html
1396===================================================================
9f95000d
AM
1397--- libstdc++-v3/doc/html/index.html (.../tags/gcc_4_7_2_release) (wersja 192468)
1398+++ libstdc++-v3/doc/html/index.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
1399@@ -1,8 +1,8 @@
1400 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1401-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1402-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>The GNU C++ Library</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="description" content="Short Contents Copyright 2008, 2009, 2011 FSF Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. This is the top level of the libstdc++ documentation set. The documentation is divided into the following three sections. Manual Frequently Asked Questions API and Source Documentation"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="index.html" title="The GNU C++ Library"/><link rel="next" href="manual/index.html" title="The GNU C++ Library Manual"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library</th></tr><tr><td align="left"> </td><th width="60%" align="center"> </th><td align="right"> <a accesskey="n" href="manual/index.html">Next</a></td></tr></table><hr/></div><div class="set" title="The GNU C++ Library" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="set-index"/>The GNU C++ Library</h1></div><div><div class="abstract" title="Short Contents"><a id="contents"/><p class="title"><strong>Short Contents</strong></p><p>
1403+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1404+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The GNU C++ Library</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="description" content="Short Contents Copyright 2008, 2009, 2011 FSF Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. This is the top level of the libstdc++ documentation set. The documentation is divided into the following three sections. Manual Frequently Asked Questions API and Source Documentation" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="next" href="manual/index.html" title="The GNU C++ Library Manual" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="manual/index.html">Next</a></td></tr></table><hr /></div><div class="set" title="The GNU C++ Library" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="set-index"></a>The GNU C++ Library</h1></div><div><div class="abstract" title="Short Contents"><a id="contents"></a><p class="title"><strong>Short Contents</strong></p><p>
1405 Copyright 2008, 2009, 2011
1406- <a class="link" href="http://www.fsf.org/">FSF
1407+ <a class="link" href="http://www.fsf.org/" target="_top">FSF
1408 </a>
1409 </p><p>
1410 Permission is granted to copy, distribute and/or modify this
1411@@ -14,14 +14,14 @@
1412 This is the top level of the libstdc++ documentation set. The
1413 documentation is divided into the following three sections.
1414 </p><p>
1415- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
1416+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
1417 <a class="link" href="manual/index.html" title="The GNU C++ Library Manual">Manual</a>
1418 </p></li><li class="listitem"><p>
1419 <a class="link" href="faq.html" title="Frequently Asked Questions">Frequently Asked Questions</a>
1420 </p></li><li class="listitem"><p>
1421 <a class="link" href="api.html" title="The GNU C++ Library API Reference">API and Source Documentation</a>
1422 </p></li></ul></div><p>
1423- </p></div></div></div><hr/></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="book"><a href="manual/index.html">The GNU C++ Library Manual</a></span></dt><dd><dl><dt><span class="part"><a href="manual/intro.html">I.
1424+ </p></div></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="book"><a href="manual/index.html">The GNU C++ Library Manual</a></span></dt><dd><dl><dt><span class="part"><a href="manual/intro.html">I.
1425 Introduction
1426
1427 </a></span></dt><dd><dl><dt><span class="chapter"><a href="manual/status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="manual/status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="manual/license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="manual/license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="manual/license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="manual/bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="manual/setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/configure.html">Configure</a></span></dt><dt><span class="section"><a href="manual/make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="manual/using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="manual/using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="manual/debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="manual/bk01pt02.html">II.
1428@@ -35,13 +35,13 @@
1429 </a></span></dt><dd><dl><dt><span class="section"><a href="manual/diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="manual/diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="manual/diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/utilities.html">6.
1430 Utilities
1431
1432-</a></span></dt><dd><dl><dt><span class="section"><a href="manual/utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="manual/pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="manual/memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#id485345">Interface Design</a></span></dt><dt><span class="section"><a href="manual/memory.html#id485374">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="manual/memory.html#id485485">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="manual/memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="manual/memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#id486484">Class Hierarchy</a></span></dt><dt><span class="section"><a href="manual/memory.html#id486672">Thread Safety</a></span></dt><dt><span class="section"><a href="manual/memory.html#id486733">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="manual/memory.html#id486854">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#id499306">Examples</a></span></dt><dt><span class="section"><a href="manual/memory.html#id499336">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/strings.html">7.
1433+</a></span></dt><dd><dl><dt><span class="section"><a href="manual/utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="manual/pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="manual/memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#id663833">Interface Design</a></span></dt><dt><span class="section"><a href="manual/memory.html#id663862">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="manual/memory.html#id663973">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="manual/memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="manual/memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#id664972">Class Hierarchy</a></span></dt><dt><span class="section"><a href="manual/memory.html#id665160">Thread Safety</a></span></dt><dt><span class="section"><a href="manual/memory.html#id665221">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="manual/memory.html#id665342">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#id677792">Examples</a></span></dt><dt><span class="section"><a href="manual/memory.html#id677822">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/strings.html">7.
1434 Strings
1435
1436 </a></span></dt><dd><dl><dt><span class="section"><a href="manual/strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="manual/strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/localization.html">8.
1437 Localization
1438
1439-</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="manual/localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="manual/localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#id501036">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="manual/facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="manual/facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="manual/facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/containers.html">9.
1440+</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="manual/localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="manual/localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#id679521">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="manual/facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="manual/facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="manual/facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/containers.html">9.
1441 Containers
1442
1443 </a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="manual/containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="manual/associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="manual/associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="manual/associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="manual/associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/iterators.html">10.
1444@@ -65,7 +65,7 @@
1445 </a></span></dt><dd><dl><dt><span class="section"><a href="manual/concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="manual/extensions.html">III.
1446 Extensions
1447
1448-</a></span></dt><dd><dl><dt><span class="preface"><a href="manual/bk01pt03pr01.html"/></span></dt><dt><span class="chapter"><a href="manual/ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="manual/debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="manual/debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
1449+</a></span></dt><dd><dl><dt><span class="preface"><a href="manual/bk01pt03pr01.html"></a></span></dt><dt><span class="chapter"><a href="manual/ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="manual/debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="manual/debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
1450 debug-mode components</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#methods.coexistence.alt">Alternatives for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/parallel_mode.html">18. Parallel Mode</a></span></dt><dd><dl><dt><span class="section"><a href="manual/parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s02.html">Semantics</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch18s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch18s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch18s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch18s04.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s04.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s04.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch18s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch18s05.html">Testing</a></span></dt><dt><span class="bibliography"><a href="manual/parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/profile_mode.html">19. Profile Mode</a></span></dt><dd><dl><dt><span class="section"><a href="manual/profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="manual/profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="manual/profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s02.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s04.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="manual/profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/mt_allocator.html">20. The mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="manual/mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch20s02.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch20s02.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch20s03.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch20s03.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch20s03.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch20s03.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch20s04.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch20s05.html">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/bitmap_allocator.html">21. The bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/policy_data_structures.html">22. Policy-Based Data Structures</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="manual/policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures_using.html#pbds.using.tutorial.configuring">
1451 Configuring via Template Parameters
1452 </a></span></dt><dt><span class="section"><a href="manual/policy_data_structures_using.html#pbds.using.tutorial.traits">
1453@@ -165,4 +165,4 @@
1454
1455 </a></span></dt><dt><span class="appendix"><a href="manual/appendix_gpl.html">D.
1456 <acronym class="acronym">GNU</acronym> General Public License version 3
1457- </a></span></dt><dt><span class="appendix"><a href="manual/appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></dd><dt><span class="book"><a href="bk02.html"/></span></dt><dd><dl><dt><span class="article"><a href="api.html">The GNU C++ Library API Reference</a></span></dt></dl></dd><dt><span class="book"><a href="bk03.html"/></span></dt><dd><dl><dt><span class="article"><a href="faq.html">Frequently Asked Questions</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"> </td><td align="center"> </td><td align="right"> <a accesskey="n" href="manual/index.html">Next</a></td></tr><tr><td align="left" valign="top"> </td><td align="center"> </td><td align="right" valign="top"> The GNU C++ Library Manual</td></tr></table></div></body></html>
1458+ </a></span></dt><dt><span class="appendix"><a href="manual/appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></dd><dt><span class="book"><a href="bk02.html"></a></span></dt><dd><dl><dt><span class="article"><a href="api.html">The GNU C++ Library API Reference</a></span></dt></dl></dd><dt><span class="book"><a href="bk03.html"></a></span></dt><dd><dl><dt><span class="article"><a href="faq.html">Frequently Asked Questions</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="manual/index.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> The GNU C++ Library Manual</td></tr></table></div></body></html>
1459Index: libstdc++-v3/doc/html/api.html
1460===================================================================
9f95000d
AM
1461--- libstdc++-v3/doc/html/api.html (.../tags/gcc_4_7_2_release) (wersja 192468)
1462+++ libstdc++-v3/doc/html/api.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
1463@@ -1,16 +1,16 @@
1464 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1465-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1466-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>The GNU C++ Library API Reference</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="index.html" title="The GNU C++ Library"/><link rel="up" href="bk02.html" title=""/><link rel="prev" href="bk02.html" title=""/><link rel="next" href="bk03.html" title=""/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library API Reference</th></tr><tr><td align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><th width="60%" align="center"/><td align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr></table><hr/></div><div class="article" title="The GNU C++ Library API Reference"><div class="titlepage"><div><div><h2 class="title"><a id="api"/>The GNU C++ Library API Reference</h2></div><div><p class="copyright">Copyright ©
1467+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1468+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The GNU C++ Library API Reference</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="bk02.html" title="" /><link rel="prev" href="bk02.html" title="" /><link rel="next" href="bk03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library API Reference</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr></table><hr /></div><div class="article" title="The GNU C++ Library API Reference"><div class="titlepage"><div><div><h2 class="title"><a id="api"></a>The GNU C++ Library API Reference</h2></div><div><p class="copyright">Copyright ©
1469 2008
1470 ,
1471 2010
1472
1473- <a class="link" href="http://www.fsf.org/">FSF
1474+ <a class="link" href="http://www.fsf.org/" target="_top">FSF
1475 </a>
1476- </p></div><div><div class="legalnotice" title="Legal Notice"><a id="id401445"/><p>
1477+ </p></div><div><div class="legalnotice" title="Legal Notice"><a id="id552605"></a><p>
1478 <a class="link" href="manual/license.html" title="License">License
1479 </a>
1480- </p></div></div></div><hr/></div><p>
1481+ </p></div></div></div><hr /></div><p>
1482 The GNU C++ library sources have been specially formatted so that
1483 with the proper invocation of another tool (Doxygen), a set of
1484 indexed reference material can generated from the sources files
1485@@ -20,29 +20,29 @@
1486 particular include file, looking at inheritance diagrams, etc.
1487 </p><p>
1488 The API documentation, rendered into HTML, can be viewed online:
1489-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
1490- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html">for the 3.4 release
1491+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
1492+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html" target="_top">for the 3.4 release
1493 </a>
1494 </p></li><li class="listitem"><p>
1495- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.1/index.html">for the 4.1 release
1496+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.1/index.html" target="_top">for the 4.1 release
1497 </a>
1498 </p></li><li class="listitem"><p>
1499- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/index.html">for the 4.2 release
1500+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/index.html" target="_top">for the 4.2 release
1501 </a>
1502 </p></li><li class="listitem"><p>
1503- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/index.html">for the 4.3 release
1504+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/index.html" target="_top">for the 4.3 release
1505 </a>
1506 </p></li><li class="listitem"><p>
1507- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.4/index.html">for the 4.4 release
1508+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.4/index.html" target="_top">for the 4.4 release
1509 </a>
1510 </p></li><li class="listitem"><p>
1511- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.5/index.html">for the 4.5 release
1512+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.5/index.html" target="_top">for the 4.5 release
1513 </a>
1514 </p></li><li class="listitem"><p>
1515- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.6/index.html">for the 4.6 release
1516+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.6/index.html" target="_top">for the 4.6 release
1517 </a>
1518 </p></li><li class="listitem"><p>
1519- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html">"the latest collection"
1520+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html" target="_top">"the latest collection"
1521 </a>
1522 (For the main development tree; see the date on the first page.)
1523 </p></li></ul></div><p>
1524@@ -50,10 +50,10 @@
1525 gcc.org site in a directory located at
1526 <code class="literal">&lt;URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/&gt;</code>.
1527 You will almost certainly need to use one of the
1528- <a class="link" href="http://gcc.gnu.org/mirrors.html">mirror sites</a> to download
1529+ <a class="link" href="http://gcc.gnu.org/mirrors.html" target="_top">mirror sites</a> to download
1530 the tarball. After unpacking, simply load libstdc++-html-*/index.html
1531 into a browser.
1532 </p><p>
1533 In addition, a rendered set of man pages are available in the same
1534 location specified above. Start with C++Intro(3).
1535-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk02.html">Up</a></td><td align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr><tr><td align="left" valign="top"> </td><td align="center"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top"> </td></tr></table></div></body></html>
1536+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
1537Index: libstdc++-v3/doc/html/manual/iterators.html
1538===================================================================
9f95000d
AM
1539--- libstdc++-v3/doc/html/manual/iterators.html (.../tags/gcc_4_7_2_release) (wersja 192468)
1540+++ libstdc++-v3/doc/html/manual/iterators.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
1541@@ -1,14 +1,14 @@
1542 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1543-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1544-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 10.  Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="containers_and_c.html" title="Interacting with C"/><link rel="next" href="algorithms.html" title="Chapter 11.  Algorithms"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. 
1545+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1546+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 10.  Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="containers_and_c.html" title="Interacting with C" /><link rel="next" href="algorithms.html" title="Chapter 11.  Algorithms" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. 
1547 Iterators
1548
1549-</th></tr><tr><td align="left"><a accesskey="p" href="containers_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
1550+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="containers_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
1551 Standard Contents
1552- </th><td align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 10.  Iterators"><div class="titlepage"><div><div><h2 class="title"><a id="std.iterators"/>Chapter 10. 
1553+ </th><td width="20%" align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 10.  Iterators"><div class="titlepage"><div><div><h2 class="title"><a id="std.iterators"></a>Chapter 10. 
1554 Iterators
1555- <a id="id504099" class="indexterm"/>
1556-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="iterators.html#std.iterators.predefined">Predefined</a></span></dt><dd><dl><dt><span class="section"><a href="iterators.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="section"><a href="iterators.html#iterators.predefined.end">One Past the End</a></span></dt></dl></dd></dl></div><div class="section" title="Predefined"><div class="titlepage"><div><div><h2 class="title"><a id="std.iterators.predefined"/>Predefined</h2></div></div></div><div class="section" title="Iterators vs. Pointers"><div class="titlepage"><div><div><h3 class="title"><a id="iterators.predefined.vs_pointers"/>Iterators vs. Pointers</h3></div></div></div><p>
1557+ <a id="id682585" class="indexterm"></a>
1558+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="iterators.html#std.iterators.predefined">Predefined</a></span></dt><dd><dl><dt><span class="section"><a href="iterators.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="section"><a href="iterators.html#iterators.predefined.end">One Past the End</a></span></dt></dl></dd></dl></div><div class="section" title="Predefined"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.iterators.predefined"></a>Predefined</h2></div></div></div><div class="section" title="Iterators vs. Pointers"><div class="titlepage"><div><div><h3 class="title"><a id="iterators.predefined.vs_pointers"></a>Iterators vs. Pointers</h3></div></div></div><p>
1559 The following
1560 FAQ <a class="link" href="../faq.html#faq.iterator_as_pod" title="7.1.">entry</a> points out that
1561 iterators are not implemented as pointers. They are a generalization
1562@@ -44,7 +44,7 @@
1563 down through inheritance, so while the compiler has to do work
1564 looking up all the names, your runtime code does not. (This has
1565 been a prime concern from the beginning.)
1566- </p></div><div class="section" title="One Past the End"><div class="titlepage"><div><div><h3 class="title"><a id="iterators.predefined.end"/>One Past the End</h3></div></div></div><p>This starts off sounding complicated, but is actually very easy,
1567+ </p></div><div class="section" title="One Past the End"><div class="titlepage"><div><div><h3 class="title"><a id="iterators.predefined.end"></a>One Past the End</h3></div></div></div><p>This starts off sounding complicated, but is actually very easy,
1568 especially towards the end. Trust me.
1569 </p><p>Beginners usually have a little trouble understand the whole
1570 'past-the-end' thing, until they remember their early algebra classes
1571@@ -53,7 +53,7 @@
1572 </p><p>First, some history, and a reminder of some of the funkier rules in
1573 C and C++ for builtin arrays. The following rules have always been
1574 true for both languages:
1575- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>You can point anywhere in the array, <span class="emphasis"><em>or to the first element
1576+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>You can point anywhere in the array, <span class="emphasis"><em>or to the first element
1577 past the end of the array</em></span>. A pointer that points to one
1578 past the end of the array is guaranteed to be as unique as a
1579 pointer to somewhere inside the array, so that you can compare
1580@@ -124,7 +124,7 @@
1581 sequences very simple to recognize: if the two endpoints compare
1582 equal, then the {array, sequence, container, whatever} is empty.
1583 </p><p>Just don't dereference <code class="code">end()</code>.
1584- </p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="containers_and_c.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr><tr><td align="left" valign="top">Interacting with C </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 11. 
1585+ </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="containers_and_c.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Interacting with C </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 11. 
1586 Algorithms
1587
1588 </td></tr></table></div></body></html>
1589Index: libstdc++-v3/doc/html/manual/dynamic_memory.html
1590===================================================================
9f95000d
AM
1591--- libstdc++-v3/doc/html/manual/dynamic_memory.html (.../tags/gcc_4_7_2_release) (wersja 192468)
1592+++ libstdc++-v3/doc/html/manual/dynamic_memory.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
1593@@ -1,13 +1,13 @@
1594 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1595-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1596-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Dynamic Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="support.html" title="Chapter 4.  Support"/><link rel="prev" href="support.html" title="Chapter 4.  Support"/><link rel="next" href="termination.html" title="Termination"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Dynamic Memory</th></tr><tr><td align="left"><a accesskey="p" href="support.html">Prev</a> </td><th width="60%" align="center">Chapter 4. 
1597+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1598+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Dynamic Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="support.html" title="Chapter 4.  Support" /><link rel="prev" href="support.html" title="Chapter 4.  Support" /><link rel="next" href="termination.html" title="Termination" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Dynamic Memory</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="support.html">Prev</a> </td><th width="60%" align="center">Chapter 4. 
1599 Support
1600
1601-</th><td align="right"> <a accesskey="n" href="termination.html">Next</a></td></tr></table><hr/></div><div class="section" title="Dynamic Memory"><div class="titlepage"><div><div><h2 class="title"><a id="std.support.memory"/>Dynamic Memory</h2></div></div></div><p>
1602+</th><td width="20%" align="right"> <a accesskey="n" href="termination.html">Next</a></td></tr></table><hr /></div><div class="section" title="Dynamic Memory"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.support.memory"></a>Dynamic Memory</h2></div></div></div><p>
1603 There are six flavors each of <code class="function">new</code> and
1604 <code class="function">delete</code>, so make certain that you're using the right
1605 ones. Here are quickie descriptions of <code class="function">new</code>:
1606- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
1607+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
1608 single object form, throwing a
1609 <code class="classname">bad_alloc</code> on errors; this is what most
1610 people are used to using
1611@@ -66,7 +66,7 @@
1612 </pre><p>
1613 <code class="classname">bad_alloc</code> is derived from the base <code class="classname">exception</code>
1614 class defined in Sect1 19.
1615- </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="support.html">Prev</a> </td><td align="center"><a accesskey="u" href="support.html">Up</a></td><td align="right"> <a accesskey="n" href="termination.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 4. 
1616+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="support.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="support.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="termination.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 4. 
1617 Support
1618
1619- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Termination</td></tr></table></div></body></html>
1620+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Termination</td></tr></table></div></body></html>
1621Index: libstdc++-v3/doc/html/manual/generalized_numeric_operations.html
1622===================================================================
9f95000d
AM
1623--- libstdc++-v3/doc/html/manual/generalized_numeric_operations.html (.../tags/gcc_4_7_2_release) (wersja 192468)
1624+++ libstdc++-v3/doc/html/manual/generalized_numeric_operations.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
1625@@ -1,15 +1,15 @@
1626 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1627-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1628-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Generalized Operations</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="numerics.html" title="Chapter 12.  Numerics"/><link rel="prev" href="numerics.html" title="Chapter 12.  Numerics"/><link rel="next" href="numerics_and_c.html" title="Interacting with C"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Generalized Operations</th></tr><tr><td align="left"><a accesskey="p" href="numerics.html">Prev</a> </td><th width="60%" align="center">Chapter 12. 
1629+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1630+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Generalized Operations</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="numerics.html" title="Chapter 12.  Numerics" /><link rel="prev" href="numerics.html" title="Chapter 12.  Numerics" /><link rel="next" href="numerics_and_c.html" title="Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Generalized Operations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="numerics.html">Prev</a> </td><th width="60%" align="center">Chapter 12. 
1631 Numerics
1632
1633-</th><td align="right"> <a accesskey="n" href="numerics_and_c.html">Next</a></td></tr></table><hr/></div><div class="section" title="Generalized Operations"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics.generalized_ops"/>Generalized Operations</h2></div></div></div><p>
1634+</th><td width="20%" align="right"> <a accesskey="n" href="numerics_and_c.html">Next</a></td></tr></table><hr /></div><div class="section" title="Generalized Operations"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.numerics.generalized_ops"></a>Generalized Operations</h2></div></div></div><p>
1635 </p><p>There are four generalized functions in the &lt;numeric&gt; header
1636 that follow the same conventions as those in &lt;algorithm&gt;. Each
1637 of them is overloaded: one signature for common default operations,
1638 and a second for fully general operations. Their names are
1639 self-explanatory to anyone who works with numerics on a regular basis:
1640- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">accumulate</code></p></li><li class="listitem"><p><code class="code">inner_product</code></p></li><li class="listitem"><p><code class="code">chapterial_sum</code></p></li><li class="listitem"><p><code class="code">adjacent_difference</code></p></li></ul></div><p>Here is a simple example of the two forms of <code class="code">accumulate</code>.
1641+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">accumulate</code></p></li><li class="listitem"><p><code class="code">inner_product</code></p></li><li class="listitem"><p><code class="code">chapterial_sum</code></p></li><li class="listitem"><p><code class="code">adjacent_difference</code></p></li></ul></div><p>Here is a simple example of the two forms of <code class="code">accumulate</code>.
1642 </p><pre class="programlisting">
1643 int ar[50];
1644 int someval = somefunction();
1645@@ -26,7 +26,7 @@
1646 and multiplies all the members of the array; here we must obviously
1647 use 1 as a starting value instead of 0.
1648 </p><p>The other three functions have similar dual-signature forms.
1649- </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="numerics.html">Prev</a> </td><td align="center"><a accesskey="u" href="numerics.html">Up</a></td><td align="right"> <a accesskey="n" href="numerics_and_c.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 12. 
1650+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="numerics.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="numerics.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="numerics_and_c.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 12. 
1651 Numerics
1652
1653- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Interacting with C</td></tr></table></div></body></html>
1654+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Interacting with C</td></tr></table></div></body></html>
1655Index: libstdc++-v3/doc/html/manual/mt_allocator.html
1656===================================================================
9f95000d
AM
1657--- libstdc++-v3/doc/html/manual/mt_allocator.html (.../tags/gcc_4_7_2_release) (wersja 192468)
1658+++ libstdc++-v3/doc/html/manual/mt_allocator.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
1659@@ -1,10 +1,10 @@
1660 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1661-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1662-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 20. The mt_allocator</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch19s07.html" title="Diagnostics"/><link rel="next" href="bk01pt03ch20s02.html" title="Design Issues"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 20. The mt_allocator</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s07.html">Prev</a> </td><th width="60%" align="center">Part III. 
1663+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1664+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 20. The mt_allocator</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03ch19s07.html" title="Diagnostics" /><link rel="next" href="bk01pt03ch20s02.html" title="Design Issues" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 20. The mt_allocator</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch19s07.html">Prev</a> </td><th width="60%" align="center">Part III. 
1665 Extensions
1666
1667-</th><td align="right"> <a accesskey="n" href="bk01pt03ch20s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 20. The mt_allocator"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.mt"/>Chapter 20. The mt_allocator</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s02.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s02.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s03.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s04.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s05.html">Multiple Thread Example</a></span></dt></dl></div><p>
1668-</p><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.mt.intro"/>Intro</h2></div></div></div><p>
1669+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch20s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 20. The mt_allocator"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.mt"></a>Chapter 20. The mt_allocator</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s02.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s02.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s03.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s04.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s05.html">Multiple Thread Example</a></span></dt></dl></div><p>
1670+</p><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.intro"></a>Intro</h2></div></div></div><p>
1671 The mt allocator [hereinafter referred to simply as "the allocator"]
1672 is a fixed size (power of two) allocator that was initially
1673 developed specifically to suit the needs of multi threaded
1674@@ -20,4 +20,4 @@
1675 </p><p>
1676 The aim of this document is to describe - from an application point of
1677 view - the "inner workings" of the allocator.
1678-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s07.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch20s02.html">Next</a></td></tr><tr><td align="left" valign="top">Diagnostics </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Design Issues</td></tr></table></div></body></html>
1679+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch19s07.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch20s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Diagnostics </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design Issues</td></tr></table></div></body></html>
1680Index: libstdc++-v3/doc/html/manual/bk01pt03ch18s05.html
1681===================================================================
9f95000d
AM
1682--- libstdc++-v3/doc/html/manual/bk01pt03ch18s05.html (.../tags/gcc_4_7_2_release) (wersja 192468)
1683+++ libstdc++-v3/doc/html/manual/bk01pt03ch18s05.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
1684@@ -1,6 +1,6 @@
1685 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1686-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1687-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Testing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode"/><link rel="prev" href="bk01pt03ch18s04.html" title="Design"/><link rel="next" href="profile_mode.html" title="Chapter 19. Profile Mode"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s04.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td align="right"> <a accesskey="n" href="profile_mode.html">Next</a></td></tr></table><hr/></div><div class="section" title="Testing"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode.test"/>Testing</h2></div></div></div><p>
1688+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1689+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Testing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="bk01pt03ch18s04.html" title="Design" /><link rel="next" href="profile_mode.html" title="Chapter 19. Profile Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch18s04.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode.html">Next</a></td></tr></table><hr /></div><div class="section" title="Testing"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.test"></a>Testing</h2></div></div></div><p>
1690 Both the normal conformance and regression tests and the
1691 supplemental performance tests work.
1692 </p><p>
1693@@ -23,4 +23,4 @@
1694 additional software dependencies than the usual bare-boned text
1695 file, and can be generated by using the <code class="code">make
1696 doc-performance</code> rule in the testsuite's Makefile.
1697-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s04.html">Prev</a> </td><td align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="profile_mode.html">Next</a></td></tr><tr><td align="left" valign="top">Design </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 19. Profile Mode</td></tr></table></div></body></html>
1698+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch18s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="profile_mode.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Design </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 19. Profile Mode</td></tr></table></div></body></html>
1699Index: libstdc++-v3/doc/html/manual/bk01pt03ch19s05.html
1700===================================================================
9f95000d
AM
1701--- libstdc++-v3/doc/html/manual/bk01pt03ch19s05.html (.../tags/gcc_4_7_2_release) (wersja 192468)
1702+++ libstdc++-v3/doc/html/manual/bk01pt03ch19s05.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
1703@@ -1,6 +1,6 @@
1704 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1705-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1706-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Implementation Issues</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="prev" href="bk01pt03ch19s04.html" title="Empirical Cost Model"/><link rel="next" href="bk01pt03ch19s06.html" title="Developer Information"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation Issues</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s04.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch19s06.html">Next</a></td></tr></table><hr/></div><div class="section" title="Implementation Issues"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.implementation"/>Implementation Issues</h2></div></div></div><div class="section" title="Stack Traces"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stack"/>Stack Traces</h3></div></div></div><p>
1707+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1708+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Implementation Issues</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="bk01pt03ch19s04.html" title="Empirical Cost Model" /><link rel="next" href="bk01pt03ch19s06.html" title="Developer Information" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation Issues</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch19s04.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s06.html">Next</a></td></tr></table><hr /></div><div class="section" title="Implementation Issues"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.implementation"></a>Implementation Issues</h2></div></div></div><div class="section" title="Stack Traces"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stack"></a>Stack Traces</h3></div></div></div><p>
1709 Accurate stack traces are needed during profiling since we group events by
1710 call context and dynamic instance. Without accurate traces, diagnostics
1711 may be hard to interpret. For instance, when giving advice to the user
1712@@ -11,24 +11,24 @@
1713 <code class="code">_GLIBCXX_PROFILE_STACK_DEPTH</code> can be set
1714 to 0 if you are willing to give up call context information, or to a small
1715 positive value to reduce run time overhead.
1716- </p></div><div class="section" title="Symbolization of Instruction Addresses"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.symbols"/>Symbolization of Instruction Addresses</h3></div></div></div><p>
1717+ </p></div><div class="section" title="Symbolization of Instruction Addresses"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.symbols"></a>Symbolization of Instruction Addresses</h3></div></div></div><p>
1718 The profiling and analysis phases use only instruction addresses.
1719 An external utility such as addr2line is needed to postprocess the result.
1720 We do not plan to add symbolization support in the profile extension.
1721 This would require access to symbol tables, debug information tables,
1722 external programs or libraries and other system dependent information.
1723- </p></div><div class="section" title="Concurrency"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.concurrency"/>Concurrency</h3></div></div></div><p>
1724+ </p></div><div class="section" title="Concurrency"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.concurrency"></a>Concurrency</h3></div></div></div><p>
1725 Our current model is simplistic, but precise.
1726 We cannot afford to approximate because some of our diagnostics require
1727 precise matching of operations to container instance and call context.
1728 During profiling, we keep a single information table per diagnostic.
1729 There is a single lock per information table.
1730- </p></div><div class="section" title="Using the Standard Library in the Instrumentation Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stdlib-in-proflib"/>Using the Standard Library in the Instrumentation Implementation</h3></div></div></div><p>
1731+ </p></div><div class="section" title="Using the Standard Library in the Instrumentation Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stdlib-in-proflib"></a>Using the Standard Library in the Instrumentation Implementation</h3></div></div></div><p>
1732 As much as we would like to avoid uses of libstdc++ within our
1733 instrumentation library, containers such as unordered_map are very
1734 appealing. We plan to use them as long as they are named properly
1735 to avoid ambiguity.
1736- </p></div><div class="section" title="Malloc Hooks"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.malloc-hooks"/>Malloc Hooks</h3></div></div></div><p>
1737+ </p></div><div class="section" title="Malloc Hooks"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.malloc-hooks"></a>Malloc Hooks</h3></div></div></div><p>
1738 User applications/libraries can provide malloc hooks.
1739 When the implementation of the malloc hooks uses stdlibc++, there can
1740 be an infinite cycle between the profile mode instrumentation and the
1741@@ -42,10 +42,10 @@
1742 uses non-recursive locks.
1743 XXX: A definitive solution to this problem would be for the profile extension
1744 to use a custom allocator internally, and perhaps not to use libstdc++.
1745- </p></div><div class="section" title="Construction and Destruction of Global Objects"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.construction-destruction"/>Construction and Destruction of Global Objects</h3></div></div></div><p>
1746+ </p></div><div class="section" title="Construction and Destruction of Global Objects"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.construction-destruction"></a>Construction and Destruction of Global Objects</h3></div></div></div><p>
1747 The profiling library state is initialized at the first call to a profiling
1748 method. This allows us to record the construction of all global objects.
1749 However, we cannot do the same at destruction time. The trace is written
1750 by a function registered by <code class="code">atexit</code>, thus invoked by
1751 <code class="code">exit</code>.
1752- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s04.html">Prev</a> </td><td align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch19s06.html">Next</a></td></tr><tr><td align="left" valign="top">Empirical Cost Model </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Developer Information</td></tr></table></div></body></html>
1753+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch19s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch19s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Empirical Cost Model </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Developer Information</td></tr></table></div></body></html>
1754Index: libstdc++-v3/doc/html/manual/configure.html
1755===================================================================
9f95000d
AM
1756--- libstdc++-v3/doc/html/manual/configure.html (.../tags/gcc_4_7_2_release) (wersja 192468)
1757+++ libstdc++-v3/doc/html/manual/configure.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
1758@@ -1,6 +1,6 @@
1759 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1760-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1761-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Configure</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; configure&#10; , &#10; options&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="setup.html" title="Chapter 2. Setup"/><link rel="prev" href="setup.html" title="Chapter 2. Setup"/><link rel="next" href="make.html" title="Make"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Configure</th></tr><tr><td align="left"><a accesskey="p" href="setup.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td align="right"> <a accesskey="n" href="make.html">Next</a></td></tr></table><hr/></div><div class="section" title="Configure"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup.configure"/>Configure</h2></div></div></div><p>
1762+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1763+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Configure</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; configure&#10; , &#10; options&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="setup.html" title="Chapter 2. Setup" /><link rel="prev" href="setup.html" title="Chapter 2. Setup" /><link rel="next" href="make.html" title="Make" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Configure</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="setup.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td width="20%" align="right"> <a accesskey="n" href="make.html">Next</a></td></tr></table><hr /></div><div class="section" title="Configure"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.configure"></a>Configure</h2></div></div></div><p>
1764 When configuring libstdc++, you'll have to configure the entire
1765 <span class="emphasis"><em>gccsrcdir</em></span> directory. Consider using the
1766 toplevel gcc configuration option
1767@@ -10,7 +10,7 @@
1768 Here are all of the configure options specific to libstdc++. Keep
1769 in mind that
1770
1771- <a class="link" href="http://sourceware.org/autobook/autobook/autobook_14.html">they
1772+ <a class="link" href="http://sourceware.org/autobook/autobook/autobook_14.html" target="_top">they
1773 all have opposite forms as well</a> (enable/disable and
1774 with/without). The defaults are for the <span class="emphasis"><em>current
1775 development sources</em></span>, which may be different than those
1776@@ -53,7 +53,7 @@
1777 choices are 'ieee_1003.1-2001' to specify an X/Open, Standard Unix
1778 (IEEE Std. 1003.1-2001) model based on langinfo/iconv/catgets,
1779 'gnu' to specify a model based on functionality from the GNU C
1780- library (langinfo/iconv/gettext) (from <a class="link" href="http://sources.redhat.com/glibc/">glibc</a>, the GNU C
1781+ library (langinfo/iconv/gettext) (from <a class="link" href="http://sources.redhat.com/glibc/" target="_top">glibc</a>, the GNU C
1782 library), or 'generic' to use a generic "C"
1783 abstraction which consists of "C" locale info.
1784 </p><p>If not explicitly specified, the configure proccess tries
1785@@ -80,9 +80,13 @@
1786 (described next).
1787 </p></dd><dt><span class="term"><code class="code">--enable-threads=OPTION</code></span></dt><dd><p>Select a threading library. A full description is
1788 given in the
1789- general <a class="link" href="http://gcc.gnu.org/install/configure.html">compiler
1790+ general <a class="link" href="http://gcc.gnu.org/install/configure.html" target="_top">compiler
1791 configuration instructions</a>. This option can change the
1792 library ABI.
1793+ </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-threads</code></span></dt><dd><p>Enable C++11 threads support. If not explicitly specified,
1794+ the configure process enables it if possible. It defaults to 'off'
1795+ on Solaris 8 and 9, where it would break symbol versioning. This
1796+ option can change the library ABI.
1797 </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-time</code></span></dt><dd><p>This is an abbreviated form of
1798 <code class="code">'--enable-libstdcxx-time=yes'</code>(described next).
1799 </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-time=OPTION</code></span></dt><dd><p>Enables link-type checks for the availability of the
1800@@ -211,4 +215,4 @@
1801 <span class="emphasis"><em>freestanding</em></span> environment, in which only a
1802 minimal set of headers are provided. This option builds such an
1803 environment.
1804- </p></dd></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="setup.html">Prev</a> </td><td align="center"><a accesskey="u" href="setup.html">Up</a></td><td align="right"> <a accesskey="n" href="make.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 2. Setup </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Make</td></tr></table></div></body></html>
1805+ </p></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="setup.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="make.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 2. Setup </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Make</td></tr></table></div></body></html>
1806Index: libstdc++-v3/doc/html/manual/status.html
1807===================================================================
9f95000d
AM
1808--- libstdc++-v3/doc/html/manual/status.html (.../tags/gcc_4_7_2_release) (wersja 192468)
1809+++ libstdc++-v3/doc/html/manual/status.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
1810@@ -1,58 +1,58 @@
1811 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1812-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1813-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 1. Status</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="intro.html" title="Part I.  Introduction"/><link rel="prev" href="intro.html" title="Part I.  Introduction"/><link rel="next" href="license.html" title="License"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Status</th></tr><tr><td align="left"><a accesskey="p" href="intro.html">Prev</a> </td><th width="60%" align="center">Part I. 
1814+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1815+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 1. Status</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="intro.html" title="Part I.  Introduction" /><link rel="next" href="license.html" title="License" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Status</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="intro.html">Prev</a> </td><th width="60%" align="center">Part I. 
1816 Introduction
1817
1818-</th><td align="right"> <a accesskey="n" href="license.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 1. Status"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status"/>Chapter 1. Status</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></div><div class="section" title="Implementation Status"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status.iso"/>Implementation Status</h2></div></div></div><div class="section" title="C++ 1998/2003"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.1998"/>C++ 1998/2003</h3></div></div></div><div class="section" title="Implementation Status"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.status"/>Implementation Status</h4></div></div></div><p>
1819+</th><td width="20%" align="right"> <a accesskey="n" href="license.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 1. Status"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status"></a>Chapter 1. Status</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></div><div class="section" title="Implementation Status"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.iso"></a>Implementation Status</h2></div></div></div><div class="section" title="C++ 1998/2003"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.1998"></a>C++ 1998/2003</h3></div></div></div><div class="section" title="Implementation Status"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.status"></a>Implementation Status</h4></div></div></div><p>
1820 This status table is based on the table of contents of ISO/IEC 14882:2003.
1821 </p><p>
1822 This page describes the C++ support in mainline GCC SVN, not in any
1823 particular release.
1824-</p><div class="table"><a id="id399802"/><p class="title"><strong>Table 1.1. C++ 1998/2003 Implementation Status</strong></p><div class="table-contents"><table summary="C++ 1998/2003 Implementation Status" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Section</th><th style="text-align: left">Description</th><th style="text-align: left">Status</th><th style="text-align: left">Comments</th></tr></thead><tbody><tr><td style="text-align: left">
1825+</p><div class="table"><a id="id582573"></a><p class="title"><strong>Table 1.1. C++ 1998/2003 Implementation Status</strong></p><div class="table-contents"><table summary="C++ 1998/2003 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
1826 <span class="emphasis"><em>18</em></span>
1827- </td><td colspan="3" style="text-align: left">
1828+ </td><td colspan="3" align="left">
1829 <span class="emphasis"><em>Language support</em></span>
1830- </td></tr><tr><td style="text-align: left">18.1</td><td style="text-align: left">Types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.2</td><td style="text-align: left">Implementation properties</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.2.1</td><td style="text-align: left">Numeric Limits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.2.1.1</td><td style="text-align: left">Class template <code class="code">numeric_limits</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.2.1.2</td><td style="text-align: left"><code class="code">numeric_limits</code> members</td><td style="text-align: left">Y</td><td class="auto-generated"> </td></tr><tr><td style="text-align: left">18.2.1.3</td><td style="text-align: left"><code class="code">float_round_style</code></td><td style="text-align: left">Y</td><td class="auto-generated"> </td></tr><tr><td style="text-align: left">18.2.1.4</td><td style="text-align: left"><code class="code">float_denorm_style</code></td><td style="text-align: left">Y</td><td class="auto-generated"> </td></tr><tr><td style="text-align: left">18.2.1.5</td><td style="text-align: left"><code class="code">numeric_limits</code> specializations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.2.2</td><td style="text-align: left">C Library</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.3</td><td style="text-align: left">Start and termination</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.4</td><td style="text-align: left">Dynamic memory management</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.5</td><td style="text-align: left">Type identification</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.5.1</td><td style="text-align: left">Class type_info</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.5.2</td><td style="text-align: left">Class bad_cast</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.5.3</td><td style="text-align: left">Class bad_typeid</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.6</td><td style="text-align: left">Exception handling</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.6.1</td><td style="text-align: left">Class exception</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.6.2</td><td style="text-align: left">Violation exception-specifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.6.3</td><td style="text-align: left">Abnormal termination</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.6.4</td><td style="text-align: left"><code class="code">uncaught_exception</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.7</td><td style="text-align: left">Other runtime support</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1831+ </td></tr><tr><td align="left">18.1</td><td align="left">Types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.2</td><td align="left">Implementation properties</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.2.1</td><td align="left">Numeric Limits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.2.1.1</td><td align="left">Class template <code class="code">numeric_limits</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.2.1.2</td><td align="left"><code class="code">numeric_limits</code> members</td><td align="left">Y</td><td class="auto-generated"> </td></tr><tr><td align="left">18.2.1.3</td><td align="left"><code class="code">float_round_style</code></td><td align="left">Y</td><td class="auto-generated"> </td></tr><tr><td align="left">18.2.1.4</td><td align="left"><code class="code">float_denorm_style</code></td><td align="left">Y</td><td class="auto-generated"> </td></tr><tr><td align="left">18.2.1.5</td><td align="left"><code class="code">numeric_limits</code> specializations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.2.2</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3</td><td align="left">Start and termination</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.4</td><td align="left">Dynamic memory management</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.5</td><td align="left">Type identification</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.5.1</td><td align="left">Class type_info</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.5.2</td><td align="left">Class bad_cast</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.5.3</td><td align="left">Class bad_typeid</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.6</td><td align="left">Exception handling</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.6.1</td><td align="left">Class exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.6.2</td><td align="left">Violation exception-specifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.6.3</td><td align="left">Abnormal termination</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.6.4</td><td align="left"><code class="code">uncaught_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7</td><td align="left">Other runtime support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1832 <span class="emphasis"><em>19</em></span>
1833- </td><td colspan="3" style="text-align: left">
1834+ </td><td colspan="3" align="left">
1835 <span class="emphasis"><em>Diagnostics</em></span>
1836- </td></tr><tr><td style="text-align: left">19.1</td><td style="text-align: left">Exception classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.2</td><td style="text-align: left">Assertions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.3</td><td style="text-align: left">Error numbers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1837+ </td></tr><tr><td align="left">19.1</td><td align="left">Exception classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.2</td><td align="left">Assertions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.3</td><td align="left">Error numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1838 <span class="emphasis"><em>20</em></span>
1839- </td><td colspan="3" style="text-align: left">
1840+ </td><td colspan="3" align="left">
1841 <span class="emphasis"><em>General utilities</em></span>
1842- </td></tr><tr><td style="text-align: left">20.1</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2</td><td style="text-align: left">Utility components</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2.1</td><td style="text-align: left">Operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2.2</td><td style="text-align: left"><code class="code">pair</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3</td><td style="text-align: left">Function objects</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.1</td><td style="text-align: left">Base</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.2</td><td style="text-align: left">Arithmetic operation</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.3</td><td style="text-align: left">Comparisons</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.4</td><td style="text-align: left">Logical operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.5</td><td style="text-align: left">Negators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.6</td><td style="text-align: left">Binders</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.7</td><td style="text-align: left">Adaptors for pointers to functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.8</td><td style="text-align: left">Adaptors for pointers to members</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4</td><td style="text-align: left">Memory</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.1</td><td style="text-align: left">The default allocator</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2</td><td style="text-align: left">Raw storage iterator</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.3</td><td style="text-align: left">Temporary buffers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.4</td><td style="text-align: left">Specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.4.1</td><td style="text-align: left"><code class="code">uninitialized_copy</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.4.2</td><td style="text-align: left"><code class="code">uninitialized_fill</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.4.3</td><td style="text-align: left"><code class="code">uninitialized_fill_n</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.5</td><td style="text-align: left">Class template <code class="code">auto_ptr</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.6</td><td style="text-align: left">C library</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1843+ </td></tr><tr><td align="left">20.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2</td><td align="left">Utility components</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2.1</td><td align="left">Operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.2</td><td align="left"><code class="code">pair</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3</td><td align="left">Function objects</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.3.1</td><td align="left">Base</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.2</td><td align="left">Arithmetic operation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.3</td><td align="left">Comparisons</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.4</td><td align="left">Logical operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.5</td><td align="left">Negators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.6</td><td align="left">Binders</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.7</td><td align="left">Adaptors for pointers to functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.8</td><td align="left">Adaptors for pointers to members</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4</td><td align="left">Memory</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.1</td><td align="left">The default allocator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2</td><td align="left">Raw storage iterator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.3</td><td align="left">Temporary buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.4</td><td align="left">Specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.4.1</td><td align="left"><code class="code">uninitialized_copy</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.4.2</td><td align="left"><code class="code">uninitialized_fill</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.4.3</td><td align="left"><code class="code">uninitialized_fill_n</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.5</td><td align="left">Class template <code class="code">auto_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.6</td><td align="left">C library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1844 <span class="emphasis"><em>21</em></span>
1845- </td><td colspan="3" style="text-align: left">
1846+ </td><td colspan="3" align="left">
1847 <span class="emphasis"><em>Strings</em></span>
1848- </td></tr><tr><td style="text-align: left">21.1</td><td style="text-align: left">Character traits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.1.1</td><td style="text-align: left">Character traits requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.1.2</td><td style="text-align: left">traits typedef</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.1.3</td><td style="text-align: left"><code class="code">char_traits</code> specializations</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.1.3.1</td><td style="text-align: left">struct <code class="code">char_traits&lt;char&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.1.3.2</td><td style="text-align: left">struct <code class="code">char_traits&lt;wchar_t&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.2</td><td style="text-align: left">String classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.3</td><td style="text-align: left">Class template <code class="code">basic_string</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.4</td><td style="text-align: left">Null-terminated sequence utilities</td><td style="text-align: left">Y</td><td style="text-align: left">C library dependency</td></tr><tr><td style="text-align: left">
1849+ </td></tr><tr><td align="left">21.1</td><td align="left">Character traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.1.1</td><td align="left">Character traits requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.1.2</td><td align="left">traits typedef</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.1.3</td><td align="left"><code class="code">char_traits</code> specializations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.1.3.1</td><td align="left">struct <code class="code">char_traits&lt;char&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.1.3.2</td><td align="left">struct <code class="code">char_traits&lt;wchar_t&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2</td><td align="left">String classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.3</td><td align="left">Class template <code class="code">basic_string</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.4</td><td align="left">Null-terminated sequence utilities</td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">
1850 <span class="emphasis"><em>22</em></span>
1851- </td><td colspan="3" style="text-align: left">
1852+ </td><td colspan="3" align="left">
1853 <span class="emphasis"><em>Localization</em></span>
1854- </td></tr><tr><td style="text-align: left">22.1</td><td style="text-align: left">Locales</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.1.1</td><td style="text-align: left">Class <code class="code">locale</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.1.2</td><td style="text-align: left"><code class="code">locale</code> globals</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.1.3</td><td style="text-align: left">Convenience interfaces</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.1.3.1</td><td style="text-align: left">Character classification</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.1.3.2</td><td style="text-align: left">Character conversions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2</td><td style="text-align: left">Standard locale categories</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.1</td><td style="text-align: left"><code class="code">ctype</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.2</td><td style="text-align: left">Numeric</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.2.1</td><td style="text-align: left"><code class="code">num_get</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.2.2</td><td style="text-align: left"><code class="code">num_put</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.3</td><td style="text-align: left"><code class="code">num_punct</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.4</td><td style="text-align: left"><code class="code">collate</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.5</td><td style="text-align: left">Time</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.5.1</td><td style="text-align: left"><code class="code">time_get</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.5.2</td><td style="text-align: left"><code class="code">time_get_byname</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.5.3</td><td style="text-align: left"><code class="code">time_put</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.5.3</td><td style="text-align: left"><code class="code">time_put_byname</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.6</td><td style="text-align: left">Monetary</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.6.1</td><td style="text-align: left"><code class="code">money_get</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.6.2</td><td style="text-align: left"><code class="code">money_put</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.6.3</td><td style="text-align: left"><code class="code">money_punct</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.6.4</td><td style="text-align: left"><code class="code">money_punct_byname</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.7</td><td style="text-align: left"><code class="code">messages</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.8</td><td style="text-align: left">Program-defined facets</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3</td><td style="text-align: left">C Library Locales</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1855+ </td></tr><tr><td align="left">22.1</td><td align="left">Locales</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.1.1</td><td align="left">Class <code class="code">locale</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.1.2</td><td align="left"><code class="code">locale</code> globals</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.1.3</td><td align="left">Convenience interfaces</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.1.3.1</td><td align="left">Character classification</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.1.3.2</td><td align="left">Character conversions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2</td><td align="left">Standard locale categories</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.2.1</td><td align="left"><code class="code">ctype</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.2</td><td align="left">Numeric</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.2.2.1</td><td align="left"><code class="code">num_get</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.2.2</td><td align="left"><code class="code">num_put</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.3</td><td align="left"><code class="code">num_punct</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.4</td><td align="left"><code class="code">collate</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.5</td><td align="left">Time</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.2.5.1</td><td align="left"><code class="code">time_get</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.5.2</td><td align="left"><code class="code">time_get_byname</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.5.3</td><td align="left"><code class="code">time_put</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.5.3</td><td align="left"><code class="code">time_put_byname</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.6</td><td align="left">Monetary</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.2.6.1</td><td align="left"><code class="code">money_get</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.6.2</td><td align="left"><code class="code">money_put</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.6.3</td><td align="left"><code class="code">money_punct</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.6.4</td><td align="left"><code class="code">money_punct_byname</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.7</td><td align="left"><code class="code">messages</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.8</td><td align="left">Program-defined facets</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.3</td><td align="left">C Library Locales</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1856 <span class="emphasis"><em>23</em></span>
1857- </td><td colspan="3" style="text-align: left">
1858+ </td><td colspan="3" align="left">
1859 <span class="emphasis"><em>Containers</em></span>
1860- </td></tr><tr><td style="text-align: left">23.1</td><td style="text-align: left">Container requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2</td><td style="text-align: left">Sequence containers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.1</td><td style="text-align: left">Class template <code class="code">deque</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.2</td><td style="text-align: left">Class template <code class="code">list</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.3</td><td style="text-align: left">Adaptors</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.3.1</td><td style="text-align: left">Class template <code class="code">queue</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.3.2</td><td style="text-align: left">Class template <code class="code">priority_queue</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.3.3</td><td style="text-align: left">Class template <code class="code">stack</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.4</td><td style="text-align: left">Class template <code class="code">vector</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.5</td><td style="text-align: left">Class <code class="code">vector&lt;bool&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3</td><td style="text-align: left">Associative containers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.1</td><td style="text-align: left">Class template <code class="code">map</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.2</td><td style="text-align: left">Class template <code class="code">multimap</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.3</td><td style="text-align: left">Class template <code class="code">set</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.4</td><td style="text-align: left">Class template <code class="code">multiset</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1861+ </td></tr><tr><td align="left">23.1</td><td align="left">Container requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2</td><td align="left">Sequence containers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.2.1</td><td align="left">Class template <code class="code">deque</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.2</td><td align="left">Class template <code class="code">list</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.3</td><td align="left">Adaptors</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.2.3.1</td><td align="left">Class template <code class="code">queue</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.3.2</td><td align="left">Class template <code class="code">priority_queue</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.3.3</td><td align="left">Class template <code class="code">stack</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.4</td><td align="left">Class template <code class="code">vector</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.5</td><td align="left">Class <code class="code">vector&lt;bool&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3</td><td align="left">Associative containers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.3.1</td><td align="left">Class template <code class="code">map</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.2</td><td align="left">Class template <code class="code">multimap</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.3</td><td align="left">Class template <code class="code">set</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.4</td><td align="left">Class template <code class="code">multiset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1862 <span class="emphasis"><em>24</em></span>
1863- </td><td colspan="3" style="text-align: left">
1864+ </td><td colspan="3" align="left">
1865 <span class="emphasis"><em>Iterators</em></span>
1866- </td></tr><tr><td style="text-align: left">24.1</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.2</td><td style="text-align: left">Header <code class="code">&lt;iterator&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.3</td><td style="text-align: left">Iterator primitives</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.4</td><td style="text-align: left">Predefined iterators and Iterator adaptors</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.4.1</td><td style="text-align: left">Reverse iterators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.4.2</td><td style="text-align: left">Insert iterators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5</td><td style="text-align: left">Stream iterators</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.1</td><td style="text-align: left">Class template <code class="code">istream_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.2</td><td style="text-align: left">Class template <code class="code">ostream_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.3</td><td style="text-align: left">Class template <code class="code">istreambuf_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.4</td><td style="text-align: left">Class template <code class="code">ostreambuf_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1867+ </td></tr><tr><td align="left">24.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.2</td><td align="left">Header <code class="code">&lt;iterator&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.3</td><td align="left">Iterator primitives</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4</td><td align="left">Predefined iterators and Iterator adaptors</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">24.4.1</td><td align="left">Reverse iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4.2</td><td align="left">Insert iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5</td><td align="left">Stream iterators</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">24.5.1</td><td align="left">Class template <code class="code">istream_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5.2</td><td align="left">Class template <code class="code">ostream_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5.3</td><td align="left">Class template <code class="code">istreambuf_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5.4</td><td align="left">Class template <code class="code">ostreambuf_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1868 <span class="emphasis"><em>25</em></span>
1869- </td><td colspan="3" style="text-align: left">
1870+ </td><td colspan="3" align="left">
1871 <span class="emphasis"><em>Algorithms</em></span>
1872- </td></tr><tr><td style="text-align: left">25.1</td><td style="text-align: left">Non-modifying sequence operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.2</td><td style="text-align: left">Mutating sequence operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.3</td><td style="text-align: left">Sorting and related operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.4</td><td style="text-align: left">C library algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1873+ </td></tr><tr><td align="left">25.1</td><td align="left">Non-modifying sequence operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.2</td><td align="left">Mutating sequence operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.3</td><td align="left">Sorting and related operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.4</td><td align="left">C library algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1874 <span class="emphasis"><em>26</em></span>
1875- </td><td colspan="3" style="text-align: left">
1876+ </td><td colspan="3" align="left">
1877 <span class="emphasis"><em>Numerics</em></span>
1878- </td></tr><tr><td style="text-align: left">26.1</td><td style="text-align: left">Numeric type requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.2</td><td style="text-align: left">Complex numbers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3</td><td style="text-align: left">Numeric arrays</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.1</td><td style="text-align: left">Header <code class="code">&lt;valarray&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.2</td><td style="text-align: left">Class template <code class="code">valarray</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.3</td><td style="text-align: left"><code class="code">valarray</code> non-member operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.4</td><td style="text-align: left">Class <code class="code">slice</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.5</td><td style="text-align: left">Class template <code class="code">slice_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.6</td><td style="text-align: left">Class <code class="code">gslice</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.7</td><td style="text-align: left">Class template <code class="code">gslice_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.8</td><td style="text-align: left">Class template <code class="code">mask_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.9</td><td style="text-align: left">Class template <code class="code">indirect_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4</td><td style="text-align: left">Generalized numeric operations</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4.1</td><td style="text-align: left"><code class="code">accumulate</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4.2</td><td style="text-align: left"><code class="code">inner_product</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4.3</td><td style="text-align: left"><code class="code">partial_sum</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4.4</td><td style="text-align: left"><code class="code">adjacent_difference</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4.5</td><td style="text-align: left">iota</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5</td><td style="text-align: left">C Library</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1879+ </td></tr><tr><td align="left">26.1</td><td align="left">Numeric type requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.2</td><td align="left">Complex numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3</td><td align="left">Numeric arrays</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.3.1</td><td align="left">Header <code class="code">&lt;valarray&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.2</td><td align="left">Class template <code class="code">valarray</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.3</td><td align="left"><code class="code">valarray</code> non-member operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.4</td><td align="left">Class <code class="code">slice</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.5</td><td align="left">Class template <code class="code">slice_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.6</td><td align="left">Class <code class="code">gslice</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.7</td><td align="left">Class template <code class="code">gslice_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.8</td><td align="left">Class template <code class="code">mask_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.9</td><td align="left">Class template <code class="code">indirect_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4</td><td align="left">Generalized numeric operations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.4.1</td><td align="left"><code class="code">accumulate</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4.2</td><td align="left"><code class="code">inner_product</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4.3</td><td align="left"><code class="code">partial_sum</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4.4</td><td align="left"><code class="code">adjacent_difference</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4.5</td><td align="left">iota</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1880 <span class="emphasis"><em>27</em></span>
1881- </td><td colspan="3" style="text-align: left">
1882+ </td><td colspan="3" align="left">
1883 <span class="emphasis"><em>Input/output</em></span>
1884- </td></tr><tr><td style="text-align: left">27.1</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.2</td><td style="text-align: left">Forward declarations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.3</td><td style="text-align: left">Standard iostream objects</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.3.1</td><td style="text-align: left">Narrow stream objects</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.3.2</td><td style="text-align: left">Wide stream objects</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.4</td><td style="text-align: left">Iostreams base classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.5</td><td style="text-align: left">Stream buffers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.6</td><td style="text-align: left">Formatting and manipulators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.7</td><td style="text-align: left">String-based streams</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.8</td><td style="text-align: left">File-based streams</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1885+ </td></tr><tr><td align="left">27.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2</td><td align="left">Forward declarations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.3</td><td align="left">Standard iostream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.3.1</td><td align="left">Narrow stream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.3.2</td><td align="left">Wide stream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4</td><td align="left">Iostreams base classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.5</td><td align="left">Stream buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.6</td><td align="left">Formatting and manipulators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.7</td><td align="left">String-based streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.8</td><td align="left">File-based streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1886 <span class="emphasis"><em>Appendix D</em></span>
1887- </td><td colspan="3" style="text-align: left">
1888+ </td><td colspan="3" align="left">
1889 <span class="emphasis"><em>Compatibility features</em></span>
1890- </td></tr><tr><td style="text-align: left">D.1</td><td style="text-align: left">Increment operator with bool operand</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.2</td><td style="text-align: left"><code class="code">static</code> keyword</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.3</td><td style="text-align: left">Access declarations</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.4</td><td style="text-align: left">Implicit conversion from const strings</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.5</td><td style="text-align: left">C standard library headers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.6</td><td style="text-align: left">Old iostreams members</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.7</td><td style="text-align: left">char* streams</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr></tbody></table></div></div><br class="table-break"/></div><div class="section" title="Implementation Specific Behavior"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.specific"/>Implementation Specific Behavior</h4></div></div></div><p>
1891+ </td></tr><tr><td align="left">D.1</td><td align="left">Increment operator with bool operand</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.2</td><td align="left"><code class="code">static</code> keyword</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.3</td><td align="left">Access declarations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.4</td><td align="left">Implicit conversion from const strings</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left">Old iostreams members</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left">char* streams</td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section" title="Implementation Specific Behavior"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.specific"></a>Implementation Specific Behavior</h4></div></div></div><p>
1892 The ISO standard defines the following phrase:
1893 </p><div class="blockquote"><blockquote class="blockquote"><div class="variablelist"><dl><dt><span class="term">
1894 <code class="code">[1.3.5] implementation-defined behavior</code>
1895@@ -142,8 +142,8 @@
1896 <a class="link" href="io.html" title="Chapter 13.  Input and Output">in this chapter</a>.
1897 </p><p><span class="emphasis"><em>[27.8.1.4]/16</em></span> Calling <code class="code">fstream::sync</code> when
1898 a get area exists will... whatever <code class="code">fflush()</code> does, I think.
1899- </p></div></div><div class="section" title="C++ 2011"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.2011"/>C++ 2011</h3></div></div></div><p>
1900-<a id="status.iso.200x"/>
1901+ </p></div></div><div class="section" title="C++ 2011"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.2011"></a>C++ 2011</h3></div></div></div><p>
1902+<a id="status.iso.200x"></a>
1903 This table is based on the table of contents of ISO/IEC
1904 JTC1 SC22 WG21 Doc No: N3290 Date: 2011-04-11
1905 Final Draft International Standard, Standard for Programming Language C++
1906@@ -158,25 +158,24 @@
1907 </p><p>
1908 This page describes the C++11 support in mainline GCC SVN, not in any
1909 particular release.
1910-</p><div class="table"><a id="id431070"/><p class="title"><strong>Table 1.2. C++ 2011 Implementation Status</strong></p><div class="table-contents"><table summary="C++ 2011 Implementation Status" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Section</th><th style="text-align: left">Description</th><th style="text-align: left">Status</th><th style="text-align: left">Comments</th></tr></thead><tbody><tr><td style="text-align: left">
1911+</p><div class="table"><a id="id629236"></a><p class="title"><strong>Table 1.2. C++ 2011 Implementation Status</strong></p><div class="table-contents"><table summary="C++ 2011 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
1912 <span class="emphasis"><em>18</em></span>
1913- </td><td colspan="3" style="text-align: left">
1914+ </td><td colspan="3" align="left">
1915 <span class="emphasis"><em>Language support</em></span>
1916- </td></tr><tr><td style="text-align: left">18.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">18.2</td><td style="text-align: left">Types</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing offsetof, max_align_t</td></tr><tr><td style="text-align: left">18.3</td><td style="text-align: left">Implementation properties</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.3.2</td><td style="text-align: left">Numeric Limits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.3.2.3</td><td style="text-align: left">Class template <code class="code">numeric_limits</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.3.2.4</td><td style="text-align: left"><code class="code">numeric_limits</code> members</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">18.3.2.5</td><td style="text-align: left"><code class="code">float_round_style</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">18.3.2.6</td><td style="text-align: left"><code class="code">float_denorm_style</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.3.2.7</td><td style="text-align: left"><code class="code">numeric_limits</code> specializations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.3.3</td><td style="text-align: left">C Library</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.4</td><td style="text-align: left">Integer types</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.4.1</td><td style="text-align: left">Header <code class="code">&lt;cstdint&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">18.5</td><td style="text-align: left">Start and termination</td><td style="text-align: left">Partial</td><td style="text-align: left">C library dependency for quick_exit, at_quick_exit</td></tr><tr><td style="text-align: left">18.6</td><td style="text-align: left">Dynamic memory management</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.7</td><td style="text-align: left">Type identification</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.7.1</td><td style="text-align: left">Class type_info</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.7.2</td><td style="text-align: left">Class bad_cast</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.7.3</td><td style="text-align: left">Class bad_typeid</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8</td><td style="text-align: left">Exception handling</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8.1</td><td style="text-align: left">Class exception</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8.2</td><td style="text-align: left">Class bad_exception</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8.3</td><td style="text-align: left">Abnormal termination</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8.4</td><td style="text-align: left"><code class="code">uncaught_exception</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8.5</td><td style="text-align: left">Exception Propagation</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8.6</td><td style="text-align: left"><code class="code">nested_exception</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.9</td><td style="text-align: left">Initializer lists</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.9.1</td><td style="text-align: left">Initializer list constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.9.2</td><td style="text-align: left">Initializer list access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.9.3</td><td style="text-align: left">Initializer list range access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.10</td><td style="text-align: left">Other runtime support</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1917+ </td></tr><tr><td align="left">18.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">18.2</td><td align="left">Types</td><td align="left">Partial</td><td align="left">Missing offsetof, max_align_t</td></tr><tr><td align="left">18.3</td><td align="left">Implementation properties</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.3.2</td><td align="left">Numeric Limits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.3.2.3</td><td align="left">Class template <code class="code">numeric_limits</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3.2.4</td><td align="left"><code class="code">numeric_limits</code> members</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">18.3.2.5</td><td align="left"><code class="code">float_round_style</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">18.3.2.6</td><td align="left"><code class="code">float_denorm_style</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">18.3.2.7</td><td align="left"><code class="code">numeric_limits</code> specializations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3.3</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.4</td><td align="left">Integer types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.4.1</td><td align="left">Header <code class="code">&lt;cstdint&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">18.5</td><td align="left">Start and termination</td><td align="left">Partial</td><td align="left">C library dependency for quick_exit, at_quick_exit</td></tr><tr><td align="left">18.6</td><td align="left">Dynamic memory management</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7</td><td align="left">Type identification</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.7.1</td><td align="left">Class type_info</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7.2</td><td align="left">Class bad_cast</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7.3</td><td align="left">Class bad_typeid</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8</td><td align="left">Exception handling</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.8.1</td><td align="left">Class exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.2</td><td align="left">Class bad_exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.3</td><td align="left">Abnormal termination</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.4</td><td align="left"><code class="code">uncaught_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.5</td><td align="left">Exception Propagation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.6</td><td align="left"><code class="code">nested_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9</td><td align="left">Initializer lists</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.9.1</td><td align="left">Initializer list constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9.2</td><td align="left">Initializer list access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9.3</td><td align="left">Initializer list range access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.10</td><td align="left">Other runtime support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1918 <span class="emphasis"><em>19</em></span>
1919- </td><td colspan="3" style="text-align: left">
1920+ </td><td colspan="3" align="left">
1921 <span class="emphasis"><em>Diagnostics</em></span>
1922- </td></tr><tr><td style="text-align: left">19.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.2</td><td style="text-align: left">Exception classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.3</td><td style="text-align: left">Assertions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.4</td><td style="text-align: left">Error numbers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.5</td><td style="text-align: left">System error support</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.5.1</td><td style="text-align: left">Class <code class="code">error_category</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.5.2</td><td style="text-align: left">Class <code class="code">error_code</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.5.3</td><td style="text-align: left">Class <code class="code">error_condition</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.5.4</td><td style="text-align: left">Comparison operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.5.5</td><td style="text-align: left">Class <code class="code">system_error</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1923+ </td></tr><tr><td align="left">19.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.2</td><td align="left">Exception classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.3</td><td align="left">Assertions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.4</td><td align="left">Error numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5</td><td align="left">System error support</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">19.5.1</td><td align="left">Class <code class="code">error_category</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.2</td><td align="left">Class <code class="code">error_code</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.3</td><td align="left">Class <code class="code">error_condition</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.4</td><td align="left">Comparison operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.5</td><td align="left">Class <code class="code">system_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1924 <span class="emphasis"><em>20</em></span>
1925- </td><td colspan="3" style="text-align: left">
1926+ </td><td colspan="3" align="left">
1927 <span class="emphasis"><em>General utilities</em></span>
1928- </td></tr><tr><td style="text-align: left">20.1</td><td style="text-align: left">General</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2</td><td style="text-align: left">Utility components</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2.1</td><td style="text-align: left">Operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2.2</td><td style="text-align: left">Swap</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2.3</td><td style="text-align: left"><code class="code">forward</code> and <code class="code">move</code> helpers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2.4</td><td style="text-align: left">Function template <code class="code">declval</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3</td><td style="text-align: left">Pairs</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.1</td><td style="text-align: left">In general</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.3.2</td><td style="text-align: left">Class template <code class="code">pair</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Piecewise construction requires an accessible copy/move
1929- constructor.</td></tr><tr><td style="text-align: left">20.3.3</td><td style="text-align: left">Specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.4</td><td style="text-align: left">Tuple-like access to <code class="code">pair</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.5</td><td style="text-align: left">Piecewise construction</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4</td><td style="text-align: left">Tuples</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.1</td><td style="text-align: left">In general</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2</td><td style="text-align: left">Class template <code class="code">tuple</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.1</td><td style="text-align: left">Construction</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.2</td><td style="text-align: left">Assignment</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.3</td><td style="text-align: left">Swap</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.4</td><td style="text-align: left">Tuple creation functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.5</td><td style="text-align: left">Tuple helper classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.6</td><td style="text-align: left">Element access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.7</td><td style="text-align: left">Relational operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.8</td><td style="text-align: left">Tuple traits</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.9</td><td style="text-align: left">Tuple specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.5</td><td style="text-align: left">Class template <code class="code">bitset</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.5.1</td><td style="text-align: left"><code class="code">bitset</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.5.2</td><td style="text-align: left"><code class="code">bitset</code> members</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.5.3</td><td style="text-align: left"><code class="code">bitset</code> hash support</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.5.4</td><td style="text-align: left"><code class="code">bitset</code> operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6</td><td style="text-align: left">Memory</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.1</td><td style="text-align: left">In general</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.2</td><td style="text-align: left">Header <code class="code">&lt;memory&gt;</code> synopsis</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.6.3</td><td style="text-align: left">Pointer traits</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing rebind</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.6.4</td><td style="text-align: left">Pointer safety</td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">20.6.5</td><td style="text-align: left">Align</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.6</td><td style="text-align: left">Allocator argument tag</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.7</td><td style="text-align: left"><code class="code">uses_allocator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.6.8</td><td style="text-align: left">Allocator traits</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing rebind_alloc and rebind_traits</td></tr><tr><td style="text-align: left">20.6.9</td><td style="text-align: left">The default allocator</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.10</td><td style="text-align: left">Raw storage iterator</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.11</td><td style="text-align: left">Temporary buffers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.12</td><td style="text-align: left">Specialized algorithms</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.12.1</td><td style="text-align: left"><code class="code">addressof</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.12.2</td><td style="text-align: left"><code class="code">uninitialized_copy</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.12.3</td><td style="text-align: left"><code class="code">uninitialized_fill</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.12.4</td><td style="text-align: left"><code class="code">uninitialized_fill_n</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.13</td><td style="text-align: left">C library</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7</td><td style="text-align: left">Smart pointers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7.1</td><td style="text-align: left">Class template <code class="code">unique_ptr</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7.2</td><td style="text-align: left">Shared-ownership pointers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7.2.1</td><td style="text-align: left">Class <code class="code">bad_weak_ptr</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7.2.2</td><td style="text-align: left">Class template <code class="code">shared_ptr</code></td><td style="text-align: left">Y</td><td style="text-align: left">
1930+ </td></tr><tr><td align="left">20.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2</td><td align="left">Utility components</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2.1</td><td align="left">Operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.2</td><td align="left">Swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.3</td><td align="left"><code class="code">forward</code> and <code class="code">move</code> helpers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.4</td><td align="left">Function template <code class="code">declval</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3</td><td align="left">Pairs</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.3.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.3.2</td><td align="left">Class template <code class="code">pair</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.3</td><td align="left">Specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.4</td><td align="left">Tuple-like access to <code class="code">pair</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.5</td><td align="left">Piecewise construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4</td><td align="left">Tuples</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.2</td><td align="left">Class template <code class="code">tuple</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.2.1</td><td align="left">Construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.2</td><td align="left">Assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.3</td><td align="left">Swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.4</td><td align="left">Tuple creation functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.5</td><td align="left">Tuple helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.6</td><td align="left">Element access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.7</td><td align="left">Relational operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.8</td><td align="left">Tuple traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.9</td><td align="left">Tuple specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5</td><td align="left">Class template <code class="code">bitset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.1</td><td align="left"><code class="code">bitset</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.2</td><td align="left"><code class="code">bitset</code> members</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.3</td><td align="left"><code class="code">bitset</code> hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.4</td><td align="left"><code class="code">bitset</code> operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6</td><td align="left">Memory</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.2</td><td align="left">Header <code class="code">&lt;memory&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.3</td><td align="left">Pointer traits</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.6.4</td><td align="left">Pointer safety</td><td align="left">Partial</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">20.6.5</td><td align="left">Align</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">20.6.6</td><td align="left">Allocator argument tag</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.7</td><td align="left"><code class="code">uses_allocator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.8</td><td align="left">Allocator traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.9</td><td align="left">The default allocator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.10</td><td align="left">Raw storage iterator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.11</td><td align="left">Temporary buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12</td><td align="left">Specialized algorithms</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.12.1</td><td align="left"><code class="code">addressof</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.2</td><td align="left"><code class="code">uninitialized_copy</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.3</td><td align="left"><code class="code">uninitialized_fill</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.4</td><td align="left"><code class="code">uninitialized_fill_n</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.13</td><td align="left">C library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.7.1</td><td align="left">Class template <code class="code">unique_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2</td><td align="left">Shared-ownership pointers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.1</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.2</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left">Y</td><td align="left">
1931 <p>
1932 Uses code from
1933- <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</a>.
1934+ <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">boost::shared_ptr</a>.
1935 </p>
1936- </td></tr><tr><td style="text-align: left">20.7.2.3</td><td style="text-align: left">Class template <code class="code">weak_ptr</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7.2.4</td><td style="text-align: left">Class template <code class="code">emable_shared_from_this</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.7.2.5</td><td style="text-align: left"><code class="code">shared_ptr</code> atomic access</td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7.2.6</td><td style="text-align: left">Smart pointer hash support</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8</td><td style="text-align: left">Function objects</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.1</td><td style="text-align: left">Definitions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.2</td><td style="text-align: left">Requirements</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.3</td><td style="text-align: left">Class template <code class="code">reference_wrapper</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.4</td><td style="text-align: left">Arithmetic operation</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.5</td><td style="text-align: left">Comparisons</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.6</td><td style="text-align: left">Logical operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.7</td><td style="text-align: left">Bitwise operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.8</td><td style="text-align: left">Negators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.9</td><td style="text-align: left">Function template <code class="code">bind</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.8.10</td><td style="text-align: left">Function template <code class="code">mem_fn</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing overloads for reference-qualified member functions</td></tr><tr><td style="text-align: left">20.8.11</td><td style="text-align: left">Polymorphic function wrappers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.11.1</td><td style="text-align: left">Class <code class="code">bad_function_call</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.8.11.2</td><td style="text-align: left">Class template <code class="code">function</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing allocator support</td></tr><tr><td style="text-align: left">20.8.12</td><td style="text-align: left">Class template <code class="code">hash</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9</td><td style="text-align: left">Metaprogramming and type traits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.1</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.2</td><td style="text-align: left">Header <code class="code">&lt;type_traits&gt;</code> synopsis</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.3</td><td style="text-align: left">Helper classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.4</td><td style="text-align: left">Unary Type Traits</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.4.1</td><td style="text-align: left">Primary type categories</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.4.2</td><td style="text-align: left">Composite type traits</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.9.4.3</td><td style="text-align: left">Type properties</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing is_trivially_copyable,
1937+ </td></tr><tr><td align="left">20.7.2.3</td><td align="left">Class template <code class="code">weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.4</td><td align="left">Class template <code class="code">emable_shared_from_this</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.7.2.5</td><td align="left"><code class="code">shared_ptr</code> atomic access</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">20.7.2.6</td><td align="left">Smart pointer hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8</td><td align="left">Function objects</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.1</td><td align="left">Definitions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.2</td><td align="left">Requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.3</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.4</td><td align="left">Arithmetic operation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.5</td><td align="left">Comparisons</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.6</td><td align="left">Logical operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.7</td><td align="left">Bitwise operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.8</td><td align="left">Negators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.9</td><td align="left">Function template <code class="code">bind</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.8.10</td><td align="left">Function template <code class="code">mem_fn</code></td><td align="left">Partial</td><td align="left">Missing overloads for reference-qualified member functions</td></tr><tr><td align="left">20.8.11</td><td align="left">Polymorphic function wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.11.1</td><td align="left">Class <code class="code">bad_function_call</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.8.11.2</td><td align="left">Class template <code class="code">function</code></td><td align="left">Partial</td><td align="left">Missing allocator support</td></tr><tr><td align="left">20.8.12</td><td align="left">Class template <code class="code">hash</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9</td><td align="left">Metaprogramming and type traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.2</td><td align="left">Header <code class="code">&lt;type_traits&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.3</td><td align="left">Helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4</td><td align="left">Unary Type Traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4.1</td><td align="left">Primary type categories</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4.2</td><td align="left">Composite type traits</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.9.4.3</td><td align="left">Type properties</td><td align="left">Partial</td><td align="left">Missing is_trivially_copyable,
1938 is_assignable, is_copy_assignable, is_move_assignable,
1939 is_trivially_constructible, is_trivially_default_constructible,
1940 is_trivially_copy_constructible, is_trivially_move_constructible,
1941@@ -186,62 +185,59 @@
1942 is_nothrow_assignable,
1943 is_nothrow_copy_assignable, is_nothrow_move_assignable,
1944 is_nothrow_destructible
1945- </td></tr><tr><td style="text-align: left">20.9.5</td><td style="text-align: left">Type property queries</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.6</td><td style="text-align: left">Relationships between types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7</td><td style="text-align: left">Transformations between types</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7.1</td><td style="text-align: left">Const-volatile modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7.2</td><td style="text-align: left">Reference modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7.3</td><td style="text-align: left">Sign modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7.4</td><td style="text-align: left">Array modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7.5</td><td style="text-align: left">Pointer modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7.6</td><td style="text-align: left">Other transformations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10</td><td style="text-align: left">Compile-time rational arithmetic</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10.1</td><td style="text-align: left">In general</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10.2</td><td style="text-align: left">Header <code class="code">&lt;ratio&gt;</code> synopsis</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10.3</td><td style="text-align: left">Class template <code class="code">ratio</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10.4</td><td style="text-align: left">Arithmetic on <code class="code">ratio</code>s</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10.5</td><td style="text-align: left">Comparison of <code class="code">ratio</code>s</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10.6</td><td style="text-align: left">SI types for <code class="code">ratio</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11</td><td style="text-align: left">Time utilities</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.3</td><td style="text-align: left">Clock requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.4</td><td style="text-align: left">Time-related traits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.4.1</td><td style="text-align: left"><code class="code">treat_as_floating_point</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.4.2</td><td style="text-align: left"><code class="code">duration_values</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.4.3</td><td style="text-align: left">Specializations of <code class="code">common_type</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.11.5</td><td style="text-align: left">Class template <code class="code">duration</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing constexpr for non-member arithmetic operations</td></tr><tr><td style="text-align: left">20.11.6</td><td style="text-align: left">Class template <code class="code">time_point</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.7</td><td style="text-align: left">Clocks</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.7.1</td><td style="text-align: left">Class <code class="code">system_clock</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">20.11.7.2</td><td style="text-align: left">Class <code class="code">steady_clock</code></td><td style="text-align: left">N</td><td style="text-align: left">Support old <code class="code">monotonic_clock</code> spec instead</td></tr><tr><td style="text-align: left">20.11.7.3</td><td style="text-align: left">Class <code class="code">high_resolution_clock</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.8</td><td style="text-align: left">Date and time functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.12</td><td style="text-align: left">Scoped allocator adaptor</td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.12.1</td><td style="text-align: left">Header <code class="code">&lt;scoped_allocator&gt;</code> synopsis</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.12.2</td><td style="text-align: left">Scoped allocator adaptor member types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.12.3</td><td style="text-align: left">Scoped allocator adaptor constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.12.4</td><td style="text-align: left">Scoped allocator adaptor members</td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.12.5</td><td style="text-align: left">Scoped allocator operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.13</td><td style="text-align: left">Class <code class="code">type_index</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1946+ </td></tr><tr><td align="left">20.9.5</td><td align="left">Type property queries</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.6</td><td align="left">Relationships between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7</td><td align="left">Transformations between types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.7.1</td><td align="left">Const-volatile modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.2</td><td align="left">Reference modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.3</td><td align="left">Sign modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.4</td><td align="left">Array modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.5</td><td align="left">Pointer modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.6</td><td align="left">Other transformations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10</td><td align="left">Compile-time rational arithmetic</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.2</td><td align="left">Header <code class="code">&lt;ratio&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.3</td><td align="left">Class template <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.4</td><td align="left">Arithmetic on <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.5</td><td align="left">Comparison of <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.6</td><td align="left">SI types for <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11</td><td align="left">Time utilities</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.3</td><td align="left">Clock requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4</td><td align="left">Time-related traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.4.1</td><td align="left"><code class="code">treat_as_floating_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.2</td><td align="left"><code class="code">duration_values</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.3</td><td align="left">Specializations of <code class="code">common_type</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.11.5</td><td align="left">Class template <code class="code">duration</code></td><td align="left">Partial</td><td align="left">Missing constexpr for non-member arithmetic operations</td></tr><tr><td align="left">20.11.6</td><td align="left">Class template <code class="code">time_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7</td><td align="left">Clocks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.7.1</td><td align="left">Class <code class="code">system_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.2</td><td align="left">Class <code class="code">steady_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.3</td><td align="left">Class <code class="code">high_resolution_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.8</td><td align="left">Date and time functions</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.12</td><td align="left">Scoped allocator adaptor</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">20.12.1</td><td align="left">Header <code class="code">&lt;scoped_allocator&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.12.2</td><td align="left">Scoped allocator adaptor member types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.3</td><td align="left">Scoped allocator adaptor constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.12.4</td><td align="left">Scoped allocator adaptor members</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">20.12.5</td><td align="left">Scoped allocator operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.13</td><td align="left">Class <code class="code">type_index</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1947 <span class="emphasis"><em>21</em></span>
1948- </td><td colspan="3" style="text-align: left">
1949+ </td><td colspan="3" align="left">
1950 <span class="emphasis"><em>Strings</em></span>
1951- </td></tr><tr><td style="text-align: left">21.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.2</td><td style="text-align: left">Character traits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.2.1</td><td style="text-align: left">Character traits requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.2.2</td><td style="text-align: left">traits typedefs</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.2.3</td><td style="text-align: left"><code class="code">char_traits</code> specializations</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">21.2.3.1</td><td style="text-align: left">struct <code class="code">char_traits&lt;char&gt;</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing constexpr</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">21.2.3.2</td><td style="text-align: left">struct <code class="code">char_traits&lt;char16_t&gt;</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">21.2.3.3</td><td style="text-align: left">struct <code class="code">char_traits&lt;char32_t&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.2.3.4</td><td style="text-align: left">struct <code class="code">char_traits&lt;wchar_t&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.3</td><td style="text-align: left">String classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">21.4</td><td style="text-align: left">Class template <code class="code">basic_string</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing pop_back</td></tr><tr><td style="text-align: left">21.5</td><td style="text-align: left">Numeric Conversions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.6</td><td style="text-align: left">Hash support</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">21.7</td><td style="text-align: left">Null-terminated sequence utilities</td><td style="text-align: left">Partial</td><td style="text-align: left">C library dependency.
1952+ </td></tr><tr><td align="left">21.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2</td><td align="left">Character traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.2.1</td><td align="left">Character traits requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.2</td><td align="left">traits typedefs</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.3</td><td align="left"><code class="code">char_traits</code> specializations</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">21.2.3.1</td><td align="left">struct <code class="code">char_traits&lt;char&gt;</code></td><td align="left">Partial</td><td align="left">Missing constexpr</td></tr><tr bgcolor="#B0B0B0"><td align="left">21.2.3.2</td><td align="left">struct <code class="code">char_traits&lt;char16_t&gt;</code></td><td align="left">Partial</td><td align="left">Missing constexpr</td></tr><tr><td align="left">21.2.3.3</td><td align="left">struct <code class="code">char_traits&lt;char32_t&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.3.4</td><td align="left">struct <code class="code">char_traits&lt;wchar_t&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.3</td><td align="left">String classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.4</td><td align="left">Class template <code class="code">basic_string</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.5</td><td align="left">Numeric Conversions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.6</td><td align="left">Hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">21.7</td><td align="left">Null-terminated sequence utilities</td><td align="left">Partial</td><td align="left">C library dependency.
1953 Missing <code class="filename">&lt;cuchar&gt;</code>
1954- </td></tr><tr><td style="text-align: left">
1955+ </td></tr><tr><td align="left">
1956 <span class="emphasis"><em>22</em></span>
1957- </td><td colspan="3" style="text-align: left">
1958+ </td><td colspan="3" align="left">
1959 <span class="emphasis"><em>Localization</em></span>
1960- </td></tr><tr><td style="text-align: left">22.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2</td><td style="text-align: left">Header <code class="code">&lt;locale&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3</td><td style="text-align: left">Locales</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3.1</td><td style="text-align: left">Class <code class="code">locale</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3.2</td><td style="text-align: left"><code class="code">locale</code> globals</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3.3</td><td style="text-align: left">Convenience interfaces</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3.3.1</td><td style="text-align: left">Character classification</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3.3.2</td><td style="text-align: left">Conversions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3.3.2.1</td><td style="text-align: left">Character conversions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">22.3.3.2.2</td><td style="text-align: left"><code class="code">string</code> conversions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">22.3.3.2.3</td><td style="text-align: left">Buffer conversions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4</td><td style="text-align: left">Standard <code class="code">locale</code> categories</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.1</td><td style="text-align: left">The <code class="code">ctype</code> category</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.2</td><td style="text-align: left">The numeric category</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.2.1</td><td style="text-align: left"><code class="code">num_get</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.2.2</td><td style="text-align: left"><code class="code">num_put</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.3</td><td style="text-align: left">The numeric punctuation facet</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.4</td><td style="text-align: left">The collate category</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.5</td><td style="text-align: left">The time category</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.5.1</td><td style="text-align: left">Class template <code class="code">time_get</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.5.2</td><td style="text-align: left">Class template <code class="code">time_get_byname</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.5.3</td><td style="text-align: left">Class template <code class="code">time_put</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.5.3</td><td style="text-align: left">Class template <code class="code">time_put_byname</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.6</td><td style="text-align: left">The monetary category</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.6.1</td><td style="text-align: left">Class template <code class="code">money_get</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.6.2</td><td style="text-align: left">Class template <code class="code">money_put</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.6.3</td><td style="text-align: left">Class template <code class="code">money_punct</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.6.4</td><td style="text-align: left">Class template <code class="code">money_punct_byname</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.7</td><td style="text-align: left">The message retrieval category</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.8</td><td style="text-align: left">Program-defined facets</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">22.5</td><td style="text-align: left">Standard code conversion facets</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.6</td><td style="text-align: left">C Library Locales</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1961+ </td></tr><tr><td align="left">22.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2</td><td align="left">Header <code class="code">&lt;locale&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.3</td><td align="left">Locales</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.3.1</td><td align="left">Class <code class="code">locale</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.3.2</td><td align="left"><code class="code">locale</code> globals</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.3.3</td><td align="left">Convenience interfaces</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.3.3.1</td><td align="left">Character classification</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.3.3.2</td><td align="left">Conversions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.3.3.2.1</td><td align="left">Character conversions</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">22.3.3.2.2</td><td align="left"><code class="code">string</code> conversions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">22.3.3.2.3</td><td align="left">Buffer conversions</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">22.4</td><td align="left">Standard <code class="code">locale</code> categories</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.4.1</td><td align="left">The <code class="code">ctype</code> category</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.2</td><td align="left">The numeric category</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.4.2.1</td><td align="left"><code class="code">num_get</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.2.2</td><td align="left"><code class="code">num_put</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.3</td><td align="left">The numeric punctuation facet</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.4</td><td align="left">The collate category</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.5</td><td align="left">The time category</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.4.5.1</td><td align="left">Class template <code class="code">time_get</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.5.2</td><td align="left">Class template <code class="code">time_get_byname</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.5.3</td><td align="left">Class template <code class="code">time_put</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.5.3</td><td align="left">Class template <code class="code">time_put_byname</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.6</td><td align="left">The monetary category</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.4.6.1</td><td align="left">Class template <code class="code">money_get</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.6.2</td><td align="left">Class template <code class="code">money_put</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.6.3</td><td align="left">Class template <code class="code">money_punct</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.6.4</td><td align="left">Class template <code class="code">money_punct_byname</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.7</td><td align="left">The message retrieval category</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.8</td><td align="left">Program-defined facets</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">22.5</td><td align="left">Standard code conversion facets</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">22.6</td><td align="left">C Library Locales</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1962 <span class="emphasis"><em>23</em></span>
1963- </td><td colspan="3" style="text-align: left">
1964+ </td><td colspan="3" align="left">
1965 <span class="emphasis"><em>Containers</em></span>
1966- </td></tr><tr><td style="text-align: left">23.1</td><td style="text-align: left">General</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2</td><td style="text-align: left">Container requirements</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">23.2.1</td><td style="text-align: left">General container requirements</td><td style="text-align: left">Partial</td><td style="text-align: left">Only <code class="code">vector</code> meets the requirements
1967- relating to allocator use and propagation.</td></tr><tr><td style="text-align: left">23.2.2</td><td style="text-align: left">Container data races</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.3</td><td style="text-align: left">Sequence containers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">23.2.4</td><td style="text-align: left">Associative containers</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing emplace members</td></tr><tr><td style="text-align: left">23.2.5</td><td style="text-align: left">Unordered associative containers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3</td><td style="text-align: left">Sequence containers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.2</td><td style="text-align: left">Class template <code class="code">array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.3</td><td style="text-align: left">Class template <code class="code">deque</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.4</td><td style="text-align: left">Class template <code class="code">forward_list</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.5</td><td style="text-align: left">Class template <code class="code">list</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.6</td><td style="text-align: left">Class template <code class="code">vector</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.7</td><td style="text-align: left">Class <code class="code">vector&lt;bool&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.4</td><td style="text-align: left">Associative containers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.4.4</td><td style="text-align: left">Class template <code class="code">map</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.4.5</td><td style="text-align: left">Class template <code class="code">multimap</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.4.6</td><td style="text-align: left">Class template <code class="code">set</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.4.7</td><td style="text-align: left">Class template <code class="code">multiset</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.5</td><td style="text-align: left">Unordered associative containers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.5.4</td><td style="text-align: left">Class template <code class="code">unordered_map</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.5.5</td><td style="text-align: left">Class template <code class="code">unordered_multimap</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.5.6</td><td style="text-align: left">Class template <code class="code">unordered_set</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.5.7</td><td style="text-align: left">Class template <code class="code">unordered_multiset</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.6</td><td style="text-align: left">Container adaptors</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.6.1</td><td style="text-align: left">Class template <code class="code">queue</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.6.2</td><td style="text-align: left">Class template <code class="code">priority_queue</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.6.3</td><td style="text-align: left">Class template <code class="code">stack</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1968+ </td></tr><tr><td align="left">23.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.2</td><td align="left">Container requirements</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">23.2.1</td><td align="left">General container requirements</td><td align="left">Partial</td><td align="left">Only <code class="code">vector</code> meets the requirements
1969+ relating to allocator use and propagation.</td></tr><tr><td align="left">23.2.2</td><td align="left">Container data races</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.3</td><td align="left">Sequence containers</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">23.2.4</td><td align="left">Associative containers</td><td align="left">Partial</td><td align="left">Missing emplace members</td></tr><tr><td align="left">23.2.5</td><td align="left">Unordered associative containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3</td><td align="left">Sequence containers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.3.2</td><td align="left">Class template <code class="code">array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.3</td><td align="left">Class template <code class="code">deque</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.4</td><td align="left">Class template <code class="code">forward_list</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.5</td><td align="left">Class template <code class="code">list</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.6</td><td align="left">Class template <code class="code">vector</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.7</td><td align="left">Class <code class="code">vector&lt;bool&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.4</td><td align="left">Associative containers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.4.4</td><td align="left">Class template <code class="code">map</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.4.5</td><td align="left">Class template <code class="code">multimap</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.4.6</td><td align="left">Class template <code class="code">set</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.4.7</td><td align="left">Class template <code class="code">multiset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.5</td><td align="left">Unordered associative containers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.5.4</td><td align="left">Class template <code class="code">unordered_map</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.5.5</td><td align="left">Class template <code class="code">unordered_multimap</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.5.6</td><td align="left">Class template <code class="code">unordered_set</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.5.7</td><td align="left">Class template <code class="code">unordered_multiset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.6</td><td align="left">Container adaptors</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.6.1</td><td align="left">Class template <code class="code">queue</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.6.2</td><td align="left">Class template <code class="code">priority_queue</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.6.3</td><td align="left">Class template <code class="code">stack</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1970 <span class="emphasis"><em>24</em></span>
1971- </td><td colspan="3" style="text-align: left">
1972+ </td><td colspan="3" align="left">
1973 <span class="emphasis"><em>Iterators</em></span>
1974- </td></tr><tr><td style="text-align: left">24.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.2</td><td style="text-align: left">Iterator requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.3</td><td style="text-align: left">Header <code class="code">&lt;iterator&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.4</td><td style="text-align: left">Iterator primitives</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5</td><td style="text-align: left">Iterator adaptors</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.1</td><td style="text-align: left">Reverse iterators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.2</td><td style="text-align: left">Insert iterators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.3</td><td style="text-align: left">Move iterators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.6</td><td style="text-align: left">Stream iterators</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.6.1</td><td style="text-align: left">Class template <code class="code">istream_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.6.2</td><td style="text-align: left">Class template <code class="code">ostream_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.6.3</td><td style="text-align: left">Class template <code class="code">istreambuf_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.6.4</td><td style="text-align: left">Class template <code class="code">ostreambuf_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.6.5</td><td style="text-align: left">range access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1975+ </td></tr><tr><td align="left">24.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.2</td><td align="left">Iterator requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.3</td><td align="left">Header <code class="code">&lt;iterator&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4</td><td align="left">Iterator primitives</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5</td><td align="left">Iterator adaptors</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">24.5.1</td><td align="left">Reverse iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5.2</td><td align="left">Insert iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5.3</td><td align="left">Move iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.6</td><td align="left">Stream iterators</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">24.6.1</td><td align="left">Class template <code class="code">istream_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.6.2</td><td align="left">Class template <code class="code">ostream_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.6.3</td><td align="left">Class template <code class="code">istreambuf_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.6.4</td><td align="left">Class template <code class="code">ostreambuf_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.6.5</td><td align="left">range access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1976 <span class="emphasis"><em>25</em></span>
1977- </td><td colspan="3" style="text-align: left">
1978+ </td><td colspan="3" align="left">
1979 <span class="emphasis"><em>Algorithms</em></span>
1980- </td></tr><tr><td style="text-align: left">25.1</td><td style="text-align: left">General</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.2</td><td style="text-align: left">Non-modifying sequence operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.3</td><td style="text-align: left">Mutating sequence operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.4</td><td style="text-align: left">Sorting and related operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.5</td><td style="text-align: left">C library algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1981+ </td></tr><tr><td align="left">25.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">25.2</td><td align="left">Non-modifying sequence operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.3</td><td align="left">Mutating sequence operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.4</td><td align="left">Sorting and related operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.5</td><td align="left">C library algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1982 <span class="emphasis"><em>26</em></span>
1983- </td><td colspan="3" style="text-align: left">
1984+ </td><td colspan="3" align="left">
1985 <span class="emphasis"><em>Numerics</em></span>
1986- </td></tr><tr><td style="text-align: left">26.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.2</td><td style="text-align: left">Numeric type requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3</td><td style="text-align: left">The floating-point environment</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4</td><td style="text-align: left">Complex numbers</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5</td><td style="text-align: left">Random number generation</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.1</td><td style="text-align: left">Requirements</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.2</td><td style="text-align: left">Header <code class="code">&lt;random&gt;</code> synopsis</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.3</td><td style="text-align: left">Random number engine class templates</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.3.1</td><td style="text-align: left">Class template <code class="code">linear_congruential_engine</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.3.2</td><td style="text-align: left">Class template <code class="code">mersenne_twister_engine</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.3.3</td><td style="text-align: left">Class template <code class="code">subtract_with_carry_engine</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.4</td><td style="text-align: left">Random number engine adaptor class templates</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.4.2</td><td style="text-align: left">Class template <code class="code">discard_block_engine</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.4.3</td><td style="text-align: left">Class template <code class="code">independent_bits_engine</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.4.4</td><td style="text-align: left">Class template <code class="code">shuffle_order_engine</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.5</td><td style="text-align: left">Engines and engine adaptors with predefined parameters</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.6</td><td style="text-align: left">Class <code class="code">random_device</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.7</td><td style="text-align: left">Utilities</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.7.1</td><td style="text-align: left">Class <code class="code">seed_seq</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.7.2</td><td style="text-align: left">Function template <code class="code">generate_canonical</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8</td><td style="text-align: left">Random number distribution class templates</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.2</td><td style="text-align: left">Uniform distributions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.2.1</td><td style="text-align: left">Class template <code class="code">uniform_int_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.2.2</td><td style="text-align: left">Class template <code class="code">uniform_real_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.3</td><td style="text-align: left">Bernoulli distributions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.3.1</td><td style="text-align: left">Class <code class="code">bernoulli_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.3.2</td><td style="text-align: left">Class template <code class="code">binomial_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.3.3</td><td style="text-align: left">Class template <code class="code">geometric_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.3.4</td><td style="text-align: left">Class template <code class="code">negative_binomial_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.4</td><td style="text-align: left">Poisson distributions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.4.1</td><td style="text-align: left">Class template <code class="code">poisson_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.4.2</td><td style="text-align: left">Class template <code class="code">exponential_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.4.3</td><td style="text-align: left">Class template <code class="code">gamma_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.4.4</td><td style="text-align: left">Class template <code class="code">weibull_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.4.5</td><td style="text-align: left">Class template <code class="code">extreme_value_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5</td><td style="text-align: left">Normal distributions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5.1</td><td style="text-align: left">Class template <code class="code">normal_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5.2</td><td style="text-align: left">Class template <code class="code">lognormal_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5.3</td><td style="text-align: left">Class template <code class="code">chi_squared_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5.4</td><td style="text-align: left">Class template <code class="code">cauchy_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5.5</td><td style="text-align: left">Class template <code class="code">fisher_f_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5.6</td><td style="text-align: left">Class template <code class="code">student_t_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.6</td><td style="text-align: left">Sampling distributions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.6.1</td><td style="text-align: left">Class template <code class="code">discrete_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.6.2</td><td style="text-align: left">Class template <code class="code">piecewise_constant_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.6.3</td><td style="text-align: left">Class template <code class="code">piecewise_linear_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6</td><td style="text-align: left">Numeric arrays</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.1</td><td style="text-align: left">Header <code class="code">&lt;valarray&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.2</td><td style="text-align: left">Class template <code class="code">valarray</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.3</td><td style="text-align: left"><code class="code">valarray</code> non-member operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.4</td><td style="text-align: left">Class <code class="code">slice</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.5</td><td style="text-align: left">Class template <code class="code">slice_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.6</td><td style="text-align: left">The <code class="code">gslice</code> class</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.7</td><td style="text-align: left">Class template <code class="code">gslice_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.8</td><td style="text-align: left">Class template <code class="code">mask_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.9</td><td style="text-align: left">Class template <code class="code">indirect_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.10</td><td style="text-align: left"><code class="code">valarray</code> range access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7</td><td style="text-align: left">Generalized numeric operations</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7.1</td><td style="text-align: left">Header <code class="code">&lt;numeric&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7.2</td><td style="text-align: left"><code class="code">accumulate</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7.3</td><td style="text-align: left"><code class="code">inner_product</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7.4</td><td style="text-align: left"><code class="code">partial_sum</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7.5</td><td style="text-align: left"><code class="code">adjacent_difference</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7.6</td><td style="text-align: left">iota</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.8</td><td style="text-align: left">C Library</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
1987+ </td></tr><tr><td align="left">26.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.2</td><td align="left">Numeric type requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3</td><td align="left">The floating-point environment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4</td><td align="left">Complex numbers</td><td align="left">Partial</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5</td><td align="left">Random number generation</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.1</td><td align="left">Requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.2</td><td align="left">Header <code class="code">&lt;random&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.3</td><td align="left">Random number engine class templates</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.3.1</td><td align="left">Class template <code class="code">linear_congruential_engine</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.3.2</td><td align="left">Class template <code class="code">mersenne_twister_engine</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.3.3</td><td align="left">Class template <code class="code">subtract_with_carry_engine</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.4</td><td align="left">Random number engine adaptor class templates</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.4.2</td><td align="left">Class template <code class="code">discard_block_engine</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.4.3</td><td align="left">Class template <code class="code">independent_bits_engine</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.4.4</td><td align="left">Class template <code class="code">shuffle_order_engine</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.5</td><td align="left">Engines and engine adaptors with predefined parameters</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.6</td><td align="left">Class <code class="code">random_device</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.7</td><td align="left">Utilities</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.7.1</td><td align="left">Class <code class="code">seed_seq</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.7.2</td><td align="left">Function template <code class="code">generate_canonical</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8</td><td align="left">Random number distribution class templates</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.2</td><td align="left">Uniform distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.2.1</td><td align="left">Class template <code class="code">uniform_int_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.2.2</td><td align="left">Class template <code class="code">uniform_real_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3</td><td align="left">Bernoulli distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.1</td><td align="left">Class <code class="code">bernoulli_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.2</td><td align="left">Class template <code class="code">binomial_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.3</td><td align="left">Class template <code class="code">geometric_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.4</td><td align="left">Class template <code class="code">negative_binomial_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4</td><td align="left">Poisson distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.1</td><td align="left">Class template <code class="code">poisson_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.2</td><td align="left">Class template <code class="code">exponential_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.3</td><td align="left">Class template <code class="code">gamma_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.4</td><td align="left">Class template <code class="code">weibull_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.5</td><td align="left">Class template <code class="code">extreme_value_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5</td><td align="left">Normal distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.1</td><td align="left">Class template <code class="code">normal_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.2</td><td align="left">Class template <code class="code">lognormal_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.3</td><td align="left">Class template <code class="code">chi_squared_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.4</td><td align="left">Class template <code class="code">cauchy_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.5</td><td align="left">Class template <code class="code">fisher_f_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.6</td><td align="left">Class template <code class="code">student_t_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.6</td><td align="left">Sampling distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.6.1</td><td align="left">Class template <code class="code">discrete_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.6.2</td><td align="left">Class template <code class="code">piecewise_constant_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.6.3</td><td align="left">Class template <code class="code">piecewise_linear_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6</td><td align="left">Numeric arrays</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.6.1</td><td align="left">Header <code class="code">&lt;valarray&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.2</td><td align="left">Class template <code class="code">valarray</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.3</td><td align="left"><code class="code">valarray</code> non-member operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.4</td><td align="left">Class <code class="code">slice</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.5</td><td align="left">Class template <code class="code">slice_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.6</td><td align="left">The <code class="code">gslice</code> class</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.7</td><td align="left">Class template <code class="code">gslice_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.8</td><td align="left">Class template <code class="code">mask_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.9</td><td align="left">Class template <code class="code">indirect_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.10</td><td align="left"><code class="code">valarray</code> range access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7</td><td align="left">Generalized numeric operations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.7.1</td><td align="left">Header <code class="code">&lt;numeric&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.2</td><td align="left"><code class="code">accumulate</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.3</td><td align="left"><code class="code">inner_product</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.4</td><td align="left"><code class="code">partial_sum</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.5</td><td align="left"><code class="code">adjacent_difference</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.6</td><td align="left">iota</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.8</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
1988 <span class="emphasis"><em>27</em></span>
1989- </td><td colspan="3" style="text-align: left">
1990+ </td><td colspan="3" align="left">
1991 <span class="emphasis"><em>Input/output library</em></span>
1992- </td></tr><tr><td style="text-align: left">27.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.2</td><td style="text-align: left">Iostreams requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.2.1</td><td style="text-align: left">Imbue Limitations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.2.2</td><td style="text-align: left">Positioning Type Limitations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">27.2.3</td><td style="text-align: left">Thread safety</td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.3</td><td style="text-align: left">Forward declarations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.4</td><td style="text-align: left">Standard iostream objects</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.4.1</td><td style="text-align: left">Overview</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.4.2</td><td style="text-align: left">Narrow stream objects</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.4.3</td><td style="text-align: left">Wide stream objects</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">27.5</td><td style="text-align: left">Iostreams base classes</td><td style="text-align: left">Partial</td><td style="text-align: left">
1993+ </td></tr><tr><td align="left">27.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2</td><td align="left">Iostreams requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2.1</td><td align="left">Imbue Limitations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2.2</td><td align="left">Positioning Type Limitations</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">27.2.3</td><td align="left">Thread safety</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">27.3</td><td align="left">Forward declarations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4</td><td align="left">Standard iostream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4.1</td><td align="left">Overview</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4.2</td><td align="left">Narrow stream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4.3</td><td align="left">Wide stream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">27.5</td><td align="left">Iostreams base classes</td><td align="left">Partial</td><td align="left">
1994 Missing move and swap operations on <code class="code">basic_ios</code>.
1995 Missing <code class="code">io_errc</code> and <code class="code">iostream_category</code>.
1996 <code class="code">ios_base::failure</code> is not derived from <code class="code">system_error</code>.
1997- </td></tr><tr><td style="text-align: left">27.6</td><td style="text-align: left">Stream buffers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">27.7</td><td style="text-align: left">Formatting and manipulators</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing move and swap operations</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">27.8</td><td style="text-align: left">String-based streams</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing move and swap operations</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">27.9</td><td style="text-align: left">File-based streams</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing move and swap operations</td></tr><tr><td style="text-align: left">
1998+ </td></tr><tr><td align="left">27.6</td><td align="left">Stream buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">27.7</td><td align="left">Formatting and manipulators</td><td align="left">Partial</td><td align="left">Missing move and swap operations</td></tr><tr bgcolor="#B0B0B0"><td align="left">27.8</td><td align="left">String-based streams</td><td align="left">Partial</td><td align="left">Missing move and swap operations</td></tr><tr bgcolor="#B0B0B0"><td align="left">27.9</td><td align="left">File-based streams</td><td align="left">Partial</td><td align="left">Missing move and swap operations</td></tr><tr><td align="left">
1999 <span class="emphasis"><em>28</em></span>
2000- </td><td colspan="3" style="text-align: left">
2001+ </td><td colspan="3" align="left">
2002 <span class="emphasis"><em>Regular expressions</em></span>
2003- </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.1</td><td style="text-align: left">General</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.3</td><td style="text-align: left">Requirements</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.4</td><td style="text-align: left">Header <code class="code">&lt;regex&gt;</code> synopsis</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">28.5</td><td style="text-align: left">Namespace <code class="code">std::regex_constants</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">28.6</td><td style="text-align: left">Class <code class="code">regex_error</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">28.7</td><td style="text-align: left">Class template <code class="code">regex_traits</code></td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">28.8</td><td style="text-align: left">Class template <code class="code">basic_regex</code></td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">28.9</td><td style="text-align: left">Class template <code class="code">sub_match</code></td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">28.10</td><td style="text-align: left">Class template <code class="code">match_results</code></td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.11</td><td style="text-align: left">Regular expression algorithms</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.12</td><td style="text-align: left">Regular expression Iterators</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.13</td><td style="text-align: left">Modified ECMAScript regular expression grammar</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
2004+ </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.1</td><td align="left">General</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.2</td><td align="left">Definitions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.3</td><td align="left">Requirements</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.4</td><td align="left">Header <code class="code">&lt;regex&gt;</code> synopsis</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">28.5</td><td align="left">Namespace <code class="code">std::regex_constants</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.6</td><td align="left">Class <code class="code">regex_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">28.7</td><td align="left">Class template <code class="code">regex_traits</code></td><td align="left">Partial</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">28.8</td><td align="left">Class template <code class="code">basic_regex</code></td><td align="left">Partial</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">28.9</td><td align="left">Class template <code class="code">sub_match</code></td><td align="left">Partial</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">28.10</td><td align="left">Class template <code class="code">match_results</code></td><td align="left">Partial</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.11</td><td align="left">Regular expression algorithms</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.12</td><td align="left">Regular expression Iterators</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.13</td><td align="left">Modified ECMAScript regular expression grammar</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">
2005 <span class="emphasis"><em>29</em></span>
2006- </td><td colspan="3" style="text-align: left">
2007+ </td><td colspan="3" align="left">
2008 <span class="emphasis"><em>Atomic operations</em></span>
2009- </td></tr><tr><td style="text-align: left">29.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">29.2</td><td style="text-align: left">Header <code class="code">&lt;atomic&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">29.3</td><td style="text-align: left">Order and consistency</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">29.4</td><td style="text-align: left">Lock-free property</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing <code class="code">ATOMIC_BOOL_LOCK_FREE</code> and
2010- <code class="code">ATOMIC_POINTER_LOCK_FREE</code>.
2011- Based on _GLIBCXX_ATOMIC_PROPERTY
2012- </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">29.5</td><td style="text-align: left">Atomic types</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">29.6</td><td style="text-align: left">Operations on atomic types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">29.7</td><td style="text-align: left">Flag Type and operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">29.8</td><td style="text-align: left">Fences</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
2013+ </td></tr><tr><td align="left">29.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.2</td><td align="left">Header <code class="code">&lt;atomic&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">29.3</td><td align="left">Order and consistency</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">29.4</td><td align="left">Lock-free property</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.5</td><td align="left">Atomic types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.6</td><td align="left">Operations on atomic types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.7</td><td align="left">Flag Type and operations</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">29.8</td><td align="left">Fences</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">
2014 <span class="emphasis"><em>30</em></span>
2015- </td><td colspan="3" style="text-align: left">
2016+ </td><td colspan="3" align="left">
2017 <span class="emphasis"><em>Thread support</em></span>
2018- </td></tr><tr><td style="text-align: left">30.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.2</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.3</td><td style="text-align: left">Threads</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">30.3.1</td><td style="text-align: left">Class <code class="code">thread</code></td><td style="text-align: left">Partial</td><td style="text-align: left"><code class="code">thread::id</code> comparisons not well-defined</td></tr><tr><td style="text-align: left">30.3.2</td><td style="text-align: left">Namespace <code class="code">this_thread</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4</td><td style="text-align: left">Mutual exclusion</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1</td><td style="text-align: left">Mutex requirements</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1.1</td><td style="text-align: left">In general</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1.2</td><td style="text-align: left">Mutex types</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1.2.1</td><td style="text-align: left">Class <code class="code">mutex</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1.2.2</td><td style="text-align: left">Class <code class="code">recursive_mutex</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1.3</td><td style="text-align: left">Timed mutex types</td><td style="text-align: left"> </td><td style="text-align: left">On POSIX sytems these types are only defined if the OS
2019- supports the POSIX Timeouts option. </td></tr><tr><td style="text-align: left">30.4.1.3.1</td><td style="text-align: left">Class <code class="code">timed_mutex</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1.3.2</td><td style="text-align: left">Class <code class="code">recursive_timed_mutex</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.2</td><td style="text-align: left">Locks</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.2.1</td><td style="text-align: left">Class template <code class="code">lock_guard</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.2.2</td><td style="text-align: left">Class template <code class="code">unique_lock</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.3</td><td style="text-align: left">Generic locking algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.4</td><td style="text-align: left">Call once</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.4.1</td><td style="text-align: left">Struct <code class="code">once_flag</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.4.2</td><td style="text-align: left">Function <code class="code">call_once</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">30.5</td><td style="text-align: left">Condition variables</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing notify_all_at_thread_exit</td></tr><tr><td style="text-align: left">30.5.1</td><td style="text-align: left">Class <code class="code">condition_variable</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.5.2</td><td style="text-align: left">Class <code class="code">condition_variable_any</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.6</td><td style="text-align: left">Futures</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.6.1</td><td style="text-align: left">Overview</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.6.2</td><td style="text-align: left">Error handling</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.6.3</td><td style="text-align: left">Class <code class="code">future_error</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.6.4</td><td style="text-align: left">Shared state</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">30.6.5</td><td style="text-align: left">Class template <code class="code">promise</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing set_*_at_thread_exit</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">30.6.6</td><td style="text-align: left">Class template <code class="code">future</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Timed waiting functions do not return future_status</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">30.6.7</td><td style="text-align: left">Class template <code class="code">shared_future</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Timed waiting functions do not return future_status</td></tr><tr><td style="text-align: left">30.6.8</td><td style="text-align: left">Function template <code class="code">async</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">30.6.9</td><td style="text-align: left">Class template <code class="code">packaged_task</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing make_ready_at_thread_exit</td></tr><tr><td style="text-align: left">
2020+ </td></tr><tr><td align="left">30.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.2</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.3</td><td align="left">Threads</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.3.1</td><td align="left">Class <code class="code">thread</code></td><td align="left">Partial</td><td align="left"><code class="code">thread::id</code> comparisons not well-defined</td></tr><tr><td align="left">30.3.2</td><td align="left">Namespace <code class="code">this_thread</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4</td><td align="left">Mutual exclusion</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1</td><td align="left">Mutex requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.2</td><td align="left">Mutex types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.2.1</td><td align="left">Class <code class="code">mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.2.2</td><td align="left">Class <code class="code">recursive_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.3</td><td align="left">Timed mutex types</td><td align="left"> </td><td align="left">On POSIX sytems these types are only defined if the OS
2021+ supports the POSIX Timeouts option. </td></tr><tr><td align="left">30.4.1.3.1</td><td align="left">Class <code class="code">timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.3.2</td><td align="left">Class <code class="code">recursive_timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2</td><td align="left">Locks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.2.1</td><td align="left">Class template <code class="code">lock_guard</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2.2</td><td align="left">Class template <code class="code">unique_lock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.3</td><td align="left">Generic locking algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.4</td><td align="left">Call once</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.4.1</td><td align="left">Struct <code class="code">once_flag</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.4.2</td><td align="left">Function <code class="code">call_once</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.5</td><td align="left">Condition variables</td><td align="left">Partial</td><td align="left">Missing notify_all_at_thread_exit</td></tr><tr><td align="left">30.5.1</td><td align="left">Class <code class="code">condition_variable</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.5.2</td><td align="left">Class <code class="code">condition_variable_any</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6</td><td align="left">Futures</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.1</td><td align="left">Overview</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.2</td><td align="left">Error handling</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.3</td><td align="left">Class <code class="code">future_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.4</td><td align="left">Shared state</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.5</td><td align="left">Class template <code class="code">promise</code></td><td align="left">Partial</td><td align="left">Missing set_*_at_thread_exit</td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.6</td><td align="left">Class template <code class="code">future</code></td><td align="left">Partial</td><td align="left">Timed waiting functions do not return future_status::deferred</td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.7</td><td align="left">Class template <code class="code">shared_future</code></td><td align="left">Partial</td><td align="left">Timed waiting functions do not return future_status::deferred</td></tr><tr><td align="left">30.6.8</td><td align="left">Function template <code class="code">async</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.9</td><td align="left">Class template <code class="code">packaged_task</code></td><td align="left">Partial</td><td align="left">Missing make_ready_at_thread_exit</td></tr><tr><td align="left">
2022 <span class="emphasis"><em>Appendix D</em></span>
2023- </td><td colspan="3" style="text-align: left">
2024+ </td><td colspan="3" align="left">
2025 <span class="emphasis"><em>Compatibility features</em></span>
2026- </td></tr><tr><td style="text-align: left">D.1</td><td style="text-align: left">Increment operator with <code class="code">bool</code> operand</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.2</td><td style="text-align: left"><code class="code">register</code> keyword</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.3</td><td style="text-align: left">Implicit declaration of copy functions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.4</td><td style="text-align: left">Dynamic exception specifications</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.5</td><td style="text-align: left">C standard library headers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.6</td><td style="text-align: left">Old iostreams members</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.7</td><td style="text-align: left"><code class="code">char*</code> streams</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.8</td><td style="text-align: left">Function objects</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.9</td><td style="text-align: left">Binders</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.10</td><td style="text-align: left"><code class="code">auto_ptr</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.11</td><td style="text-align: left">Violating exception-specifications</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr></tbody></table></div></div><br class="table-break"/><div class="section" title="Implementation Specific Behavior"><div class="titlepage"><div><div><h4 class="title"><a id="iso.2011.specific"/>Implementation Specific Behavior</h4></div></div></div><p>For behaviour which is also specified by the 1998 and 2003 standards,
2027+ </td></tr><tr><td align="left">D.1</td><td align="left">Increment operator with <code class="code">bool</code> operand</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.2</td><td align="left"><code class="code">register</code> keyword</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.3</td><td align="left">Implicit declaration of copy functions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.4</td><td align="left">Dynamic exception specifications</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left">Old iostreams members</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left"><code class="code">char*</code> streams</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.8</td><td align="left">Function objects</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.9</td><td align="left">Binders</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.10</td><td align="left"><code class="code">auto_ptr</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.11</td><td align="left">Violating exception-specifications</td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><div class="section" title="Implementation Specific Behavior"><div class="titlepage"><div><div><h4 class="title"><a id="iso.2011.specific"></a>Implementation Specific Behavior</h4></div></div></div><p>For behaviour which is also specified by the 1998 and 2003 standards,
2028 see <a class="link" href="status.html#iso.1998.specific" title="Implementation Specific Behavior">C++ 1998/2003 Implementation
2029 Specific Behavior</a>. This section only documents behaviour which
2030 is new in the 2011 standard.
2031@@ -254,7 +250,7 @@
2032 <code class="classname">native_handle_type</code> and
2033 <code class="methodname">native_handle</code> are provided. The handle types
2034 are defined in terms of the Gthreads abstraction layer.
2035- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="classname">thread</code>: The native handle type is
2036+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="classname">thread</code>: The native handle type is
2037 a typedef for <code class="code">__gthread_t</code> i.e. <code class="code">pthread_t</code>
2038 when GCC is configured with the <code class="literal">posix</code> thread
2039 model. The value of the native handle is undefined for a thread
2040@@ -279,7 +275,7 @@
2041 <code class="code">launch</code> is a scoped enumeration type with
2042 overloaded operators to support bitmask operations. There are no
2043 additional bitmask elements defined.
2044- </p></div></div><div class="section" title="C++ TR1"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr1"/>C++ TR1</h3></div></div></div><p>
2045+ </p></div></div><div class="section" title="C++ TR1"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr1"></a>C++ TR1</h3></div></div></div><p>
2046 This table is based on the table of contents of ISO/IEC DTR 19768
2047 Doc No: N1836=05-0096 Date: 2005-06-24
2048 Draft Technical Report on C++ Library Extensions
2049@@ -290,12 +286,12 @@
2050 </p><p>
2051 This page describes the TR1 support in mainline GCC SVN, not in any particular
2052 release.
2053-</p><div class="table"><a id="id433760"/><p class="title"><strong>Table 1.3. C++ TR1 Implementation Status</strong></p><div class="table-contents"><table summary="C++ TR1 Implementation Status" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Section</th><th style="text-align: left">Description</th><th style="text-align: left">Status</th><th style="text-align: left">Comments</th></tr></thead><tbody><tr><td style="text-align: left"><span class="emphasis"><em>2</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>General Utilities</em></span></td></tr><tr><td style="text-align: left">2.1</td><td style="text-align: left">Reference wrappers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.1</td><td style="text-align: left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.2</td><td style="text-align: left">Class template <code class="code">reference_wrapper</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.2.1</td><td style="text-align: left"><code class="code">reference_wrapper</code> construct/copy/destroy</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.2.2</td><td style="text-align: left"><code class="code">reference_wrapper</code> assignment</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.2.3</td><td style="text-align: left"><code class="code">reference_wrapper</code> access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.2.4</td><td style="text-align: left"><code class="code">reference_wrapper</code> invocation</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.2.5</td><td style="text-align: left"><code class="code">reference_wrapper</code> helper functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2</td><td style="text-align: left">Smart pointers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.1</td><td style="text-align: left">Additions to header <code class="code">&lt;memory&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.2</td><td style="text-align: left">Class <code class="code">bad_weak_ptr</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3</td><td style="text-align: left">Class template <code class="code">shared_ptr</code></td><td style="text-align: left"> </td><td style="text-align: left">
2054+</p><div class="table"><a id="id612238"></a><p class="title"><strong>Table 1.3. C++ TR1 Implementation Status</strong></p><div class="table-contents"><table summary="C++ TR1 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"><span class="emphasis"><em>2</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>General Utilities</em></span></td></tr><tr><td align="left">2.1</td><td align="left">Reference wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.1</td><td align="left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.2.1</td><td align="left"><code class="code">reference_wrapper</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.2</td><td align="left"><code class="code">reference_wrapper</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.3</td><td align="left"><code class="code">reference_wrapper</code> access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.4</td><td align="left"><code class="code">reference_wrapper</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.5</td><td align="left"><code class="code">reference_wrapper</code> helper functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.1</td><td align="left">Additions to header <code class="code">&lt;memory&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.2</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left"> </td><td align="left">
2055 <p>
2056 Uses code from
2057- <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</a>.
2058+ <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">boost::shared_ptr</a>.
2059 </p>
2060- </td></tr><tr><td style="text-align: left">2.2.3.1</td><td style="text-align: left"><code class="code">shared_ptr</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.2</td><td style="text-align: left"><code class="code">shared_ptr</code> destructor</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.3</td><td style="text-align: left"><code class="code">shared_ptr</code> assignment</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.4</td><td style="text-align: left"><code class="code">shared_ptr</code> modifiers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.5</td><td style="text-align: left"><code class="code">shared_ptr</code> observers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.6</td><td style="text-align: left"><code class="code">shared_ptr</code> comparison</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.7</td><td style="text-align: left"><code class="code">shared_ptr</code> I/O</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.8</td><td style="text-align: left"><code class="code">shared_ptr</code> specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.9</td><td style="text-align: left"><code class="code">shared_ptr</code> casts</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.10</td><td style="text-align: left"><code class="code">get_deleter</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4</td><td style="text-align: left">Class template <code class="code">weak_ptr</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.1</td><td style="text-align: left"><code class="code">weak_ptr</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.2</td><td style="text-align: left"><code class="code">weak_ptr</code> destructor</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.3</td><td style="text-align: left"><code class="code">weak_ptr</code> assignment</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.4</td><td style="text-align: left"><code class="code">weak_ptr</code> modifiers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.5</td><td style="text-align: left"><code class="code">weak_ptr</code> observers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.6</td><td style="text-align: left"><code class="code">weak_ptr</code> comparison</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.7</td><td style="text-align: left"><code class="code">weak_ptr</code> specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.5</td><td style="text-align: left">Class template <code class="code">enable_shared_from_this</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><span class="emphasis"><em>3</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>Function Objects</em></span></td></tr><tr><td style="text-align: left">3.1</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.2</td><td style="text-align: left">Additions to <code class="code">&lt;functional&gt; synopsis</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.3</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4</td><td style="text-align: left">Function return types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.5</td><td style="text-align: left">Function template <code class="code">mem_fn</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.6</td><td style="text-align: left">Function object binders</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.6.1</td><td style="text-align: left">Class template <code class="code">is_bind_expression</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.6.2</td><td style="text-align: left">Class template <code class="code">is_placeholder</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.6.3</td><td style="text-align: left">Function template <code class="code">bind</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.6.4</td><td style="text-align: left">Placeholders</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7</td><td style="text-align: left">Polymorphic function wrappers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.1</td><td style="text-align: left">Class <code class="code">bad_function_call</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.1.1</td><td style="text-align: left"><code class="code">bad_function_call</code> constructor</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2</td><td style="text-align: left">Class template <code class="code">function</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.1</td><td style="text-align: left"><code class="code">function</code> construct/copy/destroy</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.2</td><td style="text-align: left"><code class="code">function</code> modifiers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.3</td><td style="text-align: left"><code class="code">function</code> capacity</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.4</td><td style="text-align: left"><code class="code">function</code> invocation</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.5</td><td style="text-align: left"><code class="code">function</code> target access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.6</td><td style="text-align: left">undefined operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.7</td><td style="text-align: left">null pointer comparison operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.8</td><td style="text-align: left">specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><span class="emphasis"><em>4</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>Metaprogramming and type traits</em></span></td></tr><tr><td style="text-align: left">4.1</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.2</td><td style="text-align: left">Header <code class="code">&lt;type_traits&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.3</td><td style="text-align: left">Helper classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.4</td><td style="text-align: left">General Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.5</td><td style="text-align: left">Unary Type Traits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.5.1</td><td style="text-align: left">Primary Type Categories</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.5.2</td><td style="text-align: left">Composite type traits</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.5.3</td><td style="text-align: left">Type properties</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.6</td><td style="text-align: left">Relationships between types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.7</td><td style="text-align: left">Transformations between types</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.7.1</td><td style="text-align: left">Const-volatile modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.7.2</td><td style="text-align: left">Reference modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.7.3</td><td style="text-align: left">Array modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.7.4</td><td style="text-align: left">Pointer modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.8</td><td style="text-align: left">Other transformations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.9</td><td style="text-align: left">Implementation requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><span class="emphasis"><em>5</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>Numerical Facilities</em></span></td></tr><tr><td style="text-align: left">5.1</td><td style="text-align: left">Random number generation</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.1</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.2</td><td style="text-align: left">Header <code class="code">&lt;random&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.3</td><td style="text-align: left">Class template <code class="code">variate_generator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4</td><td style="text-align: left">Random number engine class templates</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4.1</td><td style="text-align: left">Class template <code class="code">linear_congruential</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4.2</td><td style="text-align: left">Class template <code class="code">mersenne_twister</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4.3</td><td style="text-align: left">Class template <code class="code">subtract_with_carry</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4.4</td><td style="text-align: left">Class template <code class="code">subtract_with_carry_01</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4.5</td><td style="text-align: left">Class template <code class="code">discard_block</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4.6</td><td style="text-align: left">Class template <code class="code">xor_combine</code></td><td style="text-align: left">Y</td><td style="text-align: left">operator()() per N2079</td></tr><tr><td style="text-align: left">5.1.5</td><td style="text-align: left">Engines with predefined parameters</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.6</td><td style="text-align: left">Class <code class="code">random_device</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7</td><td style="text-align: left">Random distribution class templates</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.1</td><td style="text-align: left">Class template <code class="code">uniform_int</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.2</td><td style="text-align: left">Class <code class="code">bernoulli_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.3</td><td style="text-align: left">Class template <code class="code">geometric_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.4</td><td style="text-align: left">Class template <code class="code">poisson_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.5</td><td style="text-align: left">Class template <code class="code">binomial_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.6</td><td style="text-align: left">Class template <code class="code">uniform_real</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.7</td><td style="text-align: left">Class template <code class="code">exponential_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.8</td><td style="text-align: left">Class template <code class="code">normal_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.9</td><td style="text-align: left">Class template <code class="code">gamma_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2</td><td style="text-align: left">Mathematical special functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1</td><td style="text-align: left">Additions to header <code class="code">&lt;cmath&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.1</td><td style="text-align: left">associated Laguerre polynomials</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.2</td><td style="text-align: left">associated Legendre functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.3</td><td style="text-align: left">beta function</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.4</td><td style="text-align: left">(complete) elliptic integral of the first kind</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.5</td><td style="text-align: left">(complete) elliptic integral of the second kind</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.6</td><td style="text-align: left">(complete) elliptic integral of the third kind</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.7</td><td style="text-align: left">confluent hypergeometric functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.8</td><td style="text-align: left">regular modified cylindrical Bessel functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.9</td><td style="text-align: left">cylindrical Bessel functions (of the first kind)</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.10</td><td style="text-align: left">irregular modified cylindrical Bessel functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.11</td><td style="text-align: left">cylindrical Neumann functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.12</td><td style="text-align: left">(incomplete) elliptic integral of the first kind</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.13</td><td style="text-align: left">(incomplete) elliptic integral of the second kind</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.14</td><td style="text-align: left">(incomplete) elliptic integral of the third kind</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.15</td><td style="text-align: left">exponential integral</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.16</td><td style="text-align: left">Hermite polynomials</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.17</td><td style="text-align: left">hypergeometric functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.18</td><td style="text-align: left">Laguerre polynomials</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.19</td><td style="text-align: left">Legendre polynomials</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.20</td><td style="text-align: left">Riemann zeta function</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.21</td><td style="text-align: left">spherical Bessel functions (of the first kind)</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.22</td><td style="text-align: left">spherical associated Legendre functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.23</td><td style="text-align: left">spherical Neumann functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.2</td><td style="text-align: left">Additions to header <code class="code">&lt;math.h&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><span class="emphasis"><em>6</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>Containers</em></span></td></tr><tr><td style="text-align: left">6.1</td><td style="text-align: left">Tuple types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.1</td><td style="text-align: left">Header <code class="code">&lt;tuple&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.2</td><td style="text-align: left">Additions to header <code class="code">&lt;utility&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.3</td><td style="text-align: left">Class template <code class="code">tuple</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.3.1</td><td style="text-align: left">Construction</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.3.2</td><td style="text-align: left">Tuple creation functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.3.3</td><td style="text-align: left">Tuple helper classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.3.4</td><td style="text-align: left">Element access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.3.5</td><td style="text-align: left">Relational operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.4</td><td style="text-align: left">Pairs</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2</td><td style="text-align: left">Fixed size array</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.1</td><td style="text-align: left">Header <code class="code">&lt;array&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.2</td><td style="text-align: left">Class template <code class="code">array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.2.1</td><td style="text-align: left"><code class="code">array</code> constructors, copy, and assignment</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.2.2</td><td style="text-align: left"><code class="code">array</code> specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.2.3</td><td style="text-align: left"><code class="code">array</code> size</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.2.4</td><td style="text-align: left">Zero sized <code class="code">array</code>s</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.2.5</td><td style="text-align: left">Tuple interface to class template <code class="code">array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3</td><td style="text-align: left">Unordered associative containers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.1</td><td style="text-align: left">Unordered associative container requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.1.1</td><td style="text-align: left">Exception safety guarantees</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.2</td><td style="text-align: left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.3</td><td style="text-align: left">Class template <code class="code">hash</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4</td><td style="text-align: left">Unordered associative container classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.1</td><td style="text-align: left">Header <code class="code">&lt;unordered_set&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.2</td><td style="text-align: left">Header <code class="code">&lt;unordered_map&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.3</td><td style="text-align: left">Class template <code class="code">unordered_set</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.3.1</td><td style="text-align: left"><code class="code">unordered_set</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.3.2</td><td style="text-align: left"><code class="code">unordered_set</code> swap</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.4</td><td style="text-align: left">Class template <code class="code">unordered_map</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.4.1</td><td style="text-align: left"><code class="code">unordered_map</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.4.2</td><td style="text-align: left"><code class="code">unordered_map</code> element access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.4.3</td><td style="text-align: left"><code class="code">unordered_map</code> swap</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.5</td><td style="text-align: left">Class template <code class="code">unordered_multiset</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.5.1</td><td style="text-align: left"><code class="code">unordered_multiset</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.5.2</td><td style="text-align: left"><code class="code">unordered_multiset</code> swap</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.6</td><td style="text-align: left">Class template <code class="code">unordered_multimap</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.6.1</td><td style="text-align: left"><code class="code">unordered_multimap</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.6.2</td><td style="text-align: left"><code class="code">unordered_multimap</code> swap</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><span class="emphasis"><em>7</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>Regular Expressions</em></span></td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.1</td><td style="text-align: left">Definitions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.2</td><td style="text-align: left">Requirements</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.3</td><td style="text-align: left">Regular expressions summary</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.4</td><td style="text-align: left">Header <code class="code">&lt;regex&gt;</code> synopsis</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.5</td><td style="text-align: left">Namespace <code class="code">tr1::regex_constants</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.5.1</td><td style="text-align: left">Bitmask Type <code class="code">syntax_option_type</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.5.2</td><td style="text-align: left">Bitmask Type <code class="code">regex_constants::match_flag_type</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.5.3</td><td style="text-align: left">Implementation defined <code class="code">error_type</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.6</td><td style="text-align: left">Class <code class="code">regex_error</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.7</td><td style="text-align: left">Class template <code class="code">regex_traits</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8</td><td style="text-align: left">Class template <code class="code">basic_regex</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.1</td><td style="text-align: left"><code class="code">basic_regex</code> constants</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.2</td><td style="text-align: left"><code class="code">basic_regex</code> constructors</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.3</td><td style="text-align: left"><code class="code">basic_regex</code> assign</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.4</td><td style="text-align: left"><code class="code">basic_regex</code> constant operations</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.5</td><td style="text-align: left"><code class="code">basic_regex</code> locale</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.6</td><td style="text-align: left"><code class="code">basic_regex</code> swap</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.7</td><td style="text-align: left"><code class="code">basic_regex</code> non-member functions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.7.1</td><td style="text-align: left"><code class="code">basic_regex</code> non-member swap</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.9</td><td style="text-align: left">Class template <code class="code">sub_match</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.9.1</td><td style="text-align: left"><code class="code">sub_match</code> members</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.9.2</td><td style="text-align: left"><code class="code">sub_match</code> non-member operators</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10</td><td style="text-align: left">Class template <code class="code">match_results</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10.1</td><td style="text-align: left"><code class="code">match_results</code> constructors</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10.2</td><td style="text-align: left"><code class="code">match_results</code> size</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10.3</td><td style="text-align: left"><code class="code">match_results</code> element access</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10.4</td><td style="text-align: left"><code class="code">match_results</code> formatting</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10.5</td><td style="text-align: left"><code class="code">match_results</code> allocator</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10.6</td><td style="text-align: left"><code class="code">match_results</code> swap</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.11</td><td style="text-align: left">Regular expression algorithms</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.11.1</td><td style="text-align: left">exceptions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.11.2</td><td style="text-align: left"><code class="code">regex_match</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.11.3</td><td style="text-align: left"><code class="code">regex_search</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.11.4</td><td style="text-align: left"><code class="code">regex_replace</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12</td><td style="text-align: left">Regular expression Iterators</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.1</td><td style="text-align: left">Class template <code class="code">regex_iterator</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.1.1</td><td style="text-align: left"><code class="code">regex_iterator</code> constructors</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.1.2</td><td style="text-align: left"><code class="code">regex_iterator</code> comparisons</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.1.3</td><td style="text-align: left"><code class="code">regex_iterator</code> dereference</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.1.4</td><td style="text-align: left"><code class="code">regex_iterator</code> increment</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.2</td><td style="text-align: left">Class template <code class="code">regex_token_iterator</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.2.1</td><td style="text-align: left"><code class="code">regex_token_iterator</code> constructors</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.2.2</td><td style="text-align: left"><code class="code">regex_token_iterator</code> comparisons</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.2.3</td><td style="text-align: left"><code class="code">regex_token_iterator</code> dereference</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.2.4</td><td style="text-align: left"><code class="code">regex_token_iterator</code> increment</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.13</td><td style="text-align: left">Modified ECMAScript regular expression grammar</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><span class="emphasis"><em>8</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>C Compatibility</em></span></td></tr><tr><td style="text-align: left">8.1</td><td style="text-align: left">Additions to header <code class="code">&lt;complex&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.2</td><td style="text-align: left">Function <code class="code">acos</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.3</td><td style="text-align: left">Function <code class="code">asin</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.4</td><td style="text-align: left">Function <code class="code">atan</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.5</td><td style="text-align: left">Function <code class="code">acosh</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.6</td><td style="text-align: left">Function <code class="code">asinh</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.7</td><td style="text-align: left">Function <code class="code">atanh</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.8</td><td style="text-align: left">Function <code class="code">fabs</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.9</td><td style="text-align: left">Additional Overloads</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">8.2</td><td style="text-align: left">Header <code class="code">&lt;ccomplex&gt;</code></td><td style="text-align: left">N</td><td style="text-align: left">DR 551</td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">8.3</td><td style="text-align: left">Header <code class="code">&lt;complex.h&gt;</code></td><td style="text-align: left">N</td><td style="text-align: left">DR 551</td></tr><tr><td style="text-align: left">8.4</td><td style="text-align: left">Additions to header <code class="code">&lt;cctype&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.4.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.4.2</td><td style="text-align: left">Function <code class="code">isblank</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.5</td><td style="text-align: left">Additions to header <code class="code">&lt;ctype.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.6</td><td style="text-align: left">Header <code class="code">&lt;cfenv&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.6.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.6.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.7</td><td style="text-align: left">Header <code class="code">&lt;fenv.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.8</td><td style="text-align: left">Additions to header <code class="code">&lt;cfloat&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.9</td><td style="text-align: left">Additions to header <code class="code">&lt;float.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">8.10</td><td style="text-align: left">Additions to header <code class="code">&lt;ios&gt;</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">8.10.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">8.10.2</td><td style="text-align: left">Function <code class="code">hexfloat</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.11</td><td style="text-align: left">Header <code class="code">&lt;cinttypes&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.11.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left">DR 557</td></tr><tr><td style="text-align: left">8.11.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.12</td><td style="text-align: left">Header <code class="code">&lt;inttypes.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.13</td><td style="text-align: left">Additions to header <code class="code">&lt;climits&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.14</td><td style="text-align: left">Additions to header <code class="code">&lt;limits.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">8.15</td><td style="text-align: left">Additions to header <code class="code">&lt;locale&gt;</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.16</td><td style="text-align: left">Additions to header <code class="code">&lt;cmath&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.16.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.16.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.16.3</td><td style="text-align: left">Function template definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.16.4</td><td style="text-align: left">Additional overloads</td><td style="text-align: left">Y</td><td style="text-align: left">DR 568; DR 550</td></tr><tr><td style="text-align: left">8.17</td><td style="text-align: left">Additions to header <code class="code">&lt;math.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.18</td><td style="text-align: left">Additions to header <code class="code">&lt;cstdarg&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.19</td><td style="text-align: left">Additions to header <code class="code">&lt;stdarg.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.20</td><td style="text-align: left">The header <code class="code">&lt;cstdbool&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.21</td><td style="text-align: left">The header <code class="code">&lt;stdbool.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.22</td><td style="text-align: left">The header <code class="code">&lt;cstdint&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.22.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.22.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.23</td><td style="text-align: left">The header <code class="code">&lt;stdint.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.24</td><td style="text-align: left">Additions to header <code class="code">&lt;cstdio&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.24.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.24.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.24.3</td><td style="text-align: left">Additional format specifiers</td><td style="text-align: left">Y</td><td style="text-align: left">C library dependency</td></tr><tr><td style="text-align: left">8.24.4</td><td style="text-align: left">Additions to header <code class="code">&lt;stdio.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.25</td><td style="text-align: left">Additions to header <code class="code">&lt;cstdlib&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.25.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.25.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.25.3</td><td style="text-align: left">Function <code class="code">abs</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.25.4</td><td style="text-align: left">Function <code class="code">div</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.26</td><td style="text-align: left">Additions to header <code class="code">&lt;stdlib.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.27</td><td style="text-align: left">Header <code class="code">&lt;ctgmath&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left">DR 551</td></tr><tr><td style="text-align: left">8.28</td><td style="text-align: left">Header <code class="code">&lt;tgmath.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left">DR 551</td></tr><tr><td style="text-align: left">8.29</td><td style="text-align: left">Additions to header <code class="code">&lt;ctime&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left">C library dependency</td></tr><tr><td style="text-align: left">8.30</td><td style="text-align: left">Additions to header <code class="code">&lt;cwchar&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.30.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.30.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.30.3</td><td style="text-align: left">Additional wide format specifiers</td><td style="text-align: left">Y</td><td style="text-align: left">C library dependency</td></tr><tr><td style="text-align: left">8.31</td><td style="text-align: left">Additions to header <code class="code">&lt;wchar.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.32</td><td style="text-align: left">Additions to header <code class="code">&lt;cwctype&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.32.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.32.2</td><td style="text-align: left">Function <code class="code">iswblank</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.33</td><td style="text-align: left">Additions to header <code class="code">&lt;wctype.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr></tbody></table></div></div><br class="table-break"/><div class="section" title="Implementation Specific Behavior"><div class="titlepage"><div><div><h4 class="title"><a id="iso.tr1.specific"/>Implementation Specific Behavior</h4></div></div></div><p>For behaviour which is specified by the 1998 and 2003 standards,
2061+ </td></tr><tr><td align="left">2.2.3.1</td><td align="left"><code class="code">shared_ptr</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.2</td><td align="left"><code class="code">shared_ptr</code> destructor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.3</td><td align="left"><code class="code">shared_ptr</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.4</td><td align="left"><code class="code">shared_ptr</code> modifiers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.5</td><td align="left"><code class="code">shared_ptr</code> observers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.6</td><td align="left"><code class="code">shared_ptr</code> comparison</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.7</td><td align="left"><code class="code">shared_ptr</code> I/O</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.8</td><td align="left"><code class="code">shared_ptr</code> specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.9</td><td align="left"><code class="code">shared_ptr</code> casts</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.10</td><td align="left"><code class="code">get_deleter</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4</td><td align="left">Class template <code class="code">weak_ptr</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.4.1</td><td align="left"><code class="code">weak_ptr</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.2</td><td align="left"><code class="code">weak_ptr</code> destructor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.3</td><td align="left"><code class="code">weak_ptr</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.4</td><td align="left"><code class="code">weak_ptr</code> modifiers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.5</td><td align="left"><code class="code">weak_ptr</code> observers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.6</td><td align="left"><code class="code">weak_ptr</code> comparison</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.7</td><td align="left"><code class="code">weak_ptr</code> specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.5</td><td align="left">Class template <code class="code">enable_shared_from_this</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>3</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Function Objects</em></span></td></tr><tr><td align="left">3.1</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.2</td><td align="left">Additions to <code class="code">&lt;functional&gt; synopsis</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.3</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.4</td><td align="left">Function return types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.5</td><td align="left">Function template <code class="code">mem_fn</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6</td><td align="left">Function object binders</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.6.1</td><td align="left">Class template <code class="code">is_bind_expression</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6.2</td><td align="left">Class template <code class="code">is_placeholder</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6.3</td><td align="left">Function template <code class="code">bind</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6.4</td><td align="left">Placeholders</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7</td><td align="left">Polymorphic function wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.7.1</td><td align="left">Class <code class="code">bad_function_call</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.1.1</td><td align="left"><code class="code">bad_function_call</code> constructor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2</td><td align="left">Class template <code class="code">function</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.7.2.1</td><td align="left"><code class="code">function</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.2</td><td align="left"><code class="code">function</code> modifiers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.3</td><td align="left"><code class="code">function</code> capacity</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.4</td><td align="left"><code class="code">function</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.5</td><td align="left"><code class="code">function</code> target access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.6</td><td align="left">undefined operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.7</td><td align="left">null pointer comparison operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.8</td><td align="left">specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>4</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Metaprogramming and type traits</em></span></td></tr><tr><td align="left">4.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.2</td><td align="left">Header <code class="code">&lt;type_traits&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.3</td><td align="left">Helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.4</td><td align="left">General Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.5</td><td align="left">Unary Type Traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">4.5.1</td><td align="left">Primary Type Categories</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.5.2</td><td align="left">Composite type traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.5.3</td><td align="left">Type properties</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.6</td><td align="left">Relationships between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7</td><td align="left">Transformations between types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">4.7.1</td><td align="left">Const-volatile modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7.2</td><td align="left">Reference modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7.3</td><td align="left">Array modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7.4</td><td align="left">Pointer modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.8</td><td align="left">Other transformations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.9</td><td align="left">Implementation requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>5</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Numerical Facilities</em></span></td></tr><tr><td align="left">5.1</td><td align="left">Random number generation</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">5.1.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.2</td><td align="left">Header <code class="code">&lt;random&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.3</td><td align="left">Class template <code class="code">variate_generator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4</td><td align="left">Random number engine class templates</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.1</td><td align="left">Class template <code class="code">linear_congruential</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.2</td><td align="left">Class template <code class="code">mersenne_twister</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.3</td><td align="left">Class template <code class="code">subtract_with_carry</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.4</td><td align="left">Class template <code class="code">subtract_with_carry_01</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.5</td><td align="left">Class template <code class="code">discard_block</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.6</td><td align="left">Class template <code class="code">xor_combine</code></td><td align="left">Y</td><td align="left">operator()() per N2079</td></tr><tr><td align="left">5.1.5</td><td align="left">Engines with predefined parameters</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.6</td><td align="left">Class <code class="code">random_device</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7</td><td align="left">Random distribution class templates</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.1</td><td align="left">Class template <code class="code">uniform_int</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.2</td><td align="left">Class <code class="code">bernoulli_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.3</td><td align="left">Class template <code class="code">geometric_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.4</td><td align="left">Class template <code class="code">poisson_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.5</td><td align="left">Class template <code class="code">binomial_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.6</td><td align="left">Class template <code class="code">uniform_real</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.7</td><td align="left">Class template <code class="code">exponential_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.8</td><td align="left">Class template <code class="code">normal_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.9</td><td align="left">Class template <code class="code">gamma_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2</td><td align="left">Mathematical special functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1</td><td align="left">Additions to header <code class="code">&lt;cmath&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.1</td><td align="left">associated Laguerre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.2</td><td align="left">associated Legendre functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.3</td><td align="left">beta function</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.4</td><td align="left">(complete) elliptic integral of the first kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.5</td><td align="left">(complete) elliptic integral of the second kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.6</td><td align="left">(complete) elliptic integral of the third kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.7</td><td align="left">confluent hypergeometric functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.8</td><td align="left">regular modified cylindrical Bessel functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.9</td><td align="left">cylindrical Bessel functions (of the first kind)</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.10</td><td align="left">irregular modified cylindrical Bessel functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.11</td><td align="left">cylindrical Neumann functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.12</td><td align="left">(incomplete) elliptic integral of the first kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.13</td><td align="left">(incomplete) elliptic integral of the second kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.14</td><td align="left">(incomplete) elliptic integral of the third kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.15</td><td align="left">exponential integral</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.16</td><td align="left">Hermite polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.17</td><td align="left">hypergeometric functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.18</td><td align="left">Laguerre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.19</td><td align="left">Legendre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.20</td><td align="left">Riemann zeta function</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.21</td><td align="left">spherical Bessel functions (of the first kind)</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.22</td><td align="left">spherical associated Legendre functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.23</td><td align="left">spherical Neumann functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.2</td><td align="left">Additions to header <code class="code">&lt;math.h&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>6</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Containers</em></span></td></tr><tr><td align="left">6.1</td><td align="left">Tuple types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.1</td><td align="left">Header <code class="code">&lt;tuple&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.2</td><td align="left">Additions to header <code class="code">&lt;utility&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3</td><td align="left">Class template <code class="code">tuple</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.1</td><td align="left">Construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.2</td><td align="left">Tuple creation functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.3</td><td align="left">Tuple helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.4</td><td align="left">Element access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.5</td><td align="left">Relational operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.4</td><td align="left">Pairs</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2</td><td align="left">Fixed size array</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.1</td><td align="left">Header <code class="code">&lt;array&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2</td><td align="left">Class template <code class="code">array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.1</td><td align="left"><code class="code">array</code> constructors, copy, and assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.2</td><td align="left"><code class="code">array</code> specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.3</td><td align="left"><code class="code">array</code> size</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.4</td><td align="left">Zero sized <code class="code">array</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.5</td><td align="left">Tuple interface to class template <code class="code">array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3</td><td align="left">Unordered associative containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.1</td><td align="left">Unordered associative container requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.1.1</td><td align="left">Exception safety guarantees</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.2</td><td align="left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.3</td><td align="left">Class template <code class="code">hash</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4</td><td align="left">Unordered associative container classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.1</td><td align="left">Header <code class="code">&lt;unordered_set&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.2</td><td align="left">Header <code class="code">&lt;unordered_map&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.3</td><td align="left">Class template <code class="code">unordered_set</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.3.1</td><td align="left"><code class="code">unordered_set</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.3.2</td><td align="left"><code class="code">unordered_set</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4</td><td align="left">Class template <code class="code">unordered_map</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4.1</td><td align="left"><code class="code">unordered_map</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4.2</td><td align="left"><code class="code">unordered_map</code> element access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4.3</td><td align="left"><code class="code">unordered_map</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.5</td><td align="left">Class template <code class="code">unordered_multiset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.5.1</td><td align="left"><code class="code">unordered_multiset</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.5.2</td><td align="left"><code class="code">unordered_multiset</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.6</td><td align="left">Class template <code class="code">unordered_multimap</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.6.1</td><td align="left"><code class="code">unordered_multimap</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.6.2</td><td align="left"><code class="code">unordered_multimap</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>7</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Regular Expressions</em></span></td></tr><tr bgcolor="#C8B0B0"><td align="left">7.1</td><td align="left">Definitions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.2</td><td align="left">Requirements</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.3</td><td align="left">Regular expressions summary</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.4</td><td align="left">Header <code class="code">&lt;regex&gt;</code> synopsis</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5</td><td align="left">Namespace <code class="code">tr1::regex_constants</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5.1</td><td align="left">Bitmask Type <code class="code">syntax_option_type</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5.2</td><td align="left">Bitmask Type <code class="code">regex_constants::match_flag_type</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5.3</td><td align="left">Implementation defined <code class="code">error_type</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.6</td><td align="left">Class <code class="code">regex_error</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.7</td><td align="left">Class template <code class="code">regex_traits</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8</td><td align="left">Class template <code class="code">basic_regex</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.1</td><td align="left"><code class="code">basic_regex</code> constants</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.2</td><td align="left"><code class="code">basic_regex</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.3</td><td align="left"><code class="code">basic_regex</code> assign</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.4</td><td align="left"><code class="code">basic_regex</code> constant operations</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.5</td><td align="left"><code class="code">basic_regex</code> locale</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.6</td><td align="left"><code class="code">basic_regex</code> swap</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.7</td><td align="left"><code class="code">basic_regex</code> non-member functions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.7.1</td><td align="left"><code class="code">basic_regex</code> non-member swap</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.9</td><td align="left">Class template <code class="code">sub_match</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.9.1</td><td align="left"><code class="code">sub_match</code> members</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.9.2</td><td align="left"><code class="code">sub_match</code> non-member operators</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10</td><td align="left">Class template <code class="code">match_results</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.1</td><td align="left"><code class="code">match_results</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.2</td><td align="left"><code class="code">match_results</code> size</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.3</td><td align="left"><code class="code">match_results</code> element access</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.4</td><td align="left"><code class="code">match_results</code> formatting</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.5</td><td align="left"><code class="code">match_results</code> allocator</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.6</td><td align="left"><code class="code">match_results</code> swap</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11</td><td align="left">Regular expression algorithms</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.1</td><td align="left">exceptions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.2</td><td align="left"><code class="code">regex_match</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.3</td><td align="left"><code class="code">regex_search</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.4</td><td align="left"><code class="code">regex_replace</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12</td><td align="left">Regular expression Iterators</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1</td><td align="left">Class template <code class="code">regex_iterator</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.1</td><td align="left"><code class="code">regex_iterator</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.2</td><td align="left"><code class="code">regex_iterator</code> comparisons</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.3</td><td align="left"><code class="code">regex_iterator</code> dereference</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.4</td><td align="left"><code class="code">regex_iterator</code> increment</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2</td><td align="left">Class template <code class="code">regex_token_iterator</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.1</td><td align="left"><code class="code">regex_token_iterator</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.2</td><td align="left"><code class="code">regex_token_iterator</code> comparisons</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.3</td><td align="left"><code class="code">regex_token_iterator</code> dereference</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.4</td><td align="left"><code class="code">regex_token_iterator</code> increment</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.13</td><td align="left">Modified ECMAScript regular expression grammar</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>8</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>C Compatibility</em></span></td></tr><tr><td align="left">8.1</td><td align="left">Additions to header <code class="code">&lt;complex&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.2</td><td align="left">Function <code class="code">acos</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.3</td><td align="left">Function <code class="code">asin</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.4</td><td align="left">Function <code class="code">atan</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.5</td><td align="left">Function <code class="code">acosh</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.6</td><td align="left">Function <code class="code">asinh</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.7</td><td align="left">Function <code class="code">atanh</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.8</td><td align="left">Function <code class="code">fabs</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.9</td><td align="left">Additional Overloads</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.2</td><td align="left">Header <code class="code">&lt;ccomplex&gt;</code></td><td align="left">N</td><td align="left">DR 551</td></tr><tr bgcolor="#C8B0B0"><td align="left">8.3</td><td align="left">Header <code class="code">&lt;complex.h&gt;</code></td><td align="left">N</td><td align="left">DR 551</td></tr><tr><td align="left">8.4</td><td align="left">Additions to header <code class="code">&lt;cctype&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.4.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.4.2</td><td align="left">Function <code class="code">isblank</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.5</td><td align="left">Additions to header <code class="code">&lt;ctype.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.6</td><td align="left">Header <code class="code">&lt;cfenv&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.6.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.6.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.7</td><td align="left">Header <code class="code">&lt;fenv.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.8</td><td align="left">Additions to header <code class="code">&lt;cfloat&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.9</td><td align="left">Additions to header <code class="code">&lt;float.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.10</td><td align="left">Additions to header <code class="code">&lt;ios&gt;</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.10.1</td><td align="left">Synopsis</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.10.2</td><td align="left">Function <code class="code">hexfloat</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">8.11</td><td align="left">Header <code class="code">&lt;cinttypes&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.11.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left">DR 557</td></tr><tr><td align="left">8.11.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.12</td><td align="left">Header <code class="code">&lt;inttypes.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.13</td><td align="left">Additions to header <code class="code">&lt;climits&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.14</td><td align="left">Additions to header <code class="code">&lt;limits.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.15</td><td align="left">Additions to header <code class="code">&lt;locale&gt;</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">8.16</td><td align="left">Additions to header <code class="code">&lt;cmath&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.3</td><td align="left">Function template definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.4</td><td align="left">Additional overloads</td><td align="left">Y</td><td align="left">DR 568; DR 550</td></tr><tr><td align="left">8.17</td><td align="left">Additions to header <code class="code">&lt;math.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.18</td><td align="left">Additions to header <code class="code">&lt;cstdarg&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.19</td><td align="left">Additions to header <code class="code">&lt;stdarg.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.20</td><td align="left">The header <code class="code">&lt;cstdbool&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.21</td><td align="left">The header <code class="code">&lt;stdbool.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.22</td><td align="left">The header <code class="code">&lt;cstdint&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.22.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.22.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.23</td><td align="left">The header <code class="code">&lt;stdint.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24</td><td align="left">Additions to header <code class="code">&lt;cstdio&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24.3</td><td align="left">Additional format specifiers</td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">8.24.4</td><td align="left">Additions to header <code class="code">&lt;stdio.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25</td><td align="left">Additions to header <code class="code">&lt;cstdlib&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.3</td><td align="left">Function <code class="code">abs</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.4</td><td align="left">Function <code class="code">div</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.26</td><td align="left">Additions to header <code class="code">&lt;stdlib.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.27</td><td align="left">Header <code class="code">&lt;ctgmath&gt;</code></td><td align="left">Y</td><td align="left">DR 551</td></tr><tr><td align="left">8.28</td><td align="left">Header <code class="code">&lt;tgmath.h&gt;</code></td><td align="left">Y</td><td align="left">DR 551</td></tr><tr><td align="left">8.29</td><td align="left">Additions to header <code class="code">&lt;ctime&gt;</code></td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">8.30</td><td align="left">Additions to header <code class="code">&lt;cwchar&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.30.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.30.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.30.3</td><td align="left">Additional wide format specifiers</td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">8.31</td><td align="left">Additions to header <code class="code">&lt;wchar.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.32</td><td align="left">Additions to header <code class="code">&lt;cwctype&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.32.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.32.2</td><td align="left">Function <code class="code">iswblank</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.33</td><td align="left">Additions to header <code class="code">&lt;wctype.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><div class="section" title="Implementation Specific Behavior"><div class="titlepage"><div><div><h4 class="title"><a id="iso.tr1.specific"></a>Implementation Specific Behavior</h4></div></div></div><p>For behaviour which is specified by the 1998 and 2003 standards,
2062 see <a class="link" href="status.html#iso.1998.specific" title="Implementation Specific Behavior">C++ 1998/2003 Implementation
2063 Specific Behavior</a>. This section documents behaviour which
2064 is required by TR1.
2065@@ -303,7 +299,7 @@
2066 <span class="emphasis"><em>3.6.4 [tr.func.bind.place]/1</em></span> There are 29
2067 placeholders defined and the placeholder types are
2068 <code class="literal">Assignable</code>.
2069- </p></div></div><div class="section" title="C++ TR 24733"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr24733"/>C++ TR 24733</h3></div></div></div><p>
2070+ </p></div></div><div class="section" title="C++ TR 24733"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr24733"></a>C++ TR 24733</h3></div></div></div><p>
2071 This table is based on the table of contents of
2072 ISO/IEC TR 24733 Date: 2009-08-28
2073 Extension for the programming language C++ to support
2074@@ -311,27 +307,27 @@
2075 </p><p>
2076 This page describes the TR 24733 support in mainline GCC SVN, not in any
2077 particular release.
2078-</p><div class="table"><a id="id473964"/><p class="title"><strong>Table 1.4. C++ TR 24733 Implementation Status</strong></p><div class="table-contents"><table summary="C++ TR 24733 Implementation Status" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Section</th><th style="text-align: left">Description</th><th style="text-align: left">Status</th><th style="text-align: left">Comments</th></tr></thead><tbody><tr><td style="text-align: left">
2079+</p><div class="table"><a id="id652443"></a><p class="title"><strong>Table 1.4. C++ TR 24733 Implementation Status</strong></p><div class="table-contents"><table summary="C++ TR 24733 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
2080 <span class="emphasis"><em>0</em></span>
2081- </td><td colspan="3" style="text-align: left">
2082+ </td><td colspan="3" align="left">
2083 <span class="emphasis"><em>Introduction</em></span>
2084- </td></tr><tr><td style="text-align: left">
2085+ </td></tr><tr><td align="left">
2086 <span class="emphasis"><em>1</em></span>
2087- </td><td colspan="3" style="text-align: left">
2088+ </td><td colspan="3" align="left">
2089 <span class="emphasis"><em>Normative references</em></span>
2090- </td></tr><tr><td style="text-align: left">
2091+ </td></tr><tr><td align="left">
2092 <span class="emphasis"><em>2</em></span>
2093- </td><td colspan="3" style="text-align: left">
2094+ </td><td colspan="3" align="left">
2095 <span class="emphasis"><em>Conventions</em></span>
2096- </td></tr><tr><td style="text-align: left">
2097+ </td></tr><tr><td align="left">
2098 <span class="emphasis"><em>3</em></span>
2099- </td><td colspan="3" style="text-align: left">
2100+ </td><td colspan="3" align="left">
2101 <span class="emphasis"><em>Decimal floating-point types</em></span>
2102- </td></tr><tr><td style="text-align: left">3.1</td><td style="text-align: left">Characteristics of decimal floating-point types</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.2</td><td style="text-align: left">Decimal Types</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">3.2.1</td><td style="text-align: left">Class <code class="code">decimal</code> synopsis</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing declarations for formatted input/output; non-conforming extension for functions converting to integral type</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">3.2.2</td><td style="text-align: left">Class <code class="code">decimal32</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing 3.2.2.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">3.2.3</td><td style="text-align: left">Class <code class="code">decimal64</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing 3.2.3.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">3.2.4</td><td style="text-align: left">Class <code class="code">decimal128</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing 3.2.4.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point</td></tr><tr><td style="text-align: left">3.2.5</td><td style="text-align: left">Initialization from coefficient and exponent</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.2.6</td><td style="text-align: left">Conversion to generic floating-point type</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.2.7</td><td style="text-align: left">Unary arithmetic operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.2.8</td><td style="text-align: left">Binary arithmetic operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.2.9</td><td style="text-align: left">Comparison operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.2.10</td><td style="text-align: left">Formatted input</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.2.11</td><td style="text-align: left">Formatted output</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.3</td><td style="text-align: left">Additions to header <code class="code">limits</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4</td><td style="text-align: left">Headers <code class="code">cfloat</code> and <code class="code">float.h</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4.2</td><td style="text-align: left">Additions to header <code class="code">cfloat</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">3.4.3</td><td style="text-align: left">Additions to header <code class="code">float.h</code> synopsis</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4.4</td><td style="text-align: left">Maximum finite value</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4.5</td><td style="text-align: left">Epsilon</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4.6</td><td style="text-align: left">Minimum positive normal value</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4.7</td><td style="text-align: left">Minimum positive subnormal value</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4.8</td><td style="text-align: left">Evaluation format</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.5</td><td style="text-align: left">Additions to <code class="code">cfenv</code> and <code class="code">fenv.h</code></td><td style="text-align: left">Outside the scope of GCC</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.6</td><td style="text-align: left">Additions to <code class="code">cmath</code> and <code class="code">math.h</code></td><td style="text-align: left">Outside the scope of GCC</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.7</td><td style="text-align: left">Additions to <code class="code">cstdio</code> and <code class="code">stdio.h</code></td><td style="text-align: left">Outside the scope of GCC</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.8</td><td style="text-align: left">Additions to <code class="code">cstdlib</code> and <code class="code">stdlib.h</code></td><td style="text-align: left">Outside the scope of GCC</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.9</td><td style="text-align: left">Additions to <code class="code">cwchar</code> and <code class="code">wchar.h</code></td><td style="text-align: left">Outside the scope of GCC</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.10</td><td style="text-align: left">Facets</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.11</td><td style="text-align: left">Type traits</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.12</td><td style="text-align: left">Hash functions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
2103+ </td></tr><tr><td align="left">3.1</td><td align="left">Characteristics of decimal floating-point types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.2</td><td align="left">Decimal Types</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">3.2.1</td><td align="left">Class <code class="code">decimal</code> synopsis</td><td align="left">Partial</td><td align="left">Missing declarations for formatted input/output; non-conforming extension for functions converting to integral type</td></tr><tr bgcolor="#B0B0B0"><td align="left">3.2.2</td><td align="left">Class <code class="code">decimal32</code></td><td align="left">Partial</td><td align="left">Missing 3.2.2.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point</td></tr><tr bgcolor="#B0B0B0"><td align="left">3.2.3</td><td align="left">Class <code class="code">decimal64</code></td><td align="left">Partial</td><td align="left">Missing 3.2.3.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point</td></tr><tr bgcolor="#B0B0B0"><td align="left">3.2.4</td><td align="left">Class <code class="code">decimal128</code></td><td align="left">Partial</td><td align="left">Missing 3.2.4.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point</td></tr><tr><td align="left">3.2.5</td><td align="left">Initialization from coefficient and exponent</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.2.6</td><td align="left">Conversion to generic floating-point type</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.2.7</td><td align="left">Unary arithmetic operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.2.8</td><td align="left">Binary arithmetic operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.2.9</td><td align="left">Comparison operators</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.2.10</td><td align="left">Formatted input</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.2.11</td><td align="left">Formatted output</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.3</td><td align="left">Additions to header <code class="code">limits</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">3.4</td><td align="left">Headers <code class="code">cfloat</code> and <code class="code">float.h</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.4.2</td><td align="left">Additions to header <code class="code">cfloat</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">3.4.3</td><td align="left">Additions to header <code class="code">float.h</code> synopsis</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">3.4.4</td><td align="left">Maximum finite value</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.4.5</td><td align="left">Epsilon</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.4.6</td><td align="left">Minimum positive normal value</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.4.7</td><td align="left">Minimum positive subnormal value</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.4.8</td><td align="left">Evaluation format</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.5</td><td align="left">Additions to <code class="code">cfenv</code> and <code class="code">fenv.h</code></td><td align="left">Outside the scope of GCC</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.6</td><td align="left">Additions to <code class="code">cmath</code> and <code class="code">math.h</code></td><td align="left">Outside the scope of GCC</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.7</td><td align="left">Additions to <code class="code">cstdio</code> and <code class="code">stdio.h</code></td><td align="left">Outside the scope of GCC</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.8</td><td align="left">Additions to <code class="code">cstdlib</code> and <code class="code">stdlib.h</code></td><td align="left">Outside the scope of GCC</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.9</td><td align="left">Additions to <code class="code">cwchar</code> and <code class="code">wchar.h</code></td><td align="left">Outside the scope of GCC</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.10</td><td align="left">Facets</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.11</td><td align="left">Type traits</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.12</td><td align="left">Hash functions</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">
2104 <span class="emphasis"><em>4</em></span>
2105- </td><td colspan="3" style="text-align: left">
2106+ </td><td colspan="3" align="left">
2107 <span class="emphasis"><em>Notes on C compatibility</em></span>
2108- </td></tr></tbody></table></div></div><br class="table-break"/></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="intro.html">Prev</a> </td><td align="center"><a accesskey="u" href="intro.html">Up</a></td><td align="right"> <a accesskey="n" href="license.html">Next</a></td></tr><tr><td align="left" valign="top">Part I. 
2109+ </td></tr></tbody></table></div></div><br class="table-break" /></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="intro.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="license.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part I. 
2110 Introduction
2111
2112- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> License</td></tr></table></div></body></html>
2113+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> License</td></tr></table></div></body></html>
2114Index: libstdc++-v3/doc/html/manual/policy_data_structures_design.html
2115===================================================================
9f95000d
AM
2116--- libstdc++-v3/doc/html/manual/policy_data_structures_design.html (.../tags/gcc_4_7_2_release) (wersja 192468)
2117+++ libstdc++-v3/doc/html/manual/policy_data_structures_design.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
2118@@ -1,6 +1,6 @@
2119 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2120-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2121-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;&#9;ISO C++&#10; , &#10;&#9;policy&#10; , &#10;&#9;container&#10; , &#10;&#9;data&#10; , &#10;&#9;structure&#10; , &#10;&#9;associated&#10; , &#10;&#9;tree&#10; , &#10;&#9;trie&#10; , &#10;&#9;hash&#10; , &#10;&#9;metaprogramming&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures"/><link rel="prev" href="policy_data_structures_using.html" title="Using"/><link rel="next" href="policy_based_data_structures_test.html" title="Testing"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td align="left"><a accesskey="p" href="policy_data_structures_using.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td align="right"> <a accesskey="n" href="policy_based_data_structures_test.html">Next</a></td></tr></table><hr/></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title"><a id="containers.pbds.design"/>Design</h2></div></div></div><p/><div class="section" title="Concepts"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.design.concepts"/>Concepts</h3></div></div></div><div class="section" title="Null Policy Classes"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.null_type"/>Null Policy Classes</h4></div></div></div><p>
2122+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2123+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;&#9;ISO C++&#10; , &#10;&#9;policy&#10; , &#10;&#9;container&#10; , &#10;&#9;data&#10; , &#10;&#9;structure&#10; , &#10;&#9;associated&#10; , &#10;&#9;tree&#10; , &#10;&#9;trie&#10; , &#10;&#9;hash&#10; , &#10;&#9;metaprogramming&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_data_structures_using.html" title="Using" /><link rel="next" href="policy_based_data_structures_test.html" title="Testing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures_using.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="policy_based_data_structures_test.html">Next</a></td></tr></table><hr /></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.pbds.design"></a>Design</h2></div></div></div><p></p><div class="section" title="Concepts"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.design.concepts"></a>Concepts</h3></div></div></div><div class="section" title="Null Policy Classes"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.null_type"></a>Null Policy Classes</h4></div></div></div><p>
2124 Associative containers are typically parametrized by various
2125 policies. For example, a hash-based associative container is
2126 parametrized by a hash-functor, transforming each key into an
2127@@ -27,7 +27,7 @@
2128 places simplifications are made possible with this technique
2129 include node updates in tree and trie data structures, and hash
2130 and probe functions for hash data structures.
2131- </p></div><div class="section" title="Map and Set Semantics"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.associative_semantics"/>Map and Set Semantics</h4></div></div></div><div class="section" title="Distinguishing Between Maps and Sets"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.associative_semantics.set_vs_map"/>
2132+ </p></div><div class="section" title="Map and Set Semantics"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.associative_semantics"></a>Map and Set Semantics</h4></div></div></div><div class="section" title="Distinguishing Between Maps and Sets"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.associative_semantics.set_vs_map"></a>
2133 Distinguishing Between Maps and Sets
2134 </h5></div></div></div><p>
2135 Anyone familiar with the standard knows that there are four kinds
2136@@ -93,7 +93,7 @@
2137 </p><p>
2138 When one uses a "multimap," one should choose with care the
2139 type of container used for secondary keys.
2140- </p></div><div class="section" title="Alternatives to std::multiset and std::multimap"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.associative_semantics.multi"/>Alternatives to <code class="classname">std::multiset</code> and <code class="classname">std::multimap</code></h5></div></div></div><p>
2141+ </p></div><div class="section" title="Alternatives to std::multiset and std::multimap"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.associative_semantics.multi"></a>Alternatives to <code class="classname">std::multiset</code> and <code class="classname">std::multimap</code></h5></div></div></div><p>
2142 Brace onself: this library does not contain containers like
2143 <code class="classname">std::multimap</code> or
2144 <code class="classname">std::multiset</code>. Instead, these data
2145@@ -171,7 +171,7 @@
2146 naturally; collision-chaining hash tables (label B) store
2147 equivalent-key values in the same bucket, the bucket can be
2148 arranged so that equivalent-key values are consecutive.
2149- </p><div class="figure"><a id="id519449"/><p class="title"><strong>Figure 22.8. Non-unique Mapping Standard Containers</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_embedded_lists_1.png" style="text-align: middle" alt="Non-unique Mapping Standard Containers"/></div></div></div><br class="figure-break"/><p>
2150+ </p><div class="figure"><a id="id697936"></a><p class="title"><strong>Figure 22.8. Non-unique Mapping Standard Containers</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_embedded_lists_1.png" align="middle" alt="Non-unique Mapping Standard Containers" /></div></div></div><br class="figure-break" /><p>
2151 Put differently, the standards' non-unique mapping
2152 associative-containers are associative containers that map
2153 primary keys to linked lists that are embedded into the
2154@@ -179,12 +179,12 @@
2155 containers from the first graphic above, this time with
2156 the embedded linked lists of the grayed nodes marked
2157 explicitly.
2158- </p><div class="figure"><a id="fig.pbds_embedded_lists_2"/><p class="title"><strong>Figure 22.9. 
2159+ </p><div class="figure"><a id="fig.pbds_embedded_lists_2"></a><p class="title"><strong>Figure 22.9. 
2160 Effect of embedded lists in
2161 <code class="classname">std::multimap</code>
2162- </strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_embedded_lists_2.png" style="text-align: middle" alt="Effect of embedded lists in std::multimap"/></div></div></div><br class="figure-break"/><p>
2163+ </strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_embedded_lists_2.png" align="middle" alt="Effect of embedded lists in std::multimap" /></div></div></div><br class="figure-break" /><p>
2164 These embedded linked lists have several disadvantages.
2165- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
2166+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
2167 The underlying data structure embeds the linked lists
2168 according to its own consideration, which means that the
2169 search path for a value might include several different
2170@@ -215,7 +215,7 @@
2171 The above reasons hold even when the ratio of secondary keys to
2172 primary keys (or average number of identical keys) is small, but
2173 when it is large, there are more severe problems:
2174- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
2175+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
2176 The underlying data structures order the links inside each
2177 embedded linked-lists according to their internal
2178 considerations, which effectively means that each of the
2179@@ -253,7 +253,7 @@
2180 first graphic above. Labels A and B, respectively. Each shaded
2181 box represents some size-type or secondary
2182 associative-container.
2183- </p><div class="figure"><a id="id519645"/><p class="title"><strong>Figure 22.10. Non-unique Mapping Containers</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_embedded_lists_3.png" style="text-align: middle" alt="Non-unique Mapping Containers"/></div></div></div><br class="figure-break"/><p>
2184+ </p><div class="figure"><a id="id698132"></a><p class="title"><strong>Figure 22.10. Non-unique Mapping Containers</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_embedded_lists_3.png" align="middle" alt="Non-unique Mapping Containers" /></div></div></div><br class="figure-break" /><p>
2185 In the first example above, then, one would use an associative
2186 container mapping each user to an associative container which
2187 maps each application id to a start time (see
2188@@ -265,7 +265,7 @@
2189 </p><p>
2190 See the discussion in list-based container types for containers
2191 especially suited as secondary associative-containers.
2192- </p></div></div><div class="section" title="Iterator Semantics"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.iterator_semantics"/>Iterator Semantics</h4></div></div></div><div class="section" title="Point and Range Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.iterator_semantics.point_and_range"/>Point and Range Iterators</h5></div></div></div><p>
2193+ </p></div></div><div class="section" title="Iterator Semantics"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.iterator_semantics"></a>Iterator Semantics</h4></div></div></div><div class="section" title="Point and Range Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.iterator_semantics.point_and_range"></a>Point and Range Iterators</h5></div></div></div><p>
2194 Iterator concepts are bifurcated in this design, and are
2195 comprised of point-type and range-type iteration.
2196 </p><p>
2197@@ -286,7 +286,7 @@
2198 implementation, including that of C++ standard library
2199 components), but in this design, it is made explicit. They are
2200 distinct types.
2201- </p></div><div class="section" title="Distinguishing Point and Range Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.iterator_semantics.both"/>Distinguishing Point and Range Iterators</h5></div></div></div><p>When using this library, is necessary to differentiate
2202+ </p></div><div class="section" title="Distinguishing Point and Range Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.iterator_semantics.both"></a>Distinguishing Point and Range Iterators</h5></div></div></div><p>When using this library, is necessary to differentiate
2203 between two types of methods and iterators: point-type methods and
2204 iterators, and range-type methods and iterators. Each associative
2205 container's interface includes the methods:</p><pre class="programlisting">
2206@@ -306,7 +306,7 @@
2207 shows invariants for order-preserving containers: point-type
2208 iterators are synonymous with range-type iterators.
2209 Orthogonally, <span class="emphasis"><em>C</em></span>shows invariants for "set"
2210- containers: iterators are synonymous with const iterators.</p><div class="figure"><a id="id519810"/><p class="title"><strong>Figure 22.11. Point Iterator Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_point_iterator_hierarchy.png" style="text-align: middle" alt="Point Iterator Hierarchy"/></div></div></div><br class="figure-break"/><p>Note that point-type iterators in self-organizing containers
2211+ containers: iterators are synonymous with const iterators.</p><div class="figure"><a id="id698297"></a><p class="title"><strong>Figure 22.11. Point Iterator Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_point_iterator_hierarchy.png" align="middle" alt="Point Iterator Hierarchy" /></div></div></div><br class="figure-break" /><p>Note that point-type iterators in self-organizing containers
2212 (hash-based associative containers) lack movement
2213 operators, such as <code class="literal">operator++</code> - in fact, this
2214 is the reason why this library differentiates from the standard C++ librarys
2215@@ -322,7 +322,7 @@
2216 a concept in C++ standardese, which is the category of iterators
2217 with no movement capabilities.) All other standard C++ library
2218 tags, such as <code class="literal">forward_iterator_tag</code> retain their
2219- common use.</p></div><div class="section" title="Invalidation Guarantees"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.design.concepts.invalidation"/>Invalidation Guarantees</h5></div></div></div><p>
2220+ common use.</p></div><div class="section" title="Invalidation Guarantees"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.design.concepts.invalidation"></a>Invalidation Guarantees</h5></div></div></div><p>
2221 If one manipulates a container object, then iterators previously
2222 obtained from it can be invalidated. In some cases a
2223 previously-obtained iterator cannot be de-referenced; in other cases,
2224@@ -345,7 +345,7 @@
2225 to the question of whether point-type iterators and range-type
2226 iterators are valid. The graphic below shows tags corresponding to
2227 different types of invalidation guarantees.
2228- </p><div class="figure"><a id="id519922"/><p class="title"><strong>Figure 22.12. Invalidation Guarantee Tags Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_invalidation_tag_hierarchy.png" style="text-align: middle" alt="Invalidation Guarantee Tags Hierarchy"/></div></div></div><br class="figure-break"/><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
2229+ </p><div class="figure"><a id="id698408"></a><p class="title"><strong>Figure 22.12. Invalidation Guarantee Tags Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_invalidation_tag_hierarchy.png" align="middle" alt="Invalidation Guarantee Tags Hierarchy" /></div></div></div><br class="figure-break" /><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
2230 <code class="classname">basic_invalidation_guarantee</code>
2231 corresponds to a basic guarantee that a point-type iterator,
2232 a found pointer, or a found reference, remains valid as long
2233@@ -376,7 +376,7 @@
2234 our opinion, an invalidation-guarantee hierarchy would solve
2235 these problems in all container types - not just associative
2236 containers.
2237- </p></div></div><div class="section" title="Genericity"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.genericity"/>Genericity</h4></div></div></div><p>
2238+ </p></div></div><div class="section" title="Genericity"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.genericity"></a>Genericity</h4></div></div></div><p>
2239 The design attempts to address the following problem of
2240 data-structure genericity. When writing a function manipulating
2241 a generic container object, what is the behavior of the object?
2242@@ -391,7 +391,7 @@
2243 </pre><p>
2244 then one needs to address the following questions in the body
2245 of <code class="function">some_op_sequence</code>:
2246- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
2247+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
2248 Which types and methods does <code class="literal">Cntnr</code> support?
2249 Containers based on hash tables can be queries for the
2250 hash-functor type and object; this is meaningless for tree-based
2251@@ -418,7 +418,7 @@
2252 capabilities? What is the relationship between two different
2253 data structures, if anything?
2254 </p></li></ul></div><p>The remainder of this section explains these issues in
2255- detail.</p><div class="section" title="Tag"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.genericity.tag"/>Tag</h5></div></div></div><p>
2256+ detail.</p><div class="section" title="Tag"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.genericity.tag"></a>Tag</h5></div></div></div><p>
2257 Tags are very useful for manipulating generic types. For example, if
2258 <code class="literal">It</code> is an iterator class, then <code class="literal">typename
2259 It::iterator_category</code> or <code class="literal">typename
2260@@ -429,11 +429,11 @@
2261 </p><p>
2262 This library contains a container tag hierarchy corresponding to the
2263 diagram below.
2264- </p><div class="figure"><a id="id520174"/><p class="title"><strong>Figure 22.13. Container Tag Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_container_tag_hierarchy.png" style="text-align: middle" alt="Container Tag Hierarchy"/></div></div></div><br class="figure-break"/><p>
2265+ </p><div class="figure"><a id="id698660"></a><p class="title"><strong>Figure 22.13. Container Tag Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_container_tag_hierarchy.png" align="middle" alt="Container Tag Hierarchy" /></div></div></div><br class="figure-break" /><p>
2266 Given any container <span class="type">Cntnr</span>, the tag of
2267 the underlying data structure can be found via <code class="literal">typename
2268 Cntnr::container_category</code>.
2269- </p></div><div class="section" title="Traits"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.genericity.traits"/>Traits</h5></div></div></div><p/><p>Additionally, a traits mechanism can be used to query a
2270+ </p></div><div class="section" title="Traits"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.genericity.traits"></a>Traits</h5></div></div></div><p></p><p>Additionally, a traits mechanism can be used to query a
2271 container type for its attributes. Given any container
2272 <code class="literal">Cntnr</code>, then <code class="literal">&lt;Cntnr&gt;</code>
2273 is a traits class identifying the properties of the
2274@@ -453,7 +453,7 @@
2275 otherwise <code class="classname">container_traits&lt;Cntnr&gt;::split_join_can_throw</code>
2276 will yield a compilation error. (This is somewhat similar to a
2277 compile-time version of the COM model).
2278- </p></div></div></div><div class="section" title="By Container"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.design.container"/>By Container</h3></div></div></div><div class="section" title="hash"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.hash"/>hash</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.hash.interface"/>Interface</h5></div></div></div><p>
2279+ </p></div></div></div><div class="section" title="By Container"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.design.container"></a>By Container</h3></div></div></div><div class="section" title="hash"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.hash"></a>hash</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.hash.interface"></a>Interface</h5></div></div></div><p>
2280 The collision-chaining hash-based container has the
2281 following declaration.</p><pre class="programlisting">
2282 template&lt;
2283@@ -466,7 +466,7 @@
2284 bool Store_Hash = false,
2285 typename Allocator = std::allocator&lt;char&gt; &gt;
2286 class cc_hash_table;
2287- </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">Key</code> is the key type.</p></li><li class="listitem"><p><code class="classname">Mapped</code> is the mapped-policy.</p></li><li class="listitem"><p><code class="classname">Hash_Fn</code> is a key hashing functor.</p></li><li class="listitem"><p><code class="classname">Eq_Fn</code> is a key equivalence functor.</p></li><li class="listitem"><p><code class="classname">Comb_Hash_Fn</code> is a range-hashing_functor;
2288+ </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">Key</code> is the key type.</p></li><li class="listitem"><p><code class="classname">Mapped</code> is the mapped-policy.</p></li><li class="listitem"><p><code class="classname">Hash_Fn</code> is a key hashing functor.</p></li><li class="listitem"><p><code class="classname">Eq_Fn</code> is a key equivalence functor.</p></li><li class="listitem"><p><code class="classname">Comb_Hash_Fn</code> is a range-hashing_functor;
2289 it describes how to translate hash values into positions
2290 within the table. </p></li><li class="listitem"><p><code class="classname">Resize_Policy</code> describes how a container object
2291 should change its internal size. </p></li><li class="listitem"><p><code class="classname">Store_Hash</code> indicates whether the hash value
2292@@ -485,11 +485,11 @@
2293 typename Allocator = std::allocator&lt;char&gt; &gt;
2294 class gp_hash_table;
2295 </pre><p>The parameters are identical to those of the
2296- collision-chaining container, except for the following.</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">Comb_Probe_Fn</code> describes how to transform a probe
2297+ collision-chaining container, except for the following.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">Comb_Probe_Fn</code> describes how to transform a probe
2298 sequence into a sequence of positions within the table.</p></li><li class="listitem"><p><code class="classname">Probe_Fn</code> describes a probe sequence policy.</p></li></ol></div><p>Some of the default template values depend on the values of
2299- other parameters, and are explained below.</p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.hash.details"/>Details</h5></div></div></div><div class="section" title="Hash Policies"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.hash_policies"/>Hash Policies</h6></div></div></div><div class="section" title="General"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.general"/>General</h6></div></div></div><p>Following is an explanation of some functions which hashing
2300- involves. The graphic below illustrates the discussion.</p><div class="figure"><a id="id520506"/><p class="title"><strong>Figure 22.14. Hash functions, ranged-hash functions, and
2301- range-hashing functions</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_ranged_hash_range_hashing_fns.png" style="text-align: middle" alt="Hash functions, ranged-hash functions, and range-hashing functions"/></div></div></div><br class="figure-break"/><p>Let U be a domain (e.g., the integers, or the
2302+ other parameters, and are explained below.</p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.hash.details"></a>Details</h5></div></div></div><div class="section" title="Hash Policies"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.hash_policies"></a>Hash Policies</h6></div></div></div><div class="section" title="General"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.general"></a>General</h6></div></div></div><p>Following is an explanation of some functions which hashing
2303+ involves. The graphic below illustrates the discussion.</p><div class="figure"><a id="id698993"></a><p class="title"><strong>Figure 22.14. Hash functions, ranged-hash functions, and
2304+ range-hashing functions</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_ranged_hash_range_hashing_fns.png" align="middle" alt="Hash functions, ranged-hash functions, and range-hashing functions" /></div></div></div><br class="figure-break" /><p>Let U be a domain (e.g., the integers, or the
2305 strings of 3 characters). A hash-table algorithm needs to map
2306 elements of U "uniformly" into the range [0,..., m -
2307 1] (where m is a non-negative integral value, and
2308@@ -505,9 +505,9 @@
2309 Z<sub>+</sub>,</p><p>which maps a non-negative hash value, and a non-negative
2310 range upper-bound into a non-negative integral in the range
2311 between 0 (inclusive) and the range upper bound (exclusive),
2312- i.e., for any r in Z<sub>+</sub>,</p><p>0 ≤ g(r, m) ≤ m - 1</p><p>The resulting ranged-hash function, is</p><div class="equation"><a id="id520621"/><p class="title"><strong>Equation 22.1. Ranged Hash Function</strong></p><div class="equation-contents"><span class="mathphrase">
2313+ i.e., for any r in Z<sub>+</sub>,</p><p>0 ≤ g(r, m) ≤ m - 1</p><p>The resulting ranged-hash function, is</p><div class="equation"><a id="id699108"></a><p class="title"><strong>Equation 22.1. Ranged Hash Function</strong></p><div class="equation-contents"><span class="mathphrase">
2314 f(u , m) = g(h(u), m)
2315- </span></div></div><br class="equation-break"/><p>From the above, it is obvious that given g and
2316+ </span></div></div><br class="equation-break" /><p>From the above, it is obvious that given g and
2317 h, f can always be composed (however the converse
2318 is not true). The standard's hash-based containers allow specifying
2319 a hash function, and use a hard-wired range-hashing function;
2320@@ -523,11 +523,11 @@
2321 probe function transforming the hash value into a
2322 sequence of hash values, and a range-hashing function
2323 transforming the sequence of hash values into a sequence of
2324- positions.</p></div><div class="section" title="Range Hashing"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.range"/>Range Hashing</h6></div></div></div><p>Some common choices for range-hashing functions are the
2325+ positions.</p></div><div class="section" title="Range Hashing"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.range"></a>Range Hashing</h6></div></div></div><p>Some common choices for range-hashing functions are the
2326 division, multiplication, and middle-square methods (<a class="xref" href="policy_data_structures.html#biblio.knuth98sorting" title="The Art of Computer Programming - Sorting and Searching">[biblio.knuth98sorting]</a>), defined
2327- as</p><div class="equation"><a id="id520670"/><p class="title"><strong>Equation 22.2. Range-Hashing, Division Method</strong></p><div class="equation-contents"><span class="mathphrase">
2328+ as</p><div class="equation"><a id="id699157"></a><p class="title"><strong>Equation 22.2. Range-Hashing, Division Method</strong></p><div class="equation-contents"><span class="mathphrase">
2329 g(r, m) = r mod m
2330- </span></div></div><br class="equation-break"/><p>g(r, m) = ⌈ u/v ( a r mod v ) ⌉</p><p>and</p><p>g(r, m) = ⌈ u/v ( r<sup>2</sup> mod v ) ⌉</p><p>respectively, for some positive integrals u and
2331+ </span></div></div><br class="equation-break" /><p>g(r, m) = ⌈ u/v ( a r mod v ) ⌉</p><p>and</p><p>g(r, m) = ⌈ u/v ( r<sup>2</sup> mod v ) ⌉</p><p>respectively, for some positive integrals u and
2332 v (typically powers of 2), and some a. Each of
2333 these range-hashing functions works best for some different
2334 setting.</p><p>The division method (see above) is a
2335@@ -536,12 +536,12 @@
2336 implement using the low
2337 level % (modulo) operation (for any m), or the
2338 low level &amp; (bit-mask) operation (for the case where
2339- m is a power of 2), i.e.,</p><div class="equation"><a id="id520708"/><p class="title"><strong>Equation 22.3. Division via Prime Modulo</strong></p><div class="equation-contents"><span class="mathphrase">
2340+ m is a power of 2), i.e.,</p><div class="equation"><a id="id699194"></a><p class="title"><strong>Equation 22.3. Division via Prime Modulo</strong></p><div class="equation-contents"><span class="mathphrase">
2341 g(r, m) = r % m
2342- </span></div></div><br class="equation-break"/><p>and</p><div class="equation"><a id="id520723"/><p class="title"><strong>Equation 22.4. Division via Bit Mask</strong></p><div class="equation-contents"><span class="mathphrase">
2343+ </span></div></div><br class="equation-break" /><p>and</p><div class="equation"><a id="id699210"></a><p class="title"><strong>Equation 22.4. Division via Bit Mask</strong></p><div class="equation-contents"><span class="mathphrase">
2344 g(r, m) = r &amp; m - 1, (with m =
2345 2<sup>k</sup> for some k)
2346- </span></div></div><br class="equation-break"/><p>respectively.</p><p>The % (modulo) implementation has the advantage that for
2347+ </span></div></div><br class="equation-break" /><p>respectively.</p><p>The % (modulo) implementation has the advantage that for
2348 m a prime far from a power of 2, g(r, m) is
2349 affected by all the bits of r (minimizing the chance of
2350 collision). It has the disadvantage of using the costly modulo
2351@@ -550,7 +550,7 @@
2352 relying on the fast bit-wise and operation. It has the
2353 disadvantage that for g(r, m) is affected only by the
2354 low order bits of r. This method is hard-wired into
2355- Dinkumware's implementation.</p></div><div class="section" title="Ranged Hash"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.ranged"/>Ranged Hash</h6></div></div></div><p>In cases it is beneficial to allow the
2356+ Dinkumware's implementation.</p></div><div class="section" title="Ranged Hash"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.ranged"></a>Ranged Hash</h6></div></div></div><p>In cases it is beneficial to allow the
2357 client to directly specify a ranged-hash hash function. It is
2358 true, that the writer of the ranged-hash function cannot rely
2359 on the values of m having specific numerical properties
2360@@ -564,24 +564,24 @@
2361 s = [ s<sub>0</sub>,..., s<sub>t - 1</sub>]
2362 </p><p>be a string of t characters, each of which is from
2363 domain S. Consider the following ranged-hash
2364- function:</p><div class="equation"><a id="id520803"/><p class="title"><strong>Equation 22.5. 
2365+ function:</p><div class="equation"><a id="id699290"></a><p class="title"><strong>Equation 22.5. 
2366 A Standard String Hash Function
2367 </strong></p><div class="equation-contents"><span class="mathphrase">
2368 f<sub>1</sub>(s, m) = ∑ <sub>i =
2369 0</sub><sup>t - 1</sup> s<sub>i</sub> a<sup>i</sup> mod m
2370- </span></div></div><br class="equation-break"/><p>where a is some non-negative integral value. This is
2371+ </span></div></div><br class="equation-break" /><p>where a is some non-negative integral value. This is
2372 the standard string-hashing function used in SGI's
2373 implementation (with a = 5). Its advantage is that
2374 it takes into account all of the characters of the string.</p><p>Now assume that s is the string representation of a
2375 of a long DNA sequence (and so S = {'A', 'C', 'G',
2376 'T'}). In this case, scanning the entire string might be
2377 prohibitively expensive. A possible alternative might be to use
2378- only the first k characters of the string, where</p><p>|S|<sup>k</sup> ≥ m ,</p><p>i.e., using the hash function</p><div class="equation"><a id="id520854"/><p class="title"><strong>Equation 22.6. 
2379+ only the first k characters of the string, where</p><p>|S|<sup>k</sup> ≥ m ,</p><p>i.e., using the hash function</p><div class="equation"><a id="id699341"></a><p class="title"><strong>Equation 22.6. 
2380 Only k String DNA Hash
2381 </strong></p><div class="equation-contents"><span class="mathphrase">
2382 f<sub>2</sub>(s, m) = ∑ <sub>i
2383 = 0</sub><sup>k - 1</sup> s<sub>i</sub> a<sup>i</sup> mod m
2384- </span></div></div><br class="equation-break"/><p>requiring scanning over only</p><p>k = log<sub>4</sub>( m )</p><p>characters.</p><p>Other more elaborate hash-functions might scan k
2385+ </span></div></div><br class="equation-break" /><p>requiring scanning over only</p><p>k = log<sub>4</sub>( m )</p><p>characters.</p><p>Other more elaborate hash-functions might scan k
2386 characters starting at a random position (determined at each
2387 resize), or scanning k random positions (determined at
2388 each resize), i.e., using</p><p>f<sub>3</sub>(s, m) = ∑ <sub>i =
2389@@ -590,12 +590,12 @@
2390 1</sup> s<sub>r</sub>i a<sup>r<sub>i</sub></sup> mod
2391 m ,</p><p>respectively, for r<sub>0</sub>,..., r<sub>k-1</sub>
2392 each in the (inclusive) range [0,...,t-1].</p><p>It should be noted that the above functions cannot be
2393- decomposed as per a ranged hash composed of hash and range hashing.</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.implementation"/>Implementation</h6></div></div></div><p>This sub-subsection describes the implementation of
2394+ decomposed as per a ranged hash composed of hash and range hashing.</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.implementation"></a>Implementation</h6></div></div></div><p>This sub-subsection describes the implementation of
2395 the above in this library. It first explains range-hashing
2396 functions in collision-chaining tables, then ranged-hash
2397 functions in collision-chaining tables, then probing-based
2398 tables, and finally lists the relevant classes in this
2399- library.</p><div class="section" title="Range-Hashing and Ranged-Hashes in Collision-Chaining Tables"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.collision-chaining"/>
2400+ library.</p><div class="section" title="Range-Hashing and Ranged-Hashes in Collision-Chaining Tables"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.collision-chaining"></a>
2401 Range-Hashing and Ranged-Hashes in Collision-Chaining Tables
2402 </h6></div></div></div><p><code class="classname">cc_hash_table</code> is
2403 parametrized by <code class="classname">Hash_Fn</code> and <code class="classname">Comb_Hash_Fn</code>, a
2404@@ -607,12 +607,12 @@
2405 the container transforms the key into a non-negative integral
2406 using the hash functor (points B and C), and transforms the
2407 result into a position using the combining functor (points D
2408- and E).</p><div class="figure"><a id="id521043"/><p class="title"><strong>Figure 22.15. Insert hash sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_range_hashing_seq_diagram.png" style="text-align: middle" alt="Insert hash sequence diagram"/></div></div></div><br class="figure-break"/><p>If <code class="classname">cc_hash_table</code>'s
2409+ and E).</p><div class="figure"><a id="id699530"></a><p class="title"><strong>Figure 22.15. Insert hash sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_range_hashing_seq_diagram.png" align="middle" alt="Insert hash sequence diagram" /></div></div></div><br class="figure-break" /><p>If <code class="classname">cc_hash_table</code>'s
2410 hash-functor, <code class="classname">Hash_Fn</code> is instantiated by <code class="classname">null_type</code> , then <code class="classname">Comb_Hash_Fn</code> is taken to be
2411 a ranged-hash function. The graphic below shows an <code class="function">insert</code> sequence
2412 diagram. The user inserts an element (point A), the container
2413 transforms the key into a position using the combining functor
2414- (points B and C).</p><div class="figure"><a id="id521102"/><p class="title"><strong>Figure 22.16. Insert hash sequence diagram with a null policy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_range_hashing_seq_diagram2.png" style="text-align: middle" alt="Insert hash sequence diagram with a null policy"/></div></div></div><br class="figure-break"/></div><div class="section" title="Probing tables"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.probe"/>
2415+ (points B and C).</p><div class="figure"><a id="id699588"></a><p class="title"><strong>Figure 22.16. Insert hash sequence diagram with a null policy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_range_hashing_seq_diagram2.png" align="middle" alt="Insert hash sequence diagram with a null policy" /></div></div></div><br class="figure-break" /></div><div class="section" title="Probing tables"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.probe"></a>
2416 Probing tables
2417 </h6></div></div></div><p><code class="classname">gp_hash_table</code> is parametrized by
2418 <code class="classname">Hash_Fn</code>, <code class="classname">Probe_Fn</code>,
2419@@ -624,10 +624,10 @@
2420 functor, <code class="classname">Probe_Fn</code> is a functor for offsets
2421 from a hash value, and <code class="classname">Comb_Probe_Fn</code>
2422 transforms a probe sequence into a sequence of positions within
2423- the table.</p></div><div class="section" title="Pre-Defined Policies"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.predefined"/>
2424+ the table.</p></div><div class="section" title="Pre-Defined Policies"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.predefined"></a>
2425 Pre-Defined Policies
2426 </h6></div></div></div><p>This library contains some pre-defined classes
2427- implementing range-hashing and probing functions:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">direct_mask_range_hashing</code>
2428+ implementing range-hashing and probing functions:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">direct_mask_range_hashing</code>
2429 and <code class="classname">direct_mod_range_hashing</code>
2430 are range-hashing functions based on a bit-mask and a modulo
2431 operation, respectively.</p></li><li class="listitem"><p><code class="classname">linear_probe_fn</code>, and
2432@@ -635,14 +635,14 @@
2433 a linear probe and a quadratic probe function,
2434 respectively.</p></li></ol></div><p>
2435 The graphic below shows the relationships.
2436- </p><div class="figure"><a id="id521241"/><p class="title"><strong>Figure 22.17. Hash policy class diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_policy_cd.png" style="text-align: middle" alt="Hash policy class diagram"/></div></div></div><br class="figure-break"/></div></div></div><div class="section" title="Resize Policies"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.resize_policies"/>Resize Policies</h6></div></div></div><div class="section" title="General"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.general"/>General</h6></div></div></div><p>Hash-tables, as opposed to trees, do not naturally grow or
2437+ </p><div class="figure"><a id="id699728"></a><p class="title"><strong>Figure 22.17. Hash policy class diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_policy_cd.png" align="middle" alt="Hash policy class diagram" /></div></div></div><br class="figure-break" /></div></div></div><div class="section" title="Resize Policies"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.resize_policies"></a>Resize Policies</h6></div></div></div><div class="section" title="General"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.general"></a>General</h6></div></div></div><p>Hash-tables, as opposed to trees, do not naturally grow or
2438 shrink. It is necessary to specify policies to determine how
2439 and when a hash table should change its size. Usually, resize
2440- policies can be decomposed into orthogonal policies:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>A size policy indicating how a hash table
2441+ policies can be decomposed into orthogonal policies:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>A size policy indicating how a hash table
2442 should grow (e.g., it should multiply by powers of
2443 2).</p></li><li class="listitem"><p>A trigger policy indicating when a hash
2444 table should grow (e.g., a load factor is
2445- exceeded).</p></li></ol></div></div><div class="section" title="Size Policies"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.size"/>Size Policies</h6></div></div></div><p>Size policies determine how a hash table changes size. These
2446+ exceeded).</p></li></ol></div></div><div class="section" title="Size Policies"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.size"></a>Size Policies</h6></div></div></div><p>Size policies determine how a hash table changes size. These
2447 policies are simple, and there are relatively few sensible
2448 options. An exponential-size policy (with the initial size and
2449 growth factors both powers of 2) works well with a mask-based
2450@@ -650,7 +650,7 @@
2451 hard-wired policy used by Dinkumware. A
2452 prime-list based policy works well with a modulo-prime range
2453 hashing function and is the hard-wired policy used by SGI's
2454- implementation.</p></div><div class="section" title="Trigger Policies"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.trigger"/>Trigger Policies</h6></div></div></div><p>Trigger policies determine when a hash table changes size.
2455+ implementation.</p></div><div class="section" title="Trigger Policies"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.trigger"></a>Trigger Policies</h6></div></div></div><p>Trigger policies determine when a hash table changes size.
2456 Following is a description of two policies: load-check
2457 policies, and collision-check policies.</p><p>Load-check policies are straightforward. The user specifies
2458 two factors, Α<sub>min</sub> and
2459@@ -668,14 +668,14 @@
2460 and some load factor be denoted by Α. We would like to
2461 calculate the minimal length of k, such that if there were Α
2462 m elements in the hash table, a probe sequence of length k would
2463- be found with probability at most 1/m.</p><div class="figure"><a id="id521400"/><p class="title"><strong>Figure 22.18. Balls and bins</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_balls_and_bins.png" style="text-align: middle" alt="Balls and bins"/></div></div></div><br class="figure-break"/><p>Denote the probability that a probe sequence of length
2464+ be found with probability at most 1/m.</p><div class="figure"><a id="id699887"></a><p class="title"><strong>Figure 22.18. Balls and bins</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_balls_and_bins.png" align="middle" alt="Balls and bins" /></div></div></div><br class="figure-break" /><p>Denote the probability that a probe sequence of length
2465 k appears in bin i by p<sub>i</sub>, the
2466 length of the probe sequence of bin i by
2467- l<sub>i</sub>, and assume uniform distribution. Then</p><div class="equation"><a id="id521446"/><p class="title"><strong>Equation 22.7. 
2468+ l<sub>i</sub>, and assume uniform distribution. Then</p><div class="equation"><a id="id699932"></a><p class="title"><strong>Equation 22.7. 
2469 Probability of Probe Sequence of Length k
2470 </strong></p><div class="equation-contents"><span class="mathphrase">
2471 p<sub>1</sub> =
2472- </span></div></div><br class="equation-break"/><p>P(l<sub>1</sub> ≥ k) =</p><p>
2473+ </span></div></div><br class="equation-break" /><p>P(l<sub>1</sub> ≥ k) =</p><p>
2474 P(l<sub>1</sub> ≥ α ( 1 + k / α - 1) ≤ (a)
2475 </p><p>
2476 e ^ ( - ( α ( k / α - 1 )<sup>2</sup> ) /2)
2477@@ -685,11 +685,11 @@
2478 l<sub>i</sub> are negatively-dependent
2479 (<a class="xref" href="policy_data_structures.html#biblio.dubhashi98neg" title="Balls and bins: A study in negative dependence">[biblio.dubhashi98neg]</a>)
2480 . Let
2481- I(.) denote the indicator function. Then</p><div class="equation"><a id="id521502"/><p class="title"><strong>Equation 22.8. 
2482+ I(.) denote the indicator function. Then</p><div class="equation"><a id="id699989"></a><p class="title"><strong>Equation 22.8. 
2483 Probability Probe Sequence in Some Bin
2484 </strong></p><div class="equation-contents"><span class="mathphrase">
2485 P( exists<sub>i</sub> l<sub>i</sub> ≥ k ) =
2486- </span></div></div><br class="equation-break"/><p>P ( ∑ <sub>i = 1</sub><sup>m</sup>
2487+ </span></div></div><br class="equation-break" /><p>P ( ∑ <sub>i = 1</sub><sup>m</sup>
2488 I(l<sub>i</sub> ≥ k) ≥ 1 ) =</p><p>P ( ∑ <sub>i = 1</sub><sup>m</sup> I (
2489 l<sub>i</sub> ≥ k ) ≥ m p<sub>1</sub> ( 1 + 1 / (m
2490 p<sub>1</sub>) - 1 ) ) ≤ (a)</p><p>e ^ ( ( - m p<sub>1</sub> ( 1 / (m p<sub>1</sub>)
2491@@ -697,11 +697,11 @@
2492 be applied to negatively-dependent variables (<a class="xref" href="policy_data_structures.html#biblio.dubhashi98neg" title="Balls and bins: A study in negative dependence">[biblio.dubhashi98neg]</a>). Inserting the first probability
2493 equation into the second one, and equating with 1/m, we
2494 obtain</p><p>k ~ √ ( 2 α ln 2 m ln(m) )
2495- ) .</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl"/>Implementation</h6></div></div></div><p>This sub-subsection describes the implementation of the
2496+ ) .</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl"></a>Implementation</h6></div></div></div><p>This sub-subsection describes the implementation of the
2497 above in this library. It first describes resize policies and
2498 their decomposition into trigger and size policies, then
2499 describes pre-defined classes, and finally discusses controlled
2500- access the policies' internals.</p><div class="section" title="Decomposition"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl.decomposition"/>Decomposition</h6></div></div></div><p>Each hash-based container is parametrized by a
2501+ access the policies' internals.</p><div class="section" title="Decomposition"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl.decomposition"></a>Decomposition</h6></div></div></div><p>Each hash-based container is parametrized by a
2502 <code class="classname">Resize_Policy</code> parameter; the container derives
2503 <code class="classname">public</code>ly from <code class="classname">Resize_Policy</code>. For
2504 example:</p><pre class="programlisting">
2505@@ -724,7 +724,7 @@
2506 a resize is needed, and if so, what is the new size (points D
2507 to G); following the resize, it notifies the policy that a
2508 resize has completed (point H); finally, the element is
2509- inserted, and the policy notified (point I).</p><div class="figure"><a id="id521656"/><p class="title"><strong>Figure 22.19. Insert resize sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_insert_resize_sequence_diagram1.png" style="text-align: middle" alt="Insert resize sequence diagram"/></div></div></div><br class="figure-break"/><p>In practice, a resize policy can be usually orthogonally
2510+ inserted, and the policy notified (point I).</p><div class="figure"><a id="id700143"></a><p class="title"><strong>Figure 22.19. Insert resize sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_insert_resize_sequence_diagram1.png" align="middle" alt="Insert resize sequence diagram" /></div></div></div><br class="figure-break" /><p>In practice, a resize policy can be usually orthogonally
2511 decomposed to a size policy and a trigger policy. Consequently,
2512 the library contains a single class for instantiating a resize
2513 policy: <code class="classname">hash_standard_resize_policy</code>
2514@@ -733,10 +733,10 @@
2515 both, and acts as a standard delegate (<a class="xref" href="policy_data_structures.html#biblio.gof" title="Design Patterns - Elements of Reusable Object-Oriented Software">[biblio.gof]</a>)
2516 to these policies.</p><p>The two graphics immediately below show sequence diagrams
2517 illustrating the interaction between the standard resize policy
2518- and its trigger and size policies, respectively.</p><div class="figure"><a id="id521721"/><p class="title"><strong>Figure 22.20. Standard resize policy trigger sequence
2519- diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_insert_resize_sequence_diagram2.png" style="text-align: middle" alt="Standard resize policy trigger sequence diagram"/></div></div></div><br class="figure-break"/><div class="figure"><a id="id521756"/><p class="title"><strong>Figure 22.21. Standard resize policy size sequence
2520- diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_insert_resize_sequence_diagram3.png" style="text-align: middle" alt="Standard resize policy size sequence diagram"/></div></div></div><br class="figure-break"/></div><div class="section" title="Predefined Policies"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl.predefined"/>Predefined Policies</h6></div></div></div><p>The library includes the following
2521- instantiations of size and trigger policies:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">hash_load_check_resize_trigger</code>
2522+ and its trigger and size policies, respectively.</p><div class="figure"><a id="id700208"></a><p class="title"><strong>Figure 22.20. Standard resize policy trigger sequence
2523+ diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_insert_resize_sequence_diagram2.png" align="middle" alt="Standard resize policy trigger sequence diagram" /></div></div></div><br class="figure-break" /><div class="figure"><a id="id700243"></a><p class="title"><strong>Figure 22.21. Standard resize policy size sequence
2524+ diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_insert_resize_sequence_diagram3.png" align="middle" alt="Standard resize policy size sequence diagram" /></div></div></div><br class="figure-break" /></div><div class="section" title="Predefined Policies"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl.predefined"></a>Predefined Policies</h6></div></div></div><p>The library includes the following
2525+ instantiations of size and trigger policies:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">hash_load_check_resize_trigger</code>
2526 implements a load check trigger policy.</p></li><li class="listitem"><p><code class="classname">cc_hash_max_collision_check_resize_trigger</code>
2527 implements a collision check trigger policy.</p></li><li class="listitem"><p><code class="classname">hash_exponential_size_policy</code>
2528 implements an exponential-size policy (which should be used
2529@@ -753,7 +753,7 @@
2530 instantiated by <code class="classname">hash_load_check_resize_trigger</code>,
2531 or <code class="classname">cc_hash_max_collision_check_resize_trigger</code>;
2532 <code class="classname">Size_Policy</code> is instantiated by <code class="classname">hash_exponential_size_policy</code>,
2533- or <code class="classname">hash_prime_size_policy</code>.</p></div><div class="section" title="Controling Access to Internals"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl.internals"/>Controling Access to Internals</h6></div></div></div><p>There are cases where (controlled) access to resize
2534+ or <code class="classname">hash_prime_size_policy</code>.</p></div><div class="section" title="Controling Access to Internals"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl.internals"></a>Controling Access to Internals</h6></div></div></div><p>There are cases where (controlled) access to resize
2535 policies' internals is beneficial. E.g., it is sometimes
2536 useful to query a hash-table for the table's actual size (as
2537 opposed to its <code class="function">size()</code> - the number of values it
2538@@ -798,11 +798,11 @@
2539 </pre><p>which resizes the container. Implementations of
2540 <code class="classname">Resize_Policy</code> can export public methods for resizing
2541 the container externally; these methods internally call
2542- <code class="classname">do_resize</code> to resize the table.</p></div></div></div><div class="section" title="Policy Interactions"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.policy_interaction"/>Policy Interactions</h6></div></div></div><p>
2543+ <code class="classname">do_resize</code> to resize the table.</p></div></div></div><div class="section" title="Policy Interactions"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.policy_interaction"></a>Policy Interactions</h6></div></div></div><p>
2544 </p><p>Hash-tables are unfortunately especially susceptible to
2545 choice of policies. One of the more complicated aspects of this
2546 is that poor combinations of good policies can form a poor
2547- container. Following are some considerations.</p><div class="section" title="probe/size/trigger"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.probesizetrigger"/>probe/size/trigger</h6></div></div></div><p>Some combinations do not work well for probing containers.
2548+ container. Following are some considerations.</p><div class="section" title="probe/size/trigger"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.probesizetrigger"></a>probe/size/trigger</h6></div></div></div><p>Some combinations do not work well for probing containers.
2549 For example, combining a quadratic probe policy with an
2550 exponential size policy can yield a poor container: when an
2551 element is inserted, a trigger policy might decide that there
2552@@ -811,13 +811,13 @@
2553 the unused entries.</p><p>Unfortunately, this library cannot detect such problems at
2554 compilation (they are halting reducible). It therefore defines
2555 an exception class <code class="classname">insert_error</code> to throw an
2556- exception in this case.</p></div><div class="section" title="hash/trigger"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.hashtrigger"/>hash/trigger</h6></div></div></div><p>Some trigger policies are especially susceptible to poor
2557+ exception in this case.</p></div><div class="section" title="hash/trigger"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.hashtrigger"></a>hash/trigger</h6></div></div></div><p>Some trigger policies are especially susceptible to poor
2558 hash functions. Suppose, as an extreme case, that the hash
2559 function transforms each key to the same hash value. After some
2560 inserts, a collision detecting policy will always indicate that
2561 the container needs to grow.</p><p>The library, therefore, by design, limits each operation to
2562 one resize. For each <code class="classname">insert</code>, for example, it queries
2563- only once whether a resize is needed.</p></div><div class="section" title="equivalence functors/storing hash values/hash"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.eqstorehash"/>equivalence functors/storing hash values/hash</h6></div></div></div><p><code class="classname">cc_hash_table</code> and
2564+ only once whether a resize is needed.</p></div><div class="section" title="equivalence functors/storing hash values/hash"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.eqstorehash"></a>equivalence functors/storing hash values/hash</h6></div></div></div><p><code class="classname">cc_hash_table</code> and
2565 <code class="classname">gp_hash_table</code> are
2566 parametrized by an equivalence functor and by a
2567 <code class="classname">Store_Hash</code> parameter. If the latter parameter is
2568@@ -828,15 +828,15 @@
2569 collisions for other types.</p><p>If a ranged-hash function or ranged probe function is
2570 directly supplied, however, then it makes no sense to store the
2571 hash value with each entry. This library's container will
2572- fail at compilation, by design, if this is attempted.</p></div><div class="section" title="size/load-check trigger"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.sizeloadtrigger"/>size/load-check trigger</h6></div></div></div><p>Assume a size policy issues an increasing sequence of sizes
2573+ fail at compilation, by design, if this is attempted.</p></div><div class="section" title="size/load-check trigger"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.sizeloadtrigger"></a>size/load-check trigger</h6></div></div></div><p>Assume a size policy issues an increasing sequence of sizes
2574 a, a q, a q<sup>1</sup>, a q<sup>2</sup>, ... For
2575 example, an exponential size policy might issue the sequence of
2576 sizes 8, 16, 32, 64, ...</p><p>If a load-check trigger policy is used, with loads
2577 α<sub>min</sub> and α<sub>max</sub>,
2578- respectively, then it is a good idea to have:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>α<sub>max</sub> ~ 1 / q</p></li><li class="listitem"><p>α<sub>min</sub> &lt; 1 / (2 q)</p></li></ol></div><p>This will ensure that the amortized hash cost of each
2579+ respectively, then it is a good idea to have:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>α<sub>max</sub> ~ 1 / q</p></li><li class="listitem"><p>α<sub>min</sub> &lt; 1 / (2 q)</p></li></ol></div><p>This will ensure that the amortized hash cost of each
2580 modifying operation is at most approximately 3.</p><p>α<sub>min</sub> ~ α<sub>max</sub> is, in
2581 any case, a bad choice, and α<sub>min</sub> &gt;
2582- α <sub>max</sub> is horrendous.</p></div></div></div></div><div class="section" title="tree"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.tree"/>tree</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.tree.interface"/>Interface</h5></div></div></div><p>The tree-based container has the following declaration:</p><pre class="programlisting">
2583+ α <sub>max</sub> is horrendous.</p></div></div></div></div><div class="section" title="tree"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.tree"></a>tree</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.tree.interface"></a>Interface</h5></div></div></div><p>The tree-based container has the following declaration:</p><pre class="programlisting">
2584 template&lt;
2585 typename Key,
2586 typename Mapped,
2587@@ -850,7 +850,7 @@
2588 class Node_Update = null_node_update,
2589 typename Allocator = std::allocator&lt;char&gt; &gt;
2590 class tree;
2591- </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">Key</code> is the key type.</p></li><li class="listitem"><p><code class="classname">Mapped</code> is the mapped-policy.</p></li><li class="listitem"><p><code class="classname">Cmp_Fn</code> is a key comparison functor</p></li><li class="listitem"><p><code class="classname">Tag</code> specifies which underlying data structure
2592+ </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">Key</code> is the key type.</p></li><li class="listitem"><p><code class="classname">Mapped</code> is the mapped-policy.</p></li><li class="listitem"><p><code class="classname">Cmp_Fn</code> is a key comparison functor</p></li><li class="listitem"><p><code class="classname">Tag</code> specifies which underlying data structure
2593 to use.</p></li><li class="listitem"><p><code class="classname">Node_Update</code> is a policy for updating node
2594 invariants.</p></li><li class="listitem"><p><code class="classname">Allocator</code> is an allocator
2595 type.</p></li></ol></div><p>The <code class="classname">Tag</code> parameter specifies which underlying
2596@@ -861,7 +861,7 @@
2597 Note that containers based on the former two contain more types
2598 and methods than the latter (e.g.,
2599 <code class="classname">reverse_iterator</code> and <code class="classname">rbegin</code>), and different
2600- exception and invalidation guarantees.</p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.tree.details"/>Details</h5></div></div></div><div class="section" title="Node Invariants"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.node"/>Node Invariants</h6></div></div></div><p>Consider the two trees in the graphic below, labels A and B. The first
2601+ exception and invalidation guarantees.</p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.tree.details"></a>Details</h5></div></div></div><div class="section" title="Node Invariants"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.node"></a>Node Invariants</h6></div></div></div><p>Consider the two trees in the graphic below, labels A and B. The first
2602 is a tree of floats; the second is a tree of pairs, each
2603 signifying a geometric line interval. Each element in a tree is refered to as a node of the tree. Of course, each of
2604 these trees can support the usual queries: the first can easily
2605@@ -877,8 +877,8 @@
2606 each node, and maintains node invariants (see <a class="xref" href="policy_data_structures.html#biblio.clrs2001" title="Introduction to Algorithms, 2nd edition">[biblio.clrs2001]</a>.) The first stores in
2607 each node the size of the sub-tree rooted at the node; the
2608 second stores at each node the maximal endpoint of the
2609- intervals at the sub-tree rooted at the node.</p><div class="figure"><a id="id522406"/><p class="title"><strong>Figure 22.22. Tree node invariants</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_node_invariants.png" style="text-align: middle" alt="Tree node invariants"/></div></div></div><br class="figure-break"/><p>Supporting such trees is difficult for a number of
2610- reasons:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>There must be a way to specify what a node's metadata
2611+ intervals at the sub-tree rooted at the node.</p><div class="figure"><a id="id700892"></a><p class="title"><strong>Figure 22.22. Tree node invariants</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_tree_node_invariants.png" align="middle" alt="Tree node invariants" /></div></div></div><br class="figure-break" /><p>Supporting such trees is difficult for a number of
2612+ reasons:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>There must be a way to specify what a node's metadata
2613 should be (if any).</p></li><li class="listitem"><p>Various operations can invalidate node
2614 invariants. The graphic below shows how a right rotation,
2615 performed on A, results in B, with nodes x and y having
2616@@ -891,9 +891,9 @@
2617 metadata.</p></li><li class="listitem"><p>It is not feasible to know in advance which methods trees
2618 can support. Besides the usual <code class="classname">find</code> method, the
2619 first tree can support a <code class="classname">find_by_order</code> method, while
2620- the second can support an <code class="classname">overlaps</code> method.</p></li></ol></div><div class="figure"><a id="id522484"/><p class="title"><strong>Figure 22.23. Tree node invalidation</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_node_invalidations.png" style="text-align: middle" alt="Tree node invalidation"/></div></div></div><br class="figure-break"/><p>These problems are solved by a combination of two means:
2621+ the second can support an <code class="classname">overlaps</code> method.</p></li></ol></div><div class="figure"><a id="id700971"></a><p class="title"><strong>Figure 22.23. Tree node invalidation</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_tree_node_invalidations.png" align="middle" alt="Tree node invalidation" /></div></div></div><br class="figure-break" /><p>These problems are solved by a combination of two means:
2622 node iterators, and template-template node updater
2623- parameters.</p><div class="section" title="Node Iterators"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.node.iterators"/>Node Iterators</h6></div></div></div><p>Each tree-based container defines two additional iterator
2624+ parameters.</p><div class="section" title="Node Iterators"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.node.iterators"></a>Node Iterators</h6></div></div></div><p>Each tree-based container defines two additional iterator
2625 types, <code class="classname">const_node_iterator</code>
2626 and <code class="classname">node_iterator</code>.
2627 These iterators allow descending from a node to one of its
2628@@ -913,14 +913,14 @@
2629 node_end();
2630 </pre><p>The first pairs return node iterators corresponding to the
2631 root node of the tree; the latter pair returns node iterators
2632- corresponding to a just-after-leaf node.</p></div><div class="section" title="Node Updator"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.node.updator"/>Node Updator</h6></div></div></div><p>The tree-based containers are parametrized by a
2633+ corresponding to a just-after-leaf node.</p></div><div class="section" title="Node Updator"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.node.updator"></a>Node Updator</h6></div></div></div><p>The tree-based containers are parametrized by a
2634 <code class="classname">Node_Update</code> template-template parameter. A
2635 tree-based container instantiates
2636 <code class="classname">Node_Update</code> to some
2637 <code class="classname">node_update</code> class, and publicly subclasses
2638 <code class="classname">node_update</code>. The graphic below shows this
2639 scheme, as well as some predefined policies (which are explained
2640- below).</p><div class="figure"><a id="id522594"/><p class="title"><strong>Figure 22.24. A tree and its update policy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_node_updator_policy_cd.png" style="text-align: middle" alt="A tree and its update policy"/></div></div></div><br class="figure-break"/><p><code class="classname">node_update</code> (an instantiation of
2641+ below).</p><div class="figure"><a id="id701081"></a><p class="title"><strong>Figure 22.24. A tree and its update policy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_tree_node_updator_policy_cd.png" align="middle" alt="A tree and its update policy" /></div></div></div><br class="figure-break" /><p><code class="classname">node_update</code> (an instantiation of
2642 <code class="classname">Node_Update</code>) must define <code class="classname">metadata_type</code> as
2643 the type of metadata it requires. For order statistics,
2644 e.g., <code class="classname">metadata_type</code> might be <code class="classname">size_t</code>.
2645@@ -939,7 +939,7 @@
2646 <code class="classname">nd_it</code>. For example, say node x in the
2647 graphic below label A has an invalid invariant, but its' children,
2648 y and z have valid invariants. After the invocation, all three
2649- nodes should have valid invariants, as in label B.</p><div class="figure"><a id="id522691"/><p class="title"><strong>Figure 22.25. Restoring node invariants</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_restoring_node_invariants.png" style="text-align: middle" alt="Restoring node invariants"/></div></div></div><br class="figure-break"/><p>When a tree operation might invalidate some node invariant,
2650+ nodes should have valid invariants, as in label B.</p><div class="figure"><a id="id701178"></a><p class="title"><strong>Figure 22.25. Restoring node invariants</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_restoring_node_invariants.png" align="middle" alt="Restoring node invariants" /></div></div></div><br class="figure-break" /><p>When a tree operation might invalidate some node invariant,
2651 it invokes this method in its <code class="classname">node_update</code> base to
2652 restore the invariant. For example, the graphic below shows
2653 an <code class="function">insert</code> operation (point A); the tree performs some
2654@@ -947,15 +947,15 @@
2655 C, and D). (It is well known that any <code class="function">insert</code>,
2656 <code class="function">erase</code>, <code class="function">split</code> or <code class="function">join</code>, can restore
2657 all node invariants by a small number of node invariant updates (<a class="xref" href="policy_data_structures.html#biblio.clrs2001" title="Introduction to Algorithms, 2nd edition">[biblio.clrs2001]</a>)
2658- .</p><div class="figure"><a id="id522759"/><p class="title"><strong>Figure 22.26. Insert update sequence</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_update_seq_diagram.png" style="text-align: middle" alt="Insert update sequence"/></div></div></div><br class="figure-break"/><p>To complete the description of the scheme, three questions
2659- need to be answered:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>How can a tree which supports order statistics define a
2660+ .</p><div class="figure"><a id="id701246"></a><p class="title"><strong>Figure 22.26. Insert update sequence</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_update_seq_diagram.png" align="middle" alt="Insert update sequence" /></div></div></div><br class="figure-break" /><p>To complete the description of the scheme, three questions
2661+ need to be answered:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>How can a tree which supports order statistics define a
2662 method such as <code class="classname">find_by_order</code>?</p></li><li class="listitem"><p>How can the node updater base access methods of the
2663 tree?</p></li><li class="listitem"><p>How can the following cyclic dependency be resolved?
2664 <code class="classname">node_update</code> is a base class of the tree, yet it
2665 uses node iterators defined in the tree (its child).</p></li></ol></div><p>The first two questions are answered by the fact that
2666 <code class="classname">node_update</code> (an instantiation of
2667 <code class="classname">Node_Update</code>) is a <span class="emphasis"><em>public</em></span> base class
2668- of the tree. Consequently:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Any public methods of
2669+ of the tree. Consequently:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Any public methods of
2670 <code class="classname">node_update</code> are automatically methods of
2671 the tree (<a class="xref" href="policy_data_structures.html#biblio.alexandrescu01modern" title="Modern C++ Design: Generic Programming and Design Patterns Applied">[biblio.alexandrescu01modern]</a>).
2672 Thus an order-statistics node updater,
2673@@ -983,25 +983,25 @@
2674 support order statistics or interval overlap queries.
2675 Seemingly, in this case a redundant policy - a policy which
2676 doesn't affect nodes' contents would suffice. This, would lead
2677- to the following drawbacks:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Each node would carry a useless metadata object, wasting
2678+ to the following drawbacks:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Each node would carry a useless metadata object, wasting
2679 space.</p></li><li class="listitem"><p>The tree cannot know if its
2680 <code class="classname">Node_Update</code> policy actually modifies a
2681 node's metadata (this is halting reducible). In the graphic
2682 below, assume the shaded node is inserted. The tree would have
2683 to traverse the useless path shown to the root, applying
2684- redundant updates all the way.</p></li></ol></div><div class="figure"><a id="id522945"/><p class="title"><strong>Figure 22.27. Useless update path</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_rationale_null_node_updator.png" style="text-align: middle" alt="Useless update path"/></div></div></div><br class="figure-break"/><p>A null policy class, <code class="classname">null_node_update</code>
2685+ redundant updates all the way.</p></li></ol></div><div class="figure"><a id="id701432"></a><p class="title"><strong>Figure 22.27. Useless update path</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_rationale_null_node_updator.png" align="middle" alt="Useless update path" /></div></div></div><br class="figure-break" /><p>A null policy class, <code class="classname">null_node_update</code>
2686 solves both these problems. The tree detects that node
2687- invariants are irrelevant, and defines all accordingly.</p></div></div><div class="section" title="Split and Join"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.details.split"/>Split and Join</h6></div></div></div><p>Tree-based containers support split and join methods.
2688+ invariants are irrelevant, and defines all accordingly.</p></div></div><div class="section" title="Split and Join"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.details.split"></a>Split and Join</h6></div></div></div><p>Tree-based containers support split and join methods.
2689 It is possible to split a tree so that it passes
2690 all nodes with keys larger than a given key to a different
2691 tree. These methods have the following advantages over the
2692 alternative of externally inserting to the destination
2693- tree and erasing from the source tree:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>These methods are efficient - red-black trees are split
2694+ tree and erasing from the source tree:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>These methods are efficient - red-black trees are split
2695 and joined in poly-logarithmic complexity; ordered-vector
2696 trees are split and joined at linear complexity. The
2697 alternatives have super-linear complexity.</p></li><li class="listitem"><p>Aside from orders of growth, these operations perform
2698 few allocations and de-allocations. For red-black trees, allocations are not performed,
2699- and the methods are exception-free. </p></li></ol></div></div></div></div><div class="section" title="Trie"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.trie"/>Trie</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.trie.interface"/>Interface</h5></div></div></div><p>The trie-based container has the following declaration:</p><pre class="programlisting">
2700+ and the methods are exception-free. </p></li></ol></div></div></div></div><div class="section" title="Trie"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.trie"></a>Trie</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.trie.interface"></a>Interface</h5></div></div></div><p>The trie-based container has the following declaration:</p><pre class="programlisting">
2701 template&lt;typename Key,
2702 typename Mapped,
2703 typename Cmp_Fn = std::less&lt;Key&gt;,
2704@@ -1013,7 +1013,7 @@
2705 class Node_Update = null_node_update,
2706 typename Allocator = std::allocator&lt;char&gt; &gt;
2707 class trie;
2708- </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">Key</code> is the key type.</p></li><li class="listitem"><p><code class="classname">Mapped</code> is the mapped-policy.</p></li><li class="listitem"><p><code class="classname">E_Access_Traits</code> is described in below.</p></li><li class="listitem"><p><code class="classname">Tag</code> specifies which underlying data structure
2709+ </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">Key</code> is the key type.</p></li><li class="listitem"><p><code class="classname">Mapped</code> is the mapped-policy.</p></li><li class="listitem"><p><code class="classname">E_Access_Traits</code> is described in below.</p></li><li class="listitem"><p><code class="classname">Tag</code> specifies which underlying data structure
2710 to use, and is described shortly.</p></li><li class="listitem"><p><code class="classname">Node_Update</code> is a policy for updating node
2711 invariants. This is described below.</p></li><li class="listitem"><p><code class="classname">Allocator</code> is an allocator
2712 type.</p></li></ol></div><p>The <code class="classname">Tag</code> parameter specifies which underlying
2713@@ -1023,19 +1023,19 @@
2714 (this implementation follows <a class="xref" href="policy_data_structures.html#biblio.okasaki98mereable" title="Fast mergeable integer maps">[biblio.okasaki98mereable]</a> and
2715 <a class="xref" href="policy_data_structures.html#biblio.filliatre2000ptset" title="Ptset: Sets of integers implemented as Patricia trees">[biblio.filliatre2000ptset]</a>).
2716 </p><p>A (PATRICIA) trie is similar to a tree, but with the
2717- following differences:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>It explicitly views keys as a sequence of elements.
2718+ following differences:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>It explicitly views keys as a sequence of elements.
2719 E.g., a trie can view a string as a sequence of
2720 characters; a trie can view a number as a sequence of
2721 bits.</p></li><li class="listitem"><p>It is not (necessarily) binary. Each node has fan-out n
2722 + 1, where n is the number of distinct
2723 elements.</p></li><li class="listitem"><p>It stores values only at leaf nodes.</p></li><li class="listitem"><p>Internal nodes have the properties that A) each has at
2724 least two children, and B) each shares the same prefix with
2725- any of its descendant.</p></li></ol></div><p>A (PATRICIA) trie has some useful properties:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>It can be configured to use large node fan-out, giving it
2726+ any of its descendant.</p></li></ol></div><p>A (PATRICIA) trie has some useful properties:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>It can be configured to use large node fan-out, giving it
2727 very efficient find performance (albeit at insertion
2728 complexity and size).</p></li><li class="listitem"><p>It works well for common-prefix keys.</p></li><li class="listitem"><p>It can support efficiently queries such as which
2729 keys match a certain prefix. This is sometimes useful in file
2730 systems and routers, and for "type-ahead" aka predictive text matching
2731- on mobile devices.</p></li></ol></div></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.trie.details"/>Details</h5></div></div></div><div class="section" title="Element Access Traits"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.etraits"/>Element Access Traits</h6></div></div></div><p>A trie inherently views its keys as sequences of elements.
2732+ on mobile devices.</p></li></ol></div></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.trie.details"></a>Details</h5></div></div></div><div class="section" title="Element Access Traits"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.etraits"></a>Element Access Traits</h6></div></div></div><p>A trie inherently views its keys as sequences of elements.
2733 For example, a trie can view a string as a sequence of
2734 characters. A trie needs to map each of n elements to a
2735 number in {0, n - 1}. For example, a trie can map a
2736@@ -1044,7 +1044,7 @@
2737 (const) iterators, and that the <code class="classname">value_type</code> of this
2738 iterator can be cast to a <code class="classname">size_t</code>. There are several
2739 reasons, though, to decouple the mechanism by which the trie
2740- accesses its keys' elements from the trie:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>In some cases, the numerical value of an element is
2741+ accesses its keys' elements from the trie:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>In some cases, the numerical value of an element is
2742 inappropriate. Consider a trie storing DNA strings. It is
2743 logical to use a trie with a fan-out of 5 = 1 + |{'A', 'C',
2744 'G', 'T'}|. This requires mapping 'T' to 3, though.</p></li><li class="listitem"><p>In some cases the keys' iterators are different than what
2745@@ -1072,31 +1072,31 @@
2746 sub-tree with leafs "a" and "as". The maximal common prefix is
2747 "a". The internal node contains, consequently, to const
2748 iterators, one pointing to <code class="varname">'a'</code>, and the other to
2749- <code class="varname">'s'</code>.</p><div class="figure"><a id="id523317"/><p class="title"><strong>Figure 22.28. A PATRICIA trie</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_pat_trie.png" style="text-align: middle" alt="A PATRICIA trie"/></div></div></div><br class="figure-break"/></div><div class="section" title="Node Invariants"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.node"/>Node Invariants</h6></div></div></div><p>Trie-based containers support node invariants, as do
2750+ <code class="varname">'s'</code>.</p><div class="figure"><a id="id701804"></a><p class="title"><strong>Figure 22.28. A PATRICIA trie</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_pat_trie.png" align="middle" alt="A PATRICIA trie" /></div></div></div><br class="figure-break" /></div><div class="section" title="Node Invariants"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.node"></a>Node Invariants</h6></div></div></div><p>Trie-based containers support node invariants, as do
2751 tree-based containers. There are two minor
2752 differences, though, which, unfortunately, thwart sharing them
2753- sharing the same node-updating policies:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>A trie's <code class="classname">Node_Update</code> template-template
2754+ sharing the same node-updating policies:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>A trie's <code class="classname">Node_Update</code> template-template
2755 parameter is parametrized by <code class="classname">E_Access_Traits</code>, while
2756 a tree's <code class="classname">Node_Update</code> template-template parameter is
2757 parametrized by <code class="classname">Cmp_Fn</code>.</p></li><li class="listitem"><p>Tree-based containers store values in all nodes, while
2758 trie-based containers (at least in this implementation) store
2759 values in leafs.</p></li></ol></div><p>The graphic below shows the scheme, as well as some predefined
2760- policies (which are explained below).</p><div class="figure"><a id="id523405"/><p class="title"><strong>Figure 22.29. A trie and its update policy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_trie_node_updator_policy_cd.png" style="text-align: middle" alt="A trie and its update policy"/></div></div></div><br class="figure-break"/><p>This library offers the following pre-defined trie node
2761- updating policies:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
2762+ policies (which are explained below).</p><div class="figure"><a id="id701891"></a><p class="title"><strong>Figure 22.29. A trie and its update policy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_trie_node_updator_policy_cd.png" align="middle" alt="A trie and its update policy" /></div></div></div><br class="figure-break" /><p>This library offers the following pre-defined trie node
2763+ updating policies:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
2764 <code class="classname">trie_order_statistics_node_update</code>
2765 supports order statistics.
2766 </p></li><li class="listitem"><p><code class="classname">trie_prefix_search_node_update</code>
2767 supports searching for ranges that match a given prefix.</p></li><li class="listitem"><p><code class="classname">null_node_update</code>
2768- is the null node updater.</p></li></ol></div></div><div class="section" title="Split and Join"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.split"/>Split and Join</h6></div></div></div><p>Trie-based containers support split and join methods; the
2769+ is the null node updater.</p></li></ol></div></div><div class="section" title="Split and Join"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.split"></a>Split and Join</h6></div></div></div><p>Trie-based containers support split and join methods; the
2770 rationale is equal to that of tree-based containers supporting
2771- these methods.</p></div></div></div><div class="section" title="List"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.list"/>List</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.list.interface"/>Interface</h5></div></div></div><p>The list-based container has the following declaration:</p><pre class="programlisting">
2772+ these methods.</p></div></div></div><div class="section" title="List"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.list"></a>List</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.list.interface"></a>Interface</h5></div></div></div><p>The list-based container has the following declaration:</p><pre class="programlisting">
2773 template&lt;typename Key,
2774 typename Mapped,
2775 typename Eq_Fn = std::equal_to&lt;Key&gt;,
2776 typename Update_Policy = move_to_front_lu_policy&lt;&gt;,
2777 typename Allocator = std::allocator&lt;char&gt; &gt;
2778 class list_update;
2779- </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
2780+ </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
2781 <code class="classname">Key</code> is the key type.
2782 </p></li><li class="listitem"><p>
2783 <code class="classname">Mapped</code> is the mapped-policy.
2784@@ -1124,12 +1124,12 @@
2785 useful manner? Remarkably, many on-line competitive
2786 algorithms exist for reordering lists to reflect access
2787 prediction. (See <a class="xref" href="policy_data_structures.html#biblio.motwani95random" title="Randomized Algorithms">[biblio.motwani95random]</a> and <a class="xref" href="policy_data_structures.html#biblio.andrew04mtf" title="MTF, Bit, and COMB: A Guide to Deterministic and Randomized Algorithms for the List Update Problem">[biblio.andrew04mtf]</a>).
2788- </p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.list.details"/>Details</h5></div></div></div><p>
2789- </p><div class="section" title="Underlying Data Structure"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.ds"/>Underlying Data Structure</h6></div></div></div><p>The graphic below shows a
2790+ </p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.list.details"></a>Details</h5></div></div></div><p>
2791+ </p><div class="section" title="Underlying Data Structure"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.ds"></a>Underlying Data Structure</h6></div></div></div><p>The graphic below shows a
2792 simple list of integer keys. If we search for the integer 6, we
2793 are paying an overhead: the link with key 6 is only the fifth
2794 link; if it were the first link, it could be accessed
2795- faster.</p><div class="figure"><a id="id523660"/><p class="title"><strong>Figure 22.30. A simple list</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_simple_list.png" style="text-align: middle" alt="A simple list"/></div></div></div><br class="figure-break"/><p>List-update algorithms reorder lists as elements are
2796+ faster.</p><div class="figure"><a id="id702146"></a><p class="title"><strong>Figure 22.30. A simple list</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_simple_list.png" align="middle" alt="A simple list" /></div></div></div><br class="figure-break" /><p>List-update algorithms reorder lists as elements are
2797 accessed. They try to determine, by the access history, which
2798 keys to move to the front of the list. Some of these algorithms
2799 require adding some metadata alongside each entry.</p><p>For example, in the graphic below label A shows the counter
2800@@ -1139,7 +1139,7 @@
2801 predetermined value, say 10, as shown in label C, the count is set
2802 to 0 and the node is moved to the front of the list, as in label
2803 D.
2804- </p><div class="figure"><a id="id523706"/><p class="title"><strong>Figure 22.31. The counter algorithm</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_list_update.png" style="text-align: middle" alt="The counter algorithm"/></div></div></div><br class="figure-break"/></div><div class="section" title="Policies"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.policies"/>Policies</h6></div></div></div><p>this library allows instantiating lists with policies
2805+ </p><div class="figure"><a id="id702193"></a><p class="title"><strong>Figure 22.31. The counter algorithm</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_list_update.png" align="middle" alt="The counter algorithm" /></div></div></div><br class="figure-break" /></div><div class="section" title="Policies"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.policies"></a>Policies</h6></div></div></div><p>this library allows instantiating lists with policies
2806 implementing any algorithm moving nodes to the front of the
2807 list (policies implementing algorithms interchanging nodes are
2808 unsupported).</p><p>Associative containers based on lists are parametrized by a
2809@@ -1174,7 +1174,7 @@
2810 the list. The latter type is very useful in this library,
2811 since there is no need to associate metadata with each element.
2812 (See <a class="xref" href="policy_data_structures.html#biblio.andrew04mtf" title="MTF, Bit, and COMB: A Guide to Deterministic and Randomized Algorithms for the List Update Problem">[biblio.andrew04mtf]</a>
2813- </p></div><div class="section" title="Use in Multimaps"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.mapped"/>Use in Multimaps</h6></div></div></div><p>In this library, there are no equivalents for the standard's
2814+ </p></div><div class="section" title="Use in Multimaps"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.mapped"></a>Use in Multimaps</h6></div></div></div><p>In this library, there are no equivalents for the standard's
2815 multimaps and multisets; instead one uses an associative
2816 container mapping primary keys to secondary keys.</p><p>List-based containers are especially useful as associative
2817 containers for secondary keys. In fact, they are implemented
2818@@ -1189,7 +1189,7 @@
2819 associative-containers in situations where the average ratio of
2820 secondary keys to primary keys is low (or even 1).</p><p>In order to reduce the per-container memory overhead as much
2821 as possible, they are implemented as closely as possible to
2822- singly-linked lists.</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
2823+ singly-linked lists.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
2824 List-based containers do not store internally the number
2825 of values that they hold. This means that their <code class="function">size</code>
2826 method has linear complexity (just like <code class="classname">std::list</code>).
2827@@ -1203,7 +1203,7 @@
2828 object (a hash-based container object holds a
2829 hash functor). List-based containers, conversely, only have
2830 class-wide policy objects.
2831- </p></li></ol></div></div></div></div><div class="section" title="Priority Queue"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.priority_queue"/>Priority Queue</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.priority_queue.interface"/>Interface</h5></div></div></div><p>The priority queue container has the following
2832+ </p></li></ol></div></div></div></div><div class="section" title="Priority Queue"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.priority_queue"></a>Priority Queue</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.priority_queue.interface"></a>Interface</h5></div></div></div><p>The priority queue container has the following
2833 declaration:
2834 </p><pre class="programlisting">
2835 template&lt;typename Value_Type,
2836@@ -1211,7 +1211,7 @@
2837 typename Tag = pairing_heap_tag,
2838 typename Allocator = std::allocator&lt;char &gt; &gt;
2839 class priority_queue;
2840- </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">Value_Type</code> is the value type.</p></li><li class="listitem"><p><code class="classname">Cmp_Fn</code> is a value comparison functor</p></li><li class="listitem"><p><code class="classname">Tag</code> specifies which underlying data structure
2841+ </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">Value_Type</code> is the value type.</p></li><li class="listitem"><p><code class="classname">Cmp_Fn</code> is a value comparison functor</p></li><li class="listitem"><p><code class="classname">Tag</code> specifies which underlying data structure
2842 to use.</p></li><li class="listitem"><p><code class="classname">Allocator</code> is an allocator
2843 type.</p></li></ol></div><p>The <code class="classname">Tag</code> parameter specifies which underlying
2844 data structure to use. Instantiating it by<code class="classname">pairing_heap_tag</code>,<code class="classname">binary_heap_tag</code>,
2845@@ -1239,7 +1239,7 @@
2846 insufficient for manipulating priority-queues. </p><p>Different settings require different priority-queue
2847 implementations which are described in later; see traits
2848 discusses ways to differentiate between the different traits of
2849- different implementations.</p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.priority_queue.details"/>Details</h5></div></div></div><div class="section" title="Iterators"><div class="titlepage"><div><div><h6 class="title"><a id="container.priority_queue.details.iterators"/>Iterators</h6></div></div></div><p>There are many different underlying-data structures for
2850+ different implementations.</p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.priority_queue.details"></a>Details</h5></div></div></div><div class="section" title="Iterators"><div class="titlepage"><div><div><h6 class="title"><a id="container.priority_queue.details.iterators"></a>Iterators</h6></div></div></div><p>There are many different underlying-data structures for
2851 implementing priority queues. Unfortunately, most such
2852 structures are oriented towards making <code class="function">push</code> and
2853 <code class="function">top</code> efficient, and consequently don't allow efficient
2854@@ -1306,12 +1306,12 @@
2855 this data and a priority queue's iterator. Using the embedded
2856 method would need to use two associative containers. Similar
2857 problems might arise in cases where a value can reside
2858- simultaneously in many priority queues.</p></div><div class="section" title="Underlying Data Structure"><div class="titlepage"><div><div><h6 class="title"><a id="container.priority_queue.details.d"/>Underlying Data Structure</h6></div></div></div><p>There are three main implementations of priority queues: the
2859+ simultaneously in many priority queues.</p></div><div class="section" title="Underlying Data Structure"><div class="titlepage"><div><div><h6 class="title"><a id="container.priority_queue.details.d"></a>Underlying Data Structure</h6></div></div></div><p>There are three main implementations of priority queues: the
2860 first employs a binary heap, typically one which uses a
2861 sequence; the second uses a tree (or forest of trees), which is
2862 typically less structured than an associative container's tree;
2863 the third simply uses an associative container. These are
2864- shown in the graphic below, in labels A1 and A2, label B, and label C.</p><div class="figure"><a id="id524238"/><p class="title"><strong>Figure 22.32. Underlying Priority-Queue Data-Structures.</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_different_underlying_dss.png" style="text-align: middle" alt="Underlying Priority-Queue Data-Structures."/></div></div></div><br class="figure-break"/><p>Roughly speaking, any value that is both pushed and popped
2865+ shown in the graphic below, in labels A1 and A2, label B, and label C.</p><div class="figure"><a id="id702724"></a><p class="title"><strong>Figure 22.32. Underlying Priority-Queue Data-Structures.</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_different_underlying_dss.png" align="middle" alt="Underlying Priority-Queue Data-Structures." /></div></div></div><br class="figure-break" /><p>Roughly speaking, any value that is both pushed and popped
2866 from a priority queue must incur a logarithmic expense (in the
2867 amortized sense). Any priority queue implementation that would
2868 avoid this, would violate known bounds on comparison-based
2869@@ -1327,7 +1327,7 @@
2870 of <code class="function">push</code> and <code class="function">pop</code> operations.</p><p>This library implements different algorithms using a
2871 single class: <code class="classname">priority_queue</code>.
2872 Instantiating the <code class="classname">Tag</code> template parameter, "selects"
2873- the implementation:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
2874+ the implementation:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
2875 Instantiating <code class="classname">Tag = binary_heap_tag</code> creates
2876 a binary heap of the form in represented in the graphic with labels A1 or A2. The former is internally
2877 selected by priority_queue
2878@@ -1381,7 +1381,7 @@
2879 at all; the priority queue itself is an associative container.
2880 Most associative containers are too structured to compete with
2881 priority queues in terms of <code class="function">push</code> and <code class="function">pop</code>
2882- performance.</p></div><div class="section" title="Traits"><div class="titlepage"><div><div><h6 class="title"><a id="container.priority_queue.details.traits"/>Traits</h6></div></div></div><p>It would be nice if all priority queues could
2883+ performance.</p></div><div class="section" title="Traits"><div class="titlepage"><div><div><h6 class="title"><a id="container.priority_queue.details.traits"></a>Traits</h6></div></div></div><p>It would be nice if all priority queues could
2884 share exactly the same behavior regardless of implementation. Sadly, this is not possible. Just one for instance is in join operations: joining
2885 two binary heaps might throw an exception (not corrupt
2886 any of the heaps on which it operates), but joining two pairing
2887@@ -1391,7 +1391,7 @@
2888 container <code class="classname">Cntnr</code>, the tag of the underlying
2889 data structure can be found via <code class="classname">typename
2890 Cntnr::container_category</code>; this is one of the possible tags shown in the graphic below.
2891- </p><div class="figure"><a id="id524529"/><p class="title"><strong>Figure 22.33. Priority-Queue Data-Structure Tags.</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_tag_hierarchy.png" style="text-align: middle" alt="Priority-Queue Data-Structure Tags."/></div></div></div><br class="figure-break"/><p>Additionally, a traits mechanism can be used to query a
2892+ </p><div class="figure"><a id="id703016"></a><p class="title"><strong>Figure 22.33. Priority-Queue Data-Structure Tags.</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_tag_hierarchy.png" align="middle" alt="Priority-Queue Data-Structure Tags." /></div></div></div><br class="figure-break" /><p>Additionally, a traits mechanism can be used to query a
2893 container type for its attributes. Given any container
2894 <code class="classname">Cntnr</code>, then </p><pre class="programlisting">__gnu_pbds::container_traits&lt;Cntnr&gt;</pre><p>
2895 is a traits class identifying the properties of the
2896@@ -1427,4 +1427,4 @@
2897 <code class="function">erase</code> operations is non-negligible (say
2898 super-logarithmic in the total sequence of operations) - binary
2899 heaps will perform badly.
2900- </p></div></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="policy_data_structures_using.html">Prev</a> </td><td align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td align="right"> <a accesskey="n" href="policy_based_data_structures_test.html">Next</a></td></tr><tr><td align="left" valign="top">Using </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Testing</td></tr></table></div></body></html>
2901+ </p></div></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="policy_data_structures_using.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="policy_based_data_structures_test.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Using </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Testing</td></tr></table></div></body></html>
2902Index: libstdc++-v3/doc/html/manual/using.html
2903===================================================================
9f95000d
AM
2904--- libstdc++-v3/doc/html/manual/using.html (.../tags/gcc_4_7_2_release) (wersja 192468)
2905+++ libstdc++-v3/doc/html/manual/using.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
2906@@ -1,15 +1,15 @@
2907 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2908-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2909-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 3. Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="intro.html" title="Part I.  Introduction"/><link rel="prev" href="make.html" title="Make"/><link rel="next" href="using_headers.html" title="Headers"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Using</th></tr><tr><td align="left"><a accesskey="p" href="make.html">Prev</a> </td><th width="60%" align="center">Part I. 
2910+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2911+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 3. Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="make.html" title="Make" /><link rel="next" href="using_headers.html" title="Headers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><th width="60%" align="center">Part I. 
2912 Introduction
2913
2914-</th><td align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 3. Using"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using"/>Chapter 3. Using</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></div><div class="section" title="Command Options"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.flags"/>Command Options</h2></div></div></div><p>
2915+</th><td width="20%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 3. Using"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using"></a>Chapter 3. Using</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></div><div class="section" title="Command Options"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.flags"></a>Command Options</h2></div></div></div><p>
2916 The set of features available in the GNU C++ library is shaped
2917 by
2918- several <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Invoking-GCC.html">GCC
2919+ several <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Invoking-GCC.html" target="_top">GCC
2920 Command Options</a>. Options that impact libstdc++ are
2921 enumerated and detailed in the table below.
2922 </p><p>
2923 By default, <span class="command"><strong>g++</strong></span> is equivalent to <span class="command"><strong>g++ -std=gnu++98</strong></span>. The standard library also defaults to this dialect.
2924- </p><div class="table"><a id="id478045"/><p class="title"><strong>Table 3.1. C++ Command Options</strong></p><div class="table-contents"><table summary="C++ Command Options" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">Option Flags</th><th style="text-align: left">Description</th></tr></thead><tbody><tr><td style="text-align: left"><code class="literal">-std=c++98</code></td><td style="text-align: left">Use the 1998 ISO C++ standard plus amendments.</td></tr><tr><td style="text-align: left"><code class="literal">-std=gnu++98</code></td><td style="text-align: left">As directly above, with GNU extensions.</td></tr><tr><td style="text-align: left"><code class="literal">-std=c++11</code></td><td style="text-align: left">Use the 2011 ISO C++ standard.</td></tr><tr><td style="text-align: left"><code class="literal">-std=gnu++11</code></td><td style="text-align: left">As directly above, with GNU extensions.</td></tr><tr><td style="text-align: left"><code class="literal">-fexceptions</code></td><td style="text-align: left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td style="text-align: left"><code class="literal">-frtti</code></td><td style="text-align: left">As above, but RTTI-free dialect.</td></tr><tr><td style="text-align: left"><code class="literal">-pthread</code> or <code class="literal">-pthreads</code></td><td style="text-align: left">For ISO C++11 &lt;thread&gt;, &lt;future&gt;,
2925- &lt;mutex&gt;, or &lt;condition_variable&gt;.</td></tr><tr><td style="text-align: left"><code class="literal">-fopenmp</code></td><td style="text-align: left">For <a class="link" href="parallel_mode.html" title="Chapter 18. Parallel Mode">parallel</a> mode.</td></tr></tbody></table></div></div><br class="table-break"/></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="make.html">Prev</a> </td><td align="center"><a accesskey="u" href="intro.html">Up</a></td><td align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr><tr><td align="left" valign="top">Make </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Headers</td></tr></table></div></body></html>
2926+ </p><div class="table"><a id="id656533"></a><p class="title"><strong>Table 3.1. C++ Command Options</strong></p><div class="table-contents"><table summary="C++ Command Options" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Option Flags</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="literal">-std=c++98</code></td><td align="left">Use the 1998 ISO C++ standard plus amendments.</td></tr><tr><td align="left"><code class="literal">-std=gnu++98</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-std=c++11</code></td><td align="left">Use the 2011 ISO C++ standard.</td></tr><tr><td align="left"><code class="literal">-std=gnu++11</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-fexceptions</code></td><td align="left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td align="left"><code class="literal">-frtti</code></td><td align="left">As above, but RTTI-free dialect.</td></tr><tr><td align="left"><code class="literal">-pthread</code> or <code class="literal">-pthreads</code></td><td align="left">For ISO C++11 &lt;thread&gt;, &lt;future&gt;,
2927+ &lt;mutex&gt;, or &lt;condition_variable&gt;.</td></tr><tr><td align="left"><code class="literal">-fopenmp</code></td><td align="left">For <a class="link" href="parallel_mode.html" title="Chapter 18. Parallel Mode">parallel</a> mode.</td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Make </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Headers</td></tr></table></div></body></html>
2928Index: libstdc++-v3/doc/html/manual/ext_containers.html
2929===================================================================
9f95000d
AM
2930--- libstdc++-v3/doc/html/manual/ext_containers.html (.../tags/gcc_4_7_2_release) (wersja 192468)
2931+++ libstdc++-v3/doc/html/manual/ext_containers.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
2932@@ -1,9 +1,9 @@
2933 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2934-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2935-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 23. HP/SGI Extensions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="policy_data_structures_biblio.html" title="Acknowledgments"/><link rel="next" href="bk01pt03ch23s02.html" title="Deprecated"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 23. HP/SGI Extensions</th></tr><tr><td align="left"><a accesskey="p" href="policy_data_structures_biblio.html">Prev</a> </td><th width="60%" align="center">Part III. 
2936+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2937+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 23. HP/SGI Extensions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="policy_data_structures_biblio.html" title="Acknowledgments" /><link rel="next" href="bk01pt03ch23s02.html" title="Deprecated" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 23. HP/SGI Extensions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures_biblio.html">Prev</a> </td><th width="60%" align="center">Part III. 
2938 Extensions
2939
2940-</th><td align="right"> <a accesskey="n" href="bk01pt03ch23s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 23. HP/SGI Extensions"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers"/>Chapter 23. HP/SGI Extensions</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="bk01pt03ch23s02.html">Deprecated</a></span></dt></dl></div><div class="section" title="Backwards Compatibility"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.sgi"/>Backwards Compatibility</h2></div></div></div><p>A few extensions and nods to backwards-compatibility have
2941+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch23s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 23. HP/SGI Extensions"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers"></a>Chapter 23. HP/SGI Extensions</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="bk01pt03ch23s02.html">Deprecated</a></span></dt></dl></div><div class="section" title="Backwards Compatibility"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.sgi"></a>Backwards Compatibility</h2></div></div></div><p>A few extensions and nods to backwards-compatibility have
2942 been made with containers. Those dealing with older SGI-style
2943 allocators are dealt with elsewhere. The remaining ones all deal
2944 with bits:
2945@@ -39,4 +39,4 @@
2946 </p><pre class="programlisting">
2947 size_t _Find_first() const;
2948 size_t _Find_next (size_t prev) const;</pre><p>The same caveat given for the _Unchecked_* functions applies here also.
2949-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="policy_data_structures_biblio.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch23s02.html">Next</a></td></tr><tr><td align="left" valign="top">Acknowledgments </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Deprecated</td></tr></table></div></body></html>
2950+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="policy_data_structures_biblio.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch23s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Acknowledgments </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Deprecated</td></tr></table></div></body></html>
2951Index: libstdc++-v3/doc/html/manual/ext_io.html
2952===================================================================
9f95000d
AM
2953--- libstdc++-v3/doc/html/manual/ext_io.html (.../tags/gcc_4_7_2_release) (wersja 192468)
2954+++ libstdc++-v3/doc/html/manual/ext_io.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
2955@@ -1,25 +1,25 @@
2956 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2957-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2958-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 28. Input and Output</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_iterators.html" title="Chapter 27. Iterators"/><link rel="next" href="ext_demangling.html" title="Chapter 29. Demangling"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 28. Input and Output</th></tr><tr><td align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><th width="60%" align="center">Part III. 
2959+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2960+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 28. Input and Output</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_iterators.html" title="Chapter 27. Iterators" /><link rel="next" href="ext_demangling.html" title="Chapter 29. Demangling" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 28. Input and Output</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><th width="60%" align="center">Part III. 
2961 Extensions
2962
2963-</th><td align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 28. Input and Output"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.io"/>Chapter 28. Input and Output</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></div><p>
2964+</th><td width="20%" align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 28. Input and Output"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.io"></a>Chapter 28. Input and Output</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></div><p>
2965 Extensions allowing <code class="code">filebuf</code>s to be constructed from
2966 "C" types like FILE*s and file descriptors.
2967- </p><div class="section" title="Derived filebufs"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.io.filebuf_derived"/>Derived filebufs</h2></div></div></div><p>The v2 library included non-standard extensions to construct
2968+ </p><div class="section" title="Derived filebufs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.io.filebuf_derived"></a>Derived filebufs</h2></div></div></div><p>The v2 library included non-standard extensions to construct
2969 <code class="code">std::filebuf</code>s from C stdio types such as
2970 <code class="code">FILE*</code>s and POSIX file descriptors.
2971 Today the recommended way to use stdio types with libstdc++
2972 IOStreams is via the <code class="code">stdio_filebuf</code> class (see below),
2973 but earlier releases provided slightly different mechanisms.
2974- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>3.0.x <code class="code">filebuf</code>s have another ctor with this signature:
2975+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>3.0.x <code class="code">filebuf</code>s have another ctor with this signature:
2976 <code class="code">basic_filebuf(__c_file_type*, ios_base::openmode, int_type);
2977 </code>
2978 This comes in very handy in a number of places, such as
2979 attaching Unix sockets, pipes, and anything else which uses file
2980 descriptors, into the IOStream buffering classes. The three
2981 arguments are as follows:
2982- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">__c_file_type* F </code>
2983+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p><code class="code">__c_file_type* F </code>
2984 // the __c_file_type typedef usually boils down to stdio's FILE
2985 </p></li><li class="listitem"><p><code class="code">ios_base::openmode M </code>
2986 // same as all the other uses of openmode
2987@@ -39,7 +39,7 @@
2988 the <code class="code">fd()</code> function were removed from the standard
2989 filebuf. Instead, <code class="code">&lt;ext/stdio_filebuf.h&gt;</code> contains
2990 a derived class called
2991- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html"><code class="code">__gnu_cxx::stdio_filebuf</code></a>.
2992+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html" target="_top"><code class="code">__gnu_cxx::stdio_filebuf</code></a>.
2993 This class can be constructed from a C <code class="code">FILE*</code> or a file
2994 descriptor, and provides the <code class="code">fd()</code> function.
2995- </p></li></ul></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 27. Iterators </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 29. Demangling</td></tr></table></div></body></html>
2996+ </p></li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 27. Iterators </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 29. Demangling</td></tr></table></div></body></html>
2997Index: libstdc++-v3/doc/html/manual/using_macros.html
2998===================================================================
9f95000d
AM
2999--- libstdc++-v3/doc/html/manual/using_macros.html (.../tags/gcc_4_7_2_release) (wersja 192468)
3000+++ libstdc++-v3/doc/html/manual/using_macros.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
3001@@ -1,6 +1,6 @@
3002 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3003-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3004-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Macros</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using_headers.html" title="Headers"/><link rel="next" href="using_namespaces.html" title="Namespaces"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Macros</th></tr><tr><td align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="using_namespaces.html">Next</a></td></tr></table><hr/></div><div class="section" title="Macros"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.macros"/>Macros</h2></div></div></div><p>
3005+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3006+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Macros</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_headers.html" title="Headers" /><link rel="next" href="using_namespaces.html" title="Namespaces" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Macros</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_namespaces.html">Next</a></td></tr></table><hr /></div><div class="section" title="Macros"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.macros"></a>Macros</h2></div></div></div><p>
3007 All library macros begin with <code class="code">_GLIBCXX_</code>.
3008 </p><p>
3009 Furthermore, all pre-processor macros, switches, and
3010@@ -74,4 +74,4 @@
3011 </p></dd><dt><span class="term"><code class="code">_GLIBCXX_PROFILE</code></span></dt><dd><p>Undefined by default. When defined, compiles user code
3012 using the <a class="link" href="profile_mode.html" title="Chapter 19. Profile Mode">profile
3013 mode</a>.
3014- </p></dd></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="using_namespaces.html">Next</a></td></tr><tr><td align="left" valign="top">Headers </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Namespaces</td></tr></table></div></body></html>
3015+ </p></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_namespaces.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Headers </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Namespaces</td></tr></table></div></body></html>
3016Index: libstdc++-v3/doc/html/manual/termination.html
3017===================================================================
9f95000d
AM
3018--- libstdc++-v3/doc/html/manual/termination.html (.../tags/gcc_4_7_2_release) (wersja 192468)
3019+++ libstdc++-v3/doc/html/manual/termination.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
3020@@ -1,9 +1,9 @@
3021 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3022-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3023-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Termination</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="support.html" title="Chapter 4.  Support"/><link rel="prev" href="dynamic_memory.html" title="Dynamic Memory"/><link rel="next" href="diagnostics.html" title="Chapter 5.  Diagnostics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Termination</th></tr><tr><td align="left"><a accesskey="p" href="dynamic_memory.html">Prev</a> </td><th width="60%" align="center">Chapter 4. 
3024+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3025+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Termination</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="support.html" title="Chapter 4.  Support" /><link rel="prev" href="dynamic_memory.html" title="Dynamic Memory" /><link rel="next" href="diagnostics.html" title="Chapter 5.  Diagnostics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Termination</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dynamic_memory.html">Prev</a> </td><th width="60%" align="center">Chapter 4. 
3026 Support
3027
3028-</th><td align="right"> <a accesskey="n" href="diagnostics.html">Next</a></td></tr></table><hr/></div><div class="section" title="Termination"><div class="titlepage"><div><div><h2 class="title"><a id="std.support.termination"/>Termination</h2></div></div></div><div class="section" title="Termination Handlers"><div class="titlepage"><div><div><h3 class="title"><a id="support.termination.handlers"/>Termination Handlers</h3></div></div></div><p>
3029+</th><td width="20%" align="right"> <a accesskey="n" href="diagnostics.html">Next</a></td></tr></table><hr /></div><div class="section" title="Termination"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.support.termination"></a>Termination</h2></div></div></div><div class="section" title="Termination Handlers"><div class="titlepage"><div><div><h3 class="title"><a id="support.termination.handlers"></a>Termination Handlers</h3></div></div></div><p>
3030 Not many changes here to <code class="filename">cstdlib</code>. You should note that the
3031 <code class="function">abort()</code> function does not call the
3032 destructors of automatic nor static objects, so if you're
3033@@ -15,7 +15,7 @@
3034 The good old <code class="function">exit()</code> function can be a bit
3035 funky, too, until you look closer. Basically, three points to
3036 remember are:
3037- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
3038+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
3039 Static objects are destroyed in reverse order of their creation.
3040 </p></li><li class="listitem"><p>
3041 Functions registered with <code class="function">atexit()</code> are called in
3042@@ -45,7 +45,7 @@
3043 functions, and the compiler/library might already be using some of
3044 those slots. If you think you may run out, we recommend using
3045 the <code class="function">xatexit</code>/<code class="function">xexit</code> combination from <code class="literal">libiberty</code>, which has no such limit.
3046- </p></div><div class="section" title="Verbose Terminate Handler"><div class="titlepage"><div><div><h3 class="title"><a id="support.termination.verbose"/>Verbose Terminate Handler</h3></div></div></div><p>
3047+ </p></div><div class="section" title="Verbose Terminate Handler"><div class="titlepage"><div><div><h3 class="title"><a id="support.termination.verbose"></a>Verbose Terminate Handler</h3></div></div></div><p>
3048 If you are having difficulty with uncaught exceptions and want a
3049 little bit of help debugging the causes of the core dumps, you can
3050 make use of a GNU extension, the verbose terminate handler.
3051@@ -118,7 +118,7 @@
3052 inappropriate location,
3053 <code class="function">__verbose_terminate_handler</code> will behave in
3054 an unspecified manner.
3055- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="dynamic_memory.html">Prev</a> </td><td align="center"><a accesskey="u" href="support.html">Up</a></td><td align="right"> <a accesskey="n" href="diagnostics.html">Next</a></td></tr><tr><td align="left" valign="top">Dynamic Memory </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 5. 
3056+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dynamic_memory.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="support.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="diagnostics.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Dynamic Memory </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 5. 
3057 Diagnostics
3058
3059 </td></tr></table></div></body></html>
3060Index: libstdc++-v3/doc/html/manual/concurrency.html
3061===================================================================
9f95000d
AM
3062--- libstdc++-v3/doc/html/manual/concurrency.html (.../tags/gcc_4_7_2_release) (wersja 192468)
3063+++ libstdc++-v3/doc/html/manual/concurrency.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
3064@@ -1,16 +1,16 @@
3065 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3066-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3067-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 15.  Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; , &#10; mutex&#10; , &#10; thread&#10; , &#10; future&#10; , &#10; condition_variable&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="atomics.html" title="Chapter 14.  Atomics"/><link rel="next" href="extensions.html" title="Part III.  Extensions"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 15. 
3068+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3069+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 15.  Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; , &#10; mutex&#10; , &#10; thread&#10; , &#10; future&#10; , &#10; condition_variable&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="atomics.html" title="Chapter 14.  Atomics" /><link rel="next" href="extensions.html" title="Part III.  Extensions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 15. 
3070 Concurrency
3071
3072-</th></tr><tr><td align="left"><a accesskey="p" href="atomics.html">Prev</a> </td><th width="60%" align="center">Part II. 
3073+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="atomics.html">Prev</a> </td><th width="60%" align="center">Part II. 
3074 Standard Contents
3075- </th><td align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 15.  Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="std.concurrency"/>Chapter 15. 
3076+ </th><td width="20%" align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 15.  Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="std.concurrency"></a>Chapter 15. 
3077 Concurrency
3078- <a id="id506165" class="indexterm"/>
3079+ <a id="id684652" class="indexterm"></a>
3080 </h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></div><p>
3081 Facilities for concurrent operation, and control thereof.
3082-</p><div class="section" title="API Reference"><div class="titlepage"><div><div><h2 class="title"><a id="std.concurrency.api"/>API Reference</h2></div></div></div><p>
3083+</p><div class="section" title="API Reference"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.concurrency.api"></a>API Reference</h2></div></div></div><p>
3084 All items are declared in one of four standard header files.
3085 </p><p>
3086 In header <code class="filename">mutex</code>, class
3087@@ -33,10 +33,10 @@
3088 and <code class="classname">packaged_task</code>.
3089 </p><p>
3090 Full API details.
3091- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="atomics.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 14. 
3092+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="atomics.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 14. 
3093 Atomics
3094
3095- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Part III. 
3096+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Part III. 
3097 Extensions
3098
3099 </td></tr></table></div></body></html>
3100Index: libstdc++-v3/doc/html/manual/ext_utilities.html
3101===================================================================
9f95000d
AM
3102--- libstdc++-v3/doc/html/manual/ext_utilities.html (.../tags/gcc_4_7_2_release) (wersja 192468)
3103+++ libstdc++-v3/doc/html/manual/ext_utilities.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
3104@@ -1,14 +1,14 @@
3105 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3106-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3107-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 24. Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch23s02.html" title="Deprecated"/><link rel="next" href="ext_algorithms.html" title="Chapter 25. Algorithms"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 24. Utilities</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch23s02.html">Prev</a> </td><th width="60%" align="center">Part III. 
3108+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3109+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 24. Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03ch23s02.html" title="Deprecated" /><link rel="next" href="ext_algorithms.html" title="Chapter 25. Algorithms" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 24. Utilities</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch23s02.html">Prev</a> </td><th width="60%" align="center">Part III. 
3110 Extensions
3111
3112-</th><td align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 24. Utilities"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.util"/>Chapter 24. Utilities</h2></div></div></div><p>
3113+</th><td width="20%" align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 24. Utilities"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.util"></a>Chapter 24. Utilities</h2></div></div></div><p>
3114 The <code class="filename">&lt;functional&gt;</code> header
3115 contains many additional functors
3116 and helper functions, extending section 20.3. They are
3117 implemented in the file stl_function.h:
3118- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">identity_element</code> for addition and multiplication.
3119+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">identity_element</code> for addition and multiplication.
3120 </p></li><li class="listitem"><p>The functor <code class="code">identity</code>, whose <code class="code">operator()</code>
3121 returns the argument unchanged.
3122 </p></li><li class="listitem"><p>Composition functors <code class="code">unary_function</code> and
3123@@ -39,4 +39,4 @@
3124 </p><p>
3125 The specialized algorithms of section 20.4.4 are extended with
3126 <code class="code">uninitialized_copy_n</code>.
3127-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch23s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr><tr><td align="left" valign="top">Deprecated </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 25. Algorithms</td></tr></table></div></body></html>
3128+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch23s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Deprecated </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 25. Algorithms</td></tr></table></div></body></html>
3129Index: libstdc++-v3/doc/html/manual/policy_data_structures.html
3130===================================================================
9f95000d
AM
3131--- libstdc++-v3/doc/html/manual/policy_data_structures.html (.../tags/gcc_4_7_2_release) (wersja 192468)
3132+++ libstdc++-v3/doc/html/manual/policy_data_structures.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
3133@@ -1,9 +1,9 @@
3134 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3135-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3136-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 22. Policy-Based Data Structures</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;&#9;ISO C++&#10; , &#10;&#9;policy&#10; , &#10;&#9;container&#10; , &#10;&#9;data&#10; , &#10;&#9;structure&#10; , &#10;&#9;associated&#10; , &#10;&#9;tree&#10; , &#10;&#9;trie&#10; , &#10;&#9;hash&#10; , &#10;&#9;metaprogramming&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch21s02.html" title="Implementation"/><link rel="next" href="policy_data_structures_using.html" title="Using"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 22. Policy-Based Data Structures</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch21s02.html">Prev</a> </td><th width="60%" align="center">Part III. 
3137+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3138+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 22. Policy-Based Data Structures</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;&#9;ISO C++&#10; , &#10;&#9;policy&#10; , &#10;&#9;container&#10; , &#10;&#9;data&#10; , &#10;&#9;structure&#10; , &#10;&#9;associated&#10; , &#10;&#9;tree&#10; , &#10;&#9;trie&#10; , &#10;&#9;hash&#10; , &#10;&#9;metaprogramming&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03ch21s02.html" title="Implementation" /><link rel="next" href="policy_data_structures_using.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 22. Policy-Based Data Structures</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch21s02.html">Prev</a> </td><th width="60%" align="center">Part III. 
3139 Extensions
3140
3141-</th><td align="right"> <a accesskey="n" href="policy_data_structures_using.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 22. Policy-Based Data Structures"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.pbds"/>Chapter 22. Policy-Based Data Structures</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.configuring">
3142+</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures_using.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 22. Policy-Based Data Structures"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.pbds"></a>Chapter 22. Policy-Based Data Structures</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.configuring">
3143 Configuring via Template Parameters
3144 </a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.traits">
3145 Querying Container Attributes
3146@@ -67,7 +67,7 @@
3147 Text <code class="function">modify</code> Down
3148 </a></span></dt></dl></dd><dt><span class="section"><a href="policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_biblio.html">Acknowledgments</a></span></dt><dt><span class="bibliography"><a href="policy_data_structures.html#pbds.biblio">
3149 Bibliography
3150- </a></span></dt></dl></div><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title"><a id="pbds.intro"/>Intro</h2></div></div></div><p>
3151+ </a></span></dt></dl></div><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="pbds.intro"></a>Intro</h2></div></div></div><p>
3152 This is a library of policy-based elementary data structures:
3153 associative containers and priority queues. It is designed for
3154 high-performance, flexibility, semantic safety, and conformance to
3155@@ -75,7 +75,7 @@
3156 <code class="literal">std::tr1</code> (except for some points where it differs
3157 by design).
3158 </p><p>
3159- </p><div class="section" title="Performance Issues"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.intro.issues"/>Performance Issues</h3></div></div></div><p>
3160+ </p><div class="section" title="Performance Issues"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.intro.issues"></a>Performance Issues</h3></div></div></div><p>
3161 </p><p>
3162 An attempt is made to categorize the wide variety of possible
3163 container designs in terms of performance-impacting factors. These
3164@@ -95,7 +95,7 @@
3165 </p><p>
3166 Specific issues found while unraveling performance factors in the
3167 design of associative containers and priority queues follow.
3168- </p><div class="section" title="Associative"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.issues.associative"/>Associative</h4></div></div></div><p>
3169+ </p><div class="section" title="Associative"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.issues.associative"></a>Associative</h4></div></div></div><p>
3170 Associative containers depend on their composite policies to a very
3171 large extent. Implicitly hard-wiring policies can hamper their
3172 performance and limit their functionality. An efficient hash-based
3173@@ -136,7 +136,7 @@
3174 is a red-black tree, then splitting a reference to the container is
3175 exception-free; if it is an ordered-vector tree, exceptions can be
3176 thrown.
3177- </p></div><div class="section" title="Priority Que"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.issues.priority_queue"/>Priority Que</h4></div></div></div><p>
3178+ </p></div><div class="section" title="Priority Que"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.issues.priority_queue"></a>Priority Que</h4></div></div></div><p>
3179 Priority queues are useful when one needs to efficiently access a
3180 minimum (or maximum) value as the set of values changes.
3181 </p><p>
3182@@ -178,7 +178,7 @@
3183 expense of more difference in the the kinds of operations that the
3184 underlying data structure can support. These differences pose a
3185 challenge when creating a uniform interface for priority queues.
3186- </p></div></div><div class="section" title="Goals"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.intro.motivation"/>Goals</h3></div></div></div><p>
3187+ </p></div></div><div class="section" title="Goals"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.intro.motivation"></a>Goals</h3></div></div></div><p>
3188 Many fine associative-container libraries were already written,
3189 most notably, the C++ standard's associative containers. Why
3190 then write another library? This section shows some possible
3191@@ -189,14 +189,14 @@
3192 only then adding hash-based containers, which are fundamentally
3193 different), did not standardize priority queues as containers,
3194 and (in our opinion) overloads the iterator concept.
3195- </p><div class="section" title="Associative"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.motivation.associative"/>Associative</h4></div></div></div><p>
3196- </p><div class="section" title="Policy Choices"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.policy"/>Policy Choices</h5></div></div></div><p>
3197+ </p><div class="section" title="Associative"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.motivation.associative"></a>Associative</h4></div></div></div><p>
3198+ </p><div class="section" title="Policy Choices"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.policy"></a>Policy Choices</h5></div></div></div><p>
3199 Associative containers require a relatively large number of
3200 policies to function efficiently in various settings. In some
3201 cases this is needed for making their common operations more
3202 efficient, and in other cases this allows them to support a
3203 larger set of operations
3204- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
3205+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
3206 Hash-based containers, for example, support look-up and
3207 insertion methods (<code class="function">find</code> and
3208 <code class="function">insert</code>). In order to locate elements
3209@@ -251,7 +251,7 @@
3210 these invariants, one must supply some policy that is aware
3211 of these changes. Without this, it would be better to use a
3212 linked list (in itself very efficient for these purposes).
3213- </p></li></ol></div><div class="figure"><a id="id516222"/><p class="title"><strong>Figure 22.1. Node Invariants</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_node_invariants.png" style="text-align: middle" alt="Node Invariants"/></div></div></div><br class="figure-break"/></div><div class="section" title="Underlying Data Structures"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.underlying"/>Underlying Data Structures</h5></div></div></div><p>
3214+ </p></li></ol></div><div class="figure"><a id="id694708"></a><p class="title"><strong>Figure 22.1. Node Invariants</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_node_invariants.png" align="middle" alt="Node Invariants" /></div></div></div><br class="figure-break" /></div><div class="section" title="Underlying Data Structures"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.underlying"></a>Underlying Data Structures</h5></div></div></div><p>
3215 The standard C++ library contains associative containers based on
3216 red-black trees and collision-chaining hash tables. These are
3217 very useful, but they are not ideal for all types of
3218@@ -259,7 +259,7 @@
3219 </p><p>
3220 The figure below shows the different underlying data structures
3221 currently supported in this library.
3222- </p><div class="figure"><a id="id516278"/><p class="title"><strong>Figure 22.2. Underlying Associative Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_different_underlying_dss_1.png" style="text-align: middle" alt="Underlying Associative Data Structures"/></div></div></div><br class="figure-break"/><p>
3223+ </p><div class="figure"><a id="id694764"></a><p class="title"><strong>Figure 22.2. Underlying Associative Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_different_underlying_dss_1.png" align="middle" alt="Underlying Associative Data Structures" /></div></div></div><br class="figure-break" /><p>
3224 A shows a collision-chaining hash-table, B shows a probing
3225 hash-table, C shows a red-black tree, D shows a splay tree, E shows
3226 a tree based on an ordered vector(implicit in the order of the
3227@@ -308,7 +308,7 @@
3228 There are various other differences based on the container's
3229 underlying data structure. For one, they can be constructed by,
3230 and queried for, different policies. Furthermore:
3231- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
3232+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
3233 Containers based on C, D, E and F store elements in a
3234 meaningful order; the others store elements in a meaningless
3235 (and probably time-varying) order. By implication, only
3236@@ -336,7 +336,7 @@
3237 library iterators, for example) can ease generic manipulation of
3238 associative containers based on different underlying data
3239 structures.
3240- </p></div><div class="section" title="Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.iterators"/>Iterators</h5></div></div></div><p>
3241+ </p></div><div class="section" title="Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.iterators"></a>Iterators</h5></div></div></div><p>
3242 Iterators are centric to the design of the standard library
3243 containers, because of the container/algorithm/iterator
3244 decomposition that allows an algorithm to operate on a range
3245@@ -361,7 +361,7 @@
3246 "ds_gen.html#find_range"&gt;Design::Associative
3247 Containers::Data-Structure Genericity::Point-Type and Range-Type
3248 Methods</span></em>.
3249- </p><div class="section" title="Using Point Iterators for Range Operations"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.using"/>Using Point Iterators for Range Operations</h6></div></div></div><p>
3250+ </p><div class="section" title="Using Point Iterators for Range Operations"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.using"></a>Using Point Iterators for Range Operations</h6></div></div></div><p>
3251 Suppose <code class="classname">cntnr</code> is some associative
3252 container, and say <code class="varname">c</code> is an object of
3253 type <code class="classname">cntnr</code>. Then what will be the outcome
3254@@ -378,7 +378,7 @@
3255 no guarantee that the elements traversed will coincide with the
3256 <span class="emphasis"><em>logical</em></span> elements between 1 and 5, as in
3257 label B.
3258- </p><div class="figure"><a id="id516541"/><p class="title"><strong>Figure 22.3. Range Iteration in Different Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_point_iterators_range_ops_1.png" style="text-align: middle" alt="Node Invariants"/></div></div></div><br class="figure-break"/><p>
3259+ </p><div class="figure"><a id="id695027"></a><p class="title"><strong>Figure 22.3. Range Iteration in Different Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_point_iterators_range_ops_1.png" align="middle" alt="Node Invariants" /></div></div></div><br class="figure-break" /><p>
3260 In our opinion, this problem is not caused just because
3261 red-black trees are order preserving while
3262 collision-chaining hash tables are (generally) not - it
3263@@ -399,7 +399,7 @@
3264 Consequently, applying an algorithm to a sequence obtained from most
3265 containers may or may not make sense, but applying it to a
3266 sub-sequence of a self-organizing container does not.
3267- </p></div><div class="section" title="Cost to Point Iterators to Enable Range Operations"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.cost"/>Cost to Point Iterators to Enable Range Operations</h6></div></div></div><p>
3268+ </p></div><div class="section" title="Cost to Point Iterators to Enable Range Operations"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.cost"></a>Cost to Point Iterators to Enable Range Operations</h6></div></div></div><p>
3269 Suppose <code class="varname">c</code> is some collision-chaining
3270 hash-based container object, and one calls
3271 </p><pre class="programlisting">c.find(3)</pre><p>
3272@@ -429,11 +429,11 @@
3273 list, as in the graphic below, label B. Here the iterators are as
3274 light as can be, but the hash-table's operations are more
3275 complicated.
3276- </p><div class="figure"><a id="id516665"/><p class="title"><strong>Figure 22.4. Point Iteration in Hash Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_point_iterators_range_ops_2.png" style="text-align: middle" alt="Point Iteration in Hash Data Structures"/></div></div></div><br class="figure-break"/><p>
3277+ </p><div class="figure"><a id="id695152"></a><p class="title"><strong>Figure 22.4. Point Iteration in Hash Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_point_iterators_range_ops_2.png" align="middle" alt="Point Iteration in Hash Data Structures" /></div></div></div><br class="figure-break" /><p>
3278 It should be noted that containers based on collision-chaining
3279 hash-tables are not the only ones with this type of behavior;
3280 many other self-organizing data structures display it as well.
3281- </p></div><div class="section" title="Invalidation Guarantees"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.invalidation"/>Invalidation Guarantees</h6></div></div></div><p>Consider the following snippet:</p><pre class="programlisting">
3282+ </p></div><div class="section" title="Invalidation Guarantees"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.invalidation"></a>Invalidation Guarantees</h6></div></div></div><p>Consider the following snippet:</p><pre class="programlisting">
3283 it = c.find(3);
3284 c.erase(5);
3285 </pre><p>
3286@@ -445,7 +445,7 @@
3287 container. The graphic below shows three cases: A1 and A2 show
3288 a red-black tree; B1 and B2 show a probing hash-table; C1 and C2
3289 show a collision-chaining hash table.
3290- </p><div class="figure"><a id="id516742"/><p class="title"><strong>Figure 22.5. Effect of erase in different underlying data structures</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_invalidation_guarantee_erase.png" style="text-align: middle" alt="Effect of erase in different underlying data structures"/></div></div></div><br class="figure-break"/><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
3291+ </p><div class="figure"><a id="id695229"></a><p class="title"><strong>Figure 22.5. Effect of erase in different underlying data structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_invalidation_guarantee_erase.png" align="middle" alt="Effect of erase in different underlying data structures" /></div></div></div><br class="figure-break" /><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
3292 Erasing 5 from A1 yields A2. Clearly, an iterator to 3 can
3293 be de-referenced and incremented. The sequence of iterators
3294 changed, but in a way that is well-defined by the interface.
3295@@ -467,7 +467,7 @@
3296 to express whether <code class="varname">it</code> is valid or not. This
3297 is true also for <code class="function">insert</code>. Again, the
3298 iterator concept seems overloaded.
3299- </p></div></div><div class="section" title="Functional"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.functions"/>Functional</h5></div></div></div><p>
3300+ </p></div></div><div class="section" title="Functional"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.functions"></a>Functional</h5></div></div></div><p>
3301 </p><p>
3302 The design of the functional overlay to the underlying data
3303 structures differs slightly from some of the conventions used in
3304@@ -478,7 +478,7 @@
3305 rubric, the standard associative containers lack some useful
3306 methods, and provide other methods which would be better
3307 removed.
3308- </p><div class="section" title="erase"><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.erase"/><code class="function">erase</code></h6></div></div></div><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
3309+ </p><div class="section" title="erase"><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.erase"></a><code class="function">erase</code></h6></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
3310 Order-preserving standard associative containers provide the
3311 method
3312 </p><pre class="programlisting">
3313@@ -550,7 +550,7 @@
3314 is almost certain to do something
3315 different than erasing all elements whose keys are between 2
3316 and 5, and is likely to produce other undefined behavior.
3317- </p></li></ol></div></div><div class="section" title="split and join"><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.split"/>
3318+ </p></li></ol></div></div><div class="section" title="split and join"><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.split"></a>
3319 <code class="function">split</code> and <code class="function">join</code>
3320 </h6></div></div></div><p>
3321 It is well-known that tree-based and trie-based container
3322@@ -561,7 +561,7 @@
3323 choices for tree-based container methods, especially, since as
3324 noted just before, they are efficient replacements for erasing
3325 sub-sequences.
3326- </p></div><div class="section" title="insert"><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.insert"/>
3327+ </p></div><div class="section" title="insert"><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.insert"></a>
3328 <code class="function">insert</code>
3329 </h6></div></div></div><p>
3330 The standard associative containers provide methods of the form
3331@@ -577,7 +577,7 @@
3332 similar to constructors taking a range given by a pair of
3333 iterators; the constructors, however, are transactional, whereas
3334 the insert methods are not; this is possibly confusing.
3335- </p></div><div class="section" title="operator== and operator&lt;="><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.compare"/>
3336+ </p></div><div class="section" title="operator== and operator&lt;="><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.compare"></a>
3337 <code class="function">operator==</code> and <code class="function">operator&lt;=</code>
3338 </h6></div></div></div><p>
3339 Associative containers are parametrized by policies allowing to
3340@@ -597,7 +597,7 @@
3341 equivalence; also, are two containers considered equivalent if
3342 they store the same values in different order? this is an
3343 arbitrary decision.
3344- </p></div></div></div><div class="section" title="Priority Queues"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.motivation.priority_queue"/>Priority Queues</h4></div></div></div><div class="section" title="Policy Choices"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.priority_queue.policy"/>Policy Choices</h5></div></div></div><p>
3345+ </p></div></div></div><div class="section" title="Priority Queues"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.motivation.priority_queue"></a>Priority Queues</h4></div></div></div><div class="section" title="Policy Choices"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.priority_queue.policy"></a>Policy Choices</h5></div></div></div><p>
3346 Priority queues are containers that allow efficiently inserting
3347 values and accessing the maximal value (in the sense of the
3348 container's comparison functor). Their interface
3349@@ -606,7 +606,7 @@
3350 container <code class="classname">std::priorityqueue</code> indeed support
3351 these methods, but little else. For algorithmic and
3352 software-engineering purposes, other methods are needed:
3353- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
3354+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
3355 Many graph algorithms (see
3356 <a class="xref" href="policy_data_structures.html#biblio.clrs2001" title="Introduction to Algorithms, 2nd edition">[biblio.clrs2001]</a>) require increasing a
3357 value in a priority queue (again, in the sense of the
3358@@ -653,7 +653,7 @@
3359 ask why do priority queues need to support iterators, since
3360 they are self-organizing containers with a different purpose
3361 than abstracting sequences. There are several reasons:
3362- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
3363+ </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
3364 Iterators (even in self-organizing containers) are
3365 useful for many purposes: cross-referencing
3366 containers, serialization, and debugging code that uses
3367@@ -674,14 +674,14 @@
3368 comparing the iterator returned by <code class="function">find</code> to the
3369 iterator returned by <code class="function">end</code>, and not by comparing a
3370 pointer returned by <code class="function">find</code> to <span class="type">NULL</span>.
3371- </p></li></ol></div></li></ol></div></div><div class="section" title="Underlying Data Structures"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.priority_queue.underlying"/>Underlying Data Structures</h5></div></div></div><p>
3372+ </p></li></ol></div></li></ol></div></div><div class="section" title="Underlying Data Structures"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.priority_queue.underlying"></a>Underlying Data Structures</h5></div></div></div><p>
3373 There are three main implementations of priority queues: the
3374 first employs a binary heap, typically one which uses a
3375 sequence; the second uses a tree (or forest of trees), which is
3376 typically less structured than an associative container's tree;
3377 the third simply uses an associative container. These are
3378 shown in the figure below with labels A1 and A2, B, and C.
3379- </p><div class="figure"><a id="id517306"/><p class="title"><strong>Figure 22.6. Underlying Priority Queue Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_different_underlying_dss_2.png" style="text-align: middle" alt="Underlying Priority Queue Data Structures"/></div></div></div><br class="figure-break"/><p>
3380+ </p><div class="figure"><a id="id695792"></a><p class="title"><strong>Figure 22.6. Underlying Priority Queue Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_different_underlying_dss_2.png" align="middle" alt="Underlying Priority Queue Data Structures" /></div></div></div><br class="figure-break" /><p>
3381 No single implementation can completely replace any of the
3382 others. Some have better <code class="function">push</code>
3383 and <code class="function">pop</code> amortized performance, some have
3384@@ -696,7 +696,7 @@
3385 important for priority queues, since the invalidation guarantees
3386 of one of the most useful data structures - binary heaps - is
3387 markedly different than those of most of the others.
3388- </p></div><div class="section" title="Binary Heaps"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.priority_queue.binary_heap"/>Binary Heaps</h5></div></div></div><p>
3389+ </p></div><div class="section" title="Binary Heaps"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.priority_queue.binary_heap"></a>Binary Heaps</h5></div></div></div><p>
3390 Binary heaps are one of the most useful underlying
3391 data structures for priority queues. They are very efficient in
3392 terms of memory (since they don't require per-value structure
3393@@ -716,7 +716,7 @@
3394 several reasons why a binary-heap priority queue
3395 may be better implemented as a container instead of a
3396 sequence adapter:
3397- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
3398+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
3399 <code class="classname">std::priority_queue</code> cannot erase values
3400 from its adapted sequence (irrespective of the sequence
3401 type). This means that the memory use of
3402@@ -743,7 +743,7 @@
3403 </p></li><li class="listitem"><p>
3404 There does not seem to be a systematic way to determine
3405 what exactly can be done with the priority queue.
3406- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
3407+ </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
3408 If <code class="classname">p</code> is a priority queue adapting an
3409 <code class="classname">std::vector</code>, then it is possible to iterate over
3410 all values by using <code class="function">&amp;p.top()</code> and
3411@@ -773,10 +773,10 @@
3412 <code class="classname">std::priority_queue</code>, however, this will generally
3413 change the order of growth of the entire sequence of
3414 operations.
3415- </p></li></ol></div></div></div></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="pbds.biblio"/>
3416+ </p></li></ol></div></div></div></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="pbds.biblio"></a>
3417 Bibliography
3418- </h2></div></div></div><div class="biblioentry" title="STL Exception Handling Contract"><a id="biblio.abrahams97exception"/><p>[biblio.abrahams97exception] <span class="title"><em>
3419- <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1075.pdf">
3420+ </h2></div></div></div><div class="biblioentry" title="STL Exception Handling Contract"><a id="biblio.abrahams97exception"></a><p>[biblio.abrahams97exception] <span class="title"><em>
3421+ <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1075.pdf" target="_top">
3422 STL Exception Handling Contract
3423 </a>
3424 </em>. </span><span class="date">1997. </span><span class="author"><span class="firstname">
3425@@ -785,7 +785,7 @@
3426 Abrahams
3427 </span>. </span><span class="publisher"><span class="publishername">
3428 ISO SC22/WG21
3429- . </span></span></p></div><div class="biblioentry" title="Modern C++ Design: Generic Programming and Design Patterns Applied"><a id="biblio.alexandrescu01modern"/><p>[biblio.alexandrescu01modern] <span class="title"><em>
3430+ . </span></span></p></div><div class="biblioentry" title="Modern C++ Design: Generic Programming and Design Patterns Applied"><a id="biblio.alexandrescu01modern"></a><p>[biblio.alexandrescu01modern] <span class="title"><em>
3431 Modern C++ Design: Generic Programming and Design Patterns Applied
3432 </em>. </span><span class="date">
3433 2001
3434@@ -795,7 +795,7 @@
3435 Alexandrescu
3436 </span>. </span><span class="publisher"><span class="publishername">
3437 Addison-Wesley Publishing Company
3438- . </span></span></p></div><div class="biblioentry" title="MTF, Bit, and COMB: A Guide to Deterministic and Randomized Algorithms for the List Update Problem"><a id="biblio.andrew04mtf"/><p>[biblio.andrew04mtf] <span class="title"><em>
3439+ . </span></span></p></div><div class="biblioentry" title="MTF, Bit, and COMB: A Guide to Deterministic and Randomized Algorithms for the List Update Problem"><a id="biblio.andrew04mtf"></a><p>[biblio.andrew04mtf] <span class="title"><em>
3440 MTF, Bit, and COMB: A Guide to Deterministic and Randomized
3441 Algorithms for the List Update Problem
3442 </em>. </span><span class="authorgroup"><span class="firstname">
3443@@ -806,7 +806,7 @@
3444 D.
3445 </span> <span class="surname">
3446 Gleich
3447- </span>. </span></p></div><div class="biblioentry" title="Why You Shouldn't Use set - and What You Should Use Instead"><a id="biblio.austern00noset"/><p>[biblio.austern00noset] <span class="title"><em>
3448+ </span>. </span></p></div><div class="biblioentry" title="Why You Shouldn't Use set - and What You Should Use Instead"><a id="biblio.austern00noset"></a><p>[biblio.austern00noset] <span class="title"><em>
3449 Why You Shouldn't Use set - and What You Should Use Instead
3450 </em>. </span><span class="date">
3451 April, 2000
3452@@ -816,8 +816,8 @@
3453 Austern
3454 </span>. </span><span class="publisher"><span class="publishername">
3455 C++ Report
3456- . </span></span></p></div><div class="biblioentry" title="A Proposal to Add Hashtables to the Standard Library"><a id="biblio.austern01htprop"/><p>[biblio.austern01htprop] <span class="title"><em>
3457- <a class="link" href="http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2001/n1326.html">
3458+ . </span></span></p></div><div class="biblioentry" title="A Proposal to Add Hashtables to the Standard Library"><a id="biblio.austern01htprop"></a><p>[biblio.austern01htprop] <span class="title"><em>
3459+ <a class="link" href="http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2001/n1326.html" target="_top">
3460 A Proposal to Add Hashtables to the Standard Library
3461 </a>
3462 </em>. </span><span class="date">
3463@@ -828,7 +828,7 @@
3464 Austern
3465 </span>. </span><span class="publisher"><span class="publishername">
3466 ISO SC22/WG21
3467- . </span></span></p></div><div class="biblioentry" title="Segmented iterators and hierarchical algorithms"><a id="biblio.austern98segmentedit"/><p>[biblio.austern98segmentedit] <span class="title"><em>
3468+ . </span></span></p></div><div class="biblioentry" title="Segmented iterators and hierarchical algorithms"><a id="biblio.austern98segmentedit"></a><p>[biblio.austern98segmentedit] <span class="title"><em>
3469 Segmented iterators and hierarchical algorithms
3470 </em>. </span><span class="date">
3471 April, 1998
3472@@ -838,8 +838,8 @@
3473 Austern
3474 </span>. </span><span class="publisher"><span class="publishername">
3475 Generic Programming
3476- . </span></span></p></div><div class="biblioentry" title="Boost Timer Library"><a id="biblio.dawestimer"/><p>[biblio.dawestimer] <span class="title"><em>
3477- <a class="link" href="www.boost.org/doc/libs/release/libs/timer/">
3478+ . </span></span></p></div><div class="biblioentry" title="Boost Timer Library"><a id="biblio.dawestimer"></a><p>[biblio.dawestimer] <span class="title"><em>
3479+ <a class="link" href="www.boost.org/doc/libs/release/libs/timer/" target="_top">
3480 Boost Timer Library
3481 </a>
3482 </em>. </span><span class="author"><span class="firstname">
3483@@ -848,8 +848,8 @@
3484 Dawes
3485 </span>. </span><span class="publisher"><span class="publishername">
3486 Boost
3487- . </span></span></p></div><div class="biblioentry" title="Boost Pool Library"><a id="biblio.clearypool"/><p>[biblio.clearypool] <span class="title"><em>
3488- <a class="link" href="www.boost.org/doc/libs/release/libs/pool/">
3489+ . </span></span></p></div><div class="biblioentry" title="Boost Pool Library"><a id="biblio.clearypool"></a><p>[biblio.clearypool] <span class="title"><em>
3490+ <a class="link" href="www.boost.org/doc/libs/release/libs/pool/" target="_top">
3491 Boost Pool Library
3492 </a>
3493 </em>. </span><span class="author"><span class="firstname">
3494@@ -858,8 +858,8 @@
3495 Cleary
3496 </span>. </span><span class="publisher"><span class="publishername">
3497 Boost
3498- . </span></span></p></div><div class="biblioentry" title="Boost Type Traits Library"><a id="biblio.maddocktraits"/><p>[biblio.maddocktraits] <span class="title"><em>
3499- <a class="link" href="www.boost.org/doc/libs/release/libs/type_traits/">
3500+ . </span></span></p></div><div class="biblioentry" title="Boost Type Traits Library"><a id="biblio.maddocktraits"></a><p>[biblio.maddocktraits] <span class="title"><em>
3501+ <a class="link" href="www.boost.org/doc/libs/release/libs/type_traits/" target="_top">
3502 Boost Type Traits Library
3503 </a>
3504 </em>. </span><span class="authorgroup"><span class="firstname">
3505@@ -872,15 +872,15 @@
3506 Cleary
3507 </span>. </span><span class="publisher"><span class="publishername">
3508 Boost
3509- . </span></span></p></div><div class="biblioentry" title="Worst-case efficient priority queues"><a id="biblio.brodal96priority"/><p>[biblio.brodal96priority] <span class="title"><em>
3510- <a class="link" href="http://portal.acm.org/citation.cfm?id=313883">
3511+ . </span></span></p></div><div class="biblioentry" title="Worst-case efficient priority queues"><a id="biblio.brodal96priority"></a><p>[biblio.brodal96priority] <span class="title"><em>
3512+ <a class="link" href="http://portal.acm.org/citation.cfm?id=313883" target="_top">
3513 Worst-case efficient priority queues
3514 </a>
3515 </em>. </span><span class="author"><span class="firstname">
3516 Gerth
3517 </span> <span class="surname">
3518 Stolting Brodal
3519- </span>. </span></p></div><div class="biblioentry" title="Efficient C++ Programming Techniques"><a id="biblio.bulkamayheweff"/><p>[biblio.bulkamayheweff] <span class="title"><em>
3520+ </span>. </span></p></div><div class="biblioentry" title="Efficient C++ Programming Techniques"><a id="biblio.bulkamayheweff"></a><p>[biblio.bulkamayheweff] <span class="title"><em>
3521 Efficient C++ Programming Techniques
3522 </em>. </span><span class="date">
3523 1997
3524@@ -894,7 +894,7 @@
3525 Mayhew
3526 </span>. </span><span class="publisher"><span class="publishername">
3527 Addison-Wesley Publishing Company
3528- . </span></span></p></div><div class="biblioentry" title="Introduction to Algorithms, 2nd edition"><a id="biblio.clrs2001"/><p>[biblio.clrs2001] <span class="title"><em>
3529+ . </span></span></p></div><div class="biblioentry" title="Introduction to Algorithms, 2nd edition"><a id="biblio.clrs2001"></a><p>[biblio.clrs2001] <span class="title"><em>
3530 Introduction to Algorithms, 2nd edition
3531 </em>. </span><span class="date">
3532 2001
3533@@ -916,7 +916,7 @@
3534 Stein
3535 </span>. </span><span class="publisher"><span class="publishername">
3536 MIT Press
3537- . </span></span></p></div><div class="biblioentry" title="Balls and bins: A study in negative dependence"><a id="biblio.dubhashi98neg"/><p>[biblio.dubhashi98neg] <span class="title"><em>
3538+ . </span></span></p></div><div class="biblioentry" title="Balls and bins: A study in negative dependence"><a id="biblio.dubhashi98neg"></a><p>[biblio.dubhashi98neg] <span class="title"><em>
3539 Balls and bins: A study in negative dependence
3540 </em>. </span><span class="date">
3541 1998
3542@@ -930,7 +930,7 @@
3543 Ranjan
3544 </span>. </span><span class="publisher"><span class="publishername">
3545 Random Structures and Algorithms 13
3546- . </span></span></p></div><div class="biblioentry" title="Extendible hashing - a fast access method for dynamic files"><a id="biblio.fagin79extendible"/><p>[biblio.fagin79extendible] <span class="title"><em>
3547+ . </span></span></p></div><div class="biblioentry" title="Extendible hashing - a fast access method for dynamic files"><a id="biblio.fagin79extendible"></a><p>[biblio.fagin79extendible] <span class="title"><em>
3548 Extendible hashing - a fast access method for dynamic files
3549 </em>. </span><span class="date">
3550 1979
3551@@ -952,8 +952,8 @@
3552 Strong
3553 </span>. </span><span class="publisher"><span class="publishername">
3554 ACM Trans. Database Syst. 4
3555- . </span></span></p></div><div class="biblioentry" title="Ptset: Sets of integers implemented as Patricia trees"><a id="biblio.filliatre2000ptset"/><p>[biblio.filliatre2000ptset] <span class="title"><em>
3556- <a class="link" href="http://cristal.inria.fr/~frisch/icfp06_contest/advtr/applyOmatic/ptset.ml">
3557+ . </span></span></p></div><div class="biblioentry" title="Ptset: Sets of integers implemented as Patricia trees"><a id="biblio.filliatre2000ptset"></a><p>[biblio.filliatre2000ptset] <span class="title"><em>
3558+ <a class="link" href="http://cristal.inria.fr/~frisch/icfp06_contest/advtr/applyOmatic/ptset.ml" target="_top">
3559 Ptset: Sets of integers implemented as Patricia trees
3560 </a>
3561 </em>. </span><span class="date">
3562@@ -962,8 +962,8 @@
3563 Jean-Christophe
3564 </span> <span class="surname">
3565 Filliatre
3566- </span>. </span></p></div><div class="biblioentry" title="The pairing heap: a new form of self-adjusting heap"><a id="biblio.fredman86pairing"/><p>[biblio.fredman86pairing] <span class="title"><em>
3567- <a class="link" href="http://www.cs.cmu.edu/~sleator/papers/pairing-heaps.pdf">
3568+ </span>. </span></p></div><div class="biblioentry" title="The pairing heap: a new form of self-adjusting heap"><a id="biblio.fredman86pairing"></a><p>[biblio.fredman86pairing] <span class="title"><em>
3569+ <a class="link" href="http://www.cs.cmu.edu/~sleator/papers/pairing-heaps.pdf" target="_top">
3570 The pairing heap: a new form of self-adjusting heap
3571 </a>
3572 </em>. </span><span class="date">
3573@@ -984,7 +984,7 @@
3574 R. E.
3575 </span> <span class="surname">
3576 Tarjan
3577- </span>. </span></p></div><div class="biblioentry" title="Design Patterns - Elements of Reusable Object-Oriented Software"><a id="biblio.gof"/><p>[biblio.gof] <span class="title"><em>
3578+ </span>. </span></p></div><div class="biblioentry" title="Design Patterns - Elements of Reusable Object-Oriented Software"><a id="biblio.gof"></a><p>[biblio.gof] <span class="title"><em>
3579 Design Patterns - Elements of Reusable Object-Oriented Software
3580 </em>. </span><span class="date">
3581 1995
3582@@ -1006,7 +1006,7 @@
3583 Vlissides
3584 </span>. </span><span class="publisher"><span class="publishername">
3585 Addison-Wesley Publishing Company
3586- . </span></span></p></div><div class="biblioentry" title="Order-preserving key transformations"><a id="biblio.garg86order"/><p>[biblio.garg86order] <span class="title"><em>
3587+ . </span></span></p></div><div class="biblioentry" title="Order-preserving key transformations"><a id="biblio.garg86order"></a><p>[biblio.garg86order] <span class="title"><em>
3588 Order-preserving key transformations
3589 </em>. </span><span class="date">
3590 1986
3591@@ -1020,7 +1020,7 @@
3592 Gotlieb
3593 </span>. </span><span class="publisher"><span class="publishername">
3594 Trans. Database Syst. 11
3595- . </span></span></p></div><div class="biblioentry" title="Making a real hash of things"><a id="biblio.hyslop02making"/><p>[biblio.hyslop02making] <span class="title"><em>
3596+ . </span></span></p></div><div class="biblioentry" title="Making a real hash of things"><a id="biblio.hyslop02making"></a><p>[biblio.hyslop02making] <span class="title"><em>
3597 Making a real hash of things
3598 </em>. </span><span class="date">
3599 May 2002
3600@@ -1034,7 +1034,7 @@
3601 Sutter
3602 </span>. </span><span class="publisher"><span class="publishername">
3603 C++ Report
3604- . </span></span></p></div><div class="biblioentry" title="The C++ Standard Library - A Tutorial and Reference"><a id="biblio.jossutis01stl"/><p>[biblio.jossutis01stl] <span class="title"><em>
3605+ . </span></span></p></div><div class="biblioentry" title="The C++ Standard Library - A Tutorial and Reference"><a id="biblio.jossutis01stl"></a><p>[biblio.jossutis01stl] <span class="title"><em>
3606 The C++ Standard Library - A Tutorial and Reference
3607 </em>. </span><span class="date">
3608 2001
3609@@ -1044,8 +1044,8 @@
3610 Jossutis
3611 </span>. </span><span class="publisher"><span class="publishername">
3612 Addison-Wesley Publishing Company
3613- . </span></span></p></div><div class="biblioentry" title="New Heap Data Structures"><a id="biblio.kt99fat_heaps"/><p>[biblio.kt99fat_heaps] <span class="title"><em>
3614- <a class="link" href="http://www.cs.princeton.edu/research/techreps/TR-597-99">
3615+ . </span></span></p></div><div class="biblioentry" title="New Heap Data Structures"><a id="biblio.kt99fat_heaps"></a><p>[biblio.kt99fat_heaps] <span class="title"><em>
3616+ <a class="link" href="http://www.cs.princeton.edu/research/techreps/TR-597-99" target="_top">
3617 New Heap Data Structures
3618 </a>
3619 </em>. </span><span class="date">
3620@@ -1058,7 +1058,7 @@
3621 Robert E.
3622 </span> <span class="surname">
3623 Tarjan
3624- </span>. </span></p></div><div class="biblioentry" title="Are Set Iterators Mutable or Immutable?"><a id="biblio.kleft00sets"/><p>[biblio.kleft00sets] <span class="title"><em>
3625+ </span>. </span></p></div><div class="biblioentry" title="Are Set Iterators Mutable or Immutable?"><a id="biblio.kleft00sets"></a><p>[biblio.kleft00sets] <span class="title"><em>
3626 Are Set Iterators Mutable or Immutable?
3627 </em>. </span><span class="date">
3628 October 2000
3629@@ -1072,7 +1072,7 @@
3630 Kleft
3631 </span>. </span><span class="publisher"><span class="publishername">
3632 C/C++ Users Jornal
3633- . </span></span></p></div><div class="biblioentry" title="The Art of Computer Programming - Sorting and Searching"><a id="biblio.knuth98sorting"/><p>[biblio.knuth98sorting] <span class="title"><em>
3634+ . </span></span></p></div><div class="biblioentry" title="The Art of Computer Programming - Sorting and Searching"><a id="biblio.knuth98sorting"></a><p>[biblio.knuth98sorting] <span class="title"><em>
3635 The Art of Computer Programming - Sorting and Searching
3636 </em>. </span><span class="date">
3637 1998
3638@@ -1082,7 +1082,7 @@
3639 Knuth
3640 </span>. </span><span class="publisher"><span class="publishername">
3641 Addison-Wesley Publishing Company
3642- . </span></span></p></div><div class="biblioentry" title="Data abstraction and hierarchy"><a id="biblio.liskov98data"/><p>[biblio.liskov98data] <span class="title"><em>
3643+ . </span></span></p></div><div class="biblioentry" title="Data abstraction and hierarchy"><a id="biblio.liskov98data"></a><p>[biblio.liskov98data] <span class="title"><em>
3644 Data abstraction and hierarchy
3645 </em>. </span><span class="date">
3646 May 1998
3647@@ -1092,7 +1092,7 @@
3648 Liskov
3649 </span>. </span><span class="publisher"><span class="publishername">
3650 SIGPLAN Notices 23
3651- . </span></span></p></div><div class="biblioentry" title="Linear hashing: A new tool for file and table addressing"><a id="biblio.litwin80lh"/><p>[biblio.litwin80lh] <span class="title"><em>
3652+ . </span></span></p></div><div class="biblioentry" title="Linear hashing: A new tool for file and table addressing"><a id="biblio.litwin80lh"></a><p>[biblio.litwin80lh] <span class="title"><em>
3653 Linear hashing: A new tool for file and table addressing
3654 </em>. </span><span class="date">
3655 June 1980
3656@@ -1102,8 +1102,8 @@
3657 Litwin
3658 </span>. </span><span class="publisher"><span class="publishername">
3659 Proceedings of International Conference on Very Large Data Bases
3660- . </span></span></p></div><div class="biblioentry" title="Deamortization - Part 2: Binomial Heaps"><a id="biblio.maverik_lowerbounds"/><p>[biblio.maverik_lowerbounds] <span class="title"><em>
3661- <a class="link" href="http://magic.aladdin.cs.cmu.edu/2005/08/01/deamortization-part-2-binomial-heaps">
3662+ . </span></span></p></div><div class="biblioentry" title="Deamortization - Part 2: Binomial Heaps"><a id="biblio.maverik_lowerbounds"></a><p>[biblio.maverik_lowerbounds] <span class="title"><em>
3663+ <a class="link" href="http://magic.aladdin.cs.cmu.edu/2005/08/01/deamortization-part-2-binomial-heaps" target="_top">
3664 Deamortization - Part 2: Binomial Heaps
3665 </a>
3666 </em>. </span><span class="date">
3667@@ -1112,7 +1112,7 @@
3668 Maverik
3669 </span> <span class="surname">
3670 Woo
3671- </span>. </span></p></div><div class="biblioentry" title="More Effective C++: 35 New Ways to Improve Your Programs and Designs"><a id="biblio.meyers96more"/><p>[biblio.meyers96more] <span class="title"><em>
3672+ </span>. </span></p></div><div class="biblioentry" title="More Effective C++: 35 New Ways to Improve Your Programs and Designs"><a id="biblio.meyers96more"></a><p>[biblio.meyers96more] <span class="title"><em>
3673 More Effective C++: 35 New Ways to Improve Your Programs and Designs
3674 </em>. </span><span class="date">
3675 1996
3676@@ -1122,7 +1122,7 @@
3677 Meyers
3678 </span>. </span><span class="publisher"><span class="publishername">
3679 Addison-Wesley Publishing Company
3680- . </span></span></p></div><div class="biblioentry" title="How Non-Member Functions Improve Encapsulation"><a id="biblio.meyers00nonmember"/><p>[biblio.meyers00nonmember] <span class="title"><em>
3681+ . </span></span></p></div><div class="biblioentry" title="How Non-Member Functions Improve Encapsulation"><a id="biblio.meyers00nonmember"></a><p>[biblio.meyers00nonmember] <span class="title"><em>
3682 How Non-Member Functions Improve Encapsulation
3683 </em>. </span><span class="date">
3684 2000
3685@@ -1132,7 +1132,7 @@
3686 Meyers
3687 </span>. </span><span class="publisher"><span class="publishername">
3688 C/C++ Users Journal
3689- . </span></span></p></div><div class="biblioentry" title="Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library"><a id="biblio.meyers01stl"/><p>[biblio.meyers01stl] <span class="title"><em>
3690+ . </span></span></p></div><div class="biblioentry" title="Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library"><a id="biblio.meyers01stl"></a><p>[biblio.meyers01stl] <span class="title"><em>
3691 Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
3692 </em>. </span><span class="date">
3693 2001
3694@@ -1142,7 +1142,7 @@
3695 Meyers
3696 </span>. </span><span class="publisher"><span class="publishername">
3697 Addison-Wesley Publishing Company
3698- . </span></span></p></div><div class="biblioentry" title="Class Template, Member Template - or Both?"><a id="biblio.meyers02both"/><p>[biblio.meyers02both] <span class="title"><em>
3699+ . </span></span></p></div><div class="biblioentry" title="Class Template, Member Template - or Both?"><a id="biblio.meyers02both"></a><p>[biblio.meyers02both] <span class="title"><em>
3700 Class Template, Member Template - or Both?
3701 </em>. </span><span class="date">
3702 2003
3703@@ -1152,7 +1152,7 @@
3704 Meyers
3705 </span>. </span><span class="publisher"><span class="publishername">
3706 C/C++ Users Journal
3707- . </span></span></p></div><div class="biblioentry" title="Randomized Algorithms"><a id="biblio.motwani95random"/><p>[biblio.motwani95random] <span class="title"><em>
3708+ . </span></span></p></div><div class="biblioentry" title="Randomized Algorithms"><a id="biblio.motwani95random"></a><p>[biblio.motwani95random] <span class="title"><em>
3709 Randomized Algorithms
3710 </em>. </span><span class="date">
3711 2003
3712@@ -1166,13 +1166,13 @@
3713 Raghavan
3714 </span>. </span><span class="publisher"><span class="publishername">
3715 Cambridge University Press
3716- . </span></span></p></div><div class="biblioentry" title="COM: Component Model Object Technologies"><a id="biblio.mscom"/><p>[biblio.mscom] <span class="title"><em>
3717- <a class="link" href="http://www.microsoft.com/com">
3718+ . </span></span></p></div><div class="biblioentry" title="COM: Component Model Object Technologies"><a id="biblio.mscom"></a><p>[biblio.mscom] <span class="title"><em>
3719+ <a class="link" href="http://www.microsoft.com/com" target="_top">
3720 COM: Component Model Object Technologies
3721 </a>
3722 </em>. </span><span class="publisher"><span class="publishername">
3723 Microsoft
3724- . </span></span></p></div><div class="biblioentry" title="Rationale for Adding Hash Tables to the C++ Standard Template Library"><a id="biblio.musser95rationale"/><p>[biblio.musser95rationale] <span class="title"><em>
3725+ . </span></span></p></div><div class="biblioentry" title="Rationale for Adding Hash Tables to the C++ Standard Template Library"><a id="biblio.musser95rationale"></a><p>[biblio.musser95rationale] <span class="title"><em>
3726 Rationale for Adding Hash Tables to the C++ Standard Template Library
3727 </em>. </span><span class="date">
3728 1995
3729@@ -1180,7 +1180,7 @@
3730 David R.
3731 </span> <span class="surname">
3732 Musser
3733- </span>. </span></p></div><div class="biblioentry" title="STL Tutorial and Reference Guide"><a id="biblio.musser96stltutorial"/><p>[biblio.musser96stltutorial] <span class="title"><em>
3734+ </span>. </span></p></div><div class="biblioentry" title="STL Tutorial and Reference Guide"><a id="biblio.musser96stltutorial"></a><p>[biblio.musser96stltutorial] <span class="title"><em>
3735 STL Tutorial and Reference Guide
3736 </em>. </span><span class="date">
3737 1996
3738@@ -1194,8 +1194,8 @@
3739 Saini
3740 </span>. </span><span class="publisher"><span class="publishername">
3741 Addison-Wesley Publishing Company
3742- . </span></span></p></div><div class="biblioentry" title="Priority Queues and the STL"><a id="biblio.nelson96stlpq"/><p>[biblio.nelson96stlpq] <span class="title"><em>
3743- <a class="link" href="http://www.dogma.net/markn/articles/pq_stl/priority.htm">Priority Queues and the STL
3744+ . </span></span></p></div><div class="biblioentry" title="Priority Queues and the STL"><a id="biblio.nelson96stlpq"></a><p>[biblio.nelson96stlpq] <span class="title"><em>
3745+ <a class="link" href="http://www.dogma.net/markn/articles/pq_stl/priority.htm" target="_top">Priority Queues and the STL
3746 </a>
3747 </em>. </span><span class="date">
3748 January 1996
3749@@ -1205,7 +1205,7 @@
3750 Nelson
3751 </span>. </span><span class="publisher"><span class="publishername">
3752 Dr. Dobbs Journal
3753- . </span></span></p></div><div class="biblioentry" title="Fast mergeable integer maps"><a id="biblio.okasaki98mereable"/><p>[biblio.okasaki98mereable] <span class="title"><em>
3754+ . </span></span></p></div><div class="biblioentry" title="Fast mergeable integer maps"><a id="biblio.okasaki98mereable"></a><p>[biblio.okasaki98mereable] <span class="title"><em>
3755 Fast mergeable integer maps
3756 </em>. </span><span class="date">
3757 September 1998
3758@@ -1219,8 +1219,8 @@
3759 Gill
3760 </span>. </span><span class="publisher"><span class="publishername">
3761 In Workshop on ML
3762- . </span></span></p></div><div class="biblioentry" title="Standard Template Library Programmer's Guide"><a id="biblio.sgi_stl"/><p>[biblio.sgi_stl] <span class="title"><em>
3763- <a class="link" href="http://www.sgi.com/tech/stl">
3764+ . </span></span></p></div><div class="biblioentry" title="Standard Template Library Programmer's Guide"><a id="biblio.sgi_stl"></a><p>[biblio.sgi_stl] <span class="title"><em>
3765+ <a class="link" href="http://www.sgi.com/tech/stl" target="_top">
3766 Standard Template Library Programmer's Guide
3767 </a>
3768 </em>. </span><span class="author"><span class="firstname">
3769@@ -1229,11 +1229,11 @@
3770 Austern
3771 </span>. </span><span class="publisher"><span class="publishername">
3772 SGI
3773- . </span></span></p></div><div class="biblioentry" title="select"><a id="biblio.select_man"/><p>[biblio.select_man] <span class="title"><em>
3774- <a class="link" href="http://www.scit.wlv.ac.uk/cgi-bin/mansec?3C+select">
3775+ . </span></span></p></div><div class="biblioentry" title="select"><a id="biblio.select_man"></a><p>[biblio.select_man] <span class="title"><em>
3776+ <a class="link" href="http://www.scit.wlv.ac.uk/cgi-bin/mansec?3C+select" target="_top">
3777 select
3778 </a>
3779- </em>. </span></p></div><div class="biblioentry" title="Amortized Efficiency of List Update Problems"><a id="biblio.sleator84amortized"/><p>[biblio.sleator84amortized] <span class="title"><em>
3780+ </em>. </span></p></div><div class="biblioentry" title="Amortized Efficiency of List Update Problems"><a id="biblio.sleator84amortized"></a><p>[biblio.sleator84amortized] <span class="title"><em>
3781 Amortized Efficiency of List Update Problems
3782 </em>. </span><span class="date">
3783 1984
3784@@ -1247,7 +1247,7 @@
3785 Tarjan
3786 </span>. </span><span class="publisher"><span class="publishername">
3787 ACM Symposium on Theory of Computing
3788- . </span></span></p></div><div class="biblioentry" title="Self-Adjusting Binary Search Trees"><a id="biblio.sleator85self"/><p>[biblio.sleator85self] <span class="title"><em>
3789+ . </span></span></p></div><div class="biblioentry" title="Self-Adjusting Binary Search Trees"><a id="biblio.sleator85self"></a><p>[biblio.sleator85self] <span class="title"><em>
3790 Self-Adjusting Binary Search Trees
3791 </em>. </span><span class="date">
3792 1985
3793@@ -1261,7 +1261,7 @@
3794 Tarjan
3795 </span>. </span><span class="publisher"><span class="publishername">
3796 ACM Symposium on Theory of Computing
3797- . </span></span></p></div><div class="biblioentry" title="The Standard Template Library"><a id="biblio.stepanov94standard"/><p>[biblio.stepanov94standard] <span class="title"><em>
3798+ . </span></span></p></div><div class="biblioentry" title="The Standard Template Library"><a id="biblio.stepanov94standard"></a><p>[biblio.stepanov94standard] <span class="title"><em>
3799 The Standard Template Library
3800 </em>. </span><span class="date">
3801 1984
3802@@ -1273,7 +1273,7 @@
3803 M.
3804 </span> <span class="surname">
3805 Lee
3806- </span>. </span></p></div><div class="biblioentry" title="The C++ Programming Langugage"><a id="biblio.stroustrup97cpp"/><p>[biblio.stroustrup97cpp] <span class="title"><em>
3807+ </span>. </span></p></div><div class="biblioentry" title="The C++ Programming Langugage"><a id="biblio.stroustrup97cpp"></a><p>[biblio.stroustrup97cpp] <span class="title"><em>
3808 The C++ Programming Langugage
3809 </em>. </span><span class="date">
3810 1997
3811@@ -1283,7 +1283,7 @@
3812 Stroustrup
3813 </span>. </span><span class="publisher"><span class="publishername">
3814 Addison-Wesley Publishing Company
3815- . </span></span></p></div><div class="biblioentry" title="C++ Templates: The Complete Guide"><a id="biblio.vandevoorde2002cpptemplates"/><p>[biblio.vandevoorde2002cpptemplates] <span class="title"><em>
3816+ . </span></span></p></div><div class="biblioentry" title="C++ Templates: The Complete Guide"><a id="biblio.vandevoorde2002cpptemplates"></a><p>[biblio.vandevoorde2002cpptemplates] <span class="title"><em>
3817 C++ Templates: The Complete Guide
3818 </em>. </span><span class="date">
3819 2002
3820@@ -1297,8 +1297,8 @@
3821 Josuttis
3822 </span>. </span><span class="publisher"><span class="publishername">
3823 Addison-Wesley Publishing Company
3824- . </span></span></p></div><div class="biblioentry" title="Thirty Years Among the Dead"><a id="biblio.wickland96thirty"/><p>[biblio.wickland96thirty] <span class="title"><em>
3825- <a class="link" href="http://myweb.wvnet.edu/~gsa00121/books/amongdead30.zip">
3826+ . </span></span></p></div><div class="biblioentry" title="Thirty Years Among the Dead"><a id="biblio.wickland96thirty"></a><p>[biblio.wickland96thirty] <span class="title"><em>
3827+ <a class="link" href="http://myweb.wvnet.edu/~gsa00121/books/amongdead30.zip" target="_top">
3828 Thirty Years Among the Dead
3829 </a>
3830 </em>. </span><span class="date">
3831@@ -1309,4 +1309,4 @@
3832 Wickland
3833 </span>. </span><span class="publisher"><span class="publishername">
3834 National Psychological Institute
3835- . </span></span></p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch21s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="policy_data_structures_using.html">Next</a></td></tr><tr><td align="left" valign="top">Implementation </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Using</td></tr></table></div></body></html>
3836+ . </span></span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch21s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="policy_data_structures_using.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Implementation </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Using</td></tr></table></div></body></html>
3837Index: libstdc++-v3/doc/html/manual/ext_iterators.html
3838===================================================================
9f95000d
AM
3839--- libstdc++-v3/doc/html/manual/ext_iterators.html (.../tags/gcc_4_7_2_release) (wersja 192468)
3840+++ libstdc++-v3/doc/html/manual/ext_iterators.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
3841@@ -1,14 +1,14 @@
3842 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3843-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3844-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 27. Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_numerics.html" title="Chapter 26. Numerics"/><link rel="next" href="ext_io.html" title="Chapter 28. Input and Output"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 27. Iterators</th></tr><tr><td align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><th width="60%" align="center">Part III. 
3845+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3846+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 27. Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_numerics.html" title="Chapter 26. Numerics" /><link rel="next" href="ext_io.html" title="Chapter 28. Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 27. Iterators</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><th width="60%" align="center">Part III. 
3847 Extensions
3848
3849-</th><td align="right"> <a accesskey="n" href="ext_io.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 27. Iterators"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.iterators"/>Chapter 27. Iterators</h2></div></div></div><p>24.3.2 describes <code class="code">struct iterator</code>, which didn't exist in the
3850+</th><td width="20%" align="right"> <a accesskey="n" href="ext_io.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 27. Iterators"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.iterators"></a>Chapter 27. Iterators</h2></div></div></div><p>24.3.2 describes <code class="code">struct iterator</code>, which didn't exist in the
3851 original HP STL implementation (the language wasn't rich enough at the
3852 time). For backwards compatibility, base classes are provided which
3853 declare the same nested typedefs:
3854-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>input_iterator</p></li><li class="listitem"><p>output_iterator</p></li><li class="listitem"><p>forward_iterator</p></li><li class="listitem"><p>bidirectional_iterator</p></li><li class="listitem"><p>random_access_iterator</p></li></ul></div><p>24.3.4 describes iterator operation <code class="code">distance</code>, which takes
3855+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>input_iterator</p></li><li class="listitem"><p>output_iterator</p></li><li class="listitem"><p>forward_iterator</p></li><li class="listitem"><p>bidirectional_iterator</p></li><li class="listitem"><p>random_access_iterator</p></li></ul></div><p>24.3.4 describes iterator operation <code class="code">distance</code>, which takes
3856 two iterators and returns a result. It is extended by another signature
3857 which takes two iterators and a reference to a result. The result is
3858 modified, and the function returns nothing.
3859-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_io.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 26. Numerics </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 28. Input and Output</td></tr></table></div></body></html>
3860+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_io.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 26. Numerics </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 28. Input and Output</td></tr></table></div></body></html>
3861Index: libstdc++-v3/doc/html/manual/appendix_contributing.html
3862===================================================================
9f95000d
AM
3863--- libstdc++-v3/doc/html/manual/appendix_contributing.html (.../tags/gcc_4_7_2_release) (wersja 192468)
3864+++ libstdc++-v3/doc/html/manual/appendix_contributing.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
3865@@ -1,19 +1,19 @@
3866 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3867-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3868-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Appendix A.  Contributing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices"/><link rel="prev" href="bk01pt04.html" title="Part IV.  Appendices"/><link rel="next" href="source_organization.html" title="Directory Layout and Source Conventions"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. 
3869+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3870+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix A.  Contributing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices" /><link rel="prev" href="bk01pt04.html" title="Part IV.  Appendices" /><link rel="next" href="source_organization.html" title="Directory Layout and Source Conventions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. 
3871 Contributing
3872
3873-</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt04.html">Prev</a> </td><th width="60%" align="center">Part IV. 
3874+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt04.html">Prev</a> </td><th width="60%" align="center">Part IV. 
3875 Appendices
3876-</th><td align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr></table><hr/></div><div class="appendix" title="Appendix A.  Contributing"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.contrib"/>
3877+</th><td width="20%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix A.  Contributing"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.contrib"></a>
3878 Contributing
3879- <a id="id551729" class="indexterm"/>
3880+ <a id="id730216" class="indexterm"></a>
3881 </h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="section"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="section"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="section"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="section"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="section"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></div><p>
3882 The GNU C++ Library follows an open development model. Active
3883 contributors are assigned maintainer-ship responsibility, and given
3884 write access to the source repository. First time contributors
3885 should follow this procedure:
3886-</p><div class="section" title="Contributor Checklist"><div class="titlepage"><div><div><h2 class="title"><a id="contrib.list"/>Contributor Checklist</h2></div></div></div><div class="section" title="Reading"><div class="titlepage"><div><div><h3 class="title"><a id="list.reading"/>Reading</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
3887+</p><div class="section" title="Contributor Checklist"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.list"></a>Contributor Checklist</h2></div></div></div><div class="section" title="Reading"><div class="titlepage"><div><div><h3 class="title"><a id="list.reading"></a>Reading</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
3888 Get and read the relevant sections of the C++ language
3889 specification. Copies of the full ISO 14882 standard are
3890 available on line via the ISO mirror site for committee
3891@@ -23,21 +23,21 @@
3892 the standard from their respective national standards
3893 organization. In the USA, this national standards
3894 organization is
3895- <a class="link" href="http://www.ansi.org">ANSI</a>.
3896+ <a class="link" href="http://www.ansi.org" target="_top">ANSI</a>.
3897 (And if you've already registered with them you can
3898- <a class="link" href="http://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2fISO%2fIEC+14882-2003">buy the standard on-line</a>.)
3899+ <a class="link" href="http://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2fISO%2fIEC+14882-2003" target="_top">buy the standard on-line</a>.)
3900 </p></li><li class="listitem"><p>
3901 The library working group bugs, and known defects, can
3902 be obtained here:
3903- <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/">http://www.open-std.org/jtc1/sc22/wg21</a>
3904+ <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">http://www.open-std.org/jtc1/sc22/wg21</a>
3905 </p></li><li class="listitem"><p>
3906 The newsgroup dedicated to standardization issues is
3907 comp.std.c++: the
3908- <a class="link" href="http://www.comeaucomputing.com/csc/faq.html">FAQ</a>
3909+ <a class="link" href="http://www.comeaucomputing.com/csc/faq.html" target="_top">FAQ</a>
3910 for this group is quite useful.
3911 </p></li><li class="listitem"><p>
3912 Peruse
3913- the <a class="link" href="http://www.gnu.org/prep/standards">GNU
3914+ the <a class="link" href="http://www.gnu.org/prep/standards" target="_top">GNU
3915 Coding Standards</a>, and chuckle when you hit the part
3916 about <span class="quote">“<span class="quote">Using Languages Other Than C</span>”</span>.
3917 </p></li><li class="listitem"><p>
3918@@ -48,7 +48,7 @@
3919 And last but certainly not least, read the
3920 library-specific information found in
3921 <a class="link" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance">Porting and Maintenance</a>.
3922- </p></li></ul></div></div><div class="section" title="Assignment"><div class="titlepage"><div><div><h3 class="title"><a id="list.copyright"/>Assignment</h3></div></div></div><p>
3923+ </p></li></ul></div></div><div class="section" title="Assignment"><div class="titlepage"><div><div><h3 class="title"><a id="list.copyright"></a>Assignment</h3></div></div></div><p>
3924 Small changes can be accepted without a copyright assignment form on
3925 file. New code and additions to the library need completed copyright
3926 assignment form on file at the FSF. Note: your employer may be required
3927@@ -66,7 +66,7 @@
3928 this question would be appreciated.
3929 </p><p>
3930 For more information about getting a copyright assignment, please see
3931- <a class="link" href="http://www.gnu.org/prep/maintain/html_node/Legal-Matters.html">Legal
3932+ <a class="link" href="http://www.gnu.org/prep/maintain/html_node/Legal-Matters.html" target="_top">Legal
3933 Matters</a>.
3934 </p><p>
3935 Please contact Benjamin Kosnik at
3936@@ -75,14 +75,14 @@
3937 requesting an assignment form from
3938 <code class="email">&lt;<a class="email" href="mailto:mailto:assign@gnu.org">mailto:assign@gnu.org</a>&gt;</code>, please cc the libstdc++
3939 maintainer above so that progress can be monitored.
3940- </p></div><div class="section" title="Getting Sources"><div class="titlepage"><div><div><h3 class="title"><a id="list.getting"/>Getting Sources</h3></div></div></div><p>
3941- <a class="link" href="http://gcc.gnu.org/svnwrite.html">Getting write access
3942+ </p></div><div class="section" title="Getting Sources"><div class="titlepage"><div><div><h3 class="title"><a id="list.getting"></a>Getting Sources</h3></div></div></div><p>
3943+ <a class="link" href="http://gcc.gnu.org/svnwrite.html" target="_top">Getting write access
3944 (look for "Write after approval")</a>
3945- </p></div><div class="section" title="Submitting Patches"><div class="titlepage"><div><div><h3 class="title"><a id="list.patches"/>Submitting Patches</h3></div></div></div><p>
3946+ </p></div><div class="section" title="Submitting Patches"><div class="titlepage"><div><div><h3 class="title"><a id="list.patches"></a>Submitting Patches</h3></div></div></div><p>
3947 Every patch must have several pieces of information before it can be
3948 properly evaluated. Ideally (and to ensure the fastest possible
3949 response from the maintainers) it would have all of these pieces:
3950- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
3951+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
3952 A description of the bug and how your patch fixes this
3953 bug. For new features a description of the feature and your
3954 implementation.
3955@@ -103,7 +103,7 @@
3956 else, use <span class="command"><strong>diff -cp OLD NEW</strong></span> ... If your
3957 version of diff does not support these options, then get the
3958 latest version of GNU
3959- diff. The <a class="link" href="http://gcc.gnu.org/wiki/SvnTricks">SVN
3960+ diff. The <a class="link" href="http://gcc.gnu.org/wiki/SvnTricks" target="_top">SVN
3961 Tricks</a> wiki page has information on customising the
3962 output of <code class="code">svn diff</code>.
3963 </p></li><li class="listitem"><p>
3964@@ -111,6 +111,6 @@
3965 mail message and send it to libstdc++@gcc.gnu.org. All
3966 patches and related discussion should be sent to the
3967 libstdc++ mailing list.
3968- </p></li></ul></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt04.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr><tr><td align="left" valign="top">Part IV. 
3969+ </p></li></ul></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part IV. 
3970 Appendices
3971- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Directory Layout and Source Conventions</td></tr></table></div></body></html>
3972+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Directory Layout and Source Conventions</td></tr></table></div></body></html>
3973Index: libstdc++-v3/doc/html/manual/profile_mode.html
3974===================================================================
9f95000d
AM
3975--- libstdc++-v3/doc/html/manual/profile_mode.html (.../tags/gcc_4_7_2_release) (wersja 192468)
3976+++ libstdc++-v3/doc/html/manual/profile_mode.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
3977@@ -1,9 +1,9 @@
3978 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3979-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3980-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 19. Profile Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch18s05.html" title="Testing"/><link rel="next" href="bk01pt03ch19s02.html" title="Design"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 19. Profile Mode</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s05.html">Prev</a> </td><th width="60%" align="center">Part III. 
3981+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3982+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 19. Profile Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03ch18s05.html" title="Testing" /><link rel="next" href="bk01pt03ch19s02.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 19. Profile Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch18s05.html">Prev</a> </td><th width="60%" align="center">Part III. 
3983 Extensions
3984
3985-</th><td align="right"> <a accesskey="n" href="bk01pt03ch19s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 19. Profile Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode"/>Chapter 19. Profile Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s02.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s04.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></div><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.intro"/>Intro</h2></div></div></div><p>
3986+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 19. Profile Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode"></a>Chapter 19. Profile Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s02.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s04.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></div><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.intro"></a>Intro</h2></div></div></div><p>
3987 <span class="emphasis"><em>Goal: </em></span>Give performance improvement advice based on
3988 recognition of suboptimal usage patterns of the standard library.
3989 </p><p>
3990@@ -12,11 +12,11 @@
3991 various components at interesting entry/exit points to/from the standard
3992 library. Process trace, recognize suboptimal patterns, give advice.
3993 For details, see
3994- <a class="link" href="http://dx.doi.org/10.1109/CGO.2009.36">paper presented at
3995+ <a class="link" href="http://dx.doi.org/10.1109/CGO.2009.36" target="_top">paper presented at
3996 CGO 2009</a>.
3997 </p><p>
3998 <span class="emphasis"><em>Strengths: </em></span>
3999-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
4000+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
4001 Unintrusive solution. The application code does not require any
4002 modification.
4003 </p></li><li class="listitem"><p> The advice is call context sensitive, thus capable of
4004@@ -27,14 +27,14 @@
4005 </p></li></ul></div><p>
4006 </p><p>
4007 <span class="emphasis"><em>Drawbacks: </em></span>
4008-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
4009+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
4010 You must recompile the application code with custom options.
4011 </p></li><li class="listitem"><p>You must run the application on representative input.
4012 The advice is input dependent.
4013 </p></li><li class="listitem"><p>
4014 The execution time will increase, in some cases by factors.
4015 </p></li></ul></div><p>
4016- </p><div class="section" title="Using the Profile Mode"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.using"/>Using the Profile Mode</h3></div></div></div><p>
4017+ </p><div class="section" title="Using the Profile Mode"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.using"></a>Using the Profile Mode</h3></div></div></div><p>
4018 This is the anticipated common workflow for program <code class="code">foo.cc</code>:
4019 </p><pre class="programlisting">
4020 $ cat foo.cc
4021@@ -54,7 +54,7 @@
4022 </pre><p>
4023 </p><p>
4024 Anatomy of a warning:
4025- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
4026+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
4027 Warning id. This is a short descriptive string for the class
4028 that this warning belongs to. E.g., "vector-to-list".
4029 </p></li><li class="listitem"><p>
4030@@ -94,11 +94,11 @@
4031 We believe such warnings can help users understand the performance
4032 behavior of their application better, which can lead to changes
4033 at a higher abstraction level.
4034- </p></div><div class="section" title="Tuning the Profile Mode"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.tuning"/>Tuning the Profile Mode</h3></div></div></div><p>Compile time switches and environment variables (see also file
4035+ </p></div><div class="section" title="Tuning the Profile Mode"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.tuning"></a>Tuning the Profile Mode</h3></div></div></div><p>Compile time switches and environment variables (see also file
4036 profiler.h). Unless specified otherwise, they can be set at compile time
4037 using -D_&lt;name&gt; or by setting variable &lt;name&gt;
4038 in the environment where the program is run, before starting execution.
4039- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
4040+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
4041 <code class="code">_GLIBCXX_PROFILE_NO_&lt;diagnostic&gt;</code>:
4042 disable specific diagnostics.
4043 See section Diagnostics for possible values.
4044@@ -138,9 +138,9 @@
4045 call context.
4046 (Environment variable not supported.)
4047 </p></li></ul></div><p>
4048- </p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="profile_mode.biblio"/>Bibliography</h2></div></div></div><div class="biblioentry"><a id="id514403"/><p><span class="citetitle"><em class="citetitle">
4049+ </p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="profile_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry"><a id="id692890"></a><p><span class="citetitle"><em class="citetitle">
4050 Perflint: A Context Sensitive Performance Advisor for C++ Programs
4051 </em>. </span><span class="author"><span class="firstname">Lixia</span> <span class="surname">Liu</span>. </span><span class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span>. </span><span class="copyright">Copyright © 2009 . </span><span class="publisher"><span class="publishername">
4052 Proceedings of the 2009 International Symposium on Code Generation
4053 and Optimization
4054- . </span></span></p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s05.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch19s02.html">Next</a></td></tr><tr><td align="left" valign="top">Testing </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Design</td></tr></table></div></body></html>
4055+ . </span></span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch18s05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch19s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Testing </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
4056Index: libstdc++-v3/doc/html/manual/stringstreams.html
4057===================================================================
9f95000d
AM
4058--- libstdc++-v3/doc/html/manual/stringstreams.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4059+++ libstdc++-v3/doc/html/manual/stringstreams.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4060@@ -1,9 +1,9 @@
4061 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4062-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4063-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Memory Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="io.html" title="Chapter 13.  Input and Output"/><link rel="prev" href="streambufs.html" title="Stream Buffers"/><link rel="next" href="fstreams.html" title="File Based Streams"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Memory Based Streams</th></tr><tr><td align="left"><a accesskey="p" href="streambufs.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
4064+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4065+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Memory Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="streambufs.html" title="Stream Buffers" /><link rel="next" href="fstreams.html" title="File Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Memory Based Streams</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="streambufs.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
4066 Input and Output
4067
4068-</th><td align="right"> <a accesskey="n" href="fstreams.html">Next</a></td></tr></table><hr/></div><div class="section" title="Memory Based Streams"><div class="titlepage"><div><div><h2 class="title"><a id="std.io.memstreams"/>Memory Based Streams</h2></div></div></div><div class="section" title="Compatibility With strstream"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.memstreams.compat"/>Compatibility With strstream</h3></div></div></div><p>
4069+</th><td width="20%" align="right"> <a accesskey="n" href="fstreams.html">Next</a></td></tr></table><hr /></div><div class="section" title="Memory Based Streams"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.memstreams"></a>Memory Based Streams</h2></div></div></div><div class="section" title="Compatibility With strstream"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.memstreams.compat"></a>Compatibility With strstream</h3></div></div></div><p>
4070 </p><p>Stringstreams (defined in the header <code class="code">&lt;sstream&gt;</code>)
4071 are in this author's opinion one of the coolest things since
4072 sliced time. An example of their use is in the Received Wisdom
4073@@ -34,4 +34,4 @@
4074 memory yourself. The strstreams have been officially deprecated,
4075 which means that 1) future revisions of the C++ Standard won't
4076 support them, and 2) if you use them, people will laugh at you.
4077- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="streambufs.html">Prev</a> </td><td align="center"><a accesskey="u" href="io.html">Up</a></td><td align="right"> <a accesskey="n" href="fstreams.html">Next</a></td></tr><tr><td align="left" valign="top">Stream Buffers </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> File Based Streams</td></tr></table></div></body></html>
4078+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="streambufs.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="io.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="fstreams.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Stream Buffers </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> File Based Streams</td></tr></table></div></body></html>
4079Index: libstdc++-v3/doc/html/manual/traits.html
4080===================================================================
9f95000d
AM
4081--- libstdc++-v3/doc/html/manual/traits.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4082+++ libstdc++-v3/doc/html/manual/traits.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4083@@ -1,10 +1,10 @@
4084 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4085-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4086-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Traits</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="utilities.html" title="Chapter 6.  Utilities"/><link rel="prev" href="memory.html" title="Memory"/><link rel="next" href="strings.html" title="Chapter 7.  Strings"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Traits</th></tr><tr><td align="left"><a accesskey="p" href="memory.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
4087+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4088+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Traits</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="prev" href="memory.html" title="Memory" /><link rel="next" href="strings.html" title="Chapter 7.  Strings" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Traits</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="memory.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
4089 Utilities
4090
4091-</th><td align="right"> <a accesskey="n" href="strings.html">Next</a></td></tr></table><hr/></div><div class="section" title="Traits"><div class="titlepage"><div><div><h2 class="title"><a id="std.util.traits"/>Traits</h2></div></div></div><p>
4092- </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="memory.html">Prev</a> </td><td align="center"><a accesskey="u" href="utilities.html">Up</a></td><td align="right"> <a accesskey="n" href="strings.html">Next</a></td></tr><tr><td align="left" valign="top">Memory </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 7. 
4093+</th><td width="20%" align="right"> <a accesskey="n" href="strings.html">Next</a></td></tr></table><hr /></div><div class="section" title="Traits"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.traits"></a>Traits</h2></div></div></div><p>
4094+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="memory.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="utilities.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="strings.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Memory </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 7. 
4095 Strings
4096
4097 </td></tr></table></div></body></html>
4098Index: libstdc++-v3/doc/html/manual/bk01pt03ch20s05.html
4099===================================================================
9f95000d
AM
4100--- libstdc++-v3/doc/html/manual/bk01pt03ch20s05.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4101+++ libstdc++-v3/doc/html/manual/bk01pt03ch20s05.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4102@@ -1,6 +1,6 @@
4103 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4104-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4105-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Multiple Thread Example</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator"/><link rel="prev" href="bk01pt03ch20s04.html" title="Single Thread Example"/><link rel="next" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Multiple Thread Example</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s04.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr></table><hr/></div><div class="section" title="Multiple Thread Example"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.mt.example_multi"/>Multiple Thread Example</h2></div></div></div><p>
4106+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4107+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Multiple Thread Example</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="bk01pt03ch20s04.html" title="Single Thread Example" /><link rel="next" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Multiple Thread Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch20s04.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr></table><hr /></div><div class="section" title="Multiple Thread Example"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.example_multi"></a>Multiple Thread Example</h2></div></div></div><p>
4108 In the ST example we never used the thread_id variable present in each block.
4109 Let's start by explaining the purpose of this in a MT application.
4110 </p><p>
4111@@ -104,4 +104,4 @@
4112 a threads freelist mentioned above). The "formula" used can probably
4113 be improved to further reduce the risk of blocks being "bounced back
4114 and forth" between freelists.
4115-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s04.html">Prev</a> </td><td align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr><tr><td align="left" valign="top">Single Thread Example </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 21. The bitmap_allocator</td></tr></table></div></body></html>
4116+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch20s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Single Thread Example </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 21. The bitmap_allocator</td></tr></table></div></body></html>
4117Index: libstdc++-v3/doc/html/manual/ext_concurrency.html
4118===================================================================
9f95000d
AM
4119--- libstdc++-v3/doc/html/manual/ext_concurrency.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4120+++ libstdc++-v3/doc/html/manual/ext_concurrency.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4121@@ -1,9 +1,9 @@
4122 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4123-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4124-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 30. Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_demangling.html" title="Chapter 29. Demangling"/><link rel="next" href="bk01pt03ch30s02.html" title="Implementation"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 30. Concurrency</th></tr><tr><td align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><th width="60%" align="center">Part III. 
4125+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4126+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 30. Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_demangling.html" title="Chapter 29. Demangling" /><link rel="next" href="bk01pt03ch30s02.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 30. Concurrency</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><th width="60%" align="center">Part III. 
4127 Extensions
4128
4129-</th><td align="right"> <a accesskey="n" href="bk01pt03ch30s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 30. Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency"/>Chapter 30. Concurrency</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s03.html">Use</a></span></dt></dl></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency.design"/>Design</h2></div></div></div><div class="section" title="Interface to Locks and Mutexes"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.threads"/>Interface to Locks and Mutexes</h3></div></div></div><p>The file <code class="filename">&lt;ext/concurrence.h&gt;</code>
4130+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch30s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 30. Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency"></a>Chapter 30. Concurrency</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s03.html">Use</a></span></dt></dl></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.design"></a>Design</h2></div></div></div><div class="section" title="Interface to Locks and Mutexes"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.threads"></a>Interface to Locks and Mutexes</h3></div></div></div><p>The file <code class="filename">&lt;ext/concurrence.h&gt;</code>
4131 contains all the higher-level
4132 constructs for playing with threads. In contrast to the atomics layer,
4133 the concurrence layer consists largely of types. All types are defined within <code class="code">namespace __gnu_cxx</code>.
4134@@ -17,7 +17,7 @@
4135 available locking
4136 policies: <code class="code">_S_single</code>, <code class="code">_S_mutex</code>,
4137 and <code class="code">_S_atomic</code>.
4138-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">_S_single</code></p><p>Indicates single-threaded code that does not need locking.
4139+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">_S_single</code></p><p>Indicates single-threaded code that does not need locking.
4140 </p></li><li class="listitem"><p><code class="code">_S_mutex</code></p><p>Indicates multi-threaded code using thread-layer abstractions.
4141 </p></li><li class="listitem"><p><code class="code">_S_atomic</code></p><p>Indicates multi-threaded code using atomic operations.
4142 </p></li></ul></div><p>The compile-time constant <code class="code">__default_lock_policy</code> is set
4143@@ -33,7 +33,7 @@
4144 These types have been superseded in the ISO C++ 2011 standard by the
4145 mutex and lock types defined in the header
4146 <code class="filename">&lt;mutex&gt;</code>.
4147-</p></div><div class="section" title="Interface to Atomic Functions"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.atomics"/>Interface to Atomic Functions</h3></div></div></div><p>
4148+</p></div><div class="section" title="Interface to Atomic Functions"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.atomics"></a>Interface to Atomic Functions</h3></div></div></div><p>
4149 Two functions and one type form the base of atomic support.
4150 </p><p>The type <code class="code">_Atomic_word</code> is a signed integral type
4151 supporting atomic operations.
4152@@ -47,7 +47,7 @@
4153 __atomic_add_dispatch(volatile _Atomic_word*, int);
4154 </pre><p>Both of these functions are declared in the header file
4155 &lt;ext/atomicity.h&gt;, and are in <code class="code">namespace __gnu_cxx</code>.
4156-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
4157+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
4158 <code class="code">
4159 __exchange_and_add_dispatch
4160 </code>
4161@@ -66,7 +66,7 @@
4162 </code>
4163 </p><p>
4164 Calls through to either of:
4165-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">__exchange_and_add</code>
4166+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">__exchange_and_add</code>
4167 </p><p>Multi-thread version. Inlined if compiler-generated builtin atomics
4168 can be used, otherwise resolved at link time to a non-builtin code
4169 sequence.
4170@@ -91,4 +91,4 @@
4171 </p><p>
4172 Which expand to the appropriate write and read barrier required by the
4173 host hardware and operating system.
4174-</p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch30s02.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 29. Demangling </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Implementation</td></tr></table></div></body></html>
4175+</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch30s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 29. Demangling </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Implementation</td></tr></table></div></body></html>
4176Index: libstdc++-v3/doc/html/manual/associative.html
4177===================================================================
9f95000d
AM
4178--- libstdc++-v3/doc/html/manual/associative.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4179+++ libstdc++-v3/doc/html/manual/associative.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4180@@ -1,9 +1,9 @@
4181 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4182-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4183-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Associative</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="containers.html" title="Chapter 9.  Containers"/><link rel="prev" href="containers.html" title="Chapter 9.  Containers"/><link rel="next" href="containers_and_c.html" title="Interacting with C"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Associative</th></tr><tr><td align="left"><a accesskey="p" href="containers.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
4184+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4185+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Associative</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="containers.html" title="Chapter 9.  Containers" /><link rel="prev" href="containers.html" title="Chapter 9.  Containers" /><link rel="next" href="containers_and_c.html" title="Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Associative</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="containers.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
4186 Containers
4187
4188-</th><td align="right"> <a accesskey="n" href="containers_and_c.html">Next</a></td></tr></table><hr/></div><div class="section" title="Associative"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers.associative"/>Associative</h2></div></div></div><div class="section" title="Insertion Hints"><div class="titlepage"><div><div><h3 class="title"><a id="containers.associative.insert_hints"/>Insertion Hints</h3></div></div></div><p>
4189+</th><td width="20%" align="right"> <a accesskey="n" href="containers_and_c.html">Next</a></td></tr></table><hr /></div><div class="section" title="Associative"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.associative"></a>Associative</h2></div></div></div><div class="section" title="Insertion Hints"><div class="titlepage"><div><div><h3 class="title"><a id="containers.associative.insert_hints"></a>Insertion Hints</h3></div></div></div><p>
4190 Section [23.1.2], Table 69, of the C++ standard lists this
4191 function for all of the associative containers (map, set, etc):
4192 </p><pre class="programlisting">
4193@@ -13,7 +13,7 @@
4194 item to insert. The standard says that <span class="quote">“<span class="quote"><code class="code">t</code> is
4195 inserted as close as possible to the position just prior to
4196 <code class="code">p</code>.</span>”</span> (Library DR #233 addresses this topic,
4197- referring to <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1780.html">N1780</a>.
4198+ referring to <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1780.html" target="_top">N1780</a>.
4199 Since version 4.2 GCC implements the resolution to DR 233, so
4200 that insertions happen as close as possible to the hint. For
4201 earlier releases the hint was only used as described below.
4202@@ -39,7 +39,7 @@
4203 paragraph. *grin*
4204 </p><p>
4205 If the <code class="code">hint</code> parameter ('p' above) is equivalent to:
4206- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
4207+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
4208 <code class="code">begin()</code>, then the item being inserted should
4209 have a key less than all the other keys in the container.
4210 The item will be inserted at the beginning of the container,
4211@@ -84,7 +84,7 @@
4212 the new item would in fact belong there. If the hint does not
4213 point to the correct place, then no further local searching is
4214 done; the search begins from scratch in logarithmic time.
4215- </p></div><div class="section" title="bitset"><div class="titlepage"><div><div><h3 class="title"><a id="containers.associative.bitset"/>bitset</h3></div></div></div><div class="section" title="Size Variable"><div class="titlepage"><div><div><h4 class="title"><a id="associative.bitset.size_variable"/>Size Variable</h4></div></div></div><p>
4216+ </p></div><div class="section" title="bitset"><div class="titlepage"><div><div><h3 class="title"><a id="containers.associative.bitset"></a>bitset</h3></div></div></div><div class="section" title="Size Variable"><div class="titlepage"><div><div><h4 class="title"><a id="associative.bitset.size_variable"></a>Size Variable</h4></div></div></div><p>
4217 No, you cannot write code of the form
4218 </p><pre class="programlisting">
4219 #include &lt;bitset&gt;
4220@@ -102,7 +102,7 @@
4221 There are a couple of ways to handle this kind of thing. Please
4222 consider all of them before passing judgement. They include, in
4223 no chaptericular order:
4224- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>A very large N in <code class="code">bitset&lt;N&gt;</code>.</p></li><li class="listitem"><p>A container&lt;bool&gt;.</p></li><li class="listitem"><p>Extremely weird solutions.</p></li></ul></div><p>
4225+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>A very large N in <code class="code">bitset&lt;N&gt;</code>.</p></li><li class="listitem"><p>A container&lt;bool&gt;.</p></li><li class="listitem"><p>Extremely weird solutions.</p></li></ul></div><p>
4226 <span class="emphasis"><em>A very large N in
4227 <code class="code">bitset&lt;N&gt;</code>.  </em></span> It has been
4228 pointed out a few times in newsgroups that N bits only takes up
4229@@ -169,7 +169,7 @@
4230 </p><p>
4231 Also note that the implementation of bitset used in libstdc++ has
4232 <a class="link" href="ext_containers.html#manual.ext.containers.sgi" title="Backwards Compatibility">some extensions</a>.
4233- </p></div><div class="section" title="Type String"><div class="titlepage"><div><div><h4 class="title"><a id="associative.bitset.type_string"/>Type String</h4></div></div></div><p>
4234+ </p></div><div class="section" title="Type String"><div class="titlepage"><div><div><h4 class="title"><a id="associative.bitset.type_string"></a>Type String</h4></div></div></div><p>
4235 </p><p>
4236 Bitmasks do not take char* nor const char* arguments in their
4237 constructors. This is something of an accident, but you can read
4238@@ -186,7 +186,7 @@
4239 instead of
4240 </p><pre class="programlisting">
4241 std::bitset&lt;5&gt; b ( <span class="quote">“<span class="quote">10110</span>”</span> ); // invalid
4242- </pre></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="containers.html">Prev</a> </td><td align="center"><a accesskey="u" href="containers.html">Up</a></td><td align="right"> <a accesskey="n" href="containers_and_c.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 9. 
4243+ </pre></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="containers.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="containers.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="containers_and_c.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 9. 
4244 Containers
4245
4246- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Interacting with C</td></tr></table></div></body></html>
4247+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Interacting with C</td></tr></table></div></body></html>
4248Index: libstdc++-v3/doc/html/manual/bk01pt03ch17s02.html
4249===================================================================
9f95000d
AM
4250--- libstdc++-v3/doc/html/manual/bk01pt03ch17s02.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4251+++ libstdc++-v3/doc/html/manual/bk01pt03ch17s02.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4252@@ -1,6 +1,6 @@
4253 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4254-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4255-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Semantics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; debug&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode"/><link rel="prev" href="debug_mode.html" title="Chapter 17. Debug Mode"/><link rel="next" href="bk01pt03ch17s03.html" title="Using"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch17s03.html">Next</a></td></tr></table><hr/></div><div class="section" title="Semantics"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode.semantics"/>Semantics</h2></div></div></div><p>
4256+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4257+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Semantics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; debug&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="prev" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="next" href="bk01pt03ch17s03.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch17s03.html">Next</a></td></tr></table><hr /></div><div class="section" title="Semantics"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.semantics"></a>Semantics</h2></div></div></div><p>
4258 </p><p>A program that uses the C++ standard library correctly
4259 will maintain the same semantics under debug mode as it had with
4260 the normal (release) library. All functional and exception-handling
4261@@ -36,7 +36,7 @@
4262 (N.B. In GCC 3.4.x and 4.0.0, due to a bug,
4263 <code class="code">-D_GLIBXX_DEBUG_PEDANTIC</code> was also needed. The problem has
4264 been fixed in GCC 4.0.1 and later versions.) </p><p>The following library components provide extra debugging
4265- capabilities in debug mode:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">std::basic_string</code> (no safe iterators and see note below)</p></li><li class="listitem"><p><code class="code">std::bitset</code></p></li><li class="listitem"><p><code class="code">std::deque</code></p></li><li class="listitem"><p><code class="code">std::list</code></p></li><li class="listitem"><p><code class="code">std::map</code></p></li><li class="listitem"><p><code class="code">std::multimap</code></p></li><li class="listitem"><p><code class="code">std::multiset</code></p></li><li class="listitem"><p><code class="code">std::set</code></p></li><li class="listitem"><p><code class="code">std::vector</code></p></li><li class="listitem"><p><code class="code">std::unordered_map</code></p></li><li class="listitem"><p><code class="code">std::unordered_multimap</code></p></li><li class="listitem"><p><code class="code">std::unordered_set</code></p></li><li class="listitem"><p><code class="code">std::unordered_multiset</code></p></li></ul></div><p>N.B. although there are precondition checks for some string operations,
4266+ capabilities in debug mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">std::basic_string</code> (no safe iterators and see note below)</p></li><li class="listitem"><p><code class="code">std::bitset</code></p></li><li class="listitem"><p><code class="code">std::deque</code></p></li><li class="listitem"><p><code class="code">std::list</code></p></li><li class="listitem"><p><code class="code">std::map</code></p></li><li class="listitem"><p><code class="code">std::multimap</code></p></li><li class="listitem"><p><code class="code">std::multiset</code></p></li><li class="listitem"><p><code class="code">std::set</code></p></li><li class="listitem"><p><code class="code">std::vector</code></p></li><li class="listitem"><p><code class="code">std::unordered_map</code></p></li><li class="listitem"><p><code class="code">std::unordered_multimap</code></p></li><li class="listitem"><p><code class="code">std::unordered_set</code></p></li><li class="listitem"><p><code class="code">std::unordered_multiset</code></p></li></ul></div><p>N.B. although there are precondition checks for some string operations,
4267 e.g. <code class="code">operator[]</code>,
4268 they will not always be run when using the <code class="code">char</code> and
4269 <code class="code">wchar_t</code> specialisations (<code class="code">std::string</code> and
4270@@ -52,4 +52,4 @@
4271 guaranteed to work. For full debug-mode support you can use the
4272 <code class="code">__gnu_debug::basic_string</code> debugging container directly,
4273 which always works correctly.
4274-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><td align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch17s03.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 17. Debug Mode </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Using</td></tr></table></div></body></html>
4275+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch17s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 17. Debug Mode </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Using</td></tr></table></div></body></html>
4276Index: libstdc++-v3/doc/html/manual/bitmap_allocator.html
4277===================================================================
9f95000d
AM
4278--- libstdc++-v3/doc/html/manual/bitmap_allocator.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4279+++ libstdc++-v3/doc/html/manual/bitmap_allocator.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4280@@ -1,10 +1,10 @@
4281 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4282-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4283-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 21. The bitmap_allocator</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch20s05.html" title="Multiple Thread Example"/><link rel="next" href="bk01pt03ch21s02.html" title="Implementation"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 21. The bitmap_allocator</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s05.html">Prev</a> </td><th width="60%" align="center">Part III. 
4284+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4285+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 21. The bitmap_allocator</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03ch20s05.html" title="Multiple Thread Example" /><link rel="next" href="bk01pt03ch21s02.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 21. The bitmap_allocator</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch20s05.html">Prev</a> </td><th width="60%" align="center">Part III. 
4286 Extensions
4287
4288-</th><td align="right"> <a accesskey="n" href="bk01pt03ch21s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 21. The bitmap_allocator"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.bitmap"/>Chapter 21. The bitmap_allocator</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></div><p>
4289-</p><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.bitmap.design"/>Design</h2></div></div></div><p>
4290+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch21s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 21. The bitmap_allocator"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.bitmap"></a>Chapter 21. The bitmap_allocator</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></div><p>
4291+</p><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.bitmap.design"></a>Design</h2></div></div></div><p>
4292 As this name suggests, this allocator uses a bit-map to keep track
4293 of the used and unused memory locations for its book-keeping
4294 purposes.
4295@@ -30,4 +30,4 @@
4296 Mutex Protection around every allocation/deallocation. The state
4297 of the macro is picked up automatically from the gthr abstraction
4298 layer.
4299- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s05.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch21s02.html">Next</a></td></tr><tr><td align="left" valign="top">Multiple Thread Example </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Implementation</td></tr></table></div></body></html>
4300+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch20s05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch21s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Multiple Thread Example </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Implementation</td></tr></table></div></body></html>
4301Index: libstdc++-v3/doc/html/manual/support.html
4302===================================================================
9f95000d
AM
4303--- libstdc++-v3/doc/html/manual/support.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4304+++ libstdc++-v3/doc/html/manual/support.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4305@@ -1,13 +1,13 @@
4306 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4307-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4308-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 4.  Support</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="next" href="dynamic_memory.html" title="Dynamic Memory"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. 
4309+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4310+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 4.  Support</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="next" href="dynamic_memory.html" title="Dynamic Memory" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. 
4311 Support
4312
4313-</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt02.html">Prev</a> </td><th width="60%" align="center">Part II. 
4314+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt02.html">Prev</a> </td><th width="60%" align="center">Part II. 
4315 Standard Contents
4316- </th><td align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 4.  Support"><div class="titlepage"><div><div><h2 class="title"><a id="std.support"/>Chapter 4. 
4317+ </th><td width="20%" align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 4.  Support"><div class="titlepage"><div><div><h2 class="title"><a id="std.support"></a>Chapter 4. 
4318 Support
4319- <a id="id483878" class="indexterm"/>
4320+ <a id="id662366" class="indexterm"></a>
4321 </h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="support.html#std.support.types">Types</a></span></dt><dd><dl><dt><span class="section"><a href="support.html#std.support.types.fundamental">Fundamental Types</a></span></dt><dt><span class="section"><a href="support.html#std.support.types.numeric_limits">Numeric Properties</a></span></dt><dt><span class="section"><a href="support.html#std.support.types.null">NULL</a></span></dt></dl></dd><dt><span class="section"><a href="dynamic_memory.html">Dynamic Memory</a></span></dt><dt><span class="section"><a href="termination.html">Termination</a></span></dt><dd><dl><dt><span class="section"><a href="termination.html#support.termination.handlers">Termination Handlers</a></span></dt><dt><span class="section"><a href="termination.html#support.termination.verbose">Verbose Terminate Handler</a></span></dt></dl></dd></dl></div><p>
4322 This part deals with the functions called and objects created
4323 automatically during the course of a program's existence.
4324@@ -16,9 +16,9 @@
4325 need to get your own copy from your nation's member body; see our
4326 homepage for help), we can mention a couple of changes in what
4327 kind of support a C++ program gets from the Standard Library.
4328- </p><div class="section" title="Types"><div class="titlepage"><div><div><h2 class="title"><a id="std.support.types"/>Types</h2></div></div></div><div class="section" title="Fundamental Types"><div class="titlepage"><div><div><h3 class="title"><a id="std.support.types.fundamental"/>Fundamental Types</h3></div></div></div><p>
4329+ </p><div class="section" title="Types"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.support.types"></a>Types</h2></div></div></div><div class="section" title="Fundamental Types"><div class="titlepage"><div><div><h3 class="title"><a id="std.support.types.fundamental"></a>Fundamental Types</h3></div></div></div><p>
4330 C++ has the following builtin types:
4331- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
4332+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
4333 char
4334 </p></li><li class="listitem"><p>
4335 signed char
4336@@ -53,12 +53,12 @@
4337 </p><p>
4338 Specializing parts of the library on these types is prohibited:
4339 instead, use a POD.
4340- </p></div><div class="section" title="Numeric Properties"><div class="titlepage"><div><div><h3 class="title"><a id="std.support.types.numeric_limits"/>Numeric Properties</h3></div></div></div><p>
4341+ </p></div><div class="section" title="Numeric Properties"><div class="titlepage"><div><div><h3 class="title"><a id="std.support.types.numeric_limits"></a>Numeric Properties</h3></div></div></div><p>
4342 The header <code class="filename">limits</code> defines
4343 traits classes to give access to various implementation
4344 defined-aspects of the fundamental types. The traits classes --
4345 fourteen in total -- are all specializations of the template class
4346- <code class="classname">numeric_limits</code>, documented <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00593.html">here</a>
4347+ <code class="classname">numeric_limits</code>, documented <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00593.html" target="_top">here</a>
4348 and defined as follows:
4349 </p><pre class="programlisting">
4350 template&lt;typename T&gt;
4351@@ -99,7 +99,7 @@
4352 static const bool tinyness_before;
4353 static const float_round_style round_style;
4354 };
4355- </pre></div><div class="section" title="NULL"><div class="titlepage"><div><div><h3 class="title"><a id="std.support.types.null"/>NULL</h3></div></div></div><p>
4356+ </pre></div><div class="section" title="NULL"><div class="titlepage"><div><div><h3 class="title"><a id="std.support.types.null"></a>NULL</h3></div></div></div><p>
4357 The only change that might affect people is the type of
4358 <code class="constant">NULL</code>: while it is required to be a macro,
4359 the definition of that macro is <span class="emphasis"><em>not</em></span> allowed
4360@@ -116,15 +116,15 @@
4361 overloading won't do what you expect. (This is why
4362 <span class="command"><strong>g++</strong></span> has a magic extension, so that
4363 <code class="constant">NULL</code> is always a pointer.)
4364- </p><p>In his book <a class="link" href="http://www.awprofessional.com/titles/0-201-92488-9/"><span class="emphasis"><em>Effective
4365+ </p><p>In his book <a class="link" href="http://www.awprofessional.com/titles/0-201-92488-9/" target="_top"><span class="emphasis"><em>Effective
4366 C++</em></span></a>, Scott Meyers points out that the best way
4367 to solve this problem is to not overload on pointer-vs-integer
4368 types to begin with. He also offers a way to make your own magic
4369 <code class="constant">NULL</code> that will match pointers before it
4370 matches integers.
4371 </p><p>See
4372- <a class="link" href="http://www.awprofessional.com/titles/0-201-31015-5/">the
4373+ <a class="link" href="http://www.awprofessional.com/titles/0-201-31015-5/" target="_top">the
4374 Effective C++ CD example</a>
4375- </p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt02.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr><tr><td align="left" valign="top">Part II. 
4376+ </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part II. 
4377 Standard Contents
4378-  </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Dynamic Memory</td></tr></table></div></body></html>
4379+  </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Dynamic Memory</td></tr></table></div></body></html>
4380Index: libstdc++-v3/doc/html/manual/bk01pt03ch18s02.html
4381===================================================================
9f95000d
AM
4382--- libstdc++-v3/doc/html/manual/bk01pt03ch18s02.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4383+++ libstdc++-v3/doc/html/manual/bk01pt03ch18s02.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4384@@ -1,6 +1,6 @@
4385 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4386-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4387-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Semantics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode"/><link rel="prev" href="parallel_mode.html" title="Chapter 18. Parallel Mode"/><link rel="next" href="bk01pt03ch18s03.html" title="Using"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td align="left"><a accesskey="p" href="parallel_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch18s03.html">Next</a></td></tr></table><hr/></div><div class="section" title="Semantics"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode.semantics"/>Semantics</h2></div></div></div><p> The parallel mode STL algorithms are currently not exception-safe,
4388+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4389+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Semantics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="next" href="bk01pt03ch18s03.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch18s03.html">Next</a></td></tr></table><hr /></div><div class="section" title="Semantics"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.semantics"></a>Semantics</h2></div></div></div><p> The parallel mode STL algorithms are currently not exception-safe,
4390 i.e. user-defined functors must not throw exceptions.
4391 Also, the order of execution is not guaranteed for some functions, of course.
4392 Therefore, user-defined functors should not have any concurrent side effects.
4393@@ -8,4 +8,4 @@
4394 OpenMP parallel regions in concurrent threads,
4395 it is not possible to call parallel STL algorithm in
4396 concurrent threads, either.
4397-It might work with other compilers, though.</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="parallel_mode.html">Prev</a> </td><td align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch18s03.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 18. Parallel Mode </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Using</td></tr></table></div></body></html>
4398+It might work with other compilers, though.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="parallel_mode.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch18s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 18. Parallel Mode </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Using</td></tr></table></div></body></html>
4399Index: libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html
4400===================================================================
9f95000d
AM
4401--- libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4402+++ libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4403@@ -1,10 +1,10 @@
4404 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4405-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4406-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="prev" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="next" href="bk01pt03ch19s03.html" title="Extensions for Custom Containers"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch19s03.html">Next</a></td></tr></table><hr/></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.design"/>Design</h2></div></div></div><p>
4407-</p><div class="table"><a id="id510967"/><p class="title"><strong>Table 19.1. Profile Code Location</strong></p><div class="table-contents"><table summary="Profile Code Location" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">Code Location</th><th style="text-align: left">Use</th></tr></thead><tbody><tr><td style="text-align: left"><code class="code">libstdc++-v3/include/std/*</code></td><td style="text-align: left">Preprocessor code to redirect to profile extension headers.</td></tr><tr><td style="text-align: left"><code class="code">libstdc++-v3/include/profile/*</code></td><td style="text-align: left">Profile extension public headers (map, vector, ...).</td></tr><tr><td style="text-align: left"><code class="code">libstdc++-v3/include/profile/impl/*</code></td><td style="text-align: left">Profile extension internals. Implementation files are
4408+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4409+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="next" href="bk01pt03ch19s03.html" title="Extensions for Custom Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s03.html">Next</a></td></tr></table><hr /></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.design"></a>Design</h2></div></div></div><p>
4410+</p><div class="table"><a id="id689453"></a><p class="title"><strong>Table 19.1. Profile Code Location</strong></p><div class="table-contents"><table summary="Profile Code Location" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Code Location</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left"><code class="code">libstdc++-v3/include/std/*</code></td><td align="left">Preprocessor code to redirect to profile extension headers.</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/*</code></td><td align="left">Profile extension public headers (map, vector, ...).</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/impl/*</code></td><td align="left">Profile extension internals. Implementation files are
4411 only included from <code class="code">impl/profiler.h</code>, which is the only
4412- file included from the public headers.</td></tr></tbody></table></div></div><br class="table-break"/><p>
4413-</p><div class="section" title="Wrapper Model"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.wrapper"/>Wrapper Model</h3></div></div></div><p>
4414+ file included from the public headers.</td></tr></tbody></table></div></div><br class="table-break" /><p>
4415+</p><div class="section" title="Wrapper Model"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.wrapper"></a>Wrapper Model</h3></div></div></div><p>
4416 In order to get our instrumented library version included instead of the
4417 release one,
4418 we use the same wrapper model as the debug mode.
4419@@ -25,7 +25,7 @@
4420 Currently, mixing the profile mode with debug and parallel extensions is
4421 not allowed. Mixing them at compile time will result in preprocessor errors.
4422 Mixing them at link time is undefined.
4423- </p></div><div class="section" title="Instrumentation"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.instrumentation"/>Instrumentation</h3></div></div></div><p>
4424+ </p></div><div class="section" title="Instrumentation"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.instrumentation"></a>Instrumentation</h3></div></div></div><p>
4425 Instead of instrumenting every public entry and exit point,
4426 we chose to add instrumentation on demand, as needed
4427 by individual diagnostics.
4428@@ -44,7 +44,7 @@
4429 </p><p>
4430 All the instrumentation on/off compile time switches live in
4431 <code class="code">include/profile/profiler.h</code>.
4432- </p></div><div class="section" title="Run Time Behavior"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.rtlib"/>Run Time Behavior</h3></div></div></div><p>
4433+ </p></div><div class="section" title="Run Time Behavior"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.rtlib"></a>Run Time Behavior</h3></div></div></div><p>
4434 For practical reasons, the instrumentation library processes the trace
4435 partially
4436 rather than dumping it to disk in raw form. Each event is processed when
4437@@ -61,20 +61,20 @@
4438 call stack of its constructor location.
4439 </p><p>
4440 For details, see
4441- <a class="link" href="http://dx.doi.org/10.1109/CGO.2009.36">paper presented at
4442+ <a class="link" href="http://dx.doi.org/10.1109/CGO.2009.36" target="_top">paper presented at
4443 CGO 2009</a>.
4444- </p></div><div class="section" title="Analysis and Diagnostics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.analysis"/>Analysis and Diagnostics</h3></div></div></div><p>
4445+ </p></div><div class="section" title="Analysis and Diagnostics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.analysis"></a>Analysis and Diagnostics</h3></div></div></div><p>
4446 Final analysis takes place offline, and it is based entirely on the
4447 generated trace and debugging info in the application binary.
4448 See section Diagnostics for a list of analysis types that we plan to support.
4449 </p><p>
4450 The input to the analysis is a table indexed by profile type and call stack.
4451 The data type for each entry depends on the profile type.
4452- </p></div><div class="section" title="Cost Model"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.cost-model"/>Cost Model</h3></div></div></div><p>
4453+ </p></div><div class="section" title="Cost Model"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.cost-model"></a>Cost Model</h3></div></div></div><p>
4454 While it is likely that cost models become complex as we get into
4455 more sophisticated analysis, we will try to follow a simple set of rules
4456 at the beginning.
4457- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Relative benefit estimation:</em></span>
4458+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Relative benefit estimation:</em></span>
4459 The idea is to estimate or measure the cost of all operations
4460 in the original scenario versus the scenario we advise to switch to.
4461 For instance, when advising to change a vector to a list, an occurrence
4462@@ -98,7 +98,7 @@
4463 For instance, when considering switching from <code class="code">set</code> to
4464 <code class="code">unordered_set</code>, if we detect use of operator <code class="code">++</code>,
4465 we will simply not issue the advice, since this could signal that the use
4466- care require a sorted container.</p></li></ul></div></div><div class="section" title="Reports"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.reports"/>Reports</h3></div></div></div><p>
4467+ care require a sorted container.</p></li></ul></div></div><div class="section" title="Reports"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.reports"></a>Reports</h3></div></div></div><p>
4468 There are two types of reports. First, if we recognize a pattern for which
4469 we have a substitute that is likely to give better performance, we print
4470 the advice and estimated performance gain. The advice is usually associated
4471@@ -110,7 +110,7 @@
4472 which have the worst data locality in actual traversals.
4473 Although this does not offer a solution,
4474 it helps the user focus on the key problems and ignore the uninteresting ones.
4475- </p></div><div class="section" title="Testing"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.testing"/>Testing</h3></div></div></div><p>
4476+ </p></div><div class="section" title="Testing"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.testing"></a>Testing</h3></div></div></div><p>
4477 First, we want to make sure we preserve the behavior of the release mode.
4478 You can just type <code class="code">"make check-profile"</code>, which
4479 builds and runs the whole test suite in profile mode.
4480@@ -119,4 +119,4 @@
4481 We created a <code class="code">profile</code> directory in the test suite.
4482 Each diagnostic must come with at least two tests, one for false positives
4483 and one for false negatives.
4484- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><td align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch19s03.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 19. Profile Mode </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Extensions for Custom Containers</td></tr></table></div></body></html>
4485+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch19s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 19. Profile Mode </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Extensions for Custom Containers</td></tr></table></div></body></html>
4486Index: libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html
4487===================================================================
9f95000d
AM
4488--- libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4489+++ libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4490@@ -1,6 +1,6 @@
4491 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4492-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4493-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Developer Information</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="prev" href="bk01pt03ch19s05.html" title="Implementation Issues"/><link rel="next" href="bk01pt03ch19s07.html" title="Diagnostics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Developer Information</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s05.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch19s07.html">Next</a></td></tr></table><hr/></div><div class="section" title="Developer Information"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.developer"/>Developer Information</h2></div></div></div><div class="section" title="Big Picture"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.bigpic"/>Big Picture</h3></div></div></div><p>The profile mode headers are included with
4494+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4495+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Developer Information</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="bk01pt03ch19s05.html" title="Implementation Issues" /><link rel="next" href="bk01pt03ch19s07.html" title="Diagnostics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Developer Information</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch19s05.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s07.html">Next</a></td></tr></table><hr /></div><div class="section" title="Developer Information"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.developer"></a>Developer Information</h2></div></div></div><div class="section" title="Big Picture"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.bigpic"></a>Big Picture</h3></div></div></div><p>The profile mode headers are included with
4496 <code class="code">-D_GLIBCXX_PROFILE</code> through preprocessor directives in
4497 <code class="code">include/std/*</code>.
4498 </p><p>Instrumented implementations are provided in
4499@@ -14,7 +14,7 @@
4500 must ensure (1) that the call is guarded against reentrance and
4501 (2) that the call can be turned off at compile time using a
4502 <code class="code">-D_GLIBCXX_PROFILE_...</code> compiler option.
4503- </p></div><div class="section" title="How To Add A Diagnostic"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.howto"/>How To Add A Diagnostic</h3></div></div></div><p>Let's say the diagnostic name is "magic".
4504+ </p></div><div class="section" title="How To Add A Diagnostic"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.howto"></a>How To Add A Diagnostic</h3></div></div></div><p>Let's say the diagnostic name is "magic".
4505 </p><p>If you need to instrument a header not already under
4506 <code class="code">include/profile/*</code>, first edit the corresponding header
4507 under <code class="code">include/std/</code> and add a preprocessor directive such
4508@@ -42,7 +42,7 @@
4509 All names of methods in namespace <code class="code">__gnu_profile</code> called from
4510 <code class="code">profiler.h</code> must start with <code class="code">__trace_magic_</code>.
4511 </p><p>Add the implementation of the diagnostic.
4512- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
4513+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
4514 Create new file <code class="code">include/profile/impl/profiler_magic.h</code>.
4515 </p></li><li class="listitem"><p>
4516 Define class <code class="code">__magic_info: public __object_info_base</code>.
4517@@ -65,4 +65,4 @@
4518 <code class="code">include/profile/impl/profiler_trace.h</code>. Use
4519 <code class="code">__trace_vector_to_list</code> as an example.
4520 </p><p>Add documentation in file <code class="code">doc/xml/manual/profile_mode.xml</code>.
4521- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s05.html">Prev</a> </td><td align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch19s07.html">Next</a></td></tr><tr><td align="left" valign="top">Implementation Issues </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Diagnostics</td></tr></table></div></body></html>
4522+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch19s05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch19s07.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Implementation Issues </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Diagnostics</td></tr></table></div></body></html>
4523Index: libstdc++-v3/doc/html/manual/license.html
4524===================================================================
9f95000d
AM
4525--- libstdc++-v3/doc/html/manual/license.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4526+++ libstdc++-v3/doc/html/manual/license.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4527@@ -1,93 +1,93 @@
4528 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4529-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4530-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>License</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="status.html" title="Chapter 1. Status"/><link rel="prev" href="status.html" title="Chapter 1. Status"/><link rel="next" href="bugs.html" title="Bugs"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">License</th></tr><tr><td align="left"><a accesskey="p" href="status.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td align="right"> <a accesskey="n" href="bugs.html">Next</a></td></tr></table><hr/></div><div class="section" title="License"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status.license"/>License</h2></div></div></div><p>
4531+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4532+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>License</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="status.html" title="Chapter 1. Status" /><link rel="prev" href="status.html" title="Chapter 1. Status" /><link rel="next" href="bugs.html" title="Bugs" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="status.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td width="20%" align="right"> <a accesskey="n" href="bugs.html">Next</a></td></tr></table><hr /></div><div class="section" title="License"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.license"></a>License</h2></div></div></div><p>
4533 There are two licenses affecting GNU libstdc++: one for the code,
4534 and one for the documentation.
4535 </p><p>
4536 There is a license section in the FAQ regarding common <a class="link" href="../faq.html#faq.license">questions</a>. If you have more
4537- questions, ask the FSF or the <a class="link" href="http://gcc.gnu.org/lists.html">gcc mailing list</a>.
4538- </p><div class="section" title="The Code: GPL"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.license.gpl"/>The Code: GPL</h3></div></div></div><p>
4539+ questions, ask the FSF or the <a class="link" href="http://gcc.gnu.org/lists.html" target="_top">gcc mailing list</a>.
4540+ </p><div class="section" title="The Code: GPL"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.license.gpl"></a>The Code: GPL</h3></div></div></div><p>
4541 The source code is distributed under the <a class="link" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3">GNU General Public License version 3</a>,
4542 with the addition under section 7 of an exception described in
4543 the <span class="quote">“<span class="quote">GCC Runtime Library Exception, version 3.1</span>”</span>
4544 as follows (or see the file COPYING.RUNTIME):
4545- </p><div class="literallayout"><p><br/>
4546-GCC RUNTIME LIBRARY EXCEPTION<br/>
4547-<br/>
4548-Version 3.1, 31 March 2009<br/>
4549-<br/>
4550-Copyright (C) 2009 <a class="link" href="http://www.fsf.org">Free Software Foundation, Inc.</a><br/>
4551-<br/>
4552-Everyone is permitted to copy and distribute verbatim copies of this<br/>
4553-license document, but changing it is not allowed.<br/>
4554-<br/>
4555-This GCC Runtime Library Exception ("Exception") is an additional<br/>
4556-permission under section 7 of the GNU General Public License, version<br/>
4557-3 ("GPLv3"). It applies to a given file (the "Runtime Library") that<br/>
4558-bears a notice placed by the copyright holder of the file stating that<br/>
4559-the file is governed by GPLv3 along with this Exception.<br/>
4560-<br/>
4561-When you use GCC to compile a program, GCC may combine portions of<br/>
4562-certain GCC header files and runtime libraries with the compiled<br/>
4563-program. The purpose of this Exception is to allow compilation of<br/>
4564-non-GPL (including proprietary) programs to use, in this way, the<br/>
4565-header files and runtime libraries covered by this Exception.<br/>
4566-<br/>
4567-0. Definitions.<br/>
4568-<br/>
4569-A file is an "Independent Module" if it either requires the Runtime<br/>
4570-Library for execution after a Compilation Process, or makes use of an<br/>
4571-interface provided by the Runtime Library, but is not otherwise based<br/>
4572-on the Runtime Library.<br/>
4573-<br/>
4574-"GCC" means a version of the GNU Compiler Collection, with or without<br/>
4575-modifications, governed by version 3 (or a specified later version) of<br/>
4576-the GNU General Public License (GPL) with the option of using any<br/>
4577-subsequent versions published by the FSF.<br/>
4578-<br/>
4579-"GPL-compatible Software" is software whose conditions of propagation,<br/>
4580-modification and use would permit combination with GCC in accord with<br/>
4581-the license of GCC.<br/>
4582-<br/>
4583-"Target Code" refers to output from any compiler for a real or virtual<br/>
4584-target processor architecture, in executable form or suitable for<br/>
4585-input to an assembler, loader, linker and/or execution<br/>
4586-phase. Notwithstanding that, Target Code does not include data in any<br/>
4587-format that is used as a compiler intermediate representation, or used<br/>
4588-for producing a compiler intermediate representation.<br/>
4589-<br/>
4590-The "Compilation Process" transforms code entirely represented in<br/>
4591-non-intermediate languages designed for human-written code, and/or in<br/>
4592-Java Virtual Machine byte code, into Target Code. Thus, for example,<br/>
4593-use of source code generators and preprocessors need not be considered<br/>
4594-part of the Compilation Process, since the Compilation Process can be<br/>
4595-understood as starting with the output of the generators or<br/>
4596-preprocessors.<br/>
4597-<br/>
4598-A Compilation Process is "Eligible" if it is done using GCC, alone or<br/>
4599-with other GPL-compatible software, or if it is done without using any<br/>
4600-work based on GCC. For example, using non-GPL-compatible Software to<br/>
4601-optimize any GCC intermediate representations would not qualify as an<br/>
4602-Eligible Compilation Process.<br/>
4603-<br/>
4604-1. Grant of Additional Permission.<br/>
4605-<br/>
4606-You have permission to propagate a work of Target Code formed by<br/>
4607-combining the Runtime Library with Independent Modules, even if such<br/>
4608-propagation would otherwise violate the terms of GPLv3, provided that<br/>
4609-all Target Code was generated by Eligible Compilation Processes. You<br/>
4610-may then convey such a combination under terms of your choice,<br/>
4611-consistent with the licensing of the Independent Modules.<br/>
4612-<br/>
4613-2. No Weakening of GCC Copyleft.<br/>
4614-<br/>
4615-The availability of this Exception does not imply any general<br/>
4616-presumption that third-party software is unaffected by the copyleft<br/>
4617-requirements of the license of GCC.<br/>
4618+ </p><div class="literallayout"><p><br />
4619+GCC RUNTIME LIBRARY EXCEPTION<br />
4620+<br />
4621+Version 3.1, 31 March 2009<br />
4622+<br />
4623+Copyright (C) 2009 <a class="link" href="http://www.fsf.org" target="_top">Free Software Foundation, Inc.</a><br />
4624+<br />
4625+Everyone is permitted to copy and distribute verbatim copies of this<br />
4626+license document, but changing it is not allowed.<br />
4627+<br />
4628+This GCC Runtime Library Exception ("Exception") is an additional<br />
4629+permission under section 7 of the GNU General Public License, version<br />
4630+3 ("GPLv3"). It applies to a given file (the "Runtime Library") that<br />
4631+bears a notice placed by the copyright holder of the file stating that<br />
4632+the file is governed by GPLv3 along with this Exception.<br />
4633+<br />
4634+When you use GCC to compile a program, GCC may combine portions of<br />
4635+certain GCC header files and runtime libraries with the compiled<br />
4636+program. The purpose of this Exception is to allow compilation of<br />
4637+non-GPL (including proprietary) programs to use, in this way, the<br />
4638+header files and runtime libraries covered by this Exception.<br />
4639+<br />
4640+0. Definitions.<br />
4641+<br />
4642+A file is an "Independent Module" if it either requires the Runtime<br />
4643+Library for execution after a Compilation Process, or makes use of an<br />
4644+interface provided by the Runtime Library, but is not otherwise based<br />
4645+on the Runtime Library.<br />
4646+<br />
4647+"GCC" means a version of the GNU Compiler Collection, with or without<br />
4648+modifications, governed by version 3 (or a specified later version) of<br />
4649+the GNU General Public License (GPL) with the option of using any<br />
4650+subsequent versions published by the FSF.<br />
4651+<br />
4652+"GPL-compatible Software" is software whose conditions of propagation,<br />
4653+modification and use would permit combination with GCC in accord with<br />
4654+the license of GCC.<br />
4655+<br />
4656+"Target Code" refers to output from any compiler for a real or virtual<br />
4657+target processor architecture, in executable form or suitable for<br />
4658+input to an assembler, loader, linker and/or execution<br />
4659+phase. Notwithstanding that, Target Code does not include data in any<br />
4660+format that is used as a compiler intermediate representation, or used<br />
4661+for producing a compiler intermediate representation.<br />
4662+<br />
4663+The "Compilation Process" transforms code entirely represented in<br />
4664+non-intermediate languages designed for human-written code, and/or in<br />
4665+Java Virtual Machine byte code, into Target Code. Thus, for example,<br />
4666+use of source code generators and preprocessors need not be considered<br />
4667+part of the Compilation Process, since the Compilation Process can be<br />
4668+understood as starting with the output of the generators or<br />
4669+preprocessors.<br />
4670+<br />
4671+A Compilation Process is "Eligible" if it is done using GCC, alone or<br />
4672+with other GPL-compatible software, or if it is done without using any<br />
4673+work based on GCC. For example, using non-GPL-compatible Software to<br />
4674+optimize any GCC intermediate representations would not qualify as an<br />
4675+Eligible Compilation Process.<br />
4676+<br />
4677+1. Grant of Additional Permission.<br />
4678+<br />
4679+You have permission to propagate a work of Target Code formed by<br />
4680+combining the Runtime Library with Independent Modules, even if such<br />
4681+propagation would otherwise violate the terms of GPLv3, provided that<br />
4682+all Target Code was generated by Eligible Compilation Processes. You<br />
4683+may then convey such a combination under terms of your choice,<br />
4684+consistent with the licensing of the Independent Modules.<br />
4685+<br />
4686+2. No Weakening of GCC Copyleft.<br />
4687+<br />
4688+The availability of this Exception does not imply any general<br />
4689+presumption that third-party software is unaffected by the copyleft<br />
4690+requirements of the license of GCC.<br />
4691     </p></div><p>
4692 Hopefully that text is self-explanatory. If it isn't, you need to speak
4693 to your lawyer, or the Free Software Foundation.
4694- </p></div><div class="section" title="The Documentation: GPL, FDL"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.license.fdl"/>The Documentation: GPL, FDL</h3></div></div></div><p>
4695+ </p></div><div class="section" title="The Documentation: GPL, FDL"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.license.fdl"></a>The Documentation: GPL, FDL</h3></div></div></div><p>
4696 The documentation shipped with the library and made available over
4697 the web, excluding the pages generated from source comments, are
4698 copyrighted by the Free Software Foundation, and placed under the
4699@@ -102,4 +102,4 @@
4700 </p><p>
4701 If you plan on making copies of the documentation, please let us know.
4702 We can probably offer suggestions.
4703- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="status.html">Prev</a> </td><td align="center"><a accesskey="u" href="status.html">Up</a></td><td align="right"> <a accesskey="n" href="bugs.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 1. Status </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Bugs</td></tr></table></div></body></html>
4704+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="status.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="status.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bugs.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1. Status </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Bugs</td></tr></table></div></body></html>
4705Index: libstdc++-v3/doc/html/manual/numerics.html
4706===================================================================
9f95000d
AM
4707--- libstdc++-v3/doc/html/manual/numerics.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4708+++ libstdc++-v3/doc/html/manual/numerics.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4709@@ -1,22 +1,22 @@
4710 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4711-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4712-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 12.  Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="algorithms.html" title="Chapter 11.  Algorithms"/><link rel="next" href="generalized_numeric_operations.html" title="Generalized Operations"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 12. 
4713+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4714+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 12.  Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="algorithms.html" title="Chapter 11.  Algorithms" /><link rel="next" href="generalized_numeric_operations.html" title="Generalized Operations" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 12. 
4715 Numerics
4716
4717-</th></tr><tr><td align="left"><a accesskey="p" href="algorithms.html">Prev</a> </td><th width="60%" align="center">Part II. 
4718+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="algorithms.html">Prev</a> </td><th width="60%" align="center">Part II. 
4719 Standard Contents
4720- </th><td align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 12.  Numerics"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics"/>Chapter 12. 
4721+ </th><td width="20%" align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 12.  Numerics"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics"></a>Chapter 12. 
4722 Numerics
4723- <a id="id504587" class="indexterm"/>
4724-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span class="section"><a href="numerics.html#numerics.complex.processing">complex Processing</a></span></dt></dl></dd><dt><span class="section"><a href="generalized_numeric_operations.html">Generalized Operations</a></span></dt><dt><span class="section"><a href="numerics_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="section"><a href="numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></div><div class="section" title="Complex"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics.complex"/>Complex</h2></div></div></div><p>
4725- </p><div class="section" title="complex Processing"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.complex.processing"/>complex Processing</h3></div></div></div><p>
4726+ <a id="id683073" class="indexterm"></a>
4727+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span class="section"><a href="numerics.html#numerics.complex.processing">complex Processing</a></span></dt></dl></dd><dt><span class="section"><a href="generalized_numeric_operations.html">Generalized Operations</a></span></dt><dt><span class="section"><a href="numerics_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="section"><a href="numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></div><div class="section" title="Complex"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.numerics.complex"></a>Complex</h2></div></div></div><p>
4728+ </p><div class="section" title="complex Processing"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.complex.processing"></a>complex Processing</h3></div></div></div><p>
4729 </p><p>Using <code class="code">complex&lt;&gt;</code> becomes even more comple- er, sorry,
4730 <span class="emphasis"><em>complicated</em></span>, with the not-quite-gratuitously-incompatible
4731 addition of complex types to the C language. David Tribble has
4732 compiled a list of C++98 and C99 conflict points; his description of
4733 C's new type versus those of C++ and how to get them playing together
4734 nicely is
4735-<a class="link" href="http://david.tribble.com/text/cdiffs.htm#C99-complex">here</a>.
4736+<a class="link" href="http://david.tribble.com/text/cdiffs.htm#C99-complex" target="_top">here</a>.
4737 </p><p><code class="code">complex&lt;&gt;</code> is intended to be instantiated with a
4738 floating-point type. As long as you meet that and some other basic
4739 requirements, then the resulting instantiation has all of the usual
4740@@ -24,7 +24,7 @@
4741 and <code class="code">op&gt;&gt;</code> that work with iostreams: <code class="code">op&lt;&lt;</code>
4742 prints <code class="code">(u,v)</code> and <code class="code">op&gt;&gt;</code> can read <code class="code">u</code>,
4743 <code class="code">(u)</code>, and <code class="code">(u,v)</code>.
4744- </p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="algorithms.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 11. 
4745+ </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="algorithms.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 11. 
4746 Algorithms
4747
4748- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Generalized Operations</td></tr></table></div></body></html>
4749+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Generalized Operations</td></tr></table></div></body></html>
4750Index: libstdc++-v3/doc/html/manual/using_exceptions.html
4751===================================================================
9f95000d
AM
4752--- libstdc++-v3/doc/html/manual/using_exceptions.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4753+++ libstdc++-v3/doc/html/manual/using_exceptions.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4754@@ -1,6 +1,6 @@
4755 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4756-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4757-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Exceptions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; exception&#10; , &#10; error&#10; , &#10; exception neutrality&#10; , &#10; exception safety&#10; , &#10; exception propagation&#10; , &#10; -fno-exceptions&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using_concurrency.html" title="Concurrency"/><link rel="next" href="debug.html" title="Debugging Support"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Exceptions</th></tr><tr><td align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr></table><hr/></div><div class="section" title="Exceptions"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.exceptions"/>Exceptions</h2></div></div></div><p>
4758+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4759+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Exceptions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; exception&#10; , &#10; error&#10; , &#10; exception neutrality&#10; , &#10; exception safety&#10; , &#10; exception propagation&#10; , &#10; -fno-exceptions&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_concurrency.html" title="Concurrency" /><link rel="next" href="debug.html" title="Debugging Support" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Exceptions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr></table><hr /></div><div class="section" title="Exceptions"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.exceptions"></a>Exceptions</h2></div></div></div><p>
4760 The C++ language provides language support for stack unwinding
4761 with <code class="literal">try</code> and <code class="literal">catch</code> blocks and
4762 the <code class="literal">throw</code> keyword.
4763@@ -12,7 +12,7 @@
4764 </p><p>
4765 Two general topics of discussion follow:
4766 exception neutrality and exception safety.
4767-</p><div class="section" title="Exception Safety"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.safety"/>Exception Safety</h3></div></div></div><p>
4768+</p><div class="section" title="Exception Safety"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.safety"></a>Exception Safety</h3></div></div></div><p>
4769 What is exception-safe code?
4770 </p><p>
4771 Will define this as reasonable and well-defined behavior by classes
4772@@ -27,7 +27,7 @@
4773 Using the layered approach from Abrahams, can classify library
4774 components as providing set levels of safety. These will be called
4775 exception guarantees, and can be divided into three categories.
4776- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
4777+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
4778 One. Don't throw.
4779 </p><p>
4780 As specified in 23.2.1 general container requirements. Applicable
4781@@ -51,7 +51,7 @@
4782 Member functions <code class="function">insert</code> of a single
4783 element, <code class="function">push_back</code>, <code class="function">push_front</code>,
4784 and <code class="function">rehash</code>.
4785- </p></li></ul></div></div><div class="section" title="Exception Neutrality"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.propagating"/>Exception Neutrality</h3></div></div></div><p>
4786+ </p></li></ul></div></div><div class="section" title="Exception Neutrality"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.propagating"></a>Exception Neutrality</h3></div></div></div><p>
4787 Simply put, once thrown an exception object should continue in
4788 flight unless handled explicitly. In practice, this means
4789 propagating exceptions should not be swallowed in
4790@@ -75,7 +75,7 @@
4791 Unfortunately, this tends to be more of a guideline than a strict
4792 rule as applied to the standard library. As such, the following is
4793 a list of known problem areas where exceptions are not propagated.
4794- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
4795+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
4796 Input/Output
4797 </p><p>
4798 The destructor <code class="function">ios_base::Init::~Init()</code>
4799@@ -101,7 +101,7 @@
4800 The constructors of <code class="classname">thread</code> that take a
4801 callable function argument swallow all exceptions resulting from
4802 executing the function argument.
4803- </p></li></ul></div></div><div class="section" title="Doing without"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.no"/>Doing without</h3></div></div></div><p>
4804+ </p></li></ul></div></div><div class="section" title="Doing without"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.no"></a>Doing without</h3></div></div></div><p>
4805 C++ is a language that strives to be as efficient as is possible
4806 in delivering features. As such, considerable care is used by both
4807 language implementer and designers to make sure unused features
4808@@ -113,7 +113,7 @@
4809 support <code class="literal">try</code> and <code class="literal">catch</code> blocks
4810 and thrown objects. (Language support
4811 for <code class="literal">-fno-exceptions</code> is documented in the GNU
4812- GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options">manual</a>.)
4813+ GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options" target="_top">manual</a>.)
4814 </p><p>Before detailing the library support
4815 for <code class="literal">-fno-exceptions</code>, first a passing note on
4816 the things lost when this flag is used: it will break exceptions
4817@@ -220,7 +220,7 @@
4818 substitution of the C language keyword
4819 <code class="literal">const</code> with the uglified
4820 doppelganger <code class="literal">__const</code>.
4821-</p></div><div class="section" title="Compatibility"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.compat"/>Compatibility</h3></div></div></div><div class="section" title="With C"><div class="titlepage"><div><div><h4 class="title"><a id="using.exception.compat.c"/>With <code class="literal">C</code></h4></div></div></div><p>
4822+</p></div><div class="section" title="Compatibility"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.compat"></a>Compatibility</h3></div></div></div><div class="section" title="With C"><div class="titlepage"><div><div><h4 class="title"><a id="using.exception.compat.c"></a>With <code class="literal">C</code></h4></div></div></div><p>
4823 C language code that is expecting to interoperate with C++ should be
4824 compiled with <code class="literal">-fexceptions</code>. This will make
4825 debugging a C language function called as part of C++-induced stack
4826@@ -235,7 +235,7 @@
4827 getting these details right. For GNU systems, all appropriate parts
4828 of the GNU C library are already compiled
4829 with <code class="literal">-fexceptions</code>.
4830-</p></div><div class="section" title="With POSIX thread cancellation"><div class="titlepage"><div><div><h4 class="title"><a id="using.exception.compat.posix"/>With <code class="literal">POSIX</code> thread cancellation</h4></div></div></div><p>
4831+</p></div><div class="section" title="With POSIX thread cancellation"><div class="titlepage"><div><div><h4 class="title"><a id="using.exception.compat.posix"></a>With <code class="literal">POSIX</code> thread cancellation</h4></div></div></div><p>
4832 GNU systems re-use some of the exception handling mechanisms to
4833 track control flow for <code class="literal">POSIX</code> thread cancellation.
4834 </p><p>
4835@@ -266,8 +266,8 @@
4836 }
4837 catch(...)
4838 { this-&gt;_M_setstate(ios_base::badbit); }
4839-</pre></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="using.exceptions.biblio"/>Bibliography</h3></div></div></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="id483021"/><p><span class="title"><em>
4840- <a class="link" href="http://www.opengroup.org/austin">
4841+</pre></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="using.exceptions.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="id661509"></a><p><span class="title"><em>
4842+ <a class="link" href="http://www.opengroup.org/austin" target="_top">
4843 System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
4844 </a>
4845 </em>. </span><span class="pagenums">
4846@@ -275,40 +275,40 @@
4847 . </span><span class="copyright">Copyright © 2008
4848 The Open Group/The Institute of Electrical and Electronics
4849 Engineers, Inc.
4850- . </span></p></div><div class="biblioentry" title="Error and Exception Handling"><a id="id483051"/><p><span class="title"><em>
4851- <a class="link" href="http://www.boost.org/community/error_handling.html">
4852+ . </span></p></div><div class="biblioentry" title="Error and Exception Handling"><a id="id661539"></a><p><span class="title"><em>
4853+ <a class="link" href="http://www.boost.org/community/error_handling.html" target="_top">
4854 Error and Exception Handling
4855 </a>
4856 </em>. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams </span>. </span><span class="publisher"><span class="publishername">
4857 Boost
4858- . </span></span></p></div><div class="biblioentry" title="Exception-Safety in Generic Components"><a id="id483082"/><p><span class="title"><em>
4859- <a class="link" href="http://www.boost.org/community/exception_safety.html">
4860+ . </span></span></p></div><div class="biblioentry" title="Exception-Safety in Generic Components"><a id="id661570"></a><p><span class="title"><em>
4861+ <a class="link" href="http://www.boost.org/community/exception_safety.html" target="_top">
4862 Exception-Safety in Generic Components
4863 </a>
4864 </em>. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams</span>. </span><span class="publisher"><span class="publishername">
4865 Boost
4866- . </span></span></p></div><div class="biblioentry" title="Standard Library Exception Policy"><a id="id483113"/><p><span class="title"><em>
4867- <a class="link" href="www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.pdf">
4868+ . </span></span></p></div><div class="biblioentry" title="Standard Library Exception Policy"><a id="id661601"></a><p><span class="title"><em>
4869+ <a class="link" href="www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.pdf" target="_top">
4870 Standard Library Exception Policy
4871 </a>
4872 </em>. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
4873 WG21 N1077
4874- . </span></span></p></div><div class="biblioentry" title="ia64 c++ abi exception handling"><a id="id483144"/><p><span class="title"><em>
4875- <a class="link" href="http://gcc.gnu.org/ml/gcc-patches/2001-03/msg00661.html">
4876+ . </span></span></p></div><div class="biblioentry" title="ia64 c++ abi exception handling"><a id="id661632"></a><p><span class="title"><em>
4877+ <a class="link" href="http://gcc.gnu.org/ml/gcc-patches/2001-03/msg00661.html" target="_top">
4878 ia64 c++ abi exception handling
4879 </a>
4880 </em>. </span><span class="author"><span class="firstname">Richard</span> <span class="surname">Henderson</span>. </span><span class="publisher"><span class="publishername">
4881 GNU
4882- . </span></span></p></div><div class="biblioentry" title="Appendix E: Standard-Library Exception Safety"><a id="id483175"/><p><span class="title"><em>
4883- <a class="link" href="http://www.research.att.com/~bs/3rd_safe.pdf">
4884+ . </span></span></p></div><div class="biblioentry" title="Appendix E: Standard-Library Exception Safety"><a id="id661663"></a><p><span class="title"><em>
4885+ <a class="link" href="http://www.research.att.com/~bs/3rd_safe.pdf" target="_top">
4886 Appendix E: Standard-Library Exception Safety
4887 </a>
4888- </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span></p></div><div class="biblioentry"><a id="id483198"/><p><span class="citetitle"><em class="citetitle">
4889+ </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span></p></div><div class="biblioentry"><a id="id661686"></a><p><span class="citetitle"><em class="citetitle">
4890 Exceptional C++
4891 </em>. </span><span class="pagenums">
4892 Exception-Safety Issues and Techniques
4893- . </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry" title="GCC Bug 25191: exception_defines.h #defines try/catch"><a id="id483218"/><p><span class="title"><em>
4894- <a class="link" href="http://gcc.gnu.org/PR25191">
4895+ . </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry" title="GCC Bug 25191: exception_defines.h #defines try/catch"><a id="id661706"></a><p><span class="title"><em>
4896+ <a class="link" href="http://gcc.gnu.org/PR25191" target="_top">
4897 GCC Bug 25191: exception_defines.h #defines try/catch
4898 </a>
4899- </em>. </span></p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr><tr><td align="left" valign="top">Concurrency </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Debugging Support</td></tr></table></div></body></html>
4900+ </em>. </span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Concurrency </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Debugging Support</td></tr></table></div></body></html>
4901Index: libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html
4902===================================================================
9f95000d
AM
4903--- libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html (.../tags/gcc_4_7_2_release) (wersja 192468)
4904+++ libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
4905@@ -1,6 +1,6 @@
4906 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4907-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4908-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Testing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;&#9;ISO C++&#10; , &#10;&#9;policy&#10; , &#10;&#9;container&#10; , &#10;&#9;data&#10; , &#10;&#9;structure&#10; , &#10;&#9;associated&#10; , &#10;&#9;tree&#10; , &#10;&#9;trie&#10; , &#10;&#9;hash&#10; , &#10;&#9;metaprogramming&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures"/><link rel="prev" href="policy_data_structures_design.html" title="Design"/><link rel="next" href="policy_data_structures_biblio.html" title="Acknowledgments"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td align="left"><a accesskey="p" href="policy_data_structures_design.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td align="right"> <a accesskey="n" href="policy_data_structures_biblio.html">Next</a></td></tr></table><hr/></div><div class="section" title="Testing"><div class="titlepage"><div><div><h2 class="title"><a id="pbds.test"/>Testing</h2></div></div></div><div class="section" title="Regression"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.test.regression"/>Regression</h3></div></div></div><p>The library contains a single comprehensive regression test.
4909+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4910+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Testing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;&#9;ISO C++&#10; , &#10;&#9;policy&#10; , &#10;&#9;container&#10; , &#10;&#9;data&#10; , &#10;&#9;structure&#10; , &#10;&#9;associated&#10; , &#10;&#9;tree&#10; , &#10;&#9;trie&#10; , &#10;&#9;hash&#10; , &#10;&#9;metaprogramming&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_data_structures_design.html" title="Design" /><link rel="next" href="policy_data_structures_biblio.html" title="Acknowledgments" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures_design.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures_biblio.html">Next</a></td></tr></table><hr /></div><div class="section" title="Testing"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="pbds.test"></a>Testing</h2></div></div></div><div class="section" title="Regression"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.test.regression"></a>Regression</h3></div></div></div><p>The library contains a single comprehensive regression test.
4911 For a given container type in this library, the test creates
4912 an object of the container type and an object of the
4913 corresponding standard type (e.g., <code class="classname">std::set</code>). It
4914@@ -22,9 +22,9 @@
4915 this library's containers and the containers' value-types are
4916 configured to use this allocator.</p><p>For granularity, the test is split into the
4917 several sources, each checking only some containers.</p><p>For more details, consult the files in
4918- <code class="filename">testsuite/ext/pb_ds/regression</code>.</p></div><div class="section" title="Performance"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.test.performance"/>Performance</h3></div></div></div><div class="section" title="Hash-Based"><div class="titlepage"><div><div><h4 class="title"><a id="performance.hash"/>Hash-Based</h4></div></div></div><p/><div class="section" title="Text find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.text_find"/>
4919+ <code class="filename">testsuite/ext/pb_ds/regression</code>.</p></div><div class="section" title="Performance"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.test.performance"></a>Performance</h3></div></div></div><div class="section" title="Hash-Based"><div class="titlepage"><div><div><h4 class="title"><a id="performance.hash"></a>Hash-Based</h4></div></div></div><p></p><div class="section" title="Text find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.text_find"></a>
4920 Text <code class="function">find</code>
4921- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.text_find.info"/>
4922+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.text_find.info"></a>
4923 Description
4924 </h6></div></div></div><p>
4925 This test inserts a number of values with keys from an
4926@@ -44,110 +44,110 @@
4927 </code>
4928 </p><p>The test checks the effect of different range-hashing
4929 functions, trigger policies, and cache-hashing policies.
4930- </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.text_find.results"/>
4931+ </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.text_find.results"></a>
4932 Results
4933 </h6></div></div></div><p>The graphic below show the results for the native
4934 and collision-chaining hash types the the function
4935 applied being a text find timing test using
4936 <code class="function">find</code>.
4937- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_text_find.png" style="text-align: middle"/></div></div><p>
4938+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_hash_text_find.png" align="middle" /></div></div><p>
4939 The abbreviated names in the legend of the graphic above are
4940 instantiated with the types in the following table.
4941- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
4942+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
4943 n_hash_map_ncah
4944- </td></tr><tr><td style="text-align: left">
4945+ </td></tr><tr><td align="left">
4946 <code class="classname">std::tr1::unordered_map</code>
4947- </td><td style="text-align: left">
4948+ </td><td align="left">
4949 <code class="classname">cache_hash_code</code>
4950- </td><td style="text-align: left">
4951+ </td><td align="left">
4952 <code class="constant">false</code>
4953- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
4954+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
4955 cc_hash_mod_prime_1div1_nsth_map
4956- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
4957+ </td></tr><tr><td rowspan="3" align="left" valign="top">
4958 <code class="classname">cc_hash_table</code>
4959- </td><td style="text-align: left">
4960+ </td><td align="left">
4961 <code class="classname">Comb_Hash_Fn</code>
4962- </td><td style="text-align: left">
4963+ </td><td align="left">
4964 <code class="classname">direct_mod_range_hashing</code>
4965- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
4966+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
4967 <code class="classname">Resize_Policy</code>
4968- </td><td rowspan="2" style="text-align: left" valign="top">
4969+ </td><td rowspan="2" align="left" valign="top">
4970 <code class="classname">hash_standard_resize_policy</code>
4971- </td><td style="text-align: left">
4972+ </td><td align="left">
4973 <code class="classname">Size_Policy</code>
4974- </td><td style="text-align: left">
4975+ </td><td align="left">
4976 <code class="classname">hash_prime_size_policy</code>
4977- </td></tr><tr><td style="text-align: left" valign="top">
4978+ </td></tr><tr><td align="left" valign="top">
4979 <code class="classname">Trigger_Policy</code>
4980- </td><td style="text-align: left">
4981+ </td><td align="left">
4982 <code class="classname">hash_load_check_resize_trigger</code> with
4983 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
4984- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
4985+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
4986 cc_hash_mask_exp_1div2_sth_map
4987- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
4988+ </td></tr><tr><td rowspan="3" align="left" valign="top">
4989 <code class="classname">
4990 cc_hash_table
4991 </code>
4992- </td><td style="text-align: left">
4993+ </td><td align="left">
4994 <code class="classname">Comb_Hash_Fn</code>
4995- </td><td style="text-align: left">
4996+ </td><td align="left">
4997 <code class="classname">direct_mask_range_hashing</code>
4998- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
4999+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5000 <code class="classname">Resize_Policy</code>
5001- </td><td rowspan="2" style="text-align: left" valign="top">
5002+ </td><td rowspan="2" align="left" valign="top">
5003 <code class="classname">hash_standard_resize_policy</code>
5004- </td><td style="text-align: left">
5005+ </td><td align="left">
5006 <code class="classname">Size_Policy</code>
5007- </td><td style="text-align: left">
5008+ </td><td align="left">
5009 <code class="classname">hash_exponential_size_policy</code>
5010- </td></tr><tr><td style="text-align: left" valign="top">
5011+ </td></tr><tr><td align="left" valign="top">
5012 <code class="classname">Trigger_Policy</code>
5013- </td><td style="text-align: left">
5014+ </td><td align="left">
5015 <code class="classname">hash_load_check_resize_trigger</code> with
5016 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5017- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5018+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5019 cc_hash_mask_exp_1div1_nsth_map
5020- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5021+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5022 <code class="classname">cc_hash_table</code>
5023- </td><td style="text-align: left">
5024+ </td><td align="left">
5025 <code class="classname">Comb_Hash_Fn</code>
5026- </td><td style="text-align: left">
5027+ </td><td align="left">
5028 <code class="classname">direct_mask_range_hashing</code>
5029- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5030+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5031 <code class="classname">Resize_Policy</code>
5032- </td><td rowspan="2" style="text-align: left" valign="top">
5033+ </td><td rowspan="2" align="left" valign="top">
5034 <code class="classname">hash_standard_resize_policy</code>
5035- </td><td style="text-align: left">
5036+ </td><td align="left">
5037 <code class="classname">Size_Policy</code>
5038- </td><td style="text-align: left">
5039+ </td><td align="left">
5040 <code class="classname">hash_exponential_size_policy</code>
5041- </td></tr><tr><td style="text-align: left" valign="top">
5042+ </td></tr><tr><td align="left" valign="top">
5043 <code class="classname">Trigger_Policy</code>
5044- </td><td style="text-align: left">
5045+ </td><td align="left">
5046 <code class="classname">hash_load_check_resize_trigger</code> with
5047 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
5048- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5049+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5050 cc_hash_mask_exp_1div2_nsth_map
5051- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5052+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5053 <code class="classname">cc_hash_table</code>
5054- </td><td style="text-align: left">
5055+ </td><td align="left">
5056 <code class="classname">Comb_Hash_Fn</code>
5057- </td><td style="text-align: left">
5058+ </td><td align="left">
5059 <code class="classname">direct_mask_range_hashing</code>
5060- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5061+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5062 <code class="classname">Resize_Policy</code>
5063- </td><td rowspan="2" style="text-align: left" valign="top">
5064+ </td><td rowspan="2" align="left" valign="top">
5065 <code class="classname">hash_standard_resize_policy</code>
5066- </td><td style="text-align: left">
5067+ </td><td align="left">
5068 <code class="classname">Size_Policy</code>
5069- </td><td style="text-align: left">
5070+ </td><td align="left">
5071 <code class="classname">hash_exponential_size_policy</code>
5072- </td></tr><tr><td style="text-align: left" valign="top">
5073+ </td></tr><tr><td align="left" valign="top">
5074 <code class="classname">Trigger_Policy</code>
5075- </td><td style="text-align: left">
5076+ </td><td align="left">
5077 <code class="classname">hash_load_check_resize_trigger</code> with
5078 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5079- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.text_find.observations"/>
5080+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.text_find.observations"></a>
5081 Observations
5082 </h6></div></div></div><p>In this setting, the range-hashing scheme affects performance
5083 more than other policies. As the results show, containers using
5084@@ -162,9 +162,9 @@
5085 library's implementation. (Unfortunately, it was not possible to run
5086 the tests with <code class="classname">std::tr1::unordered_map</code> 's
5087 <code class="classname">cache_hash_code = true</code> , as it appeared to
5088- malfuntion.)</p></div></div><div class="section" title="Integer find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.int_find"/>
5089+ malfuntion.)</p></div></div><div class="section" title="Integer find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.int_find"></a>
5090 Integer <code class="function">find</code>
5091- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_find.info"/>
5092+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_find.info"></a>
5093 Description
5094 </h6></div></div></div><p>This test inserts a number of values with uniform
5095 integer keys into a container, then performs a series of finds
5096@@ -177,7 +177,7 @@
5097 </code>
5098 </p><p>The test checks the effect of different underlying
5099 hash-tables,
5100- range-hashing functions, and trigger policies.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_find.results"/>
5101+ range-hashing functions, and trigger policies.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_find.results"></a>
5102 Results
5103 </h6></div></div></div><p>
5104 There are two sets of results for this type, one for
5105@@ -185,101 +185,101 @@
5106 </p><p>The first graphic below shows the results for the native and
5107 collision-chaining hash types. The function applied being a random
5108 integer timing test using <code class="function">find</code>.
5109- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_cc_hash_int_find.png" style="text-align: middle"/></div></div><p>
5110+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_cc_hash_int_find.png" align="middle" /></div></div><p>
5111 The abbreviated names in the legend of the graphic above are
5112 instantiated with the types in the following table.
5113- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5114+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5115 n_hash_map_ncah
5116- </td></tr><tr><td style="text-align: left">
5117+ </td></tr><tr><td align="left">
5118 <code class="classname">std::tr1::unordered_map</code>
5119- </td><td style="text-align: left">
5120+ </td><td align="left">
5121 <code class="classname">cache_hash_code</code>
5122- </td><td style="text-align: left">
5123+ </td><td align="left">
5124 <code class="constant">false</code>
5125- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5126+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5127 cc_hash_mod_prime_1div1_nsth_map
5128- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5129+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5130 <code class="classname">cc_hash_table</code>
5131- </td><td style="text-align: left">
5132+ </td><td align="left">
5133 <code class="classname">Comb_Hash_Fn</code>
5134- </td><td style="text-align: left">
5135+ </td><td align="left">
5136 <code class="classname">direct_mod_range_hashing</code>
5137- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5138+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5139 <code class="classname">Resize_Policy</code>
5140- </td><td rowspan="2" style="text-align: left" valign="top">
5141+ </td><td rowspan="2" align="left" valign="top">
5142 <code class="classname">hash_standard_resize_policy</code>
5143- </td><td style="text-align: left">
5144+ </td><td align="left">
5145 <code class="classname">Size_Policy</code>
5146- </td><td style="text-align: left">
5147+ </td><td align="left">
5148 <code class="classname">hash_prime_size_policy</code>
5149- </td></tr><tr><td style="text-align: left" valign="top">
5150+ </td></tr><tr><td align="left" valign="top">
5151 <code class="classname">Trigger_Policy</code>
5152- </td><td style="text-align: left">
5153+ </td><td align="left">
5154 <code class="classname">hash_load_check_resize_trigger</code> with
5155 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
5156- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5157+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5158 cc_hash_mod_prime_1div2_nsth_map
5159- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5160+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5161 <code class="classname">
5162 cc_hash_table
5163 </code>
5164- </td><td style="text-align: left">
5165+ </td><td align="left">
5166 <code class="classname">Comb_Hash_Fn</code>
5167- </td><td style="text-align: left">
5168+ </td><td align="left">
5169 <code class="classname">direct_mod_range_hashing</code>
5170- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5171+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5172 <code class="classname">Resize_Policy</code>
5173- </td><td rowspan="2" style="text-align: left" valign="top">
5174+ </td><td rowspan="2" align="left" valign="top">
5175 <code class="classname">hash_standard_resize_policy</code>
5176- </td><td style="text-align: left">
5177+ </td><td align="left">
5178 <code class="classname">Size_Policy</code>
5179- </td><td style="text-align: left">
5180+ </td><td align="left">
5181 <code class="classname">hash_prime_size_policy</code>
5182- </td></tr><tr><td style="text-align: left" valign="top">
5183+ </td></tr><tr><td align="left" valign="top">
5184 <code class="classname">Trigger_Policy</code>
5185- </td><td style="text-align: left">
5186+ </td><td align="left">
5187 <code class="classname">hash_load_check_resize_trigger</code> with
5188 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5189- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5190+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5191 cc_hash_mask_exp_1div1_nsth_map
5192- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5193+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5194 <code class="classname">cc_hash_table</code>
5195- </td><td style="text-align: left">
5196+ </td><td align="left">
5197 <code class="classname">Comb_Hash_Fn</code>
5198- </td><td style="text-align: left">
5199+ </td><td align="left">
5200 <code class="classname">direct_mask_range_hashing</code>
5201- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5202+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5203 <code class="classname">Resize_Policy</code>
5204- </td><td rowspan="2" style="text-align: left" valign="top">
5205+ </td><td rowspan="2" align="left" valign="top">
5206 <code class="classname">hash_standard_resize_policy</code>
5207- </td><td style="text-align: left">
5208+ </td><td align="left">
5209 <code class="classname">Size_Policy</code>
5210- </td><td style="text-align: left">
5211+ </td><td align="left">
5212 <code class="classname">hash_exponential_size_policy</code>
5213- </td></tr><tr><td style="text-align: left" valign="top">
5214+ </td></tr><tr><td align="left" valign="top">
5215 <code class="classname">Trigger_Policy</code>
5216- </td><td style="text-align: left">
5217+ </td><td align="left">
5218 <code class="classname">hash_load_check_resize_trigger</code> with
5219 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
5220- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5221+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5222 cc_hash_mask_exp_1div2_nsth_map
5223- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5224+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5225 <code class="classname">cc_hash_table</code>
5226- </td><td style="text-align: left">
5227+ </td><td align="left">
5228 <code class="classname">Comb_Hash_Fn</code>
5229- </td><td style="text-align: left">
5230+ </td><td align="left">
5231 <code class="classname">direct_mask_range_hashing</code>
5232- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5233+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5234 <code class="classname">Resize_Policy</code>
5235- </td><td rowspan="2" style="text-align: left" valign="top">
5236+ </td><td rowspan="2" align="left" valign="top">
5237 <code class="classname">hash_standard_resize_policy</code>
5238- </td><td style="text-align: left">
5239+ </td><td align="left">
5240 <code class="classname">Size_Policy</code>
5241- </td><td style="text-align: left">
5242+ </td><td align="left">
5243 <code class="classname">hash_exponential_size_policy</code>
5244- </td></tr><tr><td style="text-align: left" valign="top">
5245+ </td></tr><tr><td align="left" valign="top">
5246 <code class="classname">Trigger_Policy</code>
5247- </td><td style="text-align: left">
5248+ </td><td align="left">
5249 <code class="classname">hash_load_check_resize_trigger</code> with
5250 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5251 </td></tr></tbody></table></div><p>
5252@@ -287,70 +287,70 @@
5253 </p><p>And the second graphic shows the results for the native and
5254 general-probe hash types. The function applied being a random
5255 integer timing test using <code class="function">find</code>.
5256- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_gp_hash_int_find.png" style="text-align: middle"/></div></div><p>
5257+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_gp_hash_int_find.png" align="middle" /></div></div><p>
5258 The abbreviated names in the legend of the graphic above are
5259 instantiated with the types in the following table.
5260- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5261+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5262 n_hash_map_ncah
5263- </td></tr><tr><td style="text-align: left">
5264+ </td></tr><tr><td align="left">
5265 <code class="classname">std::tr1::unordered_map</code>
5266- </td><td style="text-align: left">
5267+ </td><td align="left">
5268 <code class="classname">cache_hash_code</code>
5269- </td><td style="text-align: left">
5270+ </td><td align="left">
5271 <code class="constant">false</code>
5272- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5273+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5274 gp_hash_mod_quadp_prime_1div2_nsth_map
5275- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
5276+ </td></tr><tr><td rowspan="4" align="left" valign="top">
5277 <code class="classname">gp_hash_table</code>
5278- </td><td style="text-align: left">
5279+ </td><td align="left">
5280 <code class="classname">Comb_Hash_Fn</code>
5281- </td><td style="text-align: left">
5282+ </td><td align="left">
5283 <code class="classname">direct_mod_range_hashing</code>
5284- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
5285+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
5286 <code class="classname">Probe_Fn</code>
5287- </td><td style="text-align: left">
5288+ </td><td align="left">
5289 <code class="classname">quadratic_probe_fn</code>
5290- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5291+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5292 <code class="classname">Resize_Policy</code>
5293- </td><td rowspan="2" style="text-align: left" valign="top">
5294+ </td><td rowspan="2" align="left" valign="top">
5295 <code class="classname">hash_standard_resize_policy</code>
5296- </td><td style="text-align: left">
5297+ </td><td align="left">
5298 <code class="classname">Size_Policy</code>
5299- </td><td style="text-align: left">
5300+ </td><td align="left">
5301 <code class="classname">hash_prime_size_policy</code>
5302- </td></tr><tr><td style="text-align: left" valign="top">
5303+ </td></tr><tr><td align="left" valign="top">
5304 <code class="classname">Trigger_Policy</code>
5305- </td><td style="text-align: left">
5306+ </td><td align="left">
5307 <code class="classname">hash_load_check_resize_trigger</code> with
5308 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5309- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5310+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5311 gp_hash_mask_linp_exp_1div2_nsth_map
5312- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
5313+ </td></tr><tr><td rowspan="4" align="left" valign="top">
5314 <code class="classname">
5315 gp_hash_table
5316 </code>
5317- </td><td style="text-align: left">
5318+ </td><td align="left">
5319 <code class="classname">Comb_Hash_Fn</code>
5320- </td><td style="text-align: left">
5321+ </td><td align="left">
5322 <code class="classname">direct_mask_range_hashing</code>
5323- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
5324+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
5325 <code class="classname">Probe_Fn</code>
5326- </td><td style="text-align: left">
5327+ </td><td align="left">
5328 <code class="classname">linear_probe_fn</code>
5329- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5330+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5331 <code class="classname">Resize_Policy</code>
5332- </td><td rowspan="2" style="text-align: left" valign="top">
5333+ </td><td rowspan="2" align="left" valign="top">
5334 <code class="classname">hash_standard_resize_policy</code>
5335- </td><td style="text-align: left">
5336+ </td><td align="left">
5337 <code class="classname">Size_Policy</code>
5338- </td><td style="text-align: left">
5339+ </td><td align="left">
5340 <code class="classname">hash_exponential_size_policy</code>
5341- </td></tr><tr><td style="text-align: left" valign="top">
5342+ </td></tr><tr><td align="left" valign="top">
5343 <code class="classname">Trigger_Policy</code>
5344- </td><td style="text-align: left">
5345+ </td><td align="left">
5346 <code class="classname">hash_load_check_resize_trigger</code> with
5347 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5348- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_find.observations"/>
5349+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_find.observations"></a>
5350 Observations
5351 </h6></div></div></div><p>In this setting, the choice of underlying hash-table affects
5352 performance most, then the range-hashing scheme and, only finally,
5353@@ -366,9 +366,9 @@
5354 above graphics should be noted that
5355 <code class="classname">std::tr1::unordered_map</code> are hard-wired
5356 currently to mod-based schemes.
5357- </p></div></div><div class="section" title="Integer Subscript find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.int_subscript_find"/>
5358+ </p></div></div><div class="section" title="Integer Subscript find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.int_subscript_find"></a>
5359 Integer Subscript <code class="function">find</code>
5360- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_find.info"/>
5361+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_find.info"></a>
5362 Description
5363 </h6></div></div></div><p>This test inserts a number of values with uniform
5364 integer keys into a container, then performs a series of finds
5365@@ -380,7 +380,7 @@
5366 performance/ext/pb_ds/random_int_subscript_find_timing.cc
5367 </code>
5368 </p><p>The test checks the effect of different underlying
5369- hash-tables, range-hashing functions, and trigger policies.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_find.results"/>
5370+ hash-tables, range-hashing functions, and trigger policies.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_find.results"></a>
5371 Results
5372 </h6></div></div></div><p>
5373 There are two sets of results for this type, one for
5374@@ -389,99 +389,99 @@
5375 and collision-chaining hash types, using as the function
5376 applied an integer subscript timing test with
5377 <code class="function">find</code>.
5378- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_cc_hash_int_subscript_find.png" style="text-align: middle"/></div></div><p>
5379+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_cc_hash_int_subscript_find.png" align="middle" /></div></div><p>
5380 The abbreviated names in the legend of the graphic above are
5381 instantiated with the types in the following table.
5382- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5383+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5384 n_hash_map_ncah
5385- </td></tr><tr><td style="text-align: left">
5386+ </td></tr><tr><td align="left">
5387 <code class="classname">std::tr1::unordered_map</code>
5388- </td><td style="text-align: left">
5389+ </td><td align="left">
5390 <code class="classname">cache_hash_code</code>
5391- </td><td style="text-align: left">
5392+ </td><td align="left">
5393 <code class="constant">false</code>
5394- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5395+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5396 cc_hash_mod_prime_1div1_nsth_map
5397- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5398+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5399 <code class="classname">cc_hash_table</code>
5400- </td><td style="text-align: left">
5401+ </td><td align="left">
5402 <code class="classname">Comb_Hash_Fn</code>
5403- </td><td style="text-align: left">
5404+ </td><td align="left">
5405 <code class="classname">direct_mod_range_hashing</code>
5406- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5407+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5408 <code class="classname">Resize_Policy</code>
5409- </td><td rowspan="2" style="text-align: left" valign="top">
5410+ </td><td rowspan="2" align="left" valign="top">
5411 <code class="classname">hash_standard_resize_policy</code>
5412- </td><td style="text-align: left">
5413+ </td><td align="left">
5414 <code class="classname">Size_Policy</code>
5415- </td><td style="text-align: left">
5416+ </td><td align="left">
5417 <code class="classname">hash_prime_size_policy</code>
5418- </td></tr><tr><td style="text-align: left" valign="top">
5419+ </td></tr><tr><td align="left" valign="top">
5420 <code class="classname">Trigger_Policy</code>
5421- </td><td style="text-align: left">
5422+ </td><td align="left">
5423 <code class="classname">hash_load_check_resize_trigger</code> with
5424 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
5425- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5426+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5427 cc_hash_mod_prime_1div2_nsth_map
5428- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5429+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5430 <code class="classname">cc_hash_table</code>
5431- </td><td style="text-align: left">
5432+ </td><td align="left">
5433 <code class="classname">Comb_Hash_Fn</code>
5434- </td><td style="text-align: left">
5435+ </td><td align="left">
5436 <code class="classname">direct_mod_range_hashing</code>
5437- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5438+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5439 <code class="classname">Resize_Policy</code>
5440- </td><td rowspan="2" style="text-align: left" valign="top">
5441+ </td><td rowspan="2" align="left" valign="top">
5442 <code class="classname">hash_standard_resize_policy</code>
5443- </td><td style="text-align: left">
5444+ </td><td align="left">
5445 <code class="classname">Size_Policy</code>
5446- </td><td style="text-align: left">
5447+ </td><td align="left">
5448 <code class="classname">hash_prime_size_policy</code>
5449- </td></tr><tr><td style="text-align: left" valign="top">
5450+ </td></tr><tr><td align="left" valign="top">
5451 <code class="classname">Trigger_Policy</code>
5452- </td><td style="text-align: left">
5453+ </td><td align="left">
5454 <code class="classname">hash_load_check_resize_trigger</code> with
5455 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5456- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5457+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5458 cc_hash_mask_exp_1div1_nsth_map
5459- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5460+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5461 <code class="classname">cc_hash_table</code>
5462- </td><td style="text-align: left">
5463+ </td><td align="left">
5464 <code class="classname">Comb_Hash_Fn</code>
5465- </td><td style="text-align: left">
5466+ </td><td align="left">
5467 <code class="classname">direct_mask_range_hashing</code>
5468- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5469+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5470 <code class="classname">Resize_Policy</code>
5471- </td><td rowspan="2" style="text-align: left" valign="top">
5472+ </td><td rowspan="2" align="left" valign="top">
5473 <code class="classname">hash_standard_resize_policy</code>
5474- </td><td style="text-align: left">
5475+ </td><td align="left">
5476 <code class="classname">Size_Policy</code>
5477- </td><td style="text-align: left">
5478+ </td><td align="left">
5479 <code class="classname">hash_exponential_size_policy</code>
5480- </td></tr><tr><td style="text-align: left" valign="top">
5481+ </td></tr><tr><td align="left" valign="top">
5482 <code class="classname">Trigger_Policy</code>
5483- </td><td style="text-align: left">
5484+ </td><td align="left">
5485 <code class="classname">hash_load_check_resize_trigger</code> with
5486 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
5487- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5488+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5489 cc_hash_mask_exp_1div2_nsth_map
5490- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5491+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5492 <code class="classname">cc_hash_table</code>
5493- </td><td style="text-align: left">
5494+ </td><td align="left">
5495 <code class="classname">Comb_Hash_Fn</code>
5496- </td><td style="text-align: left">
5497+ </td><td align="left">
5498 <code class="classname">direct_mask_range_hashing</code>
5499- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5500+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5501 <code class="classname">Resize_Policy</code>
5502- </td><td rowspan="2" style="text-align: left" valign="top">
5503+ </td><td rowspan="2" align="left" valign="top">
5504 <code class="classname">hash_standard_resize_policy</code>
5505- </td><td style="text-align: left">
5506+ </td><td align="left">
5507 <code class="classname">Size_Policy</code>
5508- </td><td style="text-align: left">
5509+ </td><td align="left">
5510 <code class="classname">hash_exponential_size_policy</code>
5511- </td></tr><tr><td style="text-align: left" valign="top">
5512+ </td></tr><tr><td align="left" valign="top">
5513 <code class="classname">Trigger_Policy</code>
5514- </td><td style="text-align: left">
5515+ </td><td align="left">
5516 <code class="classname">hash_load_check_resize_trigger</code> with
5517 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5518 </td></tr></tbody></table></div><p>
5519@@ -489,75 +489,75 @@
5520 </p><p>And the second graphic shows the results for the native and
5521 general-probe hash types. The function applied being a random
5522 integer timing test using <code class="function">find</code>.
5523- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_gp_hash_int_subscript_find.png" style="text-align: middle"/></div></div><p>
5524+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_gp_hash_int_subscript_find.png" align="middle" /></div></div><p>
5525 The abbreviated names in the legend of the graphic above are
5526 instantiated with the types in the following table.
5527- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5528+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5529 n_hash_map_ncah
5530- </td></tr><tr><td style="text-align: left">
5531+ </td></tr><tr><td align="left">
5532 <code class="classname">std::tr1::unordered_map</code>
5533- </td><td style="text-align: left">
5534+ </td><td align="left">
5535 <code class="classname">cache_hash_code</code>
5536- </td><td style="text-align: left">
5537+ </td><td align="left">
5538 <code class="constant">false</code>
5539- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5540+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5541 gp_hash_mod_quadp_prime_1div2_nsth_map
5542- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
5543+ </td></tr><tr><td rowspan="4" align="left" valign="top">
5544 <code class="classname">gp_hash_table</code>
5545- </td><td style="text-align: left">
5546+ </td><td align="left">
5547 <code class="classname">Comb_Hash_Fn</code>
5548- </td><td style="text-align: left">
5549+ </td><td align="left">
5550 <code class="classname">direct_mod_range_hashing</code>
5551- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
5552+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
5553 <code class="classname">Probe_Fn</code>
5554- </td><td style="text-align: left">
5555+ </td><td align="left">
5556 <code class="classname">quadratic_probe_fn</code>
5557- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5558+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5559 <code class="classname">Resize_Policy</code>
5560- </td><td rowspan="2" style="text-align: left" valign="top">
5561+ </td><td rowspan="2" align="left" valign="top">
5562 <code class="classname">hash_standard_resize_policy</code>
5563- </td><td style="text-align: left">
5564+ </td><td align="left">
5565 <code class="classname">Size_Policy</code>
5566- </td><td style="text-align: left">
5567+ </td><td align="left">
5568 <code class="classname">hash_prime_size_policy</code>
5569- </td></tr><tr><td style="text-align: left" valign="top">
5570+ </td></tr><tr><td align="left" valign="top">
5571 <code class="classname">Trigger_Policy</code>
5572- </td><td style="text-align: left">
5573+ </td><td align="left">
5574 <code class="classname">hash_load_check_resize_trigger</code> with
5575 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5576- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5577+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5578 gp_hash_mask_linp_exp_1div2_nsth_map
5579- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
5580+ </td></tr><tr><td rowspan="4" align="left" valign="top">
5581 <code class="classname">
5582 gp_hash_table
5583 </code>
5584- </td><td style="text-align: left">
5585+ </td><td align="left">
5586 <code class="classname">Comb_Hash_Fn</code>
5587- </td><td style="text-align: left">
5588+ </td><td align="left">
5589 <code class="classname">direct_mask_range_hashing</code>
5590- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
5591+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
5592 <code class="classname">Probe_Fn</code>
5593- </td><td style="text-align: left">
5594+ </td><td align="left">
5595 <code class="classname">linear_probe_fn</code>
5596- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5597+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5598 <code class="classname">Resize_Policy</code>
5599- </td><td rowspan="2" style="text-align: left" valign="top">
5600+ </td><td rowspan="2" align="left" valign="top">
5601 <code class="classname">hash_standard_resize_policy</code>
5602- </td><td style="text-align: left">
5603+ </td><td align="left">
5604 <code class="classname">Size_Policy</code>
5605- </td><td style="text-align: left">
5606+ </td><td align="left">
5607 <code class="classname">hash_exponential_size_policy</code>
5608- </td></tr><tr><td style="text-align: left" valign="top">
5609+ </td></tr><tr><td align="left" valign="top">
5610 <code class="classname">Trigger_Policy</code>
5611- </td><td style="text-align: left">
5612+ </td><td align="left">
5613 <code class="classname">hash_load_check_resize_trigger</code> with
5614 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5615- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_find.observations"/>
5616+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_find.observations"></a>
5617 Observations
5618 </h6></div></div></div><p>This test shows similar results to Hash-Based
5619- Integer <code class="classname">find</code> Find Timing test.</p></div></div><div class="section" title="Integer Subscript insert"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.int_subscript_insert"/>
5620+ Integer <code class="classname">find</code> Find Timing test.</p></div></div><div class="section" title="Integer Subscript insert"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.int_subscript_insert"></a>
5621 Integer Subscript <code class="function">insert</code>
5622- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_insert.info"/>
5623+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_insert.info"></a>
5624 Description
5625 </h6></div></div></div><p>This test inserts a number of values with uniform i.i.d.
5626 integer keys into a container, using
5627@@ -569,7 +569,7 @@
5628 performance/ext/pb_ds/random_int_subscript_insert_timing.cc
5629 </code>
5630 </p><p>The test checks the effect of different underlying
5631- hash-tables.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_insert.results"/>
5632+ hash-tables.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_insert.results"></a>
5633 Results
5634 </h6></div></div></div><p>
5635 There are two sets of results for this type, one for
5636@@ -578,99 +578,99 @@
5637 and collision-chaining hash types, using as the function
5638 applied an integer subscript timing test with
5639 <code class="function">insert</code>.
5640- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_cc_hash_int_subscript_insert.png" style="text-align: middle"/></div></div><p>
5641+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_cc_hash_int_subscript_insert.png" align="middle" /></div></div><p>
5642 The abbreviated names in the legend of the graphic above are
5643 instantiated with the types in the following table.
5644- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5645+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5646 n_hash_map_ncah
5647- </td></tr><tr><td style="text-align: left">
5648+ </td></tr><tr><td align="left">
5649 <code class="classname">std::tr1::unordered_map</code>
5650- </td><td style="text-align: left">
5651+ </td><td align="left">
5652 <code class="classname">cache_hash_code</code>
5653- </td><td style="text-align: left">
5654+ </td><td align="left">
5655 <code class="constant">false</code>
5656- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5657+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5658 cc_hash_mod_prime_1div1_nsth_map
5659- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5660+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5661 <code class="classname">cc_hash_table</code>
5662- </td><td style="text-align: left">
5663+ </td><td align="left">
5664 <code class="classname">Comb_Hash_Fn</code>
5665- </td><td style="text-align: left">
5666+ </td><td align="left">
5667 <code class="classname">direct_mod_range_hashing</code>
5668- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5669+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5670 <code class="classname">Resize_Policy</code>
5671- </td><td rowspan="2" style="text-align: left" valign="top">
5672+ </td><td rowspan="2" align="left" valign="top">
5673 <code class="classname">hash_standard_resize_policy</code>
5674- </td><td style="text-align: left">
5675+ </td><td align="left">
5676 <code class="classname">Size_Policy</code>
5677- </td><td style="text-align: left">
5678+ </td><td align="left">
5679 <code class="classname">hash_prime_size_policy</code>
5680- </td></tr><tr><td style="text-align: left" valign="top">
5681+ </td></tr><tr><td align="left" valign="top">
5682 <code class="classname">Trigger_Policy</code>
5683- </td><td style="text-align: left">
5684+ </td><td align="left">
5685 <code class="classname">hash_load_check_resize_trigger</code> with
5686 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
5687- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5688+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5689 cc_hash_mod_prime_1div2_nsth_map
5690- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5691+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5692 <code class="classname">cc_hash_table</code>
5693- </td><td style="text-align: left">
5694+ </td><td align="left">
5695 <code class="classname">Comb_Hash_Fn</code>
5696- </td><td style="text-align: left">
5697+ </td><td align="left">
5698 <code class="classname">direct_mod_range_hashing</code>
5699- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5700+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5701 <code class="classname">Resize_Policy</code>
5702- </td><td rowspan="2" style="text-align: left" valign="top">
5703+ </td><td rowspan="2" align="left" valign="top">
5704 <code class="classname">hash_standard_resize_policy</code>
5705- </td><td style="text-align: left">
5706+ </td><td align="left">
5707 <code class="classname">Size_Policy</code>
5708- </td><td style="text-align: left">
5709+ </td><td align="left">
5710 <code class="classname">hash_prime_size_policy</code>
5711- </td></tr><tr><td style="text-align: left" valign="top">
5712+ </td></tr><tr><td align="left" valign="top">
5713 <code class="classname">Trigger_Policy</code>
5714- </td><td style="text-align: left">
5715+ </td><td align="left">
5716 <code class="classname">hash_load_check_resize_trigger</code> with
5717 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5718- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5719+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5720 cc_hash_mask_exp_1div1_nsth_map
5721- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5722+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5723 <code class="classname">cc_hash_table</code>
5724- </td><td style="text-align: left">
5725+ </td><td align="left">
5726 <code class="classname">Comb_Hash_Fn</code>
5727- </td><td style="text-align: left">
5728+ </td><td align="left">
5729 <code class="classname">direct_mask_range_hashing</code>
5730- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5731+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5732 <code class="classname">Resize_Policy</code>
5733- </td><td rowspan="2" style="text-align: left" valign="top">
5734+ </td><td rowspan="2" align="left" valign="top">
5735 <code class="classname">hash_standard_resize_policy</code>
5736- </td><td style="text-align: left">
5737+ </td><td align="left">
5738 <code class="classname">Size_Policy</code>
5739- </td><td style="text-align: left">
5740+ </td><td align="left">
5741 <code class="classname">hash_exponential_size_policy</code>
5742- </td></tr><tr><td style="text-align: left" valign="top">
5743+ </td></tr><tr><td align="left" valign="top">
5744 <code class="classname">Trigger_Policy</code>
5745- </td><td style="text-align: left">
5746+ </td><td align="left">
5747 <code class="classname">hash_load_check_resize_trigger</code> with
5748 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
5749- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5750+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5751 cc_hash_mask_exp_1div2_nsth_map
5752- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5753+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5754 <code class="classname">cc_hash_table</code>
5755- </td><td style="text-align: left">
5756+ </td><td align="left">
5757 <code class="classname">Comb_Hash_Fn</code>
5758- </td><td style="text-align: left">
5759+ </td><td align="left">
5760 <code class="classname">direct_mask_range_hashing</code>
5761- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5762+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5763 <code class="classname">Resize_Policy</code>
5764- </td><td rowspan="2" style="text-align: left" valign="top">
5765+ </td><td rowspan="2" align="left" valign="top">
5766 <code class="classname">hash_standard_resize_policy</code>
5767- </td><td style="text-align: left">
5768+ </td><td align="left">
5769 <code class="classname">Size_Policy</code>
5770- </td><td style="text-align: left">
5771+ </td><td align="left">
5772 <code class="classname">hash_exponential_size_policy</code>
5773- </td></tr><tr><td style="text-align: left" valign="top">
5774+ </td></tr><tr><td align="left" valign="top">
5775 <code class="classname">Trigger_Policy</code>
5776- </td><td style="text-align: left">
5777+ </td><td align="left">
5778 <code class="classname">hash_load_check_resize_trigger</code> with
5779 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5780 </td></tr></tbody></table></div><p>
5781@@ -678,77 +678,77 @@
5782 </p><p>And the second graphic shows the results for the native and
5783 general-probe hash types. The function applied being a random
5784 integer timing test using <code class="function">find</code>.
5785- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_gp_hash_int_subscript_insert.png" style="text-align: middle"/></div></div><p>
5786+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_gp_hash_int_subscript_insert.png" align="middle" /></div></div><p>
5787 The abbreviated names in the legend of the graphic above are
5788 instantiated with the types in the following table.
5789- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5790+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5791 n_hash_map_ncah
5792- </td></tr><tr><td style="text-align: left">
5793+ </td></tr><tr><td align="left">
5794 <code class="classname">std::tr1::unordered_map</code>
5795- </td><td style="text-align: left">
5796+ </td><td align="left">
5797 <code class="classname">cache_hash_code</code>
5798- </td><td style="text-align: left">
5799+ </td><td align="left">
5800 <code class="constant">false</code>
5801- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5802+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5803 gp_hash_mod_quadp_prime_1div2_nsth_map
5804- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
5805+ </td></tr><tr><td rowspan="4" align="left" valign="top">
5806 <code class="classname">gp_hash_table</code>
5807- </td><td style="text-align: left">
5808+ </td><td align="left">
5809 <code class="classname">Comb_Hash_Fn</code>
5810- </td><td style="text-align: left">
5811+ </td><td align="left">
5812 <code class="classname">direct_mod_range_hashing</code>
5813- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
5814+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
5815 <code class="classname">Probe_Fn</code>
5816- </td><td style="text-align: left">
5817+ </td><td align="left">
5818 <code class="classname">quadratic_probe_fn</code>
5819- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5820+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5821 <code class="classname">Resize_Policy</code>
5822- </td><td rowspan="2" style="text-align: left" valign="top">
5823+ </td><td rowspan="2" align="left" valign="top">
5824 <code class="classname">hash_standard_resize_policy</code>
5825- </td><td style="text-align: left">
5826+ </td><td align="left">
5827 <code class="classname">Size_Policy</code>
5828- </td><td style="text-align: left">
5829+ </td><td align="left">
5830 <code class="classname">hash_prime_size_policy</code>
5831- </td></tr><tr><td style="text-align: left" valign="top">
5832+ </td></tr><tr><td align="left" valign="top">
5833 <code class="classname">Trigger_Policy</code>
5834- </td><td style="text-align: left">
5835+ </td><td align="left">
5836 <code class="classname">hash_load_check_resize_trigger</code> with
5837 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5838- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5839+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5840 gp_hash_mask_linp_exp_1div2_nsth_map
5841- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
5842+ </td></tr><tr><td rowspan="4" align="left" valign="top">
5843 <code class="classname">
5844 gp_hash_table
5845 </code>
5846- </td><td style="text-align: left">
5847+ </td><td align="left">
5848 <code class="classname">Comb_Hash_Fn</code>
5849- </td><td style="text-align: left">
5850+ </td><td align="left">
5851 <code class="classname">direct_mask_range_hashing</code>
5852- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
5853+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
5854 <code class="classname">Probe_Fn</code>
5855- </td><td style="text-align: left">
5856+ </td><td align="left">
5857 <code class="classname">linear_probe_fn</code>
5858- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5859+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5860 <code class="classname">Resize_Policy</code>
5861- </td><td rowspan="2" style="text-align: left" valign="top">
5862+ </td><td rowspan="2" align="left" valign="top">
5863 <code class="classname">hash_standard_resize_policy</code>
5864- </td><td style="text-align: left">
5865+ </td><td align="left">
5866 <code class="classname">Size_Policy</code>
5867- </td><td style="text-align: left">
5868+ </td><td align="left">
5869 <code class="classname">hash_exponential_size_policy</code>
5870- </td></tr><tr><td style="text-align: left" valign="top">
5871+ </td></tr><tr><td align="left" valign="top">
5872 <code class="classname">Trigger_Policy</code>
5873- </td><td style="text-align: left">
5874+ </td><td align="left">
5875 <code class="classname">hash_load_check_resize_trigger</code> with
5876 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
5877- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_insert.observations"/>
5878+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_insert.observations"></a>
5879 Observations
5880 </h6></div></div></div><p>In this setting, as in Hash-Based Text
5881 <code class="function">find</code> Find Timing test and Hash-Based
5882 Integer <code class="function">find</code> Find Timing test , the choice
5883 of underlying hash-table underlying hash-table affects performance
5884 most, then the range-hashing scheme, and
5885- finally any other policies.</p><p>There are some differences, however:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>In this setting, probing tables function sometimes more
5886+ finally any other policies.</p><p>There are some differences, however:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>In this setting, probing tables function sometimes more
5887 efficiently than collision-chaining tables.
5888 This is explained shortly.</p></li><li class="listitem"><p>The performance graphs have a "saw-tooth" shape. The
5889 average insert time rises and falls. As values are inserted
5890@@ -770,9 +770,9 @@
5891 <code class="function">find</code> Find Timing Test and Hash-Based
5892 Integer <code class="function">find</code> Find Timing Test.
5893 Unsurprisingly, however, containers with lower α<sub>max</sub> perform worse in this case,
5894- since more re-hashes are performed.</p></div></div><div class="section" title="Integer find with Skewed-Distribution"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.zlob_int_find"/>
5895+ since more re-hashes are performed.</p></div></div><div class="section" title="Integer find with Skewed-Distribution"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.zlob_int_find"></a>
5896 Integer <code class="function">find</code> with Skewed-Distribution
5897- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.zlob_int_find.info"/>
5898+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.zlob_int_find.info"></a>
5899 Description
5900 </h6></div></div></div><p>This test inserts a number of values with a markedly
5901 non-uniform integer keys into a container, then performs
5902@@ -785,90 +785,90 @@
5903 performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc
5904 </code>
5905 </p><p>The test checks the effect of different range-hashing
5906- functions and trigger policies.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.zlob_int_find.results"/>
5907+ functions and trigger policies.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.zlob_int_find.results"></a>
5908 Results
5909 </h6></div></div></div><p>The graphic below show the results for the native, collision-chaining, and general-probing hash types.
5910- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_zlob_int_find.png" style="text-align: middle"/></div></div><p>
5911+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_hash_zlob_int_find.png" align="middle" /></div></div><p>
5912 The abbreviated names in the legend of the graphic above are
5913 instantiated with the types in the following table.
5914- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5915+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5916 n_hash_map_ncah
5917- </td></tr><tr><td style="text-align: left">
5918+ </td></tr><tr><td align="left">
5919 <code class="classname">std::tr1::unordered_map</code>
5920- </td><td style="text-align: left">
5921+ </td><td align="left">
5922 <code class="classname">cache_hash_code</code>
5923- </td><td style="text-align: left">
5924+ </td><td align="left">
5925 <code class="constant">false</code>
5926- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5927+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5928 cc_hash_mod_prime_1div1_nsth_map
5929- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5930+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5931 <code class="classname">cc_hash_table</code>
5932- </td><td style="text-align: left">
5933+ </td><td align="left">
5934 <code class="classname">Comb_Hash_Fn</code>
5935- </td><td style="text-align: left">
5936+ </td><td align="left">
5937 <code class="classname">direct_mod_range_hashing</code>
5938- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5939+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5940 <code class="classname">Resize_Policy</code>
5941- </td><td rowspan="2" style="text-align: left" valign="top">
5942+ </td><td rowspan="2" align="left" valign="top">
5943 <code class="classname">hash_standard_resize_policy</code>
5944- </td><td style="text-align: left">
5945+ </td><td align="left">
5946 <code class="classname">Size_Policy</code>
5947- </td><td style="text-align: left">
5948+ </td><td align="left">
5949 <code class="classname">hash_prime_size_policy</code>
5950- </td></tr><tr><td style="text-align: left" valign="top">
5951+ </td></tr><tr><td align="left" valign="top">
5952 <code class="classname">Trigger_Policy</code>
5953- </td><td style="text-align: left">
5954+ </td><td align="left">
5955 <code class="classname">hash_load_check_resize_trigger</code> with
5956 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
5957- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5958+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5959 cc_hash_mask_exp_1div1_nsth_map
5960- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
5961+ </td></tr><tr><td rowspan="3" align="left" valign="top">
5962 <code class="classname">
5963 cc_hash_table
5964 </code>
5965- </td><td style="text-align: left">
5966+ </td><td align="left">
5967 <code class="classname">Comb_Hash_Fn</code>
5968- </td><td style="text-align: left">
5969+ </td><td align="left">
5970 <code class="classname">direct_mask_range_hashing</code>
5971- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
5972+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
5973 <code class="classname">Resize_Policy</code>
5974- </td><td rowspan="2" style="text-align: left" valign="top">
5975+ </td><td rowspan="2" align="left" valign="top">
5976 <code class="classname">hash_standard_resize_policy</code>
5977- </td><td style="text-align: left">
5978+ </td><td align="left">
5979 <code class="classname">Size_Policy</code>
5980- </td><td style="text-align: left">
5981+ </td><td align="left">
5982 <code class="classname">hash_exponential_size_policy</code>
5983- </td></tr><tr><td style="text-align: left" valign="top">
5984+ </td></tr><tr><td align="left" valign="top">
5985 <code class="classname">Trigger_Policy</code>
5986- </td><td style="text-align: left">
5987+ </td><td align="left">
5988 <code class="classname">hash_load_check_resize_trigger</code> with
5989 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
5990- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
5991+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
5992 gp_hash_mod_quadp_prime_1div2_nsth_map
5993- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
5994+ </td></tr><tr><td rowspan="4" align="left" valign="top">
5995 <code class="classname">gp_hash_table</code>
5996- </td><td style="text-align: left">
5997+ </td><td align="left">
5998 <code class="classname">Comb_Hash_Fn</code>
5999- </td><td style="text-align: left">
6000+ </td><td align="left">
6001 <code class="classname">direct_mod_range_hashing</code>
6002- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
6003+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
6004 <code class="classname">Probe_Fn</code>
6005- </td><td style="text-align: left">
6006+ </td><td align="left">
6007 <code class="classname">quadratic_probe_fn</code>
6008- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6009+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
6010 <code class="classname">Resize_Policy</code>
6011- </td><td rowspan="2" style="text-align: left" valign="top">
6012+ </td><td rowspan="2" align="left" valign="top">
6013 <code class="classname">hash_standard_resize_policy</code>
6014- </td><td style="text-align: left">
6015+ </td><td align="left">
6016 <code class="classname">Size_Policy</code>
6017- </td><td style="text-align: left">
6018+ </td><td align="left">
6019 <code class="classname">hash_prime_size_policy</code>
6020- </td></tr><tr><td style="text-align: left" valign="top">
6021+ </td></tr><tr><td align="left" valign="top">
6022 <code class="classname">Trigger_Policy</code>
6023- </td><td style="text-align: left">
6024+ </td><td align="left">
6025 <code class="classname">hash_load_check_resize_trigger</code> with
6026 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
6027- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.zlob_int_find.observations"/>
6028+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.zlob_int_find.observations"></a>
6029 Observations
6030 </h6></div></div></div><p>In this setting, the distribution of keys is so skewed that
6031 the underlying hash-table type affects performance marginally.
6032@@ -895,9 +895,9 @@
6033 performance is bad, a χ<sup>2</sup> test can be used
6034 to check how to transform it into a more uniform
6035 distribution.</p><p>For this reason, this library's default range-hashing
6036- function is mask-based.</p></div></div><div class="section" title="Erase Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.erase_mem"/>
6037+ function is mask-based.</p></div></div><div class="section" title="Erase Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.erase_mem"></a>
6038 Erase Memory Use
6039- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.erase_mem.info"/>
6040+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.erase_mem.info"></a>
6041 Description
6042 </h6></div></div></div><p>This test inserts a number of uniform integer keys
6043 into a container, then erases all keys except one. It measures
6044@@ -907,90 +907,90 @@
6045 performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc
6046 </code>
6047 </p><p>The test checks how containers adjust internally as their
6048- logical size decreases.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.erase_mem.results"/>
6049+ logical size decreases.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.erase_mem.results"></a>
6050 Results
6051 </h6></div></div></div><p>The graphic below show the results for the native, collision-chaining, and general-probing hash types.
6052- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_int_erase_mem.png" style="text-align: middle"/></div></div><p>
6053+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_hash_int_erase_mem.png" align="middle" /></div></div><p>
6054 The abbreviated names in the legend of the graphic above are
6055 instantiated with the types in the following table.
6056- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
6057+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
6058 n_hash_map_ncah
6059- </td></tr><tr><td style="text-align: left">
6060+ </td></tr><tr><td align="left">
6061 <code class="classname">std::tr1::unordered_map</code>
6062- </td><td style="text-align: left">
6063+ </td><td align="left">
6064 <code class="classname">cache_hash_code</code>
6065- </td><td style="text-align: left">
6066+ </td><td align="left">
6067 <code class="constant">false</code>
6068- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
6069+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
6070 cc_hash_mod_prime_1div1_nsth_map
6071- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
6072+ </td></tr><tr><td rowspan="3" align="left" valign="top">
6073 <code class="classname">cc_hash_table</code>
6074- </td><td style="text-align: left">
6075+ </td><td align="left">
6076 <code class="classname">Comb_Hash_Fn</code>
6077- </td><td style="text-align: left">
6078+ </td><td align="left">
6079 <code class="classname">direct_mod_range_hashing</code>
6080- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6081+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
6082 <code class="classname">Resize_Policy</code>
6083- </td><td rowspan="2" style="text-align: left" valign="top">
6084+ </td><td rowspan="2" align="left" valign="top">
6085 <code class="classname">hash_standard_resize_policy</code>
6086- </td><td style="text-align: left">
6087+ </td><td align="left">
6088 <code class="classname">Size_Policy</code>
6089- </td><td style="text-align: left">
6090+ </td><td align="left">
6091 <code class="classname">hash_prime_size_policy</code>
6092- </td></tr><tr><td style="text-align: left" valign="top">
6093+ </td></tr><tr><td align="left" valign="top">
6094 <code class="classname">Trigger_Policy</code>
6095- </td><td style="text-align: left">
6096+ </td><td align="left">
6097 <code class="classname">hash_load_check_resize_trigger</code> with
6098 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
6099- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
6100+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
6101 cc_hash_mask_exp_1div2_nsth_map
6102- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
6103+ </td></tr><tr><td rowspan="3" align="left" valign="top">
6104 <code class="classname">
6105 cc_hash_table
6106 </code>
6107- </td><td style="text-align: left">
6108+ </td><td align="left">
6109 <code class="classname">Comb_Hash_Fn</code>
6110- </td><td style="text-align: left">
6111+ </td><td align="left">
6112 <code class="classname">direct_mask_range_hashing</code>
6113- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6114+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
6115 <code class="classname">Resize_Policy</code>
6116- </td><td rowspan="2" style="text-align: left" valign="top">
6117+ </td><td rowspan="2" align="left" valign="top">
6118 <code class="classname">hash_standard_resize_policy</code>
6119- </td><td style="text-align: left">
6120+ </td><td align="left">
6121 <code class="classname">Size_Policy</code>
6122- </td><td style="text-align: left">
6123+ </td><td align="left">
6124 <code class="classname">hash_exponential_size_policy</code>
6125- </td></tr><tr><td style="text-align: left" valign="top">
6126+ </td></tr><tr><td align="left" valign="top">
6127 <code class="classname">Trigger_Policy</code>
6128- </td><td style="text-align: left">
6129+ </td><td align="left">
6130 <code class="classname">hash_load_check_resize_trigger</code> with
6131 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
6132- </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
6133+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
6134 gp_hash_mask_linp_exp_1div2_nsth_set
6135- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
6136+ </td></tr><tr><td rowspan="4" align="left" valign="top">
6137 <code class="classname">gp_hash_table</code>
6138- </td><td style="text-align: left">
6139+ </td><td align="left">
6140 <code class="classname">Comb_Hash_Fn</code>
6141- </td><td style="text-align: left">
6142+ </td><td align="left">
6143 <code class="classname">direct_mask_range_hashing</code>
6144- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
6145+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
6146 <code class="classname">Probe_Fn</code>
6147- </td><td style="text-align: left">
6148+ </td><td align="left">
6149 <code class="classname">linear_probe_fn</code>
6150- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6151+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
6152 <code class="classname">Resize_Policy</code>
6153- </td><td rowspan="2" style="text-align: left" valign="top">
6154+ </td><td rowspan="2" align="left" valign="top">
6155 <code class="classname">hash_standard_resize_policy</code>
6156- </td><td style="text-align: left">
6157+ </td><td align="left">
6158 <code class="classname">Size_Policy</code>
6159- </td><td style="text-align: left">
6160+ </td><td align="left">
6161 <code class="classname">hash_exponential_size_policy</code>
6162- </td></tr><tr><td style="text-align: left" valign="top">
6163+ </td></tr><tr><td align="left" valign="top">
6164 <code class="classname">Trigger_Policy</code>
6165- </td><td style="text-align: left">
6166+ </td><td align="left">
6167 <code class="classname">hash_load_check_resize_trigger</code> with
6168 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
6169- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.erase_mem.observations"/>
6170+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.erase_mem.observations"></a>
6171 Observations
6172 </h6></div></div></div><p>The standard's hash-based containers act very differently than trees in
6173 this respect. When erasing numerous keys from an standard
6174@@ -998,9 +998,9 @@
6175 depending on whether the container is tree-based or hash-based.
6176 This is a fundamental consequence of the standard's interface for
6177 associative containers, and it is not due to a specific
6178- implementation.</p></div></div></div><div class="section" title="Branch-Based"><div class="titlepage"><div><div><h4 class="title"><a id="performance.branch"/>Branch-Based</h4></div></div></div><p/><div class="section" title="Text insert"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.text_insert"/>
6179+ implementation.</p></div></div></div><div class="section" title="Branch-Based"><div class="titlepage"><div><div><h4 class="title"><a id="performance.branch"></a>Branch-Based</h4></div></div></div><p></p><div class="section" title="Text insert"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.text_insert"></a>
6180 Text <code class="function">insert</code>
6181- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.info"/>
6182+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.info"></a>
6183 Description
6184 </h6></div></div></div><p>This test inserts a number of values with keys from an arbitrary
6185 text ([ wickland96thirty ]) into a container
6186@@ -1012,7 +1012,7 @@
6187 <code class="filename">
6188 performance/ext/pb_ds/tree_text_insert_timing.cc
6189 </code>
6190- </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.results"/>
6191+ </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.results"></a>
6192 Results
6193 </h6></div></div></div><p>The three graphics below show the results for the native
6194 tree and this library's node-based trees, the native tree and
6195@@ -1020,80 +1020,80 @@
6196 and this library's PATRICIA-trie, respectively.
6197 </p><p>The graphic immediately below shows the results for the
6198 native tree type and several node-based tree types.
6199- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_text_insert_node.png" style="text-align: middle"/></div><p>
6200+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_text_insert_node.png" align="middle" /></div><p>
6201 The abbreviated names in the legend of the graphic above are
6202 instantiated with the types in the following table.
6203- </p></div><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6204+ </p></div><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6205 n_map
6206- </td></tr><tr><td style="text-align: left">
6207+ </td></tr><tr><td align="left">
6208 <code class="classname">std::map</code>
6209- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6210+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6211 splay_tree_map
6212- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6213+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6214 <code class="classname">tree</code>
6215- </td><td style="text-align: left">
6216+ </td><td align="left">
6217 <code class="classname">Tag</code>
6218- </td><td style="text-align: left">
6219+ </td><td align="left">
6220 <code class="classname">splay_tree_tag</code>
6221- </td></tr><tr><td style="text-align: left">
6222+ </td></tr><tr><td align="left">
6223 <code class="classname">Node_update</code>
6224- </td><td style="text-align: left">
6225+ </td><td align="left">
6226 <code class="classname">null_node_update</code>
6227- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6228+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6229 rb_tree_map
6230- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6231+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6232 <code class="classname">tree</code>
6233- </td><td style="text-align: left">
6234+ </td><td align="left">
6235 <code class="classname">Tag</code>
6236- </td><td style="text-align: left">
6237+ </td><td align="left">
6238 <code class="classname">rb_tree_tag</code>
6239- </td></tr><tr><td style="text-align: left">
6240+ </td></tr><tr><td align="left">
6241 <code class="classname">Node_update</code>
6242- </td><td style="text-align: left">
6243+ </td><td align="left">
6244 <code class="classname">null_node_update</code>
6245 </td></tr></tbody></table></div><p>The graphic below shows the results for the
6246 native tree type and a vector-based tree type.
6247- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_text_insert_vector.png" style="text-align: middle"/></div></div><p>
6248+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_text_insert_vector.png" align="middle" /></div></div><p>
6249 The abbreviated names in the legend of the graphic above are
6250 instantiated with the types in the following table.
6251- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6252+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6253 n_map
6254- </td></tr><tr><td style="text-align: left">
6255+ </td></tr><tr><td align="left">
6256 <code class="classname">std::map</code>
6257- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6258+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6259 ov_tree_map
6260- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6261+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6262 <code class="classname">tree</code>
6263- </td><td style="text-align: left">
6264+ </td><td align="left">
6265 <code class="classname">Tag</code>
6266- </td><td style="text-align: left">
6267+ </td><td align="left">
6268 <code class="classname">ov_tree_tag</code>
6269- </td></tr><tr><td style="text-align: left">
6270+ </td></tr><tr><td align="left">
6271 <code class="classname">Node_update</code>
6272- </td><td style="text-align: left">
6273+ </td><td align="left">
6274 <code class="classname">null_node_update</code>
6275 </td></tr></tbody></table></div><p>The graphic below shows the results for the
6276 native tree type and a PATRICIA trie type.
6277- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_text_insert_trie.png" style="text-align: middle"/></div></div><p>
6278+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_text_insert_trie.png" align="middle" /></div></div><p>
6279 The abbreviated names in the legend of the graphic above are
6280 instantiated with the types in the following table.
6281- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6282+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6283 n_map
6284- </td></tr><tr><td style="text-align: left">
6285+ </td></tr><tr><td align="left">
6286 <code class="classname">std::map</code>
6287- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6288+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6289 pat_trie_map
6290- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6291+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6292 <code class="classname">tree</code>
6293- </td><td style="text-align: left">
6294+ </td><td align="left">
6295 <code class="classname">Tag</code>
6296- </td><td style="text-align: left">
6297+ </td><td align="left">
6298 <code class="classname">pat_trie_tag</code>
6299- </td></tr><tr><td style="text-align: left">
6300+ </td></tr><tr><td align="left">
6301 <code class="classname">Node_update</code>
6302- </td><td style="text-align: left">
6303+ </td><td align="left">
6304 <code class="classname">null_node_update</code>
6305- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.observations"/>
6306+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.observations"></a>
6307 Observations
6308 </h6></div></div></div><p>Observing the first graphic implies that for this setting, a splay tree
6309 (<code class="classname">tree</code> with <code class="classname">Tag
6310@@ -1113,9 +1113,9 @@
6311 encountered, a new "hash-table" is built A large fan-out PATRICIA
6312 trie, however, doe does well in look-ups (see Branch-Based
6313 Text <code class="function">find</code> Find Timing Test). It may be
6314- beneficial in semi-static settings.</p></div></div><div class="section" title="Text find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.text_find"/>
6315+ beneficial in semi-static settings.</p></div></div><div class="section" title="Text find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.text_find"></a>
6316 Text <code class="function">find</code>
6317- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_find.info"/>
6318+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_find.info"></a>
6319 Description
6320 </h6></div></div></div><p>This test inserts a number of values with keys from an
6321 arbitrary text ([wickland96thirty]) into
6322@@ -1128,71 +1128,71 @@
6323 performance/ext/pb_ds/text_find_timing.cc
6324 </code>
6325 </p><p>The test checks the effect of different underlying
6326- data structures.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_find.results"/>
6327+ data structures.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_find.results"></a>
6328 Results
6329 </h6></div></div></div><p>The graphic immediately below shows the results for the
6330 native tree type and several other tree types.
6331- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_text_find.png" style="text-align: middle"/></div></div><p>
6332+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_text_find.png" align="middle" /></div></div><p>
6333 The abbreviated names in the legend of the graphic above are
6334 instantiated with the types in the following table.
6335- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6336+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6337 n_map
6338- </td></tr><tr><td style="text-align: left">
6339+ </td></tr><tr><td align="left">
6340 <code class="classname">std::map</code>
6341- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6342+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6343 splay_tree_map
6344- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6345+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6346 <code class="classname">tree</code>
6347- </td><td style="text-align: left">
6348+ </td><td align="left">
6349 <code class="classname">Tag</code>
6350- </td><td style="text-align: left">
6351+ </td><td align="left">
6352 <code class="classname">splay_tree_tag</code>
6353- </td></tr><tr><td style="text-align: left">
6354+ </td></tr><tr><td align="left">
6355 <code class="classname">Node_Update</code>
6356- </td><td style="text-align: left">
6357+ </td><td align="left">
6358 <code class="classname">null_node_update</code>
6359- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6360+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6361 rb_tree_map
6362- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6363+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6364 <code class="classname">tree</code>
6365- </td><td style="text-align: left">
6366+ </td><td align="left">
6367 <code class="classname">Tag</code>
6368- </td><td style="text-align: left">
6369+ </td><td align="left">
6370 <code class="classname">rb_tree_tag</code>
6371- </td></tr><tr><td style="text-align: left">
6372+ </td></tr><tr><td align="left">
6373 <code class="classname">Node_Update</code>
6374- </td><td style="text-align: left">
6375+ </td><td align="left">
6376 <code class="classname">null_node_update</code>
6377- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6378+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6379 ov_tree_map
6380- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6381+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6382 <code class="classname">tree</code>
6383- </td><td style="text-align: left">
6384+ </td><td align="left">
6385 <code class="classname">Tag</code>
6386- </td><td style="text-align: left">
6387+ </td><td align="left">
6388 <code class="classname">ov_tree_tag</code>
6389- </td></tr><tr><td style="text-align: left">
6390+ </td></tr><tr><td align="left">
6391 <code class="classname">Node_Update</code>
6392- </td><td style="text-align: left">
6393+ </td><td align="left">
6394 <code class="classname">null_node_update</code>
6395- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6396+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6397 pat_trie_map
6398- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6399+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6400 <code class="classname">tree</code>
6401- </td><td style="text-align: left">
6402+ </td><td align="left">
6403 <code class="classname">Tag</code>
6404- </td><td style="text-align: left">
6405+ </td><td align="left">
6406 <code class="classname">pat_trie_tag</code>
6407- </td></tr><tr><td style="text-align: left">
6408+ </td></tr><tr><td align="left">
6409 <code class="classname">Node_Update</code>
6410- </td><td style="text-align: left">
6411+ </td><td align="left">
6412 <code class="classname">null_node_update</code>
6413- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_find.observations"/>
6414+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_find.observations"></a>
6415 Observations
6416 </h6></div></div></div><p>For this setting, a splay tree (<code class="classname">tree</code>
6417 with <code class="classname">Tag
6418 </code> = <code class="classname">splay_tree_tag</code>) does not do
6419- well. This is possibly due to two reasons:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>A splay tree is not guaranteed to be balanced [motwani95random]. If a
6420+ well. This is possibly due to two reasons:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>A splay tree is not guaranteed to be balanced [motwani95random]. If a
6421 splay tree contains n nodes, its average root-leaf
6422 path can be m &gt;&gt; log(n).</p></li><li class="listitem"><p>Assume a specific root-leaf search path has length
6423 m, and the search-target node has distance m'
6424@@ -1220,9 +1220,9 @@
6425 by a sub-trie. A large-fan-out PATRICIA trie does not do well on
6426 modifications (see Tree-Based and Trie-Based
6427 Text Insert Timing Test). Therefore, it is possibly beneficial in
6428- semi-static settings.</p></div></div><div class="section" title="Text find with Locality-of-Reference"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.text_lor_find"/>
6429+ semi-static settings.</p></div></div><div class="section" title="Text find with Locality-of-Reference"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.text_lor_find"></a>
6430 Text <code class="function">find</code> with Locality-of-Reference
6431- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.info"/>
6432+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.info"></a>
6433 Description
6434 </h6></div></div></div><p>This test inserts a number of values with keys from an
6435 arbitrary text ([ wickland96thirty ]) into
6436@@ -1238,66 +1238,66 @@
6437 performance/ext/pb_ds/tree_text_lor_find_timing.cc
6438 </code>
6439 </p><p>The test checks the effect of different underlying
6440- data structures in a locality-of-reference setting.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.results"/>
6441+ data structures in a locality-of-reference setting.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.results"></a>
6442 Results
6443 </h6></div></div></div><p>The graphic immediately below shows the results for the
6444 native tree type and several other tree types.
6445- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_text_lor_find.png" style="text-align: middle"/></div></div><p>
6446+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_text_lor_find.png" align="middle" /></div></div><p>
6447 The abbreviated names in the legend of the graphic above are
6448 instantiated with the types in the following table.
6449- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6450+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6451 n_map
6452- </td></tr><tr><td style="text-align: left">
6453+ </td></tr><tr><td align="left">
6454 <code class="classname">std::map</code>
6455- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6456+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6457 splay_tree_map
6458- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6459+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6460 <code class="classname">tree</code>
6461- </td><td style="text-align: left">
6462+ </td><td align="left">
6463 <code class="classname">Tag</code>
6464- </td><td style="text-align: left">
6465+ </td><td align="left">
6466 <code class="classname">splay_tree_tag</code>
6467- </td></tr><tr><td style="text-align: left">
6468+ </td></tr><tr><td align="left">
6469 <code class="classname">Node_Update</code>
6470- </td><td style="text-align: left">
6471+ </td><td align="left">
6472 <code class="classname">null_node_update</code>
6473- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6474+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6475 rb_tree_map
6476- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6477+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6478 <code class="classname">tree</code>
6479- </td><td style="text-align: left">
6480+ </td><td align="left">
6481 <code class="classname">Tag</code>
6482- </td><td style="text-align: left">
6483+ </td><td align="left">
6484 <code class="classname">rb_tree_tag</code>
6485- </td></tr><tr><td style="text-align: left">
6486+ </td></tr><tr><td align="left">
6487 <code class="classname">Node_Update</code>
6488- </td><td style="text-align: left">
6489+ </td><td align="left">
6490 <code class="classname">null_node_update</code>
6491- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6492+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6493 ov_tree_map
6494- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6495+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6496 <code class="classname">tree</code>
6497- </td><td style="text-align: left">
6498+ </td><td align="left">
6499 <code class="classname">Tag</code>
6500- </td><td style="text-align: left">
6501+ </td><td align="left">
6502 <code class="classname">ov_tree_tag</code>
6503- </td></tr><tr><td style="text-align: left">
6504+ </td></tr><tr><td align="left">
6505 <code class="classname">Node_Update</code>
6506- </td><td style="text-align: left">
6507+ </td><td align="left">
6508 <code class="classname">null_node_update</code>
6509- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6510+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6511 pat_trie_map
6512- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6513+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6514 <code class="classname">tree</code>
6515- </td><td style="text-align: left">
6516+ </td><td align="left">
6517 <code class="classname">Tag</code>
6518- </td><td style="text-align: left">
6519+ </td><td align="left">
6520 <code class="classname">pat_trie_tag</code>
6521- </td></tr><tr><td style="text-align: left">
6522+ </td></tr><tr><td align="left">
6523 <code class="classname">Node_Update</code>
6524- </td><td style="text-align: left">
6525+ </td><td align="left">
6526 <code class="classname">null_node_update</code>
6527- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.observations"/>
6528+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.observations"></a>
6529 Observations
6530 </h6></div></div></div><p>For this setting, an ordered-vector tree
6531 (<code class="classname">tree</code> with <code class="classname">Tag</code>
6532@@ -1307,9 +1307,9 @@
6533 tree all share approximately the same performance.</p><p>A splay tree (<code class="classname">tree</code>
6534 with <code class="classname">Tag</code> = <code class="classname">splay_tree_tag</code>) does
6535 much better, since each (successful) find "bubbles" the
6536- corresponding node to the root of the tree.</p></div></div><div class="section" title="split and join"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.split_join"/>
6537+ corresponding node to the root of the tree.</p></div></div><div class="section" title="split and join"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.split_join"></a>
6538 <code class="function">split</code> and <code class="function">join</code>
6539- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.split_join.info"/>
6540+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.split_join.info"></a>
6541 Description
6542 </h6></div></div></div><p>This test a container, inserts into a number of values, splits
6543 the container at the median, and joins the two containers. (If the
6544@@ -1328,66 +1328,66 @@
6545 implication, this test checks the most efficient way to erase a
6546 sub-sequence from a tree-like-based container, since this can
6547 always be performed by a small sequence of splits and joins.
6548- </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.split_join.results"/>
6549+ </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.split_join.results"></a>
6550 Results
6551 </h6></div></div></div><p>The graphic immediately below shows the results for the
6552 native tree type and several other tree types.
6553- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_split_join.png" style="text-align: middle"/></div></div><p>
6554+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_split_join.png" align="middle" /></div></div><p>
6555 The abbreviated names in the legend of the graphic above are
6556 instantiated with the types in the following table.
6557- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6558+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6559 n_set
6560- </td></tr><tr><td style="text-align: left">
6561+ </td></tr><tr><td align="left">
6562 <code class="classname">std::set</code>
6563- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6564+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6565 splay_tree_set
6566- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6567+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6568 <code class="classname">tree</code>
6569- </td><td style="text-align: left">
6570+ </td><td align="left">
6571 <code class="classname">Tag</code>
6572- </td><td style="text-align: left">
6573+ </td><td align="left">
6574 <code class="classname">splay_tree_tag</code>
6575- </td></tr><tr><td style="text-align: left">
6576+ </td></tr><tr><td align="left">
6577 <code class="classname">Node_Update</code>
6578- </td><td style="text-align: left">
6579+ </td><td align="left">
6580 <code class="classname">null_node_update</code>
6581- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6582+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6583 rb_tree_set
6584- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6585+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6586 <code class="classname">tree</code>
6587- </td><td style="text-align: left">
6588+ </td><td align="left">
6589 <code class="classname">Tag</code>
6590- </td><td style="text-align: left">
6591+ </td><td align="left">
6592 <code class="classname">rb_tree_tag</code>
6593- </td></tr><tr><td style="text-align: left">
6594+ </td></tr><tr><td align="left">
6595 <code class="classname">Node_Update</code>
6596- </td><td style="text-align: left">
6597+ </td><td align="left">
6598 <code class="classname">null_node_update</code>
6599- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6600+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6601 ov_tree_set
6602- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6603+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6604 <code class="classname">tree</code>
6605- </td><td style="text-align: left">
6606+ </td><td align="left">
6607 <code class="classname">Tag</code>
6608- </td><td style="text-align: left">
6609+ </td><td align="left">
6610 <code class="classname">ov_tree_tag</code>
6611- </td></tr><tr><td style="text-align: left">
6612+ </td></tr><tr><td align="left">
6613 <code class="classname">Node_Update</code>
6614- </td><td style="text-align: left">
6615+ </td><td align="left">
6616 <code class="classname">null_node_update</code>
6617- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6618+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6619 pat_trie_map
6620- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6621+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6622 <code class="classname">tree</code>
6623- </td><td style="text-align: left">
6624+ </td><td align="left">
6625 <code class="classname">Tag</code>
6626- </td><td style="text-align: left">
6627+ </td><td align="left">
6628 <code class="classname">pat_trie_tag</code>
6629- </td></tr><tr><td style="text-align: left">
6630+ </td></tr><tr><td align="left">
6631 <code class="classname">Node_Update</code>
6632- </td><td style="text-align: left">
6633+ </td><td align="left">
6634 <code class="classname">null_node_update</code>
6635- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.split_join.observations"/>
6636+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.split_join.observations"></a>
6637 Observations
6638 </h6></div></div></div><p>In this test, the native red-black trees must be split and
6639 joined externally, through a sequence of <code class="function">erase</code> and
6640@@ -1414,9 +1414,9 @@
6641 via <code class="classname">container_traits</code>).</p><p>It is important to note that <code class="function">split</code> and
6642 <code class="function">join</code> are not esoteric methods - they are the most
6643 efficient means of erasing a contiguous range of values from a
6644- tree based container.</p></div></div><div class="section" title="Order-Statistics"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.order_statistics"/>
6645+ tree based container.</p></div></div><div class="section" title="Order-Statistics"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.order_statistics"></a>
6646 Order-Statistics
6647- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.order_statistics.info"/>
6648+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.order_statistics.info"></a>
6649 Description
6650 </h6></div></div></div><p>This test creates a container, inserts random integers into the
6651 the container, and then checks the order-statistics of the
6652@@ -1433,42 +1433,42 @@
6653 performance/ext/pb_ds/tree_order_statistics_timing.cc
6654 </code>
6655 </p><p>The test checks the performance difference of policies based
6656- on node-invariant as opposed to a external functions.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.order_statistics.results"/>
6657+ on node-invariant as opposed to a external functions.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.order_statistics.results"></a>
6658 Results
6659 </h6></div></div></div><p>The graphic immediately below shows the results for the
6660 native tree type and several other tree types.
6661- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_order_statistics.png" style="text-align: middle"/></div></div><p>
6662+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_order_statistics.png" align="middle" /></div></div><p>
6663 The abbreviated names in the legend of the graphic above are
6664 instantiated with the types in the following table.
6665- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6666+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6667 n_set
6668- </td></tr><tr><td style="text-align: left">
6669+ </td></tr><tr><td align="left">
6670 <code class="classname">std::set</code>
6671- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6672+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6673 splay_tree_ost_set
6674- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6675+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6676 <code class="classname">tree</code>
6677- </td><td style="text-align: left">
6678+ </td><td align="left">
6679 <code class="classname">Tag</code>
6680- </td><td style="text-align: left">
6681+ </td><td align="left">
6682 <code class="classname">splay_tree_tag</code>
6683- </td></tr><tr><td style="text-align: left">
6684+ </td></tr><tr><td align="left">
6685 <code class="classname">Node_Update</code>
6686- </td><td style="text-align: left">
6687+ </td><td align="left">
6688 <code class="classname">tree_order_statistics_node_update</code>
6689- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
6690+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
6691 rb_tree_ost_set
6692- </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6693+ </td></tr><tr><td rowspan="2" align="left" valign="top">
6694 <code class="classname">tree</code>
6695- </td><td style="text-align: left">
6696+ </td><td align="left">
6697 <code class="classname">Tag</code>
6698- </td><td style="text-align: left">
6699+ </td><td align="left">
6700 <code class="classname">rb_tree_tag</code>
6701- </td></tr><tr><td style="text-align: left">
6702+ </td></tr><tr><td align="left">
6703 <code class="classname">Node_Update</code>
6704- </td><td style="text-align: left">
6705+ </td><td align="left">
6706 <code class="classname">tree_order_statistics_node_update</code>
6707- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.order_statistics.observations"/>
6708+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.order_statistics.observations"></a>
6709 Observations
6710 </h6></div></div></div><p>In this test, the native red-black tree can support
6711 order-statistics queries only externally, by performing a
6712@@ -1485,9 +1485,9 @@
6713 tree (<code class="classname">tree</code>
6714 with <code class="classname">Tag =</code> <code class="classname">rb_tree_tag</code> ) is
6715 logarithmic in the number of elements. Consequently, the splay
6716- tree has worse performance than the red-black tree.</p></div></div></div><div class="section" title="Multimap"><div class="titlepage"><div><div><h4 class="title"><a id="performance.multimap"/>Multimap</h4></div></div></div><p/><div class="section" title="Text find with Small Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_find_small"/>
6717+ tree has worse performance than the red-black tree.</p></div></div></div><div class="section" title="Multimap"><div class="titlepage"><div><div><h4 class="title"><a id="performance.multimap"></a>Multimap</h4></div></div></div><p></p><div class="section" title="Text find with Small Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_find_small"></a>
6718 Text <code class="function">find</code> with Small Secondary-to-Primary Key Ratios
6719- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_small.info"/>
6720+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_small.info"></a>
6721 Description
6722 </h6></div></div></div><p>This test inserts a number of pairs into a container. The
6723 first item of each pair is a string from an arbitrary text
6724@@ -1508,160 +1508,160 @@
6725 performance/ext/pb_ds/multimap_text_find_timing_small.cc
6726 </code>
6727 </p><p>The test checks the find-time scalability of different
6728- "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_small.results"/>
6729+ "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_small.results"></a>
6730 Results
6731 </h6></div></div></div><p>The graphic below show the results for "multimaps" which
6732 use a tree-based container for primary keys.
6733- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_small_s2p_tree.png" style="text-align: middle"/></div></div><p>
6734+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_small_s2p_tree.png" align="middle" /></div></div><p>
6735 The abbreviated names in the legend of the graphic above are
6736 instantiated with the types in the following table.
6737- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
6738+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
6739 n_mmap
6740- </td></tr><tr><td style="text-align: left">
6741+ </td></tr><tr><td align="left">
6742 <code class="classname">std::multimap</code>
6743- </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
6744+ </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
6745 rb_tree_mmap_lu_mtf_set
6746- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
6747+ </td></tr><tr><td rowspan="3" align="left" valign="top">
6748 <code class="classname">tree</code>
6749- </td><td style="text-align: left">
6750+ </td><td align="left">
6751 <code class="classname">Tag</code>
6752- </td><td style="text-align: left">
6753+ </td><td align="left">
6754 <code class="classname">rb_tree_tag</code>
6755- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
6756+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
6757 <code class="classname">Node_Update</code>
6758- </td><td style="text-align: left">
6759+ </td><td align="left">
6760 <code class="classname">null_node_update</code>
6761- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
6762+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
6763 <code class="classname">Mapped</code>
6764- </td><td style="text-align: left">
6765+ </td><td align="left">
6766 <code class="classname">list_update</code>
6767- </td><td style="text-align: left">
6768+ </td><td align="left">
6769 <code class="classname">Update_Policy</code>
6770- </td><td style="text-align: left">
6771+ </td><td align="left">
6772 <code class="classname">lu_move_to_front_policy</code>
6773- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
6774+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
6775 rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
6776- </td></tr><tr><td rowspan="5" style="text-align: left" valign="top">
6777+ </td></tr><tr><td rowspan="5" align="left" valign="top">
6778 <code class="classname">tree</code>
6779- </td><td style="text-align: left">
6780+ </td><td align="left">
6781 <code class="classname">Tag</code>
6782- </td><td style="text-align: left">
6783+ </td><td align="left">
6784 <code class="classname">rb_tree_tag</code>
6785- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
6786+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
6787 <code class="classname">Node_Update</code>
6788- </td><td style="text-align: left">
6789+ </td><td align="left">
6790 <code class="classname">null_node_update</code>
6791- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
6792+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
6793 <code class="classname">Mapped</code>
6794- </td><td rowspan="3" style="text-align: left" valign="top">
6795+ </td><td rowspan="3" align="left" valign="top">
6796 <code class="classname">cc_hash_table</code>
6797- </td><td style="text-align: left">
6798+ </td><td align="left">
6799 <code class="classname">Comb_Hash_Fn</code>
6800- </td><td style="text-align: left">
6801+ </td><td align="left">
6802 <code class="classname">direct_mask_range_hashing</code>
6803- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6804+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
6805 <code class="classname">Resize_Policy</code>
6806- </td><td rowspan="2" style="text-align: left" valign="top">
6807+ </td><td rowspan="2" align="left" valign="top">
6808 <code class="classname">hash_standard_resize_policy</code>
6809- </td><td style="text-align: left">
6810+ </td><td align="left">
6811 <code class="classname">Size_Policy</code>
6812- </td><td style="text-align: left">
6813+ </td><td align="left">
6814 <code class="classname">hash_exponential_size_policy</code>
6815- </td></tr><tr><td style="text-align: left" valign="top">
6816+ </td></tr><tr><td align="left" valign="top">
6817 <code class="classname">Trigger_Policy</code>
6818- </td><td style="text-align: left">
6819+ </td><td align="left">
6820 <code class="classname">hash_load_check_resize_trigger</code> with
6821 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
6822 </td></tr></tbody></table></div><p>The graphic below show the results for "multimaps" which
6823 use a hash-based container for primary keys.
6824- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_small_s2p_hash.png" style="text-align: middle"/></div></div><p>
6825+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_small_s2p_hash.png" align="middle" /></div></div><p>
6826 The abbreviated names in the legend of the graphic above are
6827 instantiated with the types in the following table.
6828- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
6829+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
6830 n_hash_mmap
6831- </td></tr><tr><td style="text-align: left">
6832+ </td></tr><tr><td align="left">
6833 <code class="classname">std::tr1::unordered_multimap</code>
6834- </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
6835+ </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
6836 rb_tree_mmap_lu_mtf_set
6837- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
6838+ </td></tr><tr><td rowspan="4" align="left" valign="top">
6839 <code class="classname">
6840 cc_hash_table
6841 </code>
6842- </td><td style="text-align: left">
6843+ </td><td align="left">
6844 <code class="classname">Comb_Hash_Fn</code>
6845- </td><td style="text-align: left">
6846+ </td><td align="left">
6847 <code class="classname">direct_mask_range_hashing</code>
6848- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6849+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
6850 <code class="classname">Resize_Policy</code>
6851- </td><td rowspan="2" style="text-align: left" valign="top">
6852+ </td><td rowspan="2" align="left" valign="top">
6853 <code class="classname">hash_standard_resize_policy</code>
6854- </td><td style="text-align: left">
6855+ </td><td align="left">
6856 <code class="classname">Size_Policy</code>
6857- </td><td style="text-align: left">
6858+ </td><td align="left">
6859 <code class="classname">hash_exponential_size_policy</code>
6860- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
6861+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
6862 <code class="classname">Trigger_Policy</code>
6863- </td><td style="text-align: left">
6864+ </td><td align="left">
6865 <code class="classname">hash_load_check_resize_trigger</code> with
6866 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
6867- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
6868+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
6869 <code class="classname">Mapped</code>
6870- </td><td style="text-align: left">
6871+ </td><td align="left">
6872 <code class="classname">list_update</code>
6873- </td><td style="text-align: left">
6874+ </td><td align="left">
6875 <code class="classname">Update_Policy</code>
6876- </td><td style="text-align: left">
6877+ </td><td align="left">
6878 <code class="classname">lu_move_to_front_policy</code>
6879- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
6880+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
6881 rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
6882- </td></tr><tr><td rowspan="6" style="text-align: left" valign="top">
6883+ </td></tr><tr><td rowspan="6" align="left" valign="top">
6884 <code class="classname">
6885 cc_hash_table
6886 </code>
6887- </td><td style="text-align: left">
6888+ </td><td align="left">
6889 <code class="classname">Comb_Hash_Fn</code>
6890- </td><td style="text-align: left">
6891+ </td><td align="left">
6892 <code class="classname">direct_mask_range_hashing</code>
6893- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6894+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
6895 <code class="classname">Resize_Policy</code>
6896- </td><td rowspan="2" style="text-align: left" valign="top">
6897+ </td><td rowspan="2" align="left" valign="top">
6898 <code class="classname">hash_standard_resize_policy</code>
6899- </td><td style="text-align: left">
6900+ </td><td align="left">
6901 <code class="classname">Size_Policy</code>
6902- </td><td style="text-align: left">
6903+ </td><td align="left">
6904 <code class="classname">hash_exponential_size_policy</code>
6905- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
6906+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
6907 <code class="classname">Trigger_Policy</code>
6908- </td><td style="text-align: left">
6909+ </td><td align="left">
6910 <code class="classname">hash_load_check_resize_trigger</code> with
6911 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
6912- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
6913+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
6914 <code class="classname">Mapped</code>
6915- </td><td rowspan="3" style="text-align: left" valign="top">
6916+ </td><td rowspan="3" align="left" valign="top">
6917 <code class="classname">cc_hash_table</code>
6918- </td><td style="text-align: left">
6919+ </td><td align="left">
6920 <code class="classname">Comb_Hash_Fn</code>
6921- </td><td style="text-align: left">
6922+ </td><td align="left">
6923 <code class="classname">direct_mask_range_hashing</code>
6924- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
6925+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
6926 <code class="classname">Resize_Policy</code>
6927- </td><td rowspan="2" style="text-align: left" valign="top">
6928+ </td><td rowspan="2" align="left" valign="top">
6929 <code class="classname">hash_standard_resize_policy</code>
6930- </td><td style="text-align: left">
6931+ </td><td align="left">
6932 <code class="classname">Size_Policy</code>
6933- </td><td style="text-align: left">
6934+ </td><td align="left">
6935 <code class="classname">hash_exponential_size_policy</code>
6936- </td></tr><tr><td style="text-align: left" valign="top">
6937+ </td></tr><tr><td align="left" valign="top">
6938 <code class="classname">Trigger_Policy</code>
6939- </td><td style="text-align: left">
6940+ </td><td align="left">
6941 <code class="classname">hash_load_check_resize_trigger</code> with
6942 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
6943- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_small.observations"/>
6944+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_small.observations"></a>
6945 Observations
6946 </h6></div></div></div><p>See Observations::Mapping-Semantics
6947- Considerations.</p></div></div><div class="section" title="Text find with Large Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_find_large"/>
6948+ Considerations.</p></div></div><div class="section" title="Text find with Large Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_find_large"></a>
6949 Text <code class="function">find</code> with Large Secondary-to-Primary Key Ratios
6950- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_large.info"/>
6951+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_large.info"></a>
6952 Description
6953 </h6></div></div></div><p>This test inserts a number of pairs into a container. The
6954 first item of each pair is a string from an arbitrary text
6955@@ -1681,161 +1681,161 @@
6956 performance/ext/pb_ds/multimap_text_find_timing_large.cc
6957 </code>
6958 </p><p>The test checks the find-time scalability of different
6959- "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_large.results"/>
6960+ "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_large.results"></a>
6961 Results
6962 </h6></div></div></div><p>The graphic below show the results for "multimaps" which
6963 use a tree-based container for primary keys.
6964- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_large_s2p_tree.png" style="text-align: middle"/></div></div><p>
6965+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_large_s2p_tree.png" align="middle" /></div></div><p>
6966 The abbreviated names in the legend of the graphic above are
6967 instantiated with the types in the following table.
6968- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
6969+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
6970 n_mmap
6971- </td></tr><tr><td style="text-align: left">
6972+ </td></tr><tr><td align="left">
6973 <code class="classname">std::multimap</code>
6974- </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
6975+ </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
6976 rb_tree_mmap_lu_mtf_set
6977- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
6978+ </td></tr><tr><td rowspan="3" align="left" valign="top">
6979 <code class="classname">tree</code>
6980- </td><td style="text-align: left">
6981+ </td><td align="left">
6982 <code class="classname">Tag</code>
6983- </td><td style="text-align: left">
6984+ </td><td align="left">
6985 <code class="classname">rb_tree_tag</code>
6986- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
6987+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
6988 <code class="classname">Node_Update</code>
6989- </td><td style="text-align: left">
6990+ </td><td align="left">
6991 <code class="classname">null_node_update</code>
6992- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
6993+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
6994 <code class="classname">Mapped</code>
6995- </td><td style="text-align: left">
6996+ </td><td align="left">
6997 <code class="classname">list_update</code>
6998- </td><td style="text-align: left">
6999+ </td><td align="left">
7000 <code class="classname">Update_Policy</code>
7001- </td><td style="text-align: left">
7002+ </td><td align="left">
7003 <code class="classname">lu_move_to_front_policy</code>
7004- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7005+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7006 rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
7007- </td></tr><tr><td rowspan="5" style="text-align: left" valign="top">
7008+ </td></tr><tr><td rowspan="5" align="left" valign="top">
7009 <code class="classname">tree</code>
7010- </td><td style="text-align: left">
7011+ </td><td align="left">
7012 <code class="classname">Tag</code>
7013- </td><td style="text-align: left">
7014+ </td><td align="left">
7015 <code class="classname">rb_tree_tag</code>
7016- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7017+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
7018 <code class="classname">Node_Update</code>
7019- </td><td style="text-align: left">
7020+ </td><td align="left">
7021 <code class="classname">null_node_update</code>
7022- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
7023+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
7024 <code class="classname">Mapped</code>
7025- </td><td rowspan="3" style="text-align: left" valign="top">
7026+ </td><td rowspan="3" align="left" valign="top">
7027 <code class="classname">cc_hash_table</code>
7028- </td><td style="text-align: left">
7029+ </td><td align="left">
7030 <code class="classname">Comb_Hash_Fn</code>
7031- </td><td style="text-align: left">
7032+ </td><td align="left">
7033 <code class="classname">direct_mask_range_hashing</code>
7034- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7035+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7036 <code class="classname">Resize_Policy</code>
7037- </td><td rowspan="2" style="text-align: left" valign="top">
7038+ </td><td rowspan="2" align="left" valign="top">
7039 <code class="classname">hash_standard_resize_policy</code>
7040- </td><td style="text-align: left">
7041+ </td><td align="left">
7042 <code class="classname">Size_Policy</code>
7043- </td><td style="text-align: left">
7044+ </td><td align="left">
7045 <code class="classname">hash_exponential_size_policy</code>
7046- </td></tr><tr><td style="text-align: left" valign="top">
7047+ </td></tr><tr><td align="left" valign="top">
7048 <code class="classname">Trigger_Policy</code>
7049- </td><td style="text-align: left">
7050+ </td><td align="left">
7051 <code class="classname">hash_load_check_resize_trigger</code> with
7052 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7053 </td></tr></tbody></table></div><p>The graphic below show the results for "multimaps" which
7054 use a hash-based container for primary keys.
7055- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" style="text-align: middle"/></div></div><p>
7056+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" align="middle" /></div></div><p>
7057 The abbreviated names in the legend of the graphic above are
7058 instantiated with the types in the following table.
7059- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7060+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7061 n_hash_mmap
7062- </td></tr><tr><td style="text-align: left">
7063+ </td></tr><tr><td align="left">
7064 <code class="classname">std::tr1::unordered_multimap</code>
7065- </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7066+ </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7067 rb_tree_mmap_lu_mtf_set
7068- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
7069+ </td></tr><tr><td rowspan="4" align="left" valign="top">
7070 <code class="classname">
7071 cc_hash_table
7072 </code>
7073- </td><td style="text-align: left">
7074+ </td><td align="left">
7075 <code class="classname">Comb_Hash_Fn</code>
7076- </td><td style="text-align: left">
7077+ </td><td align="left">
7078 <code class="classname">direct_mask_range_hashing</code>
7079- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7080+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7081 <code class="classname">Resize_Policy</code>
7082- </td><td rowspan="2" style="text-align: left" valign="top">
7083+ </td><td rowspan="2" align="left" valign="top">
7084 <code class="classname">hash_standard_resize_policy</code>
7085- </td><td style="text-align: left">
7086+ </td><td align="left">
7087 <code class="classname">Size_Policy</code>
7088- </td><td style="text-align: left">
7089+ </td><td align="left">
7090 <code class="classname">hash_exponential_size_policy</code>
7091- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
7092+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
7093 <code class="classname">Trigger_Policy</code>
7094- </td><td style="text-align: left">
7095+ </td><td align="left">
7096 <code class="classname">hash_load_check_resize_trigger</code> with
7097 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7098- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7099+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
7100 <code class="classname">Mapped</code>
7101- </td><td style="text-align: left">
7102+ </td><td align="left">
7103 <code class="classname">list_update</code>
7104- </td><td style="text-align: left">
7105+ </td><td align="left">
7106 <code class="classname">Update_Policy</code>
7107- </td><td style="text-align: left">
7108+ </td><td align="left">
7109 <code class="classname">lu_move_to_front_policy</code>
7110- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7111+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7112 rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
7113- </td></tr><tr><td rowspan="6" style="text-align: left" valign="top">
7114+ </td></tr><tr><td rowspan="6" align="left" valign="top">
7115 <code class="classname">
7116 cc_hash_table
7117 </code>
7118- </td><td style="text-align: left">
7119+ </td><td align="left">
7120 <code class="classname">Comb_Hash_Fn</code>
7121- </td><td style="text-align: left">
7122+ </td><td align="left">
7123 <code class="classname">direct_mask_range_hashing</code>
7124- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7125+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7126 <code class="classname">Resize_Policy</code>
7127- </td><td rowspan="2" style="text-align: left" valign="top">
7128+ </td><td rowspan="2" align="left" valign="top">
7129 <code class="classname">hash_standard_resize_policy</code>
7130- </td><td style="text-align: left">
7131+ </td><td align="left">
7132 <code class="classname">Size_Policy</code>
7133- </td><td style="text-align: left">
7134+ </td><td align="left">
7135 <code class="classname">hash_exponential_size_policy</code>
7136- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
7137+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
7138 <code class="classname">Trigger_Policy</code>
7139- </td><td style="text-align: left">
7140+ </td><td align="left">
7141 <code class="classname">hash_load_check_resize_trigger</code> with
7142 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7143- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
7144+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
7145 <code class="classname">Mapped</code>
7146- </td><td rowspan="3" style="text-align: left" valign="top">
7147+ </td><td rowspan="3" align="left" valign="top">
7148 <code class="classname">cc_hash_table</code>
7149- </td><td style="text-align: left">
7150+ </td><td align="left">
7151 <code class="classname">Comb_Hash_Fn</code>
7152- </td><td style="text-align: left">
7153+ </td><td align="left">
7154 <code class="classname">direct_mask_range_hashing</code>
7155- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7156+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7157 <code class="classname">Resize_Policy</code>
7158- </td><td rowspan="2" style="text-align: left" valign="top">
7159+ </td><td rowspan="2" align="left" valign="top">
7160 <code class="classname">hash_standard_resize_policy</code>
7161- </td><td style="text-align: left">
7162+ </td><td align="left">
7163 <code class="classname">Size_Policy</code>
7164- </td><td style="text-align: left">
7165+ </td><td align="left">
7166 <code class="classname">hash_exponential_size_policy</code>
7167- </td></tr><tr><td style="text-align: left" valign="top">
7168+ </td></tr><tr><td align="left" valign="top">
7169 <code class="classname">Trigger_Policy</code>
7170- </td><td style="text-align: left">
7171+ </td><td align="left">
7172 <code class="classname">hash_load_check_resize_trigger</code> with
7173 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7174- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_large.observations"/>
7175+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_large.observations"></a>
7176 Observations
7177 </h6></div></div></div><p>See Observations::Mapping-Semantics
7178- Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_small"/>
7179+ Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_small"></a>
7180 Text <code class="function">insert</code> with Small
7181 Secondary-to-Primary Key Ratios
7182- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_small.info"/>
7183+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_small.info"></a>
7184 Description
7185 </h6></div></div></div><p>This test inserts a number of pairs into a container. The
7186 first item of each pair is a string from an arbitrary text
7187@@ -1857,161 +1857,161 @@
7188 performance/ext/pb_ds/multimap_text_insert_timing_small.cc
7189 </code>
7190 </p><p>The test checks the insert-time scalability of different
7191- "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_small.results"/>
7192+ "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_small.results"></a>
7193 Results
7194 </h6></div></div></div><p>The graphic below show the results for "multimaps" which
7195 use a tree-based container for primary keys.
7196- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_insert_small_s2p_tree.png" style="text-align: middle"/></div></div><p>
7197+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_insert_small_s2p_tree.png" align="middle" /></div></div><p>
7198 The abbreviated names in the legend of the graphic above are
7199 instantiated with the types in the following table.
7200- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7201+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7202 n_mmap
7203- </td></tr><tr><td style="text-align: left">
7204+ </td></tr><tr><td align="left">
7205 <code class="classname">std::multimap</code>
7206- </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7207+ </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7208 rb_tree_mmap_lu_mtf_set
7209- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
7210+ </td></tr><tr><td rowspan="3" align="left" valign="top">
7211 <code class="classname">tree</code>
7212- </td><td style="text-align: left">
7213+ </td><td align="left">
7214 <code class="classname">Tag</code>
7215- </td><td style="text-align: left">
7216+ </td><td align="left">
7217 <code class="classname">rb_tree_tag</code>
7218- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7219+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
7220 <code class="classname">Node_Update</code>
7221- </td><td style="text-align: left">
7222+ </td><td align="left">
7223 <code class="classname">null_node_update</code>
7224- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7225+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
7226 <code class="classname">Mapped</code>
7227- </td><td style="text-align: left">
7228+ </td><td align="left">
7229 <code class="classname">list_update</code>
7230- </td><td style="text-align: left">
7231+ </td><td align="left">
7232 <code class="classname">Update_Policy</code>
7233- </td><td style="text-align: left">
7234+ </td><td align="left">
7235 <code class="classname">lu_move_to_front_policy</code>
7236- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7237+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7238 rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
7239- </td></tr><tr><td rowspan="5" style="text-align: left" valign="top">
7240+ </td></tr><tr><td rowspan="5" align="left" valign="top">
7241 <code class="classname">tree</code>
7242- </td><td style="text-align: left">
7243+ </td><td align="left">
7244 <code class="classname">Tag</code>
7245- </td><td style="text-align: left">
7246+ </td><td align="left">
7247 <code class="classname">rb_tree_tag</code>
7248- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7249+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
7250 <code class="classname">Node_Update</code>
7251- </td><td style="text-align: left">
7252+ </td><td align="left">
7253 <code class="classname">null_node_update</code>
7254- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
7255+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
7256 <code class="classname">Mapped</code>
7257- </td><td rowspan="3" style="text-align: left" valign="top">
7258+ </td><td rowspan="3" align="left" valign="top">
7259 <code class="classname">cc_hash_table</code>
7260- </td><td style="text-align: left">
7261+ </td><td align="left">
7262 <code class="classname">Comb_Hash_Fn</code>
7263- </td><td style="text-align: left">
7264+ </td><td align="left">
7265 <code class="classname">direct_mask_range_hashing</code>
7266- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7267+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7268 <code class="classname">Resize_Policy</code>
7269- </td><td rowspan="2" style="text-align: left" valign="top">
7270+ </td><td rowspan="2" align="left" valign="top">
7271 <code class="classname">hash_standard_resize_policy</code>
7272- </td><td style="text-align: left">
7273+ </td><td align="left">
7274 <code class="classname">Size_Policy</code>
7275- </td><td style="text-align: left">
7276+ </td><td align="left">
7277 <code class="classname">hash_exponential_size_policy</code>
7278- </td></tr><tr><td style="text-align: left" valign="top">
7279+ </td></tr><tr><td align="left" valign="top">
7280 <code class="classname">Trigger_Policy</code>
7281- </td><td style="text-align: left">
7282+ </td><td align="left">
7283 <code class="classname">hash_load_check_resize_trigger</code> with
7284 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7285 </td></tr></tbody></table></div><p>The graphic below show the results for "multimaps" which
7286 use a hash-based container for primary keys.
7287- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_small_s2p_hash.png" style="text-align: middle"/></div></div><p>
7288+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_small_s2p_hash.png" align="middle" /></div></div><p>
7289 The abbreviated names in the legend of the graphic above are
7290 instantiated with the types in the following table.
7291- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7292+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7293 n_hash_mmap
7294- </td></tr><tr><td style="text-align: left">
7295+ </td></tr><tr><td align="left">
7296 <code class="classname">std::tr1::unordered_multimap</code>
7297- </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7298+ </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7299 rb_tree_mmap_lu_mtf_set
7300- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
7301+ </td></tr><tr><td rowspan="4" align="left" valign="top">
7302 <code class="classname">
7303 cc_hash_table
7304 </code>
7305- </td><td style="text-align: left">
7306+ </td><td align="left">
7307 <code class="classname">Comb_Hash_Fn</code>
7308- </td><td style="text-align: left">
7309+ </td><td align="left">
7310 <code class="classname">direct_mask_range_hashing</code>
7311- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7312+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7313 <code class="classname">Resize_Policy</code>
7314- </td><td rowspan="2" style="text-align: left" valign="top">
7315+ </td><td rowspan="2" align="left" valign="top">
7316 <code class="classname">hash_standard_resize_policy</code>
7317- </td><td style="text-align: left">
7318+ </td><td align="left">
7319 <code class="classname">Size_Policy</code>
7320- </td><td style="text-align: left">
7321+ </td><td align="left">
7322 <code class="classname">hash_exponential_size_policy</code>
7323- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
7324+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
7325 <code class="classname">Trigger_Policy</code>
7326- </td><td style="text-align: left">
7327+ </td><td align="left">
7328 <code class="classname">hash_load_check_resize_trigger</code> with
7329 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7330- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7331+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
7332 <code class="classname">Mapped</code>
7333- </td><td style="text-align: left">
7334+ </td><td align="left">
7335 <code class="classname">list_update</code>
7336- </td><td style="text-align: left">
7337+ </td><td align="left">
7338 <code class="classname">Update_Policy</code>
7339- </td><td style="text-align: left">
7340+ </td><td align="left">
7341 <code class="classname">lu_move_to_front_policy</code>
7342- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7343+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7344 rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
7345- </td></tr><tr><td rowspan="6" style="text-align: left" valign="top">
7346+ </td></tr><tr><td rowspan="6" align="left" valign="top">
7347 <code class="classname">
7348 cc_hash_table
7349 </code>
7350- </td><td style="text-align: left">
7351+ </td><td align="left">
7352 <code class="classname">Comb_Hash_Fn</code>
7353- </td><td style="text-align: left">
7354+ </td><td align="left">
7355 <code class="classname">direct_mask_range_hashing</code>
7356- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7357+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7358 <code class="classname">Resize_Policy</code>
7359- </td><td rowspan="2" style="text-align: left" valign="top">
7360+ </td><td rowspan="2" align="left" valign="top">
7361 <code class="classname">hash_standard_resize_policy</code>
7362- </td><td style="text-align: left">
7363+ </td><td align="left">
7364 <code class="classname">Size_Policy</code>
7365- </td><td style="text-align: left">
7366+ </td><td align="left">
7367 <code class="classname">hash_exponential_size_policy</code>
7368- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
7369+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
7370 <code class="classname">Trigger_Policy</code>
7371- </td><td style="text-align: left">
7372+ </td><td align="left">
7373 <code class="classname">hash_load_check_resize_trigger</code> with
7374 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7375- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
7376+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
7377 <code class="classname">Mapped</code>
7378- </td><td rowspan="3" style="text-align: left" valign="top">
7379+ </td><td rowspan="3" align="left" valign="top">
7380 <code class="classname">cc_hash_table</code>
7381- </td><td style="text-align: left">
7382+ </td><td align="left">
7383 <code class="classname">Comb_Hash_Fn</code>
7384- </td><td style="text-align: left">
7385+ </td><td align="left">
7386 <code class="classname">direct_mask_range_hashing</code>
7387- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7388+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7389 <code class="classname">Resize_Policy</code>
7390- </td><td rowspan="2" style="text-align: left" valign="top">
7391+ </td><td rowspan="2" align="left" valign="top">
7392 <code class="classname">hash_standard_resize_policy</code>
7393- </td><td style="text-align: left">
7394+ </td><td align="left">
7395 <code class="classname">Size_Policy</code>
7396- </td><td style="text-align: left">
7397+ </td><td align="left">
7398 <code class="classname">hash_exponential_size_policy</code>
7399- </td></tr><tr><td style="text-align: left" valign="top">
7400+ </td></tr><tr><td align="left" valign="top">
7401 <code class="classname">Trigger_Policy</code>
7402- </td><td style="text-align: left">
7403+ </td><td align="left">
7404 <code class="classname">hash_load_check_resize_trigger</code> with
7405 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7406- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_small.observations"/>
7407+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_small.observations"></a>
7408 Observations
7409 </h6></div></div></div><p>See Observations::Mapping-Semantics
7410- Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_large"/>
7411+ Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_large"></a>
7412 Text <code class="function">insert</code> with Small
7413 Secondary-to-Primary Key Ratios
7414- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_large.info"/>
7415+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_large.info"></a>
7416 Description
7417 </h6></div></div></div><p>This test inserts a number of pairs into a container. The
7418 first item of each pair is a string from an arbitrary text
7419@@ -2033,161 +2033,161 @@
7420 performance/ext/pb_ds/multimap_text_insert_timing_large.cc
7421 </code>
7422 </p><p>The test checks the insert-time scalability of different
7423- "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_large.results"/>
7424+ "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_large.results"></a>
7425 Results
7426 </h6></div></div></div><p>The graphic below show the results for "multimaps" which
7427 use a tree-based container for primary keys.
7428- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_insert_large_s2p_tree.png" style="text-align: middle"/></div></div><p>
7429+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_insert_large_s2p_tree.png" align="middle" /></div></div><p>
7430 The abbreviated names in the legend of the graphic above are
7431 instantiated with the types in the following table.
7432- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7433+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7434 n_mmap
7435- </td></tr><tr><td style="text-align: left">
7436+ </td></tr><tr><td align="left">
7437 <code class="classname">std::multimap</code>
7438- </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7439+ </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7440 rb_tree_mmap_lu_mtf_set
7441- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
7442+ </td></tr><tr><td rowspan="3" align="left" valign="top">
7443 <code class="classname">tree</code>
7444- </td><td style="text-align: left">
7445+ </td><td align="left">
7446 <code class="classname">Tag</code>
7447- </td><td style="text-align: left">
7448+ </td><td align="left">
7449 <code class="classname">rb_tree_tag</code>
7450- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7451+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
7452 <code class="classname">Node_Update</code>
7453- </td><td style="text-align: left">
7454+ </td><td align="left">
7455 <code class="classname">null_node_update</code>
7456- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7457+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
7458 <code class="classname">Mapped</code>
7459- </td><td style="text-align: left">
7460+ </td><td align="left">
7461 <code class="classname">list_update</code>
7462- </td><td style="text-align: left">
7463+ </td><td align="left">
7464 <code class="classname">Update_Policy</code>
7465- </td><td style="text-align: left">
7466+ </td><td align="left">
7467 <code class="classname">lu_move_to_front_policy</code>
7468- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7469+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7470 rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
7471- </td></tr><tr><td rowspan="5" style="text-align: left" valign="top">
7472+ </td></tr><tr><td rowspan="5" align="left" valign="top">
7473 <code class="classname">tree</code>
7474- </td><td style="text-align: left">
7475+ </td><td align="left">
7476 <code class="classname">Tag</code>
7477- </td><td style="text-align: left">
7478+ </td><td align="left">
7479 <code class="classname">rb_tree_tag</code>
7480- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7481+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
7482 <code class="classname">Node_Update</code>
7483- </td><td style="text-align: left">
7484+ </td><td align="left">
7485 <code class="classname">null_node_update</code>
7486- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
7487+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
7488 <code class="classname">Mapped</code>
7489- </td><td rowspan="3" style="text-align: left" valign="top">
7490+ </td><td rowspan="3" align="left" valign="top">
7491 <code class="classname">cc_hash_table</code>
7492- </td><td style="text-align: left">
7493+ </td><td align="left">
7494 <code class="classname">Comb_Hash_Fn</code>
7495- </td><td style="text-align: left">
7496+ </td><td align="left">
7497 <code class="classname">direct_mask_range_hashing</code>
7498- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7499+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7500 <code class="classname">Resize_Policy</code>
7501- </td><td rowspan="2" style="text-align: left" valign="top">
7502+ </td><td rowspan="2" align="left" valign="top">
7503 <code class="classname">hash_standard_resize_policy</code>
7504- </td><td style="text-align: left">
7505+ </td><td align="left">
7506 <code class="classname">Size_Policy</code>
7507- </td><td style="text-align: left">
7508+ </td><td align="left">
7509 <code class="classname">hash_exponential_size_policy</code>
7510- </td></tr><tr><td style="text-align: left" valign="top">
7511+ </td></tr><tr><td align="left" valign="top">
7512 <code class="classname">Trigger_Policy</code>
7513- </td><td style="text-align: left">
7514+ </td><td align="left">
7515 <code class="classname">hash_load_check_resize_trigger</code> with
7516 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7517 </td></tr></tbody></table></div><p>The graphic below show the results for "multimaps" which
7518 use a hash-based container for primary keys.
7519- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" style="text-align: middle"/></div></div><p>
7520+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" align="middle" /></div></div><p>
7521 The abbreviated names in the legend of the graphic above are
7522 instantiated with the types in the following table.
7523- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7524+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7525 n_hash_mmap
7526- </td></tr><tr><td style="text-align: left">
7527+ </td></tr><tr><td align="left">
7528 <code class="classname">std::tr1::unordered_multimap</code>
7529- </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7530+ </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7531 rb_tree_mmap_lu_mtf_set
7532- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
7533+ </td></tr><tr><td rowspan="4" align="left" valign="top">
7534 <code class="classname">
7535 cc_hash_table
7536 </code>
7537- </td><td style="text-align: left">
7538+ </td><td align="left">
7539 <code class="classname">Comb_Hash_Fn</code>
7540- </td><td style="text-align: left">
7541+ </td><td align="left">
7542 <code class="classname">direct_mask_range_hashing</code>
7543- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7544+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7545 <code class="classname">Resize_Policy</code>
7546- </td><td rowspan="2" style="text-align: left" valign="top">
7547+ </td><td rowspan="2" align="left" valign="top">
7548 <code class="classname">hash_standard_resize_policy</code>
7549- </td><td style="text-align: left">
7550+ </td><td align="left">
7551 <code class="classname">Size_Policy</code>
7552- </td><td style="text-align: left">
7553+ </td><td align="left">
7554 <code class="classname">hash_exponential_size_policy</code>
7555- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
7556+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
7557 <code class="classname">Trigger_Policy</code>
7558- </td><td style="text-align: left">
7559+ </td><td align="left">
7560 <code class="classname">hash_load_check_resize_trigger</code> with
7561 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7562- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7563+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
7564 <code class="classname">Mapped</code>
7565- </td><td style="text-align: left">
7566+ </td><td align="left">
7567 <code class="classname">list_update</code>
7568- </td><td style="text-align: left">
7569+ </td><td align="left">
7570 <code class="classname">Update_Policy</code>
7571- </td><td style="text-align: left">
7572+ </td><td align="left">
7573 <code class="classname">lu_move_to_front_policy</code>
7574- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7575+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7576 rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
7577- </td></tr><tr><td rowspan="6" style="text-align: left" valign="top">
7578+ </td></tr><tr><td rowspan="6" align="left" valign="top">
7579 <code class="classname">
7580 cc_hash_table
7581 </code>
7582- </td><td style="text-align: left">
7583+ </td><td align="left">
7584 <code class="classname">Comb_Hash_Fn</code>
7585- </td><td style="text-align: left">
7586+ </td><td align="left">
7587 <code class="classname">direct_mask_range_hashing</code>
7588- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7589+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7590 <code class="classname">Resize_Policy</code>
7591- </td><td rowspan="2" style="text-align: left" valign="top">
7592+ </td><td rowspan="2" align="left" valign="top">
7593 <code class="classname">hash_standard_resize_policy</code>
7594- </td><td style="text-align: left">
7595+ </td><td align="left">
7596 <code class="classname">Size_Policy</code>
7597- </td><td style="text-align: left">
7598+ </td><td align="left">
7599 <code class="classname">hash_exponential_size_policy</code>
7600- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
7601+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
7602 <code class="classname">Trigger_Policy</code>
7603- </td><td style="text-align: left">
7604+ </td><td align="left">
7605 <code class="classname">hash_load_check_resize_trigger</code> with
7606 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7607- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
7608+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
7609 <code class="classname">Mapped</code>
7610- </td><td rowspan="3" style="text-align: left" valign="top">
7611+ </td><td rowspan="3" align="left" valign="top">
7612 <code class="classname">cc_hash_table</code>
7613- </td><td style="text-align: left">
7614+ </td><td align="left">
7615 <code class="classname">Comb_Hash_Fn</code>
7616- </td><td style="text-align: left">
7617+ </td><td align="left">
7618 <code class="classname">direct_mask_range_hashing</code>
7619- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7620+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7621 <code class="classname">Resize_Policy</code>
7622- </td><td rowspan="2" style="text-align: left" valign="top">
7623+ </td><td rowspan="2" align="left" valign="top">
7624 <code class="classname">hash_standard_resize_policy</code>
7625- </td><td style="text-align: left">
7626+ </td><td align="left">
7627 <code class="classname">Size_Policy</code>
7628- </td><td style="text-align: left">
7629+ </td><td align="left">
7630 <code class="classname">hash_exponential_size_policy</code>
7631- </td></tr><tr><td style="text-align: left" valign="top">
7632+ </td></tr><tr><td align="left" valign="top">
7633 <code class="classname">Trigger_Policy</code>
7634- </td><td style="text-align: left">
7635+ </td><td align="left">
7636 <code class="classname">hash_load_check_resize_trigger</code> with
7637 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7638- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_large.observations"/>
7639+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_large.observations"></a>
7640 Observations
7641 </h6></div></div></div><p>See Observations::Mapping-Semantics
7642- Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_mem_small"/>
7643+ Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_mem_small"></a>
7644 Text <code class="function">insert</code> with Small
7645 Secondary-to-Primary Key Ratios Memory Use
7646- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_small.info"/>
7647+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_small.info"></a>
7648 Description
7649 </h6></div></div></div><p>This test inserts a number of pairs into a container. The
7650 first item of each pair is a string from an arbitrary text
7651@@ -2204,161 +2204,161 @@
7652 performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc
7653 </code>
7654 </p><p>The test checks the memory scalability of different
7655- "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_small.results"/>
7656+ "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_small.results"></a>
7657 Results
7658 </h6></div></div></div><p>The graphic below show the results for "multimaps" which
7659 use a tree-based container for primary keys.
7660- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_insert_mem_small_s2p_tree.png" style="text-align: middle"/></div></div><p>
7661+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_insert_mem_small_s2p_tree.png" align="middle" /></div></div><p>
7662 The abbreviated names in the legend of the graphic above are
7663 instantiated with the types in the following table.
7664- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7665+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7666 n_mmap
7667- </td></tr><tr><td style="text-align: left">
7668+ </td></tr><tr><td align="left">
7669 <code class="classname">std::multimap</code>
7670- </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7671+ </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7672 rb_tree_mmap_lu_mtf_set
7673- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
7674+ </td></tr><tr><td rowspan="3" align="left" valign="top">
7675 <code class="classname">tree</code>
7676- </td><td style="text-align: left">
7677+ </td><td align="left">
7678 <code class="classname">Tag</code>
7679- </td><td style="text-align: left">
7680+ </td><td align="left">
7681 <code class="classname">rb_tree_tag</code>
7682- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7683+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
7684 <code class="classname">Node_Update</code>
7685- </td><td style="text-align: left">
7686+ </td><td align="left">
7687 <code class="classname">null_node_update</code>
7688- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7689+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
7690 <code class="classname">Mapped</code>
7691- </td><td style="text-align: left">
7692+ </td><td align="left">
7693 <code class="classname">list_update</code>
7694- </td><td style="text-align: left">
7695+ </td><td align="left">
7696 <code class="classname">Update_Policy</code>
7697- </td><td style="text-align: left">
7698+ </td><td align="left">
7699 <code class="classname">lu_move_to_front_policy</code>
7700- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7701+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7702 rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
7703- </td></tr><tr><td rowspan="5" style="text-align: left" valign="top">
7704+ </td></tr><tr><td rowspan="5" align="left" valign="top">
7705 <code class="classname">tree</code>
7706- </td><td style="text-align: left">
7707+ </td><td align="left">
7708 <code class="classname">Tag</code>
7709- </td><td style="text-align: left">
7710+ </td><td align="left">
7711 <code class="classname">rb_tree_tag</code>
7712- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7713+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
7714 <code class="classname">Node_Update</code>
7715- </td><td style="text-align: left">
7716+ </td><td align="left">
7717 <code class="classname">null_node_update</code>
7718- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
7719+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
7720 <code class="classname">Mapped</code>
7721- </td><td rowspan="3" style="text-align: left" valign="top">
7722+ </td><td rowspan="3" align="left" valign="top">
7723 <code class="classname">cc_hash_table</code>
7724- </td><td style="text-align: left">
7725+ </td><td align="left">
7726 <code class="classname">Comb_Hash_Fn</code>
7727- </td><td style="text-align: left">
7728+ </td><td align="left">
7729 <code class="classname">direct_mask_range_hashing</code>
7730- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7731+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7732 <code class="classname">Resize_Policy</code>
7733- </td><td rowspan="2" style="text-align: left" valign="top">
7734+ </td><td rowspan="2" align="left" valign="top">
7735 <code class="classname">hash_standard_resize_policy</code>
7736- </td><td style="text-align: left">
7737+ </td><td align="left">
7738 <code class="classname">Size_Policy</code>
7739- </td><td style="text-align: left">
7740+ </td><td align="left">
7741 <code class="classname">hash_exponential_size_policy</code>
7742- </td></tr><tr><td style="text-align: left" valign="top">
7743+ </td></tr><tr><td align="left" valign="top">
7744 <code class="classname">Trigger_Policy</code>
7745- </td><td style="text-align: left">
7746+ </td><td align="left">
7747 <code class="classname">hash_load_check_resize_trigger</code> with
7748 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7749 </td></tr></tbody></table></div><p>The graphic below show the results for "multimaps" which
7750 use a hash-based container for primary keys.
7751- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" style="text-align: middle"/></div></div><p>
7752+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" align="middle" /></div></div><p>
7753 The abbreviated names in the legend of the graphic above are
7754 instantiated with the types in the following table.
7755- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7756+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7757 n_hash_mmap
7758- </td></tr><tr><td style="text-align: left">
7759+ </td></tr><tr><td align="left">
7760 <code class="classname">std::tr1::unordered_multimap</code>
7761- </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7762+ </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7763 rb_tree_mmap_lu_mtf_set
7764- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
7765+ </td></tr><tr><td rowspan="4" align="left" valign="top">
7766 <code class="classname">
7767 cc_hash_table
7768 </code>
7769- </td><td style="text-align: left">
7770+ </td><td align="left">
7771 <code class="classname">Comb_Hash_Fn</code>
7772- </td><td style="text-align: left">
7773+ </td><td align="left">
7774 <code class="classname">direct_mask_range_hashing</code>
7775- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7776+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7777 <code class="classname">Resize_Policy</code>
7778- </td><td rowspan="2" style="text-align: left" valign="top">
7779+ </td><td rowspan="2" align="left" valign="top">
7780 <code class="classname">hash_standard_resize_policy</code>
7781- </td><td style="text-align: left">
7782+ </td><td align="left">
7783 <code class="classname">Size_Policy</code>
7784- </td><td style="text-align: left">
7785+ </td><td align="left">
7786 <code class="classname">hash_exponential_size_policy</code>
7787- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
7788+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
7789 <code class="classname">Trigger_Policy</code>
7790- </td><td style="text-align: left">
7791+ </td><td align="left">
7792 <code class="classname">hash_load_check_resize_trigger</code> with
7793 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7794- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7795+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
7796 <code class="classname">Mapped</code>
7797- </td><td style="text-align: left">
7798+ </td><td align="left">
7799 <code class="classname">list_update</code>
7800- </td><td style="text-align: left">
7801+ </td><td align="left">
7802 <code class="classname">Update_Policy</code>
7803- </td><td style="text-align: left">
7804+ </td><td align="left">
7805 <code class="classname">lu_move_to_front_policy</code>
7806- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7807+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7808 rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
7809- </td></tr><tr><td rowspan="6" style="text-align: left" valign="top">
7810+ </td></tr><tr><td rowspan="6" align="left" valign="top">
7811 <code class="classname">
7812 cc_hash_table
7813 </code>
7814- </td><td style="text-align: left">
7815+ </td><td align="left">
7816 <code class="classname">Comb_Hash_Fn</code>
7817- </td><td style="text-align: left">
7818+ </td><td align="left">
7819 <code class="classname">direct_mask_range_hashing</code>
7820- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7821+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7822 <code class="classname">Resize_Policy</code>
7823- </td><td rowspan="2" style="text-align: left" valign="top">
7824+ </td><td rowspan="2" align="left" valign="top">
7825 <code class="classname">hash_standard_resize_policy</code>
7826- </td><td style="text-align: left">
7827+ </td><td align="left">
7828 <code class="classname">Size_Policy</code>
7829- </td><td style="text-align: left">
7830+ </td><td align="left">
7831 <code class="classname">hash_exponential_size_policy</code>
7832- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
7833+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
7834 <code class="classname">Trigger_Policy</code>
7835- </td><td style="text-align: left">
7836+ </td><td align="left">
7837 <code class="classname">hash_load_check_resize_trigger</code> with
7838 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7839- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
7840+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
7841 <code class="classname">Mapped</code>
7842- </td><td rowspan="3" style="text-align: left" valign="top">
7843+ </td><td rowspan="3" align="left" valign="top">
7844 <code class="classname">cc_hash_table</code>
7845- </td><td style="text-align: left">
7846+ </td><td align="left">
7847 <code class="classname">Comb_Hash_Fn</code>
7848- </td><td style="text-align: left">
7849+ </td><td align="left">
7850 <code class="classname">direct_mask_range_hashing</code>
7851- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7852+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7853 <code class="classname">Resize_Policy</code>
7854- </td><td rowspan="2" style="text-align: left" valign="top">
7855+ </td><td rowspan="2" align="left" valign="top">
7856 <code class="classname">hash_standard_resize_policy</code>
7857- </td><td style="text-align: left">
7858+ </td><td align="left">
7859 <code class="classname">Size_Policy</code>
7860- </td><td style="text-align: left">
7861+ </td><td align="left">
7862 <code class="classname">hash_exponential_size_policy</code>
7863- </td></tr><tr><td style="text-align: left" valign="top">
7864+ </td></tr><tr><td align="left" valign="top">
7865 <code class="classname">Trigger_Policy</code>
7866- </td><td style="text-align: left">
7867+ </td><td align="left">
7868 <code class="classname">hash_load_check_resize_trigger</code> with
7869 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7870- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_small.observations"/>
7871+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_small.observations"></a>
7872 Observations
7873 </h6></div></div></div><p>See Observations::Mapping-Semantics
7874- Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_mem_large"/>
7875+ Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_mem_large"></a>
7876 Text <code class="function">insert</code> with Small
7877 Secondary-to-Primary Key Ratios Memory Use
7878- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_large.info"/>
7879+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_large.info"></a>
7880 Description
7881 </h6></div></div></div><p>This test inserts a number of pairs into a container. The
7882 first item of each pair is a string from an arbitrary text
7883@@ -2375,160 +2375,160 @@
7884 performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc
7885 </code>
7886 </p><p>The test checks the memory scalability of different
7887- "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_large.results"/>
7888+ "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_large.results"></a>
7889 Results
7890 </h6></div></div></div><p>The graphic below show the results for "multimaps" which
7891 use a tree-based container for primary keys.
7892- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_insert_mem_large_s2p_tree.png" style="text-align: middle"/></div></div><p>
7893+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_insert_mem_large_s2p_tree.png" align="middle" /></div></div><p>
7894 The abbreviated names in the legend of the graphic above are
7895 instantiated with the types in the following table.
7896- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7897+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7898 n_mmap
7899- </td></tr><tr><td style="text-align: left">
7900+ </td></tr><tr><td align="left">
7901 <code class="classname">std::multimap</code>
7902- </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7903+ </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7904 rb_tree_mmap_lu_mtf_set
7905- </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
7906+ </td></tr><tr><td rowspan="3" align="left" valign="top">
7907 <code class="classname">tree</code>
7908- </td><td style="text-align: left">
7909+ </td><td align="left">
7910 <code class="classname">Tag</code>
7911- </td><td style="text-align: left">
7912+ </td><td align="left">
7913 <code class="classname">rb_tree_tag</code>
7914- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7915+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
7916 <code class="classname">Node_Update</code>
7917- </td><td style="text-align: left">
7918+ </td><td align="left">
7919 <code class="classname">null_node_update</code>
7920- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7921+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
7922 <code class="classname">Mapped</code>
7923- </td><td style="text-align: left">
7924+ </td><td align="left">
7925 <code class="classname">list_update</code>
7926- </td><td style="text-align: left">
7927+ </td><td align="left">
7928 <code class="classname">Update_Policy</code>
7929- </td><td style="text-align: left">
7930+ </td><td align="left">
7931 <code class="classname">lu_move_to_front_policy</code>
7932- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7933+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7934 rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
7935- </td></tr><tr><td rowspan="5" style="text-align: left" valign="top">
7936+ </td></tr><tr><td rowspan="5" align="left" valign="top">
7937 <code class="classname">tree</code>
7938- </td><td style="text-align: left">
7939+ </td><td align="left">
7940 <code class="classname">Tag</code>
7941- </td><td style="text-align: left">
7942+ </td><td align="left">
7943 <code class="classname">rb_tree_tag</code>
7944- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
7945+ </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
7946 <code class="classname">Node_Update</code>
7947- </td><td style="text-align: left">
7948+ </td><td align="left">
7949 <code class="classname">null_node_update</code>
7950- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
7951+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
7952 <code class="classname">Mapped</code>
7953- </td><td rowspan="3" style="text-align: left" valign="top">
7954+ </td><td rowspan="3" align="left" valign="top">
7955 <code class="classname">cc_hash_table</code>
7956- </td><td style="text-align: left">
7957+ </td><td align="left">
7958 <code class="classname">Comb_Hash_Fn</code>
7959- </td><td style="text-align: left">
7960+ </td><td align="left">
7961 <code class="classname">direct_mask_range_hashing</code>
7962- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
7963+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
7964 <code class="classname">Resize_Policy</code>
7965- </td><td rowspan="2" style="text-align: left" valign="top">
7966+ </td><td rowspan="2" align="left" valign="top">
7967 <code class="classname">hash_standard_resize_policy</code>
7968- </td><td style="text-align: left">
7969+ </td><td align="left">
7970 <code class="classname">Size_Policy</code>
7971- </td><td style="text-align: left">
7972+ </td><td align="left">
7973 <code class="classname">hash_exponential_size_policy</code>
7974- </td></tr><tr><td style="text-align: left" valign="top">
7975+ </td></tr><tr><td align="left" valign="top">
7976 <code class="classname">Trigger_Policy</code>
7977- </td><td style="text-align: left">
7978+ </td><td align="left">
7979 <code class="classname">hash_load_check_resize_trigger</code> with
7980 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
7981 </td></tr></tbody></table></div><p>The graphic below show the results for "multimaps" which
7982 use a hash-based container for primary keys.
7983- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" style="text-align: middle"/></div></div><p>
7984+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" align="middle" /></div></div><p>
7985 The abbreviated names in the legend of the graphic above are
7986 instantiated with the types in the following table.
7987- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7988+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7989 n_hash_mmap
7990- </td></tr><tr><td style="text-align: left">
7991+ </td></tr><tr><td align="left">
7992 <code class="classname">std::tr1::unordered_multimap</code>
7993- </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
7994+ </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
7995 rb_tree_mmap_lu_mtf_set
7996- </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
7997+ </td></tr><tr><td rowspan="4" align="left" valign="top">
7998 <code class="classname">
7999 cc_hash_table
8000 </code>
8001- </td><td style="text-align: left">
8002+ </td><td align="left">
8003 <code class="classname">Comb_Hash_Fn</code>
8004- </td><td style="text-align: left">
8005+ </td><td align="left">
8006 <code class="classname">direct_mask_range_hashing</code>
8007- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
8008+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
8009 <code class="classname">Resize_Policy</code>
8010- </td><td rowspan="2" style="text-align: left" valign="top">
8011+ </td><td rowspan="2" align="left" valign="top">
8012 <code class="classname">hash_standard_resize_policy</code>
8013- </td><td style="text-align: left">
8014+ </td><td align="left">
8015 <code class="classname">Size_Policy</code>
8016- </td><td style="text-align: left">
8017+ </td><td align="left">
8018 <code class="classname">hash_exponential_size_policy</code>
8019- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
8020+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
8021 <code class="classname">Trigger_Policy</code>
8022- </td><td style="text-align: left">
8023+ </td><td align="left">
8024 <code class="classname">hash_load_check_resize_trigger</code> with
8025 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
8026- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
8027+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
8028 <code class="classname">Mapped</code>
8029- </td><td style="text-align: left">
8030+ </td><td align="left">
8031 <code class="classname">list_update</code>
8032- </td><td style="text-align: left">
8033+ </td><td align="left">
8034 <code class="classname">Update_Policy</code>
8035- </td><td style="text-align: left">
8036+ </td><td align="left">
8037 <code class="classname">lu_move_to_front_policy</code>
8038- </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
8039+ </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
8040 rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
8041- </td></tr><tr><td rowspan="6" style="text-align: left" valign="top">
8042+ </td></tr><tr><td rowspan="6" align="left" valign="top">
8043 <code class="classname">
8044 cc_hash_table
8045 </code>
8046- </td><td style="text-align: left">
8047+ </td><td align="left">
8048 <code class="classname">Comb_Hash_Fn</code>
8049- </td><td style="text-align: left">
8050+ </td><td align="left">
8051 <code class="classname">direct_mask_range_hashing</code>
8052- </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
8053+ </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
8054 <code class="classname">Resize_Policy</code>
8055- </td><td rowspan="2" style="text-align: left" valign="top">
8056+ </td><td rowspan="2" align="left" valign="top">
8057 <code class="classname">hash_standard_resize_policy</code>
8058- </td><td style="text-align: left">
8059+ </td><td align="left">
8060 <code class="classname">Size_Policy</code>
8061- </td><td style="text-align: left">
8062+ </td><td align="left">
8063 <code class="classname">hash_exponential_size_policy</code>
8064- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
8065+ </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
8066 <code class="classname">Trigger_Policy</code>
8067- </td><td style="text-align: left">
8068+ </td><td align="left">
8069 <code class="classname">hash_load_check_resize_trigger</code> with
8070 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
8071- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
8072+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
8073 <code class="classname">Mapped</code>
8074- </td><td rowspan="3" style="text-align: left" valign="top">
8075+ </td><td rowspan="3" align="left" valign="top">
8076 <code class="classname">cc_hash_table</code>
8077- </td><td style="text-align: left">
8078+ </td><td align="left">
8079 <code class="classname">Comb_Hash_Fn</code>
8080- </td><td style="text-align: left">
8081+ </td><td align="left">
8082 <code class="classname">direct_mask_range_hashing</code>
8083- </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
8084+ </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
8085 <code class="classname">Resize_Policy</code>
8086- </td><td rowspan="2" style="text-align: left" valign="top">
8087+ </td><td rowspan="2" align="left" valign="top">
8088 <code class="classname">hash_standard_resize_policy</code>
8089- </td><td style="text-align: left">
8090+ </td><td align="left">
8091 <code class="classname">Size_Policy</code>
8092- </td><td style="text-align: left">
8093+ </td><td align="left">
8094 <code class="classname">hash_exponential_size_policy</code>
8095- </td></tr><tr><td style="text-align: left" valign="top">
8096+ </td></tr><tr><td align="left" valign="top">
8097 <code class="classname">Trigger_Policy</code>
8098- </td><td style="text-align: left">
8099+ </td><td align="left">
8100 <code class="classname">hash_load_check_resize_trigger</code> with
8101 α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
8102- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_large.observations"/>
8103+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_large.observations"></a>
8104 Observations
8105 </h6></div></div></div><p>See Observations::Mapping-Semantics
8106- Considerations.</p></div></div></div><div class="section" title="Priority Queue"><div class="titlepage"><div><div><h4 class="title"><a id="performance.priority_queue"/>Priority Queue</h4></div></div></div><div class="section" title="Text push"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_push"/>
8107+ Considerations.</p></div></div></div><div class="section" title="Priority Queue"><div class="titlepage"><div><div><h4 class="title"><a id="performance.priority_queue"></a>Priority Queue</h4></div></div></div><div class="section" title="Text push"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_push"></a>
8108 Text <code class="function">push</code>
8109- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push.info"/>
8110+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push.info"></a>
8111 Description
8112 </h6></div></div></div><p>This test inserts a number of values with keys from an
8113 arbitrary text ([ wickland96thirty ]) into
8114@@ -2541,7 +2541,7 @@
8115 </code>
8116 </p><p>The test checks the effect of different underlying data
8117 structures.
8118- </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push.results"/>
8119+ </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push.results"></a>
8120 Results
8121 </h6></div></div></div><p>The two graphics below show the results for the native
8122 priority_queues and this library's priority_queues.
8123@@ -2549,104 +2549,104 @@
8124 native priority_queue type instantiated with different underlying
8125 container types versus several different versions of library's
8126 priority_queues.
8127- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_text_push.png" style="text-align: middle"/></div></div><p>
8128+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_text_push.png" align="middle" /></div></div><p>
8129 The abbreviated names in the legend of the graphic above are
8130 instantiated with the types in the following table.
8131- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8132+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8133 n_pq_vector
8134- </td></tr><tr><td style="text-align: left">
8135+ </td></tr><tr><td align="left">
8136 <code class="classname">std::priority_queue</code>
8137- </td><td style="text-align: left">
8138+ </td><td align="left">
8139 <code class="classname">Sequence</code>
8140- </td><td style="text-align: left">
8141+ </td><td align="left">
8142 <code class="classname">std::vector</code>
8143- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8144+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8145 n_pq_deque
8146- </td></tr><tr><td style="text-align: left">
8147+ </td></tr><tr><td align="left">
8148 <code class="classname">std::priority_queue</code>
8149- </td><td style="text-align: left">
8150+ </td><td align="left">
8151 <code class="classname">Sequence</code>
8152- </td><td style="text-align: left">
8153+ </td><td align="left">
8154 <code class="classname">std::deque</code>
8155- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8156+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8157 binary_heap
8158- </td></tr><tr><td style="text-align: left">
8159+ </td></tr><tr><td align="left">
8160 <code class="classname">priority_queue</code>
8161- </td><td style="text-align: left">
8162+ </td><td align="left">
8163 <code class="classname">Tag</code>
8164- </td><td style="text-align: left">
8165+ </td><td align="left">
8166 <code class="classname">binary_heap_tag</code>
8167- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8168+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8169 binomial_heap
8170- </td></tr><tr><td style="text-align: left">
8171+ </td></tr><tr><td align="left">
8172 <code class="classname">priority_queue</code>
8173- </td><td style="text-align: left">
8174+ </td><td align="left">
8175 <code class="classname">Tag</code>
8176- </td><td style="text-align: left">
8177+ </td><td align="left">
8178 <code class="classname">binomial_heap_tag</code>
8179- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8180+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8181 rc_binomial_heap
8182- </td></tr><tr><td style="text-align: left">
8183+ </td></tr><tr><td align="left">
8184 <code class="classname">priority_queue</code>
8185- </td><td style="text-align: left">
8186+ </td><td align="left">
8187 <code class="classname">Tag</code>
8188- </td><td style="text-align: left">
8189+ </td><td align="left">
8190 <code class="classname">rc_binomial_heap_tag</code>
8191- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8192+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8193 thin_heap
8194- </td></tr><tr><td style="text-align: left">
8195+ </td></tr><tr><td align="left">
8196 <code class="classname">priority_queue</code>
8197- </td><td style="text-align: left">
8198+ </td><td align="left">
8199 <code class="classname">Tag</code>
8200- </td><td style="text-align: left">
8201+ </td><td align="left">
8202 <code class="classname">thin_heap_tag</code>
8203- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8204+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8205 pairing_heap
8206- </td></tr><tr><td style="text-align: left">
8207+ </td></tr><tr><td align="left">
8208 <code class="classname">priority_queue</code>
8209- </td><td style="text-align: left">
8210+ </td><td align="left">
8211 <code class="classname">Tag</code>
8212- </td><td style="text-align: left">
8213+ </td><td align="left">
8214 <code class="classname">pairing_heap_tag</code>
8215 </td></tr></tbody></table></div><p>The graphic below shows the results for the binary-heap
8216 based native priority queues and this library's pairing-heap
8217 priority_queue data structures.
8218- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_pairing_priority_queue_text_push.png" style="text-align: middle"/></div></div><p>
8219+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_pairing_priority_queue_text_push.png" align="middle" /></div></div><p>
8220 The abbreviated names in the legend of the graphic above are
8221 instantiated with the types in the following table.
8222- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8223+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8224 n_pq_vector
8225- </td></tr><tr><td style="text-align: left">
8226+ </td></tr><tr><td align="left">
8227 <code class="classname">std::priority_queue</code>
8228- </td><td style="text-align: left">
8229+ </td><td align="left">
8230 <code class="classname">Sequence</code>
8231- </td><td style="text-align: left">
8232+ </td><td align="left">
8233 <code class="classname">std::vector</code>
8234- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8235+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8236 n_pq_deque
8237- </td></tr><tr><td style="text-align: left">
8238+ </td></tr><tr><td align="left">
8239 <code class="classname">std::priority_queue</code>
8240- </td><td style="text-align: left">
8241+ </td><td align="left">
8242 <code class="classname">Sequence</code>
8243- </td><td style="text-align: left">
8244+ </td><td align="left">
8245 <code class="classname">std::deque</code>
8246- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8247+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8248 thin_heap
8249- </td></tr><tr><td style="text-align: left">
8250+ </td></tr><tr><td align="left">
8251 <code class="classname">priority_queue</code>
8252- </td><td style="text-align: left">
8253+ </td><td align="left">
8254 <code class="classname">Tag</code>
8255- </td><td style="text-align: left">
8256+ </td><td align="left">
8257 <code class="classname">thin_heap_tag</code>
8258- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8259+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8260 pairing_heap
8261- </td></tr><tr><td style="text-align: left">
8262+ </td></tr><tr><td align="left">
8263 <code class="classname">priority_queue</code>
8264- </td><td style="text-align: left">
8265+ </td><td align="left">
8266 <code class="classname">Tag</code>
8267- </td><td style="text-align: left">
8268+ </td><td align="left">
8269 <code class="classname">pairing_heap_tag</code>
8270- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push.observations"/>
8271+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push.observations"></a>
8272 Observations
8273 </h6></div></div></div><p>Pairing heaps (<code class="classname">priority_queue</code> with
8274 <code class="classname">Tag</code> = <code class="classname">pairing_heap_tag</code>)
8275@@ -2664,9 +2664,9 @@
8276 operation, and the deque implementation is possibly hampered by
8277 its need to manipulate a relatively-complex type (deques
8278 support a O(1) <code class="function">push_front</code>, even though it is
8279- not used by <code class="classname">std::priority_queue</code>.)</p></div></div><div class="section" title="Text push and pop"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_push_pop"/>
8280+ not used by <code class="classname">std::priority_queue</code>.)</p></div></div><div class="section" title="Text push and pop"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_push_pop"></a>
8281 Text <code class="function">push</code> and <code class="function">pop</code>
8282- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push_pop.info"/>
8283+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push_pop.info"></a>
8284 Description
8285 </h6></div></div></div><p>This test inserts a number of values with keys from an
8286 arbitrary text ([ wickland96thirty ]) into
8287@@ -2679,7 +2679,7 @@
8288 </code>
8289 </p><p>The test checks the effect of different underlying data
8290 structures.
8291- </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push_pop.results"/>
8292+ </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push_pop.results"></a>
8293 Results
8294 </h6></div></div></div><p>The two graphics below show the results for the native
8295 priority_queues and this library's priority_queues.
8296@@ -2687,96 +2687,96 @@
8297 native priority_queue type instantiated with different underlying
8298 container types versus several different versions of library's
8299 priority_queues.
8300- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_text_push_pop.png" style="text-align: middle"/></div></div><p>
8301+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_text_push_pop.png" align="middle" /></div></div><p>
8302 The abbreviated names in the legend of the graphic above are
8303 instantiated with the types in the following table.
8304- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8305+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8306 n_pq_vector
8307- </td></tr><tr><td style="text-align: left">
8308+ </td></tr><tr><td align="left">
8309 <code class="classname">std::priority_queue</code>
8310- </td><td style="text-align: left">
8311+ </td><td align="left">
8312 <code class="classname">Sequence</code>
8313- </td><td style="text-align: left">
8314+ </td><td align="left">
8315 <code class="classname">std::vector</code>
8316- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8317+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8318 n_pq_deque
8319- </td></tr><tr><td style="text-align: left">
8320+ </td></tr><tr><td align="left">
8321 <code class="classname">std::priority_queue</code>
8322- </td><td style="text-align: left">
8323+ </td><td align="left">
8324 <code class="classname">Sequence</code>
8325- </td><td style="text-align: left">
8326+ </td><td align="left">
8327 <code class="classname">std::deque</code>
8328- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8329+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8330 binary_heap
8331- </td></tr><tr><td style="text-align: left">
8332+ </td></tr><tr><td align="left">
8333 <code class="classname">priority_queue</code>
8334- </td><td style="text-align: left">
8335+ </td><td align="left">
8336 <code class="classname">Tag</code>
8337- </td><td style="text-align: left">
8338+ </td><td align="left">
8339 <code class="classname">binary_heap_tag</code>
8340- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8341+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8342 binomial_heap
8343- </td></tr><tr><td style="text-align: left">
8344+ </td></tr><tr><td align="left">
8345 <code class="classname">priority_queue</code>
8346- </td><td style="text-align: left">
8347+ </td><td align="left">
8348 <code class="classname">Tag</code>
8349- </td><td style="text-align: left">
8350+ </td><td align="left">
8351 <code class="classname">binomial_heap_tag</code>
8352- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8353+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8354 rc_binomial_heap
8355- </td></tr><tr><td style="text-align: left">
8356+ </td></tr><tr><td align="left">
8357 <code class="classname">priority_queue</code>
8358- </td><td style="text-align: left">
8359+ </td><td align="left">
8360 <code class="classname">Tag</code>
8361- </td><td style="text-align: left">
8362+ </td><td align="left">
8363 <code class="classname">rc_binomial_heap_tag</code>
8364- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8365+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8366 thin_heap
8367- </td></tr><tr><td style="text-align: left">
8368+ </td></tr><tr><td align="left">
8369 <code class="classname">priority_queue</code>
8370- </td><td style="text-align: left">
8371+ </td><td align="left">
8372 <code class="classname">Tag</code>
8373- </td><td style="text-align: left">
8374+ </td><td align="left">
8375 <code class="classname">thin_heap_tag</code>
8376- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8377+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8378 pairing_heap
8379- </td></tr><tr><td style="text-align: left">
8380+ </td></tr><tr><td align="left">
8381 <code class="classname">priority_queue</code>
8382- </td><td style="text-align: left">
8383+ </td><td align="left">
8384 <code class="classname">Tag</code>
8385- </td><td style="text-align: left">
8386+ </td><td align="left">
8387 <code class="classname">pairing_heap_tag</code>
8388 </td></tr></tbody></table></div><p>The graphic below shows the results for the native priority
8389 queues and this library's pairing-heap priority_queue data
8390 structures.
8391- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_pairing_priority_queue_text_push_pop.png" style="text-align: middle"/></div></div><p>
8392+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_pairing_priority_queue_text_push_pop.png" align="middle" /></div></div><p>
8393 The abbreviated names in the legend of the graphic above are
8394 instantiated with the types in the following table.
8395- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8396+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8397 n_pq_vector
8398- </td></tr><tr><td style="text-align: left">
8399+ </td></tr><tr><td align="left">
8400 <code class="classname">std::priority_queue</code> adapting <code class="classname">std::vector</code>
8401- </td><td style="text-align: left">
8402+ </td><td align="left">
8403 <code class="classname">Sequence</code>
8404- </td><td style="text-align: left">
8405+ </td><td align="left">
8406 <code class="classname">std::vector</code>
8407- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8408+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8409 n_pq_deque
8410- </td></tr><tr><td style="text-align: left">
8411+ </td></tr><tr><td align="left">
8412 <code class="classname">std::priority_queue</code>
8413- </td><td style="text-align: left">
8414+ </td><td align="left">
8415 <code class="classname">Sequence</code>
8416- </td><td style="text-align: left">
8417+ </td><td align="left">
8418 <code class="classname">std::deque</code>
8419- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8420+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8421 pairing_heap
8422- </td></tr><tr><td style="text-align: left">
8423+ </td></tr><tr><td align="left">
8424 <code class="classname">priority_queue</code>
8425- </td><td style="text-align: left">
8426+ </td><td align="left">
8427 <code class="classname">Tag</code>
8428- </td><td style="text-align: left">
8429+ </td><td align="left">
8430 <code class="classname">pairing_heap_tag</code>
8431- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push_pop.observations"/>
8432+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push_pop.observations"></a>
8433 Observations
8434 </h6></div></div></div><p>These results are very similar to Priority Queue Text
8435 <code class="function">push</code> Timing Test. As stated there, pairing heaps
8436@@ -2796,9 +2796,9 @@
8437 of <code class="function">push</code> operations, pairing heaps are better
8438 in this case. See Priority Queue Random
8439 Integer <code class="function">push</code> and <code class="function">pop</code>
8440- Timing Test for a case which is different.</p></div></div><div class="section" title="Integer push"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.int_push"/>
8441+ Timing Test for a case which is different.</p></div></div><div class="section" title="Integer push"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.int_push"></a>
8442 Integer <code class="function">push</code>
8443- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push.info"/>
8444+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push.info"></a>
8445 Description
8446 </h6></div></div></div><p>This test inserts a number of values with integer keys
8447 into a container using <code class="function">push</code>. It
8448@@ -2810,7 +2810,7 @@
8449 </code>
8450 </p><p>The test checks the effect of different underlying data
8451 structures.
8452- </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push.results"/>
8453+ </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push.results"></a>
8454 Results
8455 </h6></div></div></div><p>The two graphics below show the results for the native
8456 priority_queues and this library's priority_queues.
8457@@ -2818,96 +2818,96 @@
8458 native priority_queue type instantiated with different underlying
8459 container types versus several different versions of library's
8460 priority_queues.
8461- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_int_push.png" style="text-align: middle"/></div></div><p>
8462+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_int_push.png" align="middle" /></div></div><p>
8463 The abbreviated names in the legend of the graphic above are
8464 instantiated with the types in the following table.
8465- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8466+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8467 n_pq_vector
8468- </td></tr><tr><td style="text-align: left">
8469+ </td></tr><tr><td align="left">
8470 <code class="classname">std::priority_queue</code>
8471- </td><td style="text-align: left">
8472+ </td><td align="left">
8473 <code class="classname">Sequence</code>
8474- </td><td style="text-align: left">
8475+ </td><td align="left">
8476 <code class="classname">std::vector</code>
8477- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8478+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8479 n_pq_deque
8480- </td></tr><tr><td style="text-align: left">
8481+ </td></tr><tr><td align="left">
8482 <code class="classname">std::priority_queue</code>
8483- </td><td style="text-align: left">
8484+ </td><td align="left">
8485 <code class="classname">Sequence</code>
8486- </td><td style="text-align: left">
8487+ </td><td align="left">
8488 <code class="classname">std::deque</code>
8489- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8490+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8491 binary_heap
8492- </td></tr><tr><td style="text-align: left">
8493+ </td></tr><tr><td align="left">
8494 <code class="classname">priority_queue</code>
8495- </td><td style="text-align: left">
8496+ </td><td align="left">
8497 <code class="classname">Tag</code>
8498- </td><td style="text-align: left">
8499+ </td><td align="left">
8500 <code class="classname">binary_heap_tag</code>
8501- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8502+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8503 binomial_heap
8504- </td></tr><tr><td style="text-align: left">
8505+ </td></tr><tr><td align="left">
8506 <code class="classname">priority_queue</code>
8507- </td><td style="text-align: left">
8508+ </td><td align="left">
8509 <code class="classname">Tag</code>
8510- </td><td style="text-align: left">
8511+ </td><td align="left">
8512 <code class="classname">binomial_heap_tag</code>
8513- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8514+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8515 rc_binomial_heap
8516- </td></tr><tr><td style="text-align: left">
8517+ </td></tr><tr><td align="left">
8518 <code class="classname">priority_queue</code>
8519- </td><td style="text-align: left">
8520+ </td><td align="left">
8521 <code class="classname">Tag</code>
8522- </td><td style="text-align: left">
8523+ </td><td align="left">
8524 <code class="classname">rc_binomial_heap_tag</code>
8525- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8526+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8527 thin_heap
8528- </td></tr><tr><td style="text-align: left">
8529+ </td></tr><tr><td align="left">
8530 <code class="classname">priority_queue</code>
8531- </td><td style="text-align: left">
8532+ </td><td align="left">
8533 <code class="classname">Tag</code>
8534- </td><td style="text-align: left">
8535+ </td><td align="left">
8536 <code class="classname">thin_heap_tag</code>
8537- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8538+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8539 pairing_heap
8540- </td></tr><tr><td style="text-align: left">
8541+ </td></tr><tr><td align="left">
8542 <code class="classname">priority_queue</code>
8543- </td><td style="text-align: left">
8544+ </td><td align="left">
8545 <code class="classname">Tag</code>
8546- </td><td style="text-align: left">
8547+ </td><td align="left">
8548 <code class="classname">pairing_heap_tag</code>
8549 </td></tr></tbody></table></div><p>The graphic below shows the results for the binary-heap
8550 based native priority queues and this library's
8551 priority_queue data structures.
8552- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_binary_priority_queue_int_push.png" style="text-align: middle"/></div></div><p>
8553+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_binary_priority_queue_int_push.png" align="middle" /></div></div><p>
8554 The abbreviated names in the legend of the graphic above are
8555 instantiated with the types in the following table.
8556- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8557+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8558 n_pq_vector
8559- </td></tr><tr><td style="text-align: left">
8560+ </td></tr><tr><td align="left">
8561 <code class="classname">std::priority_queue</code> adapting <code class="classname">std::vector</code>
8562- </td><td style="text-align: left">
8563+ </td><td align="left">
8564 <code class="classname">Sequence</code>
8565- </td><td style="text-align: left">
8566+ </td><td align="left">
8567 <code class="classname">std::vector</code>
8568- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8569+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8570 n_pq_deque
8571- </td></tr><tr><td style="text-align: left">
8572+ </td></tr><tr><td align="left">
8573 <code class="classname">std::priority_queue</code>
8574- </td><td style="text-align: left">
8575+ </td><td align="left">
8576 <code class="classname">Sequence</code>
8577- </td><td style="text-align: left">
8578+ </td><td align="left">
8579 <code class="classname">std::deque</code>
8580- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8581+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8582 binary_heap
8583- </td></tr><tr><td style="text-align: left">
8584+ </td></tr><tr><td align="left">
8585 <code class="classname">priority_queue</code>
8586- </td><td style="text-align: left">
8587+ </td><td align="left">
8588 <code class="classname">Tag</code>
8589- </td><td style="text-align: left">
8590+ </td><td align="left">
8591 <code class="classname">binary_heap_tag</code>
8592- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push.observations"/>
8593+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push.observations"></a>
8594 Observations
8595 </h6></div></div></div><p>Binary heaps are the most suited for sequences of
8596 <code class="function">push</code> and <code class="function">pop</code> operations of primitive types
8597@@ -2916,9 +2916,9 @@
8598 such types in arrays, they outperform even pairing heaps. (See
8599 Priority
8600 Queue Text <code class="function">push</code> Timing Test for the case of
8601- non-primitive types.)</p></div></div><div class="section" title="Integer push"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.int_push_pop"/>
8602+ non-primitive types.)</p></div></div><div class="section" title="Integer push"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.int_push_pop"></a>
8603 Integer <code class="function">push</code>
8604- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push_pop.info"/>
8605+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push_pop.info"></a>
8606 Description
8607 </h6></div></div></div><p>This test inserts a number of values with integer keys
8608 into a container using <code class="function">push</code> , then removes them
8609@@ -2931,72 +2931,72 @@
8610 </code>
8611 </p><p>The test checks the effect of different underlying data
8612 structures.
8613- </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push_pop.results"/>
8614+ </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push_pop.results"></a>
8615 Results
8616 </h6></div></div></div><p>The graphic immediately below shows the results for the
8617 native priority_queue type instantiated with different underlying
8618 container types versus several different versions of library's
8619 priority_queues.
8620- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_int_push_pop.png" style="text-align: middle"/></div></div><p>
8621+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_int_push_pop.png" align="middle" /></div></div><p>
8622 The abbreviated names in the legend of the graphic above are
8623 instantiated with the types in the following table.
8624- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8625+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8626 n_pq_vector
8627- </td></tr><tr><td style="text-align: left">
8628+ </td></tr><tr><td align="left">
8629 <code class="classname">std::priority_queue</code>
8630- </td><td style="text-align: left">
8631+ </td><td align="left">
8632 <code class="classname">Sequence</code>
8633- </td><td style="text-align: left">
8634+ </td><td align="left">
8635 <code class="classname">std::vector</code>
8636- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8637+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8638 n_pq_deque
8639- </td></tr><tr><td style="text-align: left">
8640+ </td></tr><tr><td align="left">
8641 <code class="classname">std::priority_queue</code>
8642- </td><td style="text-align: left">
8643+ </td><td align="left">
8644 <code class="classname">Sequence</code>
8645- </td><td style="text-align: left">
8646+ </td><td align="left">
8647 <code class="classname">std::deque</code>
8648- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8649+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8650 binary_heap
8651- </td></tr><tr><td style="text-align: left">
8652+ </td></tr><tr><td align="left">
8653 <code class="classname">priority_queue</code>
8654- </td><td style="text-align: left">
8655+ </td><td align="left">
8656 <code class="classname">Tag</code>
8657- </td><td style="text-align: left">
8658+ </td><td align="left">
8659 <code class="classname">binary_heap_tag</code>
8660- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8661+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8662 binomial_heap
8663- </td></tr><tr><td style="text-align: left">
8664+ </td></tr><tr><td align="left">
8665 <code class="classname">priority_queue</code>
8666- </td><td style="text-align: left">
8667+ </td><td align="left">
8668 <code class="classname">Tag</code>
8669- </td><td style="text-align: left">
8670+ </td><td align="left">
8671 <code class="classname">binomial_heap_tag</code>
8672- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8673+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8674 rc_binomial_heap
8675- </td></tr><tr><td style="text-align: left">
8676+ </td></tr><tr><td align="left">
8677 <code class="classname">priority_queue</code>
8678- </td><td style="text-align: left">
8679+ </td><td align="left">
8680 <code class="classname">Tag</code>
8681- </td><td style="text-align: left">
8682+ </td><td align="left">
8683 <code class="classname">rc_binomial_heap_tag</code>
8684- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8685+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8686 thin_heap
8687- </td></tr><tr><td style="text-align: left">
8688+ </td></tr><tr><td align="left">
8689 <code class="classname">priority_queue</code>
8690- </td><td style="text-align: left">
8691+ </td><td align="left">
8692 <code class="classname">Tag</code>
8693- </td><td style="text-align: left">
8694+ </td><td align="left">
8695 <code class="classname">thin_heap_tag</code>
8696- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8697+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8698 pairing_heap
8699- </td></tr><tr><td style="text-align: left">
8700+ </td></tr><tr><td align="left">
8701 <code class="classname">priority_queue</code>
8702- </td><td style="text-align: left">
8703+ </td><td align="left">
8704 <code class="classname">Tag</code>
8705- </td><td style="text-align: left">
8706+ </td><td align="left">
8707 <code class="classname">pairing_heap_tag</code>
8708- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push_pop.observations"/>
8709+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push_pop.observations"></a>
8710 Observations
8711 </h6></div></div></div><p>Binary heaps are the most suited for sequences of
8712 <code class="function">push</code> and <code class="function">pop</code> operations of primitive types
8713@@ -3007,7 +3007,7 @@
8714 types.)</p><p>At first glance it seems that the standard's vector-based
8715 priority queue is approximately on par with this
8716 library's corresponding priority queue. There are two
8717- differences however:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>The standard's priority queue does not downsize the underlying
8718+ differences however:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>The standard's priority queue does not downsize the underlying
8719 vector (or deque) as the priority queue becomes smaller
8720 (see Priority Queue
8721 Text <code class="function">pop</code> Memory Use Test). It is therefore
8722@@ -3018,9 +3018,9 @@
8723 the number of
8724 <code class="function">pop</code> operations is at most that of <code class="function">push</code>
8725 operations, the test here is the "best" for the standard's
8726- priority queue.</p></li></ol></div></div></div><div class="section" title="Text pop Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_pop"/>
8727+ priority queue.</p></li></ol></div></div></div><div class="section" title="Text pop Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_pop"></a>
8728 Text <code class="function">pop</code> Memory Use
8729- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_pop.info"/>
8730+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_pop.info"></a>
8731 Description
8732 </h6></div></div></div><p>This test inserts a number of values with keys from an
8733 arbitrary text ([ wickland96thirty ]) into
8734@@ -3033,72 +3033,72 @@
8735 </code>
8736 </p><p>The test checks the effect of different underlying data
8737 structures.
8738- </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_pop.results"/>
8739+ </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_pop.results"></a>
8740 Results
8741 </h6></div></div></div><p>The graphic immediately below shows the results for the
8742 native priority_queue type instantiated with different underlying
8743 container types versus several different versions of library's
8744 priority_queues.
8745- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_text_pop_mem.png" style="text-align: middle"/></div></div><p>
8746+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_text_pop_mem.png" align="middle" /></div></div><p>
8747 The abbreviated names in the legend of the graphic above are
8748 instantiated with the types in the following table.
8749- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8750+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8751 n_pq_vector
8752- </td></tr><tr><td style="text-align: left">
8753+ </td></tr><tr><td align="left">
8754 <code class="classname">std::priority_queue</code>
8755- </td><td style="text-align: left">
8756+ </td><td align="left">
8757 <code class="classname">Sequence</code>
8758- </td><td style="text-align: left">
8759+ </td><td align="left">
8760 <code class="classname">std::vector</code>
8761- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8762+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8763 n_pq_deque
8764- </td></tr><tr><td style="text-align: left">
8765+ </td></tr><tr><td align="left">
8766 <code class="classname">std::priority_queue</code>
8767- </td><td style="text-align: left">
8768+ </td><td align="left">
8769 <code class="classname">Sequence</code>
8770- </td><td style="text-align: left">
8771+ </td><td align="left">
8772 <code class="classname">std::deque</code>
8773- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8774+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8775 binary_heap
8776- </td></tr><tr><td style="text-align: left">
8777+ </td></tr><tr><td align="left">
8778 <code class="classname">priority_queue</code>
8779- </td><td style="text-align: left">
8780+ </td><td align="left">
8781 <code class="classname">Tag</code>
8782- </td><td style="text-align: left">
8783+ </td><td align="left">
8784 <code class="classname">binary_heap_tag</code>
8785- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8786+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8787 binomial_heap
8788- </td></tr><tr><td style="text-align: left">
8789+ </td></tr><tr><td align="left">
8790 <code class="classname">priority_queue</code>
8791- </td><td style="text-align: left">
8792+ </td><td align="left">
8793 <code class="classname">Tag</code>
8794- </td><td style="text-align: left">
8795+ </td><td align="left">
8796 <code class="classname">binomial_heap_tag</code>
8797- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8798+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8799 rc_binomial_heap
8800- </td></tr><tr><td style="text-align: left">
8801+ </td></tr><tr><td align="left">
8802 <code class="classname">priority_queue</code>
8803- </td><td style="text-align: left">
8804+ </td><td align="left">
8805 <code class="classname">Tag</code>
8806- </td><td style="text-align: left">
8807+ </td><td align="left">
8808 <code class="classname">rc_binomial_heap_tag</code>
8809- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8810+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8811 thin_heap
8812- </td></tr><tr><td style="text-align: left">
8813+ </td></tr><tr><td align="left">
8814 <code class="classname">priority_queue</code>
8815- </td><td style="text-align: left">
8816+ </td><td align="left">
8817 <code class="classname">Tag</code>
8818- </td><td style="text-align: left">
8819+ </td><td align="left">
8820 <code class="classname">thin_heap_tag</code>
8821- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8822+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8823 pairing_heap
8824- </td></tr><tr><td style="text-align: left">
8825+ </td></tr><tr><td align="left">
8826 <code class="classname">priority_queue</code>
8827- </td><td style="text-align: left">
8828+ </td><td align="left">
8829 <code class="classname">Tag</code>
8830- </td><td style="text-align: left">
8831+ </td><td align="left">
8832 <code class="classname">pairing_heap_tag</code>
8833- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_pop.observations"/>
8834+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_pop.observations"></a>
8835 Observations
8836 </h6></div></div></div><p>The priority queue implementations (excluding the standard's) use
8837 memory proportionally to the number of values they hold:
8838@@ -3111,9 +3111,9 @@
8839 impede performance compared to the standard's priority
8840 queues.</p><p>See Hash-Based Erase
8841 Memory Use Test for a similar phenomenon regarding priority
8842- queues.</p></div></div><div class="section" title="Text join"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_join"/>
8843+ queues.</p></div></div><div class="section" title="Text join"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_join"></a>
8844 Text <code class="function">join</code>
8845- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_join.info"/>
8846+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_join.info"></a>
8847 Description
8848 </h6></div></div></div><p>This test inserts a number of values with keys from an
8849 arbitrary text ([ wickland96thirty ]) into
8850@@ -3128,72 +3128,72 @@
8851 </code>
8852 </p><p>The test checks the effect of different underlying data
8853 structures.
8854- </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_join.results"/>
8855+ </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_join.results"></a>
8856 Results
8857 </h6></div></div></div><p>The graphic immediately below shows the results for the
8858 native priority_queue type instantiated with different underlying
8859 container types versus several different versions of library's
8860 priority_queues.
8861- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_text_join.png" style="text-align: middle"/></div></div><p>
8862+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_text_join.png" align="middle" /></div></div><p>
8863 The abbreviated names in the legend of the graphic above are
8864 instantiated with the types in the following table.
8865- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8866+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8867 n_pq_vector
8868- </td></tr><tr><td style="text-align: left">
8869+ </td></tr><tr><td align="left">
8870 <code class="classname">std::priority_queue</code>
8871- </td><td style="text-align: left">
8872+ </td><td align="left">
8873 <code class="classname">Sequence</code>
8874- </td><td style="text-align: left">
8875+ </td><td align="left">
8876 <code class="classname">std::vector</code>
8877- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8878+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8879 n_pq_deque
8880- </td></tr><tr><td style="text-align: left">
8881+ </td></tr><tr><td align="left">
8882 <code class="classname">std::priority_queue</code>
8883- </td><td style="text-align: left">
8884+ </td><td align="left">
8885 <code class="classname">Sequence</code>
8886- </td><td style="text-align: left">
8887+ </td><td align="left">
8888 <code class="classname">std::deque</code>
8889- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8890+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8891 binary_heap
8892- </td></tr><tr><td style="text-align: left">
8893+ </td></tr><tr><td align="left">
8894 <code class="classname">priority_queue</code>
8895- </td><td style="text-align: left">
8896+ </td><td align="left">
8897 <code class="classname">Tag</code>
8898- </td><td style="text-align: left">
8899+ </td><td align="left">
8900 <code class="classname">binary_heap_tag</code>
8901- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8902+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8903 binomial_heap
8904- </td></tr><tr><td style="text-align: left">
8905+ </td></tr><tr><td align="left">
8906 <code class="classname">priority_queue</code>
8907- </td><td style="text-align: left">
8908+ </td><td align="left">
8909 <code class="classname">Tag</code>
8910- </td><td style="text-align: left">
8911+ </td><td align="left">
8912 <code class="classname">binomial_heap_tag</code>
8913- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8914+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8915 rc_binomial_heap
8916- </td></tr><tr><td style="text-align: left">
8917+ </td></tr><tr><td align="left">
8918 <code class="classname">priority_queue</code>
8919- </td><td style="text-align: left">
8920+ </td><td align="left">
8921 <code class="classname">Tag</code>
8922- </td><td style="text-align: left">
8923+ </td><td align="left">
8924 <code class="classname">rc_binomial_heap_tag</code>
8925- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8926+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8927 thin_heap
8928- </td></tr><tr><td style="text-align: left">
8929+ </td></tr><tr><td align="left">
8930 <code class="classname">priority_queue</code>
8931- </td><td style="text-align: left">
8932+ </td><td align="left">
8933 <code class="classname">Tag</code>
8934- </td><td style="text-align: left">
8935+ </td><td align="left">
8936 <code class="classname">thin_heap_tag</code>
8937- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8938+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8939 pairing_heap
8940- </td></tr><tr><td style="text-align: left">
8941+ </td></tr><tr><td align="left">
8942 <code class="classname">priority_queue</code>
8943- </td><td style="text-align: left">
8944+ </td><td align="left">
8945 <code class="classname">Tag</code>
8946- </td><td style="text-align: left">
8947+ </td><td align="left">
8948 <code class="classname">pairing_heap_tag</code>
8949- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_join.observations"/>
8950+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_join.observations"></a>
8951 Observations
8952 </h6></div></div></div><p>In this test the node-based heaps perform <code class="function">join</code> in
8953 either logarithmic or constant time. The binary heap requires
8954@@ -3205,9 +3205,9 @@
8955 and <code class="function">size()</code> (since they are enough to expose
8956 the underlying array), but this is impossible for
8957 a <code class="classname">std::deque</code>-based standard priority queue.
8958- Without heapify, the cost is super-linear.</p></div></div><div class="section" title="Text modify Up"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_modify_up"/>
8959+ Without heapify, the cost is super-linear.</p></div></div><div class="section" title="Text modify Up"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_modify_up"></a>
8960 Text <code class="function">modify</code> Up
8961- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_up.info"/>
8962+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_up.info"></a>
8963 Description
8964 </h6></div></div></div><p>This test inserts a number of values with keys from an
8965 arbitrary text ([ wickland96thirty ]) into
8966@@ -3227,7 +3227,7 @@
8967 arbitrary value larger (in the sense of the priority queue's
8968 comparison functor) corresponds to decrease-key in standard graph
8969 algorithms [clrs2001].
8970- </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_up.results"/>
8971+ </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_up.results"></a>
8972 Results
8973 </h6></div></div></div><p>The two graphics below show the results for the native
8974 priority_queues and this library's priority_queues.
8975@@ -3235,88 +3235,88 @@
8976 native priority_queue type instantiated with different underlying
8977 container types versus several different versions of library's
8978 priority_queues.
8979- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_text_modify_up.png" style="text-align: middle"/></div></div><p>
8980+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_text_modify_up.png" align="middle" /></div></div><p>
8981 The abbreviated names in the legend of the graphic above are
8982 instantiated with the types in the following table.
8983- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8984+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8985 n_pq_vector
8986- </td></tr><tr><td style="text-align: left">
8987+ </td></tr><tr><td align="left">
8988 <code class="classname">std::priority_queue</code>
8989- </td><td style="text-align: left">
8990+ </td><td align="left">
8991 <code class="classname">Sequence</code>
8992- </td><td style="text-align: left">
8993+ </td><td align="left">
8994 <code class="classname">std::vector</code>
8995- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
8996+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
8997 n_pq_deque
8998- </td></tr><tr><td style="text-align: left">
8999+ </td></tr><tr><td align="left">
9000 <code class="classname">std::priority_queue</code>
9001- </td><td style="text-align: left">
9002+ </td><td align="left">
9003 <code class="classname">Sequence</code>
9004- </td><td style="text-align: left">
9005+ </td><td align="left">
9006 <code class="classname">std::deque</code>
9007- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9008+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9009 binary_heap
9010- </td></tr><tr><td style="text-align: left">
9011+ </td></tr><tr><td align="left">
9012 <code class="classname">priority_queue</code>
9013- </td><td style="text-align: left">
9014+ </td><td align="left">
9015 <code class="classname">Tag</code>
9016- </td><td style="text-align: left">
9017+ </td><td align="left">
9018 <code class="classname">binary_heap_tag</code>
9019- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9020+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9021 binomial_heap
9022- </td></tr><tr><td style="text-align: left">
9023+ </td></tr><tr><td align="left">
9024 <code class="classname">priority_queue</code>
9025- </td><td style="text-align: left">
9026+ </td><td align="left">
9027 <code class="classname">Tag</code>
9028- </td><td style="text-align: left">
9029+ </td><td align="left">
9030 <code class="classname">binomial_heap_tag</code>
9031- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9032+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9033 rc_binomial_heap
9034- </td></tr><tr><td style="text-align: left">
9035+ </td></tr><tr><td align="left">
9036 <code class="classname">priority_queue</code>
9037- </td><td style="text-align: left">
9038+ </td><td align="left">
9039 <code class="classname">Tag</code>
9040- </td><td style="text-align: left">
9041+ </td><td align="left">
9042 <code class="classname">rc_binomial_heap_tag</code>
9043- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9044+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9045 thin_heap
9046- </td></tr><tr><td style="text-align: left">
9047+ </td></tr><tr><td align="left">
9048 <code class="classname">priority_queue</code>
9049- </td><td style="text-align: left">
9050+ </td><td align="left">
9051 <code class="classname">Tag</code>
9052- </td><td style="text-align: left">
9053+ </td><td align="left">
9054 <code class="classname">thin_heap_tag</code>
9055- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9056+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9057 pairing_heap
9058- </td></tr><tr><td style="text-align: left">
9059+ </td></tr><tr><td align="left">
9060 <code class="classname">priority_queue</code>
9061- </td><td style="text-align: left">
9062+ </td><td align="left">
9063 <code class="classname">Tag</code>
9064- </td><td style="text-align: left">
9065+ </td><td align="left">
9066 <code class="classname">pairing_heap_tag</code>
9067 </td></tr></tbody></table></div><p>The graphic below shows the results for the
9068 native priority queues and this library's pairing and thin heap
9069 priority_queue data structures.
9070- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_pairing_priority_queue_text_modify_up_thin.png" style="text-align: middle"/></div></div><p>
9071+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_pairing_priority_queue_text_modify_up_thin.png" align="middle" /></div></div><p>
9072 The abbreviated names in the legend of the graphic above are
9073 instantiated with the types in the following table.
9074- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9075+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9076 thin_heap
9077- </td></tr><tr><td style="text-align: left">
9078+ </td></tr><tr><td align="left">
9079 <code class="classname">priority_queue</code>
9080- </td><td style="text-align: left">
9081+ </td><td align="left">
9082 <code class="classname">Tag</code>
9083- </td><td style="text-align: left">
9084+ </td><td align="left">
9085 <code class="classname">thin_heap_tag</code>
9086- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9087+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9088 pairing_heap
9089- </td></tr><tr><td style="text-align: left">
9090+ </td></tr><tr><td align="left">
9091 <code class="classname">priority_queue</code>
9092- </td><td style="text-align: left">
9093+ </td><td align="left">
9094 <code class="classname">Tag</code>
9095- </td><td style="text-align: left">
9096+ </td><td align="left">
9097 <code class="classname">pairing_heap_tag</code>
9098- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_up.observations"/>
9099+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_up.observations"></a>
9100 Observations
9101 </h6></div></div></div><p>As noted above, increasing an arbitrary value (in the sense of
9102 the priority queue's comparison functor) is very common in
9103@@ -3344,9 +3344,9 @@
9104 finding the appropriate value, then use the range-type iterator
9105 for the <code class="function">modify</code> operation.</p><p>The explanation for the standard's priority queues' performance
9106 is similar to that in Priority Queue Text
9107- <code class="function">join</code> Timing Test.</p></div></div><div class="section" title="Text modify Down"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_modify_down"/>
9108+ <code class="function">join</code> Timing Test.</p></div></div><div class="section" title="Text modify Down"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_modify_down"></a>
9109 Text <code class="function">modify</code> Down
9110- </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_down.info"/>
9111+ </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_down.info"></a>
9112 Description
9113 </h6></div></div></div><p>This test inserts a number of values with keys from an
9114 arbitrary text ([ wickland96thirty ]) into
9115@@ -3362,7 +3362,7 @@
9116 performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc
9117 </code>
9118 </p><p>The main purpose of this test is to contrast Priority Queue
9119- Text <code class="classname">modify</code> Up Timing Test.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_down.results"/>
9120+ Text <code class="classname">modify</code> Up Timing Test.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_down.results"></a>
9121 Results
9122 </h6></div></div></div><p>The two graphics below show the results for the native
9123 priority_queues and this library's priority_queues.
9124@@ -3370,88 +3370,88 @@
9125 native priority_queue type instantiated with different underlying
9126 container types versus several different versions of library's
9127 priority_queues.
9128- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_text_modify_down.png" style="text-align: middle"/></div></div><p>
9129+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_text_modify_down.png" align="middle" /></div></div><p>
9130 The abbreviated names in the legend of the graphic above are
9131 instantiated with the types in the following table.
9132- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9133+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9134 n_pq_vector
9135- </td></tr><tr><td style="text-align: left">
9136+ </td></tr><tr><td align="left">
9137 <code class="classname">std::priority_queue</code>
9138- </td><td style="text-align: left">
9139+ </td><td align="left">
9140 <code class="classname">Sequence</code>
9141- </td><td style="text-align: left">
9142+ </td><td align="left">
9143 <code class="classname">std::vector</code>
9144- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9145+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9146 n_pq_deque
9147- </td></tr><tr><td style="text-align: left">
9148+ </td></tr><tr><td align="left">
9149 <code class="classname">std::priority_queue</code>
9150- </td><td style="text-align: left">
9151+ </td><td align="left">
9152 <code class="classname">Sequence</code>
9153- </td><td style="text-align: left">
9154+ </td><td align="left">
9155 <code class="classname">std::deque</code>
9156- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9157+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9158 binary_heap
9159- </td></tr><tr><td style="text-align: left">
9160+ </td></tr><tr><td align="left">
9161 <code class="classname">priority_queue</code>
9162- </td><td style="text-align: left">
9163+ </td><td align="left">
9164 <code class="classname">Tag</code>
9165- </td><td style="text-align: left">
9166+ </td><td align="left">
9167 <code class="classname">binary_heap_tag</code>
9168- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9169+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9170 binomial_heap
9171- </td></tr><tr><td style="text-align: left">
9172+ </td></tr><tr><td align="left">
9173 <code class="classname">priority_queue</code>
9174- </td><td style="text-align: left">
9175+ </td><td align="left">
9176 <code class="classname">Tag</code>
9177- </td><td style="text-align: left">
9178+ </td><td align="left">
9179 <code class="classname">binomial_heap_tag</code>
9180- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9181+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9182 rc_binomial_heap
9183- </td></tr><tr><td style="text-align: left">
9184+ </td></tr><tr><td align="left">
9185 <code class="classname">priority_queue</code>
9186- </td><td style="text-align: left">
9187+ </td><td align="left">
9188 <code class="classname">Tag</code>
9189- </td><td style="text-align: left">
9190+ </td><td align="left">
9191 <code class="classname">rc_binomial_heap_tag</code>
9192- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9193+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9194 thin_heap
9195- </td></tr><tr><td style="text-align: left">
9196+ </td></tr><tr><td align="left">
9197 <code class="classname">priority_queue</code>
9198- </td><td style="text-align: left">
9199+ </td><td align="left">
9200 <code class="classname">Tag</code>
9201- </td><td style="text-align: left">
9202+ </td><td align="left">
9203 <code class="classname">thin_heap_tag</code>
9204- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9205+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9206 pairing_heap
9207- </td></tr><tr><td style="text-align: left">
9208+ </td></tr><tr><td align="left">
9209 <code class="classname">priority_queue</code>
9210- </td><td style="text-align: left">
9211+ </td><td align="left">
9212 <code class="classname">Tag</code>
9213- </td><td style="text-align: left">
9214+ </td><td align="left">
9215 <code class="classname">pairing_heap_tag</code>
9216 </td></tr></tbody></table></div><p>The graphic below shows the results for the
9217 native priority queues and this library's pairing and thin heap
9218 priority_queue data structures.
9219- </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_pairing_priority_queue_text_modify_down_thin.png" style="text-align: middle"/></div></div><p>
9220+ </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_pairing_priority_queue_text_modify_down_thin.png" align="middle" /></div></div><p>
9221 The abbreviated names in the legend of the graphic above are
9222 instantiated with the types in the following table.
9223- </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9224+ </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9225 thin_heap
9226- </td></tr><tr><td style="text-align: left">
9227+ </td></tr><tr><td align="left">
9228 <code class="classname">priority_queue</code>
9229- </td><td style="text-align: left">
9230+ </td><td align="left">
9231 <code class="classname">Tag</code>
9232- </td><td style="text-align: left">
9233+ </td><td align="left">
9234 <code class="classname">thin_heap_tag</code>
9235- </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
9236+ </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
9237 pairing_heap
9238- </td></tr><tr><td style="text-align: left">
9239+ </td></tr><tr><td align="left">
9240 <code class="classname">priority_queue</code>
9241- </td><td style="text-align: left">
9242+ </td><td align="left">
9243 <code class="classname">Tag</code>
9244- </td><td style="text-align: left">
9245+ </td><td align="left">
9246 <code class="classname">pairing_heap_tag</code>
9247- </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_down.observations"/>
9248+ </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_down.observations"></a>
9249 Observations
9250 </h6></div></div></div><p>Most points in these results are similar to Priority Queue
9251 Text <code class="function">modify</code> Up Timing Test.</p><p>It is interesting to note, however, that as opposed to that
9252@@ -3466,7 +3466,7 @@
9253 (in the sense of the priority queue's comparison functor), and
9254 so Priority Queue
9255 Text <code class="classname">modify</code> Up Timing Test - is more interesting
9256- than this test.</p></div></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.test.performance.observations"/>Observations</h4></div></div></div><div class="section" title="Associative"><div class="titlepage"><div><div><h5 class="title"><a id="observations.associative"/>Associative</h5></div></div></div><div class="section" title="Underlying Data-Structure Families"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.underlying"/>
9257+ than this test.</p></div></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.test.performance.observations"></a>Observations</h4></div></div></div><div class="section" title="Associative"><div class="titlepage"><div><div><h5 class="title"><a id="observations.associative"></a>Associative</h5></div></div></div><div class="section" title="Underlying Data-Structure Families"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.underlying"></a>
9258 Underlying Data-Structure Families
9259 </h6></div></div></div><p>In general, hash-based containers have better timing performance
9260 than containers based on different underlying-data structures. The
9261@@ -3475,7 +3475,7 @@
9262 order-preservation, or the ability to utilize node invariants. If
9263 memory-use is the major factor, an ordered-vector tree gives
9264 optimal results (albeit with high modificiation costs), and a
9265- list-based container gives reasonable results.</p></div><div class="section" title="Hash-Based Containers"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.hash"/>
9266+ list-based container gives reasonable results.</p></div><div class="section" title="Hash-Based Containers"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.hash"></a>
9267 Hash-Based Containers
9268 </h6></div></div></div><p>Hash-based containers are typically either collision
9269 chaining or probing. Collision-chaining
9270@@ -3490,7 +3490,7 @@
9271 useful also in multithreaded applications where each thread
9272 manipulates a hash-based container: in the standard, allocators have
9273 class-wise semantics (see [meyers96more] - Item 10); a
9274- probing container might incur less contention in this case.</p></div><div class="section" title="Hash Policies"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.hash_policies"/>
9275+ probing container might incur less contention in this case.</p></div><div class="section" title="Hash Policies"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.hash_policies"></a>
9276 Hash Policies
9277 </h6></div></div></div><p>In hash-based containers, the range-hashing scheme seems to
9278 affect performance more than other considerations. In most
9279@@ -3509,7 +3509,7 @@
9280 function.</p><p>An orthogonal consideration is the trigger policy. This
9281 presents difficult tradeoffs. E.g., different load
9282 factors in a load-check trigger policy yield a
9283- space/amortized-cost tradeoff.</p></div><div class="section" title="Branch-Based Containers"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.branch"/>
9284+ space/amortized-cost tradeoff.</p></div><div class="section" title="Branch-Based Containers"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.branch"></a>
9285 Branch-Based Containers
9286 </h6></div></div></div><p>In general, there are several families of tree-based
9287 underlying data structures: balanced node-based trees
9288@@ -3556,14 +3556,14 @@
9289 maintaining such trees is higher than that of balanced trees.
9290 Moderate-fan-out trees might be useful for sequences where each
9291 element has a limited number of choices, e.g., DNA
9292- strings.</p></div><div class="section" title="Mapping-Semantics"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.mapping_semantics"/>
9293+ strings.</p></div><div class="section" title="Mapping-Semantics"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.mapping_semantics"></a>
9294 Mapping-Semantics
9295 </h6></div></div></div><p>Different mapping semantics were discussed in the introduction and design sections.Here
9296 the focus will be on the case where a keys can be composed into
9297 primary keys and secondary keys. (In the case where some keys
9298 are completely identical, it is trivial that one should use an
9299 associative container mapping values to size types.) In this
9300- case there are (at least) five possibilities:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Use an associative container that allows equivalent-key
9301+ case there are (at least) five possibilities:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Use an associative container that allows equivalent-key
9302 values (such as <code class="classname">std::multimap</code>)</p></li><li class="listitem"><p>Use a unique-key value associative container that maps
9303 each primary key to some complex associative container of
9304 secondary keys, say a tree-based or hash-based container.
9305@@ -3636,105 +3636,105 @@
9306 but with very high constants; using 1 with a tree-based
9307 container, the cost is Θ(nlog(mn)). Using 2, 3,
9308 and 4, the expected cost is Θ(n), but typically
9309- with far lower costs than 1. 5 is similar to 1.</p></div></div><div class="section" title="Priority_Queue"><div class="titlepage"><div><div><h5 class="title"><a id="observations.priority_queue"/>Priority_Queue</h5></div></div></div><div class="section" title="Complexity"><div class="titlepage"><div><div><h6 class="title"><a id="observations.priority_queue.complexity"/>Complexity</h6></div></div></div><p>The following table shows the complexities of the different
9310+ with far lower costs than 1. 5 is similar to 1.</p></div></div><div class="section" title="Priority_Queue"><div class="titlepage"><div><div><h5 class="title"><a id="observations.priority_queue"></a>Priority_Queue</h5></div></div></div><div class="section" title="Complexity"><div class="titlepage"><div><div><h6 class="title"><a id="observations.priority_queue.complexity"></a>Complexity</h6></div></div></div><p>The following table shows the complexities of the different
9311 underlying data structures in terms of orders of growth. It is
9312 interesting to note that this table implies something about the
9313 constants of the operations as well (see Amortized <code class="function">push</code>
9314- and <code class="function">pop</code> operations).</p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/></colgroup><thead><tr><th style="text-align: left"> </th><th style="text-align: left"><span class="emphasis"><em><code class="function">push</code></em></span></th><th style="text-align: left"><span class="emphasis"><em><code class="function">pop</code></em></span></th><th style="text-align: left"><span class="emphasis"><em><code class="function">modify</code></em></span></th><th style="text-align: left"><span class="emphasis"><em><code class="function">erase</code></em></span></th><th style="text-align: left"><span class="emphasis"><em><code class="function">join</code></em></span></th></tr></thead><tbody><tr><td style="text-align: left">
9315+ and <code class="function">pop</code> operations).</p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /></colgroup><thead><tr><th align="left"> </th><th align="left"><span class="emphasis"><em><code class="function">push</code></em></span></th><th align="left"><span class="emphasis"><em><code class="function">pop</code></em></span></th><th align="left"><span class="emphasis"><em><code class="function">modify</code></em></span></th><th align="left"><span class="emphasis"><em><code class="function">erase</code></em></span></th><th align="left"><span class="emphasis"><em><code class="function">join</code></em></span></th></tr></thead><tbody><tr><td align="left">
9316 <code class="classname">std::priority_queue</code>
9317- </td><td style="text-align: left">
9318+ </td><td align="left">
9319 Θ(n) worst
9320 Θ(log(n)) amortized
9321- </td><td style="text-align: left">
9322+ </td><td align="left">
9323 Θ(log(n)) Worst
9324- </td><td style="text-align: left">
9325+ </td><td align="left">
9326 Θ(n log(n)) Worst
9327 <sub>[std note 1]</sub>
9328- </td><td style="text-align: left">
9329+ </td><td align="left">
9330 Θ(n log(n))
9331 <sub>[std note 2]</sub>
9332- </td><td style="text-align: left">
9333+ </td><td align="left">
9334 Θ(n log(n))
9335 <sub>[std note 1]</sub>
9336- </td></tr><tr><td style="text-align: left">
9337+ </td></tr><tr><td align="left">
9338 <code class="classname">priority_queue</code>
9339 &lt;<code class="classname">Tag</code> =
9340 <code class="classname">pairing_heap_tag</code>&gt;
9341- </td><td style="text-align: left">
9342+ </td><td align="left">
9343 O(1)
9344- </td><td style="text-align: left">
9345+ </td><td align="left">
9346 Θ(n) worst
9347 Θ(log(n)) amortized
9348- </td><td style="text-align: left">
9349+ </td><td align="left">
9350 Θ(n) worst
9351 Θ(log(n)) amortized
9352- </td><td style="text-align: left">
9353+ </td><td align="left">
9354 Θ(n) worst
9355 Θ(log(n)) amortized
9356- </td><td style="text-align: left">
9357+ </td><td align="left">
9358 O(1)
9359- </td></tr><tr><td style="text-align: left">
9360+ </td></tr><tr><td align="left">
9361 <code class="classname">priority_queue</code>
9362 &lt;<code class="classname">Tag</code> =
9363 <code class="classname">binary_heap_tag</code>&gt;
9364- </td><td style="text-align: left">
9365+ </td><td align="left">
9366 Θ(n) worst
9367 Θ(log(n)) amortized
9368- </td><td style="text-align: left">
9369+ </td><td align="left">
9370 Θ(n) worst
9371 Θ(log(n)) amortized
9372- </td><td style="text-align: left">
9373+ </td><td align="left">
9374 Θ(n)
9375- </td><td style="text-align: left">
9376+ </td><td align="left">
9377 Θ(n)
9378- </td><td style="text-align: left">
9379+ </td><td align="left">
9380 Θ(n)
9381- </td></tr><tr><td style="text-align: left">
9382+ </td></tr><tr><td align="left">
9383 <code class="classname">priority_queue</code>
9384 &lt;<code class="classname">Tag</code> =
9385 <code class="classname">binomial_heap_tag</code>&gt;
9386- </td><td style="text-align: left">
9387+ </td><td align="left">
9388 Θ(log(n)) worst
9389 O(1) amortized
9390- </td><td style="text-align: left">
9391+ </td><td align="left">
9392 Θ(log(n))
9393- </td><td style="text-align: left">
9394+ </td><td align="left">
9395 Θ(log(n))
9396- </td><td style="text-align: left">
9397+ </td><td align="left">
9398 Θ(log(n))
9399- </td><td style="text-align: left">
9400+ </td><td align="left">
9401 Θ(log(n))
9402- </td></tr><tr><td style="text-align: left">
9403+ </td></tr><tr><td align="left">
9404 <code class="classname">priority_queue</code>
9405 &lt;<code class="classname">Tag</code> =
9406 <code class="classname">rc_binomial_heap_tag</code>&gt;
9407- </td><td style="text-align: left">
9408+ </td><td align="left">
9409 O(1)
9410- </td><td style="text-align: left">
9411+ </td><td align="left">
9412 Θ(log(n))
9413- </td><td style="text-align: left">
9414+ </td><td align="left">
9415 Θ(log(n))
9416- </td><td style="text-align: left">
9417+ </td><td align="left">
9418 Θ(log(n))
9419- </td><td style="text-align: left">
9420+ </td><td align="left">
9421 Θ(log(n))
9422- </td></tr><tr><td style="text-align: left">
9423+ </td></tr><tr><td align="left">
9424 <code class="classname">priority_queue</code>&lt;<code class="classname">Tag</code> =
9425 <code class="classname">thin_heap_tag</code>&gt;
9426- </td><td style="text-align: left">
9427+ </td><td align="left">
9428 O(1)
9429- </td><td style="text-align: left">
9430+ </td><td align="left">
9431 Θ(n) worst
9432 Θ(log(n)) amortized
9433- </td><td style="text-align: left">
9434+ </td><td align="left">
9435 Θ(log(n)) worst
9436 O(1) amortized,
9437 or Θ(log(n)) amortized
9438 <sub>[thin_heap_note]</sub>
9439- </td><td style="text-align: left">
9440+ </td><td align="left">
9441 Θ(n) worst
9442 Θ(log(n)) amortized
9443- </td><td style="text-align: left">
9444+ </td><td align="left">
9445 Θ(n)
9446 </td></tr></tbody></table></div><p>[std note 1] This
9447 is not a property of the algorithm, but rather due to the fact
9448@@ -3760,7 +3760,7 @@
9449 of the priority queue's comparison functor), then the amortized
9450 time is O(1), but if II) it decreases it, then the
9451 amortized time is the same as the worst case time. Note that
9452- for most algorithms, I) is important and II) is not.</p></div><div class="section" title="Amortized push and pop operations"><div class="titlepage"><div><div><h6 class="title"><a id="observations.priority_queue.amortized_ops"/>
9453+ for most algorithms, I) is important and II) is not.</p></div><div class="section" title="Amortized push and pop operations"><div class="titlepage"><div><div><h6 class="title"><a id="observations.priority_queue.amortized_ops"></a>
9454 Amortized <code class="function">push</code>
9455 and <code class="function">pop</code> operations
9456 </h6></div></div></div><p>In many cases, a priority queue is needed primarily for
9457@@ -3780,7 +3780,7 @@
9458 terms of constants.</p><p>As the table shows, the "least constrained" underlying
9459 data structures are binary heaps and pairing heaps.
9460 Consequently, it is not surprising that they perform best in
9461- terms of amortized constants.</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Pairing heaps seem to perform best for non-primitive
9462+ terms of amortized constants.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Pairing heaps seem to perform best for non-primitive
9463 types (e.g., <code class="classname">std::string</code>s), as shown by
9464 Priority
9465 Queue Text <code class="function">push</code> Timing Test and Priority
9466@@ -3790,7 +3790,7 @@
9467 Queue Random Integer <code class="function">push</code> Timing Test and
9468 Priority
9469 Queue Random Integer <code class="function">push</code> and <code class="function">pop</code> Timing
9470- Test.</p></li></ol></div></div><div class="section" title="Graph Algorithms"><div class="titlepage"><div><div><h6 class="title"><a id="observations.priority_queue.graphs"/>
9471+ Test.</p></li></ol></div></div><div class="section" title="Graph Algorithms"><div class="titlepage"><div><div><h6 class="title"><a id="observations.priority_queue.graphs"></a>
9472 Graph Algorithms
9473 </h6></div></div></div><p>In some graph algorithms, a decrease-key operation is
9474 required [clrs2001];
9475@@ -3810,4 +3810,4 @@
9476 as well. It is difficult to find an a-priori characterization of
9477 graphs in which the actual number of <code class="function">modify</code>
9478 operations will dwarf the number of <code class="function">push</code> and
9479- <code class="function">pop</code> operations.</p></div></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="policy_data_structures_design.html">Prev</a> </td><td align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td align="right"> <a accesskey="n" href="policy_data_structures_biblio.html">Next</a></td></tr><tr><td align="left" valign="top">Design </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Acknowledgments</td></tr></table></div></body></html>
9480+ <code class="function">pop</code> operations.</p></div></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="policy_data_structures_design.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="policy_data_structures_biblio.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Design </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Acknowledgments</td></tr></table></div></body></html>
9481Index: libstdc++-v3/doc/html/manual/abi.html
9482===================================================================
9f95000d
AM
9483--- libstdc++-v3/doc/html/manual/abi.html (.../tags/gcc_4_7_2_release) (wersja 192468)
9484+++ libstdc++-v3/doc/html/manual/abi.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
9485@@ -1,10 +1,10 @@
9486 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
9487-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
9488-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ABI Policy and Guidelines</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; ABI&#10; , &#10; version&#10; , &#10; dynamic&#10; , &#10; shared&#10; , &#10; compatibility&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="prev" href="test.html" title="Test"/><link rel="next" href="api.html" title="API Evolution and Deprecation History"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ABI Policy and Guidelines</th></tr><tr><td align="left"><a accesskey="p" href="test.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
9489+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
9490+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ABI Policy and Guidelines</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; ABI&#10; , &#10; version&#10; , &#10; dynamic&#10; , &#10; shared&#10; , &#10; compatibility&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="test.html" title="Test" /><link rel="next" href="api.html" title="API Evolution and Deprecation History" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ABI Policy and Guidelines</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="test.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
9491 Porting and Maintenance
9492
9493-</th><td align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr/></div><div class="section" title="ABI Policy and Guidelines"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.porting.abi"/>ABI Policy and Guidelines</h2></div></div></div><p>
9494-</p><div class="section" title="The C++ Interface"><div class="titlepage"><div><div><h3 class="title"><a id="abi.cxx_interface"/>The C++ Interface</h3></div></div></div><p>
9495+</th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="section" title="ABI Policy and Guidelines"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.abi"></a>ABI Policy and Guidelines</h2></div></div></div><p>
9496+</p><div class="section" title="The C++ Interface"><div class="titlepage"><div><div><h3 class="title"><a id="abi.cxx_interface"></a>The C++ Interface</h3></div></div></div><p>
9497 C++ applications often depend on specific language support
9498 routines, say for throwing exceptions, or catching exceptions, and
9499 perhaps also depend on features in the C++ Standard Library.
9500@@ -21,7 +21,7 @@
9501 virtual functions, etc. These details are defined as the compiler
9502 Application Binary Interface, or ABI. The GNU C++ compiler uses an
9503 industry-standard C++ ABI starting with version 3. Details can be
9504- found in the <a class="link" href="http://www.codesourcery.com/public/cxx-abi/abi.html">ABI
9505+ found in the <a class="link" href="http://www.codesourcery.com/public/cxx-abi/abi.html" target="_top">ABI
9506 specification</a>.
9507 </p><p>
9508 The GNU C++ compiler, g++, has a compiler command line option to
9509@@ -30,7 +30,7 @@
9510 g++ command line options may change the ABI as a side-effect of
9511 use. Such flags include <code class="code">-fpack-struct</code> and
9512 <code class="code">-fno-exceptions</code>, but include others: see the complete
9513- list in the GCC manual under the heading <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code%20Gen%20Options">Options
9514+ list in the GCC manual under the heading <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code%20Gen%20Options" target="_top">Options
9515 for Code Generation Conventions</a>.
9516 </p><p>
9517 The configure options used when building a specific libstdc++
9518@@ -58,10 +58,10 @@
9519 To use a specific version of the C++ ABI, one must use a
9520 corresponding GNU C++ toolchain (i.e., g++ and libstdc++) that
9521 implements the C++ ABI in question.
9522-</p></div><div class="section" title="Versioning"><div class="titlepage"><div><div><h3 class="title"><a id="abi.versioning"/>Versioning</h3></div></div></div><p> The C++ interface has evolved throughout the history of the GNU
9523+</p></div><div class="section" title="Versioning"><div class="titlepage"><div><div><h3 class="title"><a id="abi.versioning"></a>Versioning</h3></div></div></div><p> The C++ interface has evolved throughout the history of the GNU
9524 C++ toolchain. With each release, various details have been changed so
9525 as to give distinct versions to the C++ interface.
9526-</p><div class="section" title="Goals"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.goals"/>Goals</h4></div></div></div><p>Extending existing, stable ABIs. Versioning gives subsequent
9527+</p><div class="section" title="Goals"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.goals"></a>Goals</h4></div></div></div><p>Extending existing, stable ABIs. Versioning gives subsequent
9528 releases of library binaries the ability to add new symbols and add
9529 functionality, all the while retaining compatibility with the previous
9530 releases in the series. Thus, program binaries linked with the initial
9531@@ -75,7 +75,7 @@
9532 in the initial release of the library binary, and remain link
9533 compatible.
9534 </p><p>Allows multiple, incompatible ABIs to coexist at the same time.
9535-</p></div><div class="section" title="History"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.history"/>History</h4></div></div></div><p>
9536+</p></div><div class="section" title="History"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.history"></a>History</h4></div></div></div><p>
9537 How can this complexity be managed? What does C++ versioning mean?
9538 Because library and compiler changes often make binaries compiled
9539 with one version of the GNU tools incompatible with binaries
9540@@ -84,12 +84,12 @@
9541 easier.
9542 </p><p>
9543 The following techniques are used:
9544-</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Release versioning on the libgcc_s.so binary. </p><p>This is implemented via file names and the ELF
9545+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Release versioning on the libgcc_s.so binary. </p><p>This is implemented via file names and the ELF
9546 <code class="constant">DT_SONAME</code> mechanism (at least on ELF
9547 systems). It is versioned as follows:
9548- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.x: libgcc_s.so.1</p></li><li class="listitem"><p>GCC 4.x: libgcc_s.so.1</p></li></ul></div><p>For m68k-linux the versions differ as follows: </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.4, GCC 4.x: libgcc_s.so.1
9549+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.x: libgcc_s.so.1</p></li><li class="listitem"><p>GCC 4.x: libgcc_s.so.1</p></li></ul></div><p>For m68k-linux the versions differ as follows: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.4, GCC 4.x: libgcc_s.so.1
9550 when configuring <code class="code">--with-sjlj-exceptions</code>, or
9551- libgcc_s.so.2 </p></li></ul></div><p>For hppa-linux the versions differ as follows: </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.4, GCC 4.[0-1]: either libgcc_s.so.1
9552+ libgcc_s.so.2 </p></li></ul></div><p>For hppa-linux the versions differ as follows: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.4, GCC 4.[0-1]: either libgcc_s.so.1
9553 when configuring <code class="code">--with-sjlj-exceptions</code>, or
9554 libgcc_s.so.2 </p></li><li class="listitem"><p>GCC 4.[2-7]: either libgcc_s.so.3 when configuring
9555 <code class="code">--with-sjlj-exceptions</code>) or libgcc_s.so.4
9556@@ -97,7 +97,7 @@
9557 definitions, where the version definition is the maximum for a
9558 particular release. Labels are cumulative. If a particular release
9559 is not listed, it has the same version labels as the preceding
9560- release.</p><p>This corresponds to the mapfile: gcc/libgcc-std.ver</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0.0: GCC_3.0</p></li><li class="listitem"><p>GCC 3.3.0: GCC_3.3</p></li><li class="listitem"><p>GCC 3.3.1: GCC_3.3.1</p></li><li class="listitem"><p>GCC 3.3.2: GCC_3.3.2</p></li><li class="listitem"><p>GCC 3.3.4: GCC_3.3.4</p></li><li class="listitem"><p>GCC 3.4.0: GCC_3.4</p></li><li class="listitem"><p>GCC 3.4.2: GCC_3.4.2</p></li><li class="listitem"><p>GCC 3.4.4: GCC_3.4.4</p></li><li class="listitem"><p>GCC 4.0.0: GCC_4.0.0</p></li><li class="listitem"><p>GCC 4.1.0: GCC_4.1.0</p></li><li class="listitem"><p>GCC 4.2.0: GCC_4.2.0</p></li><li class="listitem"><p>GCC 4.3.0: GCC_4.3.0</p></li><li class="listitem"><p>GCC 4.4.0: GCC_4.4.0</p></li><li class="listitem"><p>GCC 4.5.0: GCC_4.5.0</p></li><li class="listitem"><p>GCC 4.6.0: GCC_4.6.0</p></li><li class="listitem"><p>GCC 4.7.0: GCC_4.7.0</p></li></ul></div></li><li class="listitem"><p>
9561+ release.</p><p>This corresponds to the mapfile: gcc/libgcc-std.ver</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0.0: GCC_3.0</p></li><li class="listitem"><p>GCC 3.3.0: GCC_3.3</p></li><li class="listitem"><p>GCC 3.3.1: GCC_3.3.1</p></li><li class="listitem"><p>GCC 3.3.2: GCC_3.3.2</p></li><li class="listitem"><p>GCC 3.3.4: GCC_3.3.4</p></li><li class="listitem"><p>GCC 3.4.0: GCC_3.4</p></li><li class="listitem"><p>GCC 3.4.2: GCC_3.4.2</p></li><li class="listitem"><p>GCC 3.4.4: GCC_3.4.4</p></li><li class="listitem"><p>GCC 4.0.0: GCC_4.0.0</p></li><li class="listitem"><p>GCC 4.1.0: GCC_4.1.0</p></li><li class="listitem"><p>GCC 4.2.0: GCC_4.2.0</p></li><li class="listitem"><p>GCC 4.3.0: GCC_4.3.0</p></li><li class="listitem"><p>GCC 4.4.0: GCC_4.4.0</p></li><li class="listitem"><p>GCC 4.5.0: GCC_4.5.0</p></li><li class="listitem"><p>GCC 4.6.0: GCC_4.6.0</p></li><li class="listitem"><p>GCC 4.7.0: GCC_4.7.0</p></li></ul></div></li><li class="listitem"><p>
9562 Release versioning on the libstdc++.so binary, implemented in
9563 the same way as the libgcc_s.so binary above. Listed is the
9564 filename: <code class="constant">DT_SONAME</code> can be deduced from
9565@@ -112,13 +112,13 @@
9566 has the same filename and <code class="constant">DT_SONAME</code> as the
9567 preceding release.
9568 </p><p>It is versioned as follows:
9569- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0.0: libstdc++.so.3.0.0</p></li><li class="listitem"><p>GCC 3.0.1: libstdc++.so.3.0.1</p></li><li class="listitem"><p>GCC 3.0.2: libstdc++.so.3.0.2</p></li><li class="listitem"><p>GCC 3.0.3: libstdc++.so.3.0.2 (See Note 1)</p></li><li class="listitem"><p>GCC 3.0.4: libstdc++.so.3.0.4</p></li><li class="listitem"><p>GCC 3.1.0: libstdc++.so.4.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.1.1: libstdc++.so.4.0.1</p></li><li class="listitem"><p>GCC 3.2.0: libstdc++.so.5.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.2.1: libstdc++.so.5.0.1</p></li><li class="listitem"><p>GCC 3.2.2: libstdc++.so.5.0.2</p></li><li class="listitem"><p>GCC 3.2.3: libstdc++.so.5.0.3 (See Note 2)</p></li><li class="listitem"><p>GCC 3.3.0: libstdc++.so.5.0.4</p></li><li class="listitem"><p>GCC 3.3.1: libstdc++.so.5.0.5</p></li><li class="listitem"><p>GCC 3.4.0: libstdc++.so.6.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.4.1: libstdc++.so.6.0.1</p></li><li class="listitem"><p>GCC 3.4.2: libstdc++.so.6.0.2</p></li><li class="listitem"><p>GCC 3.4.3: libstdc++.so.6.0.3</p></li><li class="listitem"><p>GCC 4.0.0: libstdc++.so.6.0.4</p></li><li class="listitem"><p>GCC 4.0.1: libstdc++.so.6.0.5</p></li><li class="listitem"><p>GCC 4.0.2: libstdc++.so.6.0.6</p></li><li class="listitem"><p>GCC 4.0.3: libstdc++.so.6.0.7</p></li><li class="listitem"><p>GCC 4.1.0: libstdc++.so.6.0.7</p></li><li class="listitem"><p>GCC 4.1.1: libstdc++.so.6.0.8</p></li><li class="listitem"><p>GCC 4.2.0: libstdc++.so.6.0.9</p></li><li class="listitem"><p>GCC 4.2.1: libstdc++.so.6.0.9 (See Note 3)</p></li><li class="listitem"><p>GCC 4.2.2: libstdc++.so.6.0.9</p></li><li class="listitem"><p>GCC 4.3.0: libstdc++.so.6.0.10</p></li><li class="listitem"><p>GCC 4.4.0: libstdc++.so.6.0.11</p></li><li class="listitem"><p>GCC 4.4.1: libstdc++.so.6.0.12</p></li><li class="listitem"><p>GCC 4.4.2: libstdc++.so.6.0.13</p></li><li class="listitem"><p>GCC 4.5.0: libstdc++.so.6.0.14</p></li><li class="listitem"><p>GCC 4.6.0: libstdc++.so.6.0.15</p></li><li class="listitem"><p>GCC 4.6.1: libstdc++.so.6.0.16</p></li></ul></div><p>
9570+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0.0: libstdc++.so.3.0.0</p></li><li class="listitem"><p>GCC 3.0.1: libstdc++.so.3.0.1</p></li><li class="listitem"><p>GCC 3.0.2: libstdc++.so.3.0.2</p></li><li class="listitem"><p>GCC 3.0.3: libstdc++.so.3.0.2 (See Note 1)</p></li><li class="listitem"><p>GCC 3.0.4: libstdc++.so.3.0.4</p></li><li class="listitem"><p>GCC 3.1.0: libstdc++.so.4.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.1.1: libstdc++.so.4.0.1</p></li><li class="listitem"><p>GCC 3.2.0: libstdc++.so.5.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.2.1: libstdc++.so.5.0.1</p></li><li class="listitem"><p>GCC 3.2.2: libstdc++.so.5.0.2</p></li><li class="listitem"><p>GCC 3.2.3: libstdc++.so.5.0.3 (See Note 2)</p></li><li class="listitem"><p>GCC 3.3.0: libstdc++.so.5.0.4</p></li><li class="listitem"><p>GCC 3.3.1: libstdc++.so.5.0.5</p></li><li class="listitem"><p>GCC 3.4.0: libstdc++.so.6.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.4.1: libstdc++.so.6.0.1</p></li><li class="listitem"><p>GCC 3.4.2: libstdc++.so.6.0.2</p></li><li class="listitem"><p>GCC 3.4.3: libstdc++.so.6.0.3</p></li><li class="listitem"><p>GCC 4.0.0: libstdc++.so.6.0.4</p></li><li class="listitem"><p>GCC 4.0.1: libstdc++.so.6.0.5</p></li><li class="listitem"><p>GCC 4.0.2: libstdc++.so.6.0.6</p></li><li class="listitem"><p>GCC 4.0.3: libstdc++.so.6.0.7</p></li><li class="listitem"><p>GCC 4.1.0: libstdc++.so.6.0.7</p></li><li class="listitem"><p>GCC 4.1.1: libstdc++.so.6.0.8</p></li><li class="listitem"><p>GCC 4.2.0: libstdc++.so.6.0.9</p></li><li class="listitem"><p>GCC 4.2.1: libstdc++.so.6.0.9 (See Note 3)</p></li><li class="listitem"><p>GCC 4.2.2: libstdc++.so.6.0.9</p></li><li class="listitem"><p>GCC 4.3.0: libstdc++.so.6.0.10</p></li><li class="listitem"><p>GCC 4.4.0: libstdc++.so.6.0.11</p></li><li class="listitem"><p>GCC 4.4.1: libstdc++.so.6.0.12</p></li><li class="listitem"><p>GCC 4.4.2: libstdc++.so.6.0.13</p></li><li class="listitem"><p>GCC 4.5.0: libstdc++.so.6.0.14</p></li><li class="listitem"><p>GCC 4.6.0: libstdc++.so.6.0.15</p></li><li class="listitem"><p>GCC 4.6.1: libstdc++.so.6.0.16</p></li></ul></div><p>
9571 Note 1: Error should be libstdc++.so.3.0.3.
9572 </p><p>
9573 Note 2: Not strictly required.
9574 </p><p>
9575 Note 3: This release (but not previous or subsequent) has one
9576- known incompatibility, see <a class="link" href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33678">33678</a>
9577+ known incompatibility, see <a class="link" href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33678" target="_top">33678</a>
9578 in the GCC bug database.
9579 </p></li><li class="listitem"><p>Symbol versioning on the libstdc++.so binary.</p><p>mapfile: libstdc++-v3/config/abi/pre/gnu.ver</p><p>It is versioned with the following labels and version
9580 definitions, where the version definition is the maximum for a
9581@@ -130,7 +130,7 @@
9582 GLIBCPP_3.2 for symbols that were introduced in the GCC 3.2.0
9583 release.) If a particular release is not listed, it has the same
9584 version labels as the preceding release.
9585- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0.0: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.1: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.2: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.3: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.4: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.1.0: GLIBCPP_3.1, CXXABI_1</p></li><li class="listitem"><p>GCC 3.1.1: GLIBCPP_3.1, CXXABI_1</p></li><li class="listitem"><p>GCC 3.2.0: GLIBCPP_3.2, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.2.1: GLIBCPP_3.2.1, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.2.2: GLIBCPP_3.2.2, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.2.3: GLIBCPP_3.2.2, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.3.0: GLIBCPP_3.2.2, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.3.1: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.3.2: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.3.3: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.4.0: GLIBCXX_3.4, CXXABI_1.3</p></li><li class="listitem"><p>GCC 3.4.1: GLIBCXX_3.4.1, CXXABI_1.3</p></li><li class="listitem"><p>GCC 3.4.2: GLIBCXX_3.4.2</p></li><li class="listitem"><p>GCC 3.4.3: GLIBCXX_3.4.3</p></li><li class="listitem"><p>GCC 4.0.0: GLIBCXX_3.4.4, CXXABI_1.3.1</p></li><li class="listitem"><p>GCC 4.0.1: GLIBCXX_3.4.5</p></li><li class="listitem"><p>GCC 4.0.2: GLIBCXX_3.4.6</p></li><li class="listitem"><p>GCC 4.0.3: GLIBCXX_3.4.7</p></li><li class="listitem"><p>GCC 4.1.1: GLIBCXX_3.4.8</p></li><li class="listitem"><p>GCC 4.2.0: GLIBCXX_3.4.9</p></li><li class="listitem"><p>GCC 4.3.0: GLIBCXX_3.4.10, CXXABI_1.3.2</p></li><li class="listitem"><p>GCC 4.4.0: GLIBCXX_3.4.11, CXXABI_1.3.3</p></li><li class="listitem"><p>GCC 4.4.1: GLIBCXX_3.4.12, CXXABI_1.3.3</p></li><li class="listitem"><p>GCC 4.4.2: GLIBCXX_3.4.13, CXXABI_1.3.3</p></li><li class="listitem"><p>GCC 4.5.0: GLIBCXX_3.4.14, CXXABI_1.3.4</p></li><li class="listitem"><p>GCC 4.6.0: GLIBCXX_3.4.15, CXXABI_1.3.5</p></li><li class="listitem"><p>GCC 4.6.1: GLIBCXX_3.4.16, CXXABI_1.3.5</p></li></ul></div></li><li class="listitem"><p>Incremental bumping of a compiler pre-defined macro,
9586+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0.0: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.1: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.2: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.3: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.4: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.1.0: GLIBCPP_3.1, CXXABI_1</p></li><li class="listitem"><p>GCC 3.1.1: GLIBCPP_3.1, CXXABI_1</p></li><li class="listitem"><p>GCC 3.2.0: GLIBCPP_3.2, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.2.1: GLIBCPP_3.2.1, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.2.2: GLIBCPP_3.2.2, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.2.3: GLIBCPP_3.2.2, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.3.0: GLIBCPP_3.2.2, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.3.1: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.3.2: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.3.3: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.4.0: GLIBCXX_3.4, CXXABI_1.3</p></li><li class="listitem"><p>GCC 3.4.1: GLIBCXX_3.4.1, CXXABI_1.3</p></li><li class="listitem"><p>GCC 3.4.2: GLIBCXX_3.4.2</p></li><li class="listitem"><p>GCC 3.4.3: GLIBCXX_3.4.3</p></li><li class="listitem"><p>GCC 4.0.0: GLIBCXX_3.4.4, CXXABI_1.3.1</p></li><li class="listitem"><p>GCC 4.0.1: GLIBCXX_3.4.5</p></li><li class="listitem"><p>GCC 4.0.2: GLIBCXX_3.4.6</p></li><li class="listitem"><p>GCC 4.0.3: GLIBCXX_3.4.7</p></li><li class="listitem"><p>GCC 4.1.1: GLIBCXX_3.4.8</p></li><li class="listitem"><p>GCC 4.2.0: GLIBCXX_3.4.9</p></li><li class="listitem"><p>GCC 4.3.0: GLIBCXX_3.4.10, CXXABI_1.3.2</p></li><li class="listitem"><p>GCC 4.4.0: GLIBCXX_3.4.11, CXXABI_1.3.3</p></li><li class="listitem"><p>GCC 4.4.1: GLIBCXX_3.4.12, CXXABI_1.3.3</p></li><li class="listitem"><p>GCC 4.4.2: GLIBCXX_3.4.13, CXXABI_1.3.3</p></li><li class="listitem"><p>GCC 4.5.0: GLIBCXX_3.4.14, CXXABI_1.3.4</p></li><li class="listitem"><p>GCC 4.6.0: GLIBCXX_3.4.15, CXXABI_1.3.5</p></li><li class="listitem"><p>GCC 4.6.1: GLIBCXX_3.4.16, CXXABI_1.3.5</p></li></ul></div></li><li class="listitem"><p>Incremental bumping of a compiler pre-defined macro,
9587 __GXX_ABI_VERSION. This macro is defined as the version of the
9588 compiler v3 ABI, with g++ 3.0 being version 100. This macro will
9589 be automatically defined whenever g++ is used (the curious can
9590@@ -142,11 +142,11 @@
9591 '-fabi-version' command line option.
9592 </p><p>
9593 It is versioned as follows, where 'n' is given by '-fabi-version=n':
9594- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0: 100</p></li><li class="listitem"><p>GCC 3.1: 100 (Error, should be 101)</p></li><li class="listitem"><p>GCC 3.2: 102</p></li><li class="listitem"><p>GCC 3.3: 102</p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: 102 (when n=1)</p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: 1000 + n (when n&gt;1) </p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: 999999 (when n=0)</p></li></ul></div><p/></li><li class="listitem"><p>Changes to the default compiler option for
9595+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0: 100</p></li><li class="listitem"><p>GCC 3.1: 100 (Error, should be 101)</p></li><li class="listitem"><p>GCC 3.2: 102</p></li><li class="listitem"><p>GCC 3.3: 102</p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: 102 (when n=1)</p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: 1000 + n (when n&gt;1) </p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: 999999 (when n=0)</p></li></ul></div><p></p></li><li class="listitem"><p>Changes to the default compiler option for
9596 <code class="code">-fabi-version</code>.
9597 </p><p>
9598 It is versioned as follows:
9599- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0: (Error, not versioned) </p></li><li class="listitem"><p>GCC 3.1: (Error, not versioned) </p></li><li class="listitem"><p>GCC 3.2: <code class="code">-fabi-version=1</code></p></li><li class="listitem"><p>GCC 3.3: <code class="code">-fabi-version=1</code></p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: <code class="code">-fabi-version=2</code> <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li></ul></div><p/></li><li class="listitem"><p>Incremental bumping of a library pre-defined macro. For releases
9600+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0: (Error, not versioned) </p></li><li class="listitem"><p>GCC 3.1: (Error, not versioned) </p></li><li class="listitem"><p>GCC 3.2: <code class="code">-fabi-version=1</code></p></li><li class="listitem"><p>GCC 3.3: <code class="code">-fabi-version=1</code></p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: <code class="code">-fabi-version=2</code> <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li></ul></div><p></p></li><li class="listitem"><p>Incremental bumping of a library pre-defined macro. For releases
9601 before 3.4.0, the macro is __GLIBCPP__. For later releases, it's
9602 __GLIBCXX__. (The libstdc++ project generously changed from CPP to
9603 CXX throughout its source to allow the "C" pre-processor the CPP
9604@@ -159,7 +159,7 @@
9605 the same value as gcc/DATESTAMP.)
9606 </p><p>
9607 It is versioned as follows:
9608- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0.0: 20010615</p></li><li class="listitem"><p>GCC 3.0.1: 20010819</p></li><li class="listitem"><p>GCC 3.0.2: 20011023</p></li><li class="listitem"><p>GCC 3.0.3: 20011220</p></li><li class="listitem"><p>GCC 3.0.4: 20020220</p></li><li class="listitem"><p>GCC 3.1.0: 20020514</p></li><li class="listitem"><p>GCC 3.1.1: 20020725</p></li><li class="listitem"><p>GCC 3.2.0: 20020814</p></li><li class="listitem"><p>GCC 3.2.1: 20021119</p></li><li class="listitem"><p>GCC 3.2.2: 20030205</p></li><li class="listitem"><p>GCC 3.2.3: 20030422</p></li><li class="listitem"><p>GCC 3.3.0: 20030513</p></li><li class="listitem"><p>GCC 3.3.1: 20030804</p></li><li class="listitem"><p>GCC 3.3.2: 20031016</p></li><li class="listitem"><p>GCC 3.3.3: 20040214</p></li><li class="listitem"><p>GCC 3.4.0: 20040419</p></li><li class="listitem"><p>GCC 3.4.1: 20040701</p></li><li class="listitem"><p>GCC 3.4.2: 20040906</p></li><li class="listitem"><p>GCC 3.4.3: 20041105</p></li><li class="listitem"><p>GCC 3.4.4: 20050519</p></li><li class="listitem"><p>GCC 3.4.5: 20051201</p></li><li class="listitem"><p>GCC 3.4.6: 20060306</p></li><li class="listitem"><p>GCC 4.0.0: 20050421</p></li><li class="listitem"><p>GCC 4.0.1: 20050707</p></li><li class="listitem"><p>GCC 4.0.2: 20050921</p></li><li class="listitem"><p>GCC 4.0.3: 20060309</p></li><li class="listitem"><p>GCC 4.1.0: 20060228</p></li><li class="listitem"><p>GCC 4.1.1: 20060524</p></li><li class="listitem"><p>GCC 4.1.2: 20070214</p></li><li class="listitem"><p>GCC 4.2.0: 20070514</p></li><li class="listitem"><p>GCC 4.2.1: 20070719</p></li><li class="listitem"><p>GCC 4.2.2: 20071007</p></li><li class="listitem"><p>GCC 4.2.3: 20080201</p></li><li class="listitem"><p>GCC 4.2.4: 20080519</p></li><li class="listitem"><p>GCC 4.3.0: 20080306</p></li><li class="listitem"><p>GCC 4.3.1: 20080606</p></li><li class="listitem"><p>GCC 4.3.2: 20080827</p></li><li class="listitem"><p>GCC 4.3.3: 20090124</p></li><li class="listitem"><p>GCC 4.3.4: 20090804</p></li><li class="listitem"><p>GCC 4.3.5: 20100522</p></li><li class="listitem"><p>GCC 4.3.6: 20110627</p></li><li class="listitem"><p>GCC 4.4.0: 20090421</p></li><li class="listitem"><p>GCC 4.4.1: 20090722</p></li><li class="listitem"><p>GCC 4.4.2: 20091015</p></li><li class="listitem"><p>GCC 4.4.3: 20100121</p></li><li class="listitem"><p>GCC 4.4.4: 20100429</p></li><li class="listitem"><p>GCC 4.4.5: 20101001</p></li><li class="listitem"><p>GCC 4.4.6: 20110416</p></li><li class="listitem"><p>GCC 4.5.0: 20100414</p></li><li class="listitem"><p>GCC 4.5.1: 20100731</p></li><li class="listitem"><p>GCC 4.5.2: 20101216</p></li><li class="listitem"><p>GCC 4.5.3: 20110428</p></li><li class="listitem"><p>GCC 4.6.0: 20110325</p></li><li class="listitem"><p>GCC 4.6.1: 20110627</p></li><li class="listitem"><p>GCC 4.6.2: 20111026</p></li></ul></div><p/></li><li class="listitem"><p>
9609+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0.0: 20010615</p></li><li class="listitem"><p>GCC 3.0.1: 20010819</p></li><li class="listitem"><p>GCC 3.0.2: 20011023</p></li><li class="listitem"><p>GCC 3.0.3: 20011220</p></li><li class="listitem"><p>GCC 3.0.4: 20020220</p></li><li class="listitem"><p>GCC 3.1.0: 20020514</p></li><li class="listitem"><p>GCC 3.1.1: 20020725</p></li><li class="listitem"><p>GCC 3.2.0: 20020814</p></li><li class="listitem"><p>GCC 3.2.1: 20021119</p></li><li class="listitem"><p>GCC 3.2.2: 20030205</p></li><li class="listitem"><p>GCC 3.2.3: 20030422</p></li><li class="listitem"><p>GCC 3.3.0: 20030513</p></li><li class="listitem"><p>GCC 3.3.1: 20030804</p></li><li class="listitem"><p>GCC 3.3.2: 20031016</p></li><li class="listitem"><p>GCC 3.3.3: 20040214</p></li><li class="listitem"><p>GCC 3.4.0: 20040419</p></li><li class="listitem"><p>GCC 3.4.1: 20040701</p></li><li class="listitem"><p>GCC 3.4.2: 20040906</p></li><li class="listitem"><p>GCC 3.4.3: 20041105</p></li><li class="listitem"><p>GCC 3.4.4: 20050519</p></li><li class="listitem"><p>GCC 3.4.5: 20051201</p></li><li class="listitem"><p>GCC 3.4.6: 20060306</p></li><li class="listitem"><p>GCC 4.0.0: 20050421</p></li><li class="listitem"><p>GCC 4.0.1: 20050707</p></li><li class="listitem"><p>GCC 4.0.2: 20050921</p></li><li class="listitem"><p>GCC 4.0.3: 20060309</p></li><li class="listitem"><p>GCC 4.1.0: 20060228</p></li><li class="listitem"><p>GCC 4.1.1: 20060524</p></li><li class="listitem"><p>GCC 4.1.2: 20070214</p></li><li class="listitem"><p>GCC 4.2.0: 20070514</p></li><li class="listitem"><p>GCC 4.2.1: 20070719</p></li><li class="listitem"><p>GCC 4.2.2: 20071007</p></li><li class="listitem"><p>GCC 4.2.3: 20080201</p></li><li class="listitem"><p>GCC 4.2.4: 20080519</p></li><li class="listitem"><p>GCC 4.3.0: 20080306</p></li><li class="listitem"><p>GCC 4.3.1: 20080606</p></li><li class="listitem"><p>GCC 4.3.2: 20080827</p></li><li class="listitem"><p>GCC 4.3.3: 20090124</p></li><li class="listitem"><p>GCC 4.3.4: 20090804</p></li><li class="listitem"><p>GCC 4.3.5: 20100522</p></li><li class="listitem"><p>GCC 4.3.6: 20110627</p></li><li class="listitem"><p>GCC 4.4.0: 20090421</p></li><li class="listitem"><p>GCC 4.4.1: 20090722</p></li><li class="listitem"><p>GCC 4.4.2: 20091015</p></li><li class="listitem"><p>GCC 4.4.3: 20100121</p></li><li class="listitem"><p>GCC 4.4.4: 20100429</p></li><li class="listitem"><p>GCC 4.4.5: 20101001</p></li><li class="listitem"><p>GCC 4.4.6: 20110416</p></li><li class="listitem"><p>GCC 4.5.0: 20100414</p></li><li class="listitem"><p>GCC 4.5.1: 20100731</p></li><li class="listitem"><p>GCC 4.5.2: 20101216</p></li><li class="listitem"><p>GCC 4.5.3: 20110428</p></li><li class="listitem"><p>GCC 4.6.0: 20110325</p></li><li class="listitem"><p>GCC 4.6.1: 20110627</p></li><li class="listitem"><p>GCC 4.6.2: 20111026</p></li></ul></div><p></p></li><li class="listitem"><p>
9610 Incremental bumping of a library pre-defined macro,
9611 _GLIBCPP_VERSION. This macro is defined as the released version of
9612 the library, as a string literal. This is only implemented in
9613@@ -172,7 +172,7 @@
9614 of config.h.
9615 </p><p>
9616 It is versioned as follows:
9617- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0.0: "3.0.0"</p></li><li class="listitem"><p>GCC 3.0.1: "3.0.0" (Error, should be "3.0.1")</p></li><li class="listitem"><p>GCC 3.0.2: "3.0.0" (Error, should be "3.0.2")</p></li><li class="listitem"><p>GCC 3.0.3: "3.0.0" (Error, should be "3.0.3")</p></li><li class="listitem"><p>GCC 3.0.4: "3.0.0" (Error, should be "3.0.4")</p></li><li class="listitem"><p>GCC 3.1.0: "3.1.0"</p></li><li class="listitem"><p>GCC 3.1.1: "3.1.1"</p></li><li class="listitem"><p>GCC 3.2.0: "3.2"</p></li><li class="listitem"><p>GCC 3.2.1: "3.2.1"</p></li><li class="listitem"><p>GCC 3.2.2: "3.2.2"</p></li><li class="listitem"><p>GCC 3.2.3: "3.2.3"</p></li><li class="listitem"><p>GCC 3.3.0: "3.3"</p></li><li class="listitem"><p>GCC 3.3.1: "3.3.1"</p></li><li class="listitem"><p>GCC 3.3.2: "3.3.2"</p></li><li class="listitem"><p>GCC 3.3.3: "3.3.3"</p></li><li class="listitem"><p>GCC 3.4: "version-unused"</p></li><li class="listitem"><p>GCC 4.x: "version-unused"</p></li></ul></div><p/></li><li class="listitem"><p>
9618+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0.0: "3.0.0"</p></li><li class="listitem"><p>GCC 3.0.1: "3.0.0" (Error, should be "3.0.1")</p></li><li class="listitem"><p>GCC 3.0.2: "3.0.0" (Error, should be "3.0.2")</p></li><li class="listitem"><p>GCC 3.0.3: "3.0.0" (Error, should be "3.0.3")</p></li><li class="listitem"><p>GCC 3.0.4: "3.0.0" (Error, should be "3.0.4")</p></li><li class="listitem"><p>GCC 3.1.0: "3.1.0"</p></li><li class="listitem"><p>GCC 3.1.1: "3.1.1"</p></li><li class="listitem"><p>GCC 3.2.0: "3.2"</p></li><li class="listitem"><p>GCC 3.2.1: "3.2.1"</p></li><li class="listitem"><p>GCC 3.2.2: "3.2.2"</p></li><li class="listitem"><p>GCC 3.2.3: "3.2.3"</p></li><li class="listitem"><p>GCC 3.3.0: "3.3"</p></li><li class="listitem"><p>GCC 3.3.1: "3.3.1"</p></li><li class="listitem"><p>GCC 3.3.2: "3.3.2"</p></li><li class="listitem"><p>GCC 3.3.3: "3.3.3"</p></li><li class="listitem"><p>GCC 3.4: "version-unused"</p></li><li class="listitem"><p>GCC 4.x: "version-unused"</p></li></ul></div><p></p></li><li class="listitem"><p>
9619 Matching each specific C++ compiler release to a specific set of
9620 C++ include files. This is only implemented in GCC 3.1.1 releases
9621 and higher.
9622@@ -185,13 +185,13 @@
9623 file's macro GLIBCXX_CONFIGURE (GLIBCPP_CONFIGURE before GCC 3.4.0).
9624 </p><p>
9625 C++ includes are versioned as follows:
9626- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0.0: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.1: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.2: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.3: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.4: include/g++-v3</p></li><li class="listitem"><p>GCC 3.1.0: include/g++-v3</p></li><li class="listitem"><p>GCC 3.1.1: include/c++/3.1.1</p></li><li class="listitem"><p>GCC 3.2.0: include/c++/3.2</p></li><li class="listitem"><p>GCC 3.2.1: include/c++/3.2.1</p></li><li class="listitem"><p>GCC 3.2.2: include/c++/3.2.2</p></li><li class="listitem"><p>GCC 3.2.3: include/c++/3.2.3</p></li><li class="listitem"><p>GCC 3.3.0: include/c++/3.3</p></li><li class="listitem"><p>GCC 3.3.1: include/c++/3.3.1</p></li><li class="listitem"><p>GCC 3.3.2: include/c++/3.3.2</p></li><li class="listitem"><p>GCC 3.3.3: include/c++/3.3.3</p></li><li class="listitem"><p>GCC 3.4.x: include/c++/3.4.x</p></li><li class="listitem"><p>GCC 4.x.y: include/c++/4.x.y</p></li></ul></div><p/></li></ol></div><p>
9627+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0.0: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.1: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.2: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.3: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.4: include/g++-v3</p></li><li class="listitem"><p>GCC 3.1.0: include/g++-v3</p></li><li class="listitem"><p>GCC 3.1.1: include/c++/3.1.1</p></li><li class="listitem"><p>GCC 3.2.0: include/c++/3.2</p></li><li class="listitem"><p>GCC 3.2.1: include/c++/3.2.1</p></li><li class="listitem"><p>GCC 3.2.2: include/c++/3.2.2</p></li><li class="listitem"><p>GCC 3.2.3: include/c++/3.2.3</p></li><li class="listitem"><p>GCC 3.3.0: include/c++/3.3</p></li><li class="listitem"><p>GCC 3.3.1: include/c++/3.3.1</p></li><li class="listitem"><p>GCC 3.3.2: include/c++/3.3.2</p></li><li class="listitem"><p>GCC 3.3.3: include/c++/3.3.3</p></li><li class="listitem"><p>GCC 3.4.x: include/c++/3.4.x</p></li><li class="listitem"><p>GCC 4.x.y: include/c++/4.x.y</p></li></ul></div><p></p></li></ol></div><p>
9628 Taken together, these techniques can accurately specify interface
9629 and implementation changes in the GNU C++ tools themselves. Used
9630 properly, they allow both the GNU C++ tools implementation, and
9631 programs using them, an evolving yet controlled development that
9632 maintains backward compatibility.
9633-</p></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.prereq"/>Prerequisites</h4></div></div></div><p>
9634+</p></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.prereq"></a>Prerequisites</h4></div></div></div><p>
9635 Minimum environment that supports a versioned ABI: A supported
9636 dynamic linker, a GNU linker of sufficient vintage to understand
9637 demangled C++ name globbing (ld) or the Sun linker, a shared
9638@@ -206,7 +206,7 @@
9639 Most modern GNU/Linux and BSD versions, particularly ones using
9640 GCC 3.1 and later, will meet the
9641 requirements above, as does Solaris 2.5 and up.
9642- </p></div><div class="section" title="Configuring"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.config"/>Configuring</h4></div></div></div><p>
9643+ </p></div><div class="section" title="Configuring"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.config"></a>Configuring</h4></div></div></div><p>
9644 It turns out that most of the configure options that change
9645 default behavior will impact the mangled names of exported
9646 symbols, and thus impact versioning and compatibility.
9647@@ -224,7 +224,7 @@
9648 attempts to make sure that all the requirement for symbol
9649 versioning are in place. For more information, please consult
9650 acinclude.m4.
9651- </p></div><div class="section" title="Checking Active"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.active"/>Checking Active</h4></div></div></div><p>
9652+ </p></div><div class="section" title="Checking Active"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.active"></a>Checking Active</h4></div></div></div><p>
9653 When the GNU C++ library is being built with symbol versioning
9654 on, you should see the following at configure time for
9655 libstdc++:
9656@@ -272,16 +272,16 @@
9657 libc.so.1 (SUNWprivate_1.1, SYSVABI_1.3);
9658 </pre><p>
9659 <code class="code">ldd -v</code> works too, but is very verbose.
9660-</p></div></div><div class="section" title="Allowed Changes"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_allowed"/>Allowed Changes</h3></div></div></div><p>
9661+</p></div></div><div class="section" title="Allowed Changes"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_allowed"></a>Allowed Changes</h3></div></div></div><p>
9662 The following will cause the library minor version number to
9663 increase, say from "libstdc++.so.3.0.4" to "libstdc++.so.3.0.5".
9664-</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Adding an exported global or static data member</p></li><li class="listitem"><p>Adding an exported function, static or non-virtual member function</p></li><li class="listitem"><p>Adding an exported symbol or symbols by additional instantiations</p></li></ol></div><p>
9665+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Adding an exported global or static data member</p></li><li class="listitem"><p>Adding an exported function, static or non-virtual member function</p></li><li class="listitem"><p>Adding an exported symbol or symbols by additional instantiations</p></li></ol></div><p>
9666 Other allowed changes are possible.
9667-</p></div><div class="section" title="Prohibited Changes"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_no"/>Prohibited Changes</h3></div></div></div><p>
9668+</p></div><div class="section" title="Prohibited Changes"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_no"></a>Prohibited Changes</h3></div></div></div><p>
9669 The following non-exhaustive list will cause the library major version
9670 number to increase, say from "libstdc++.so.3.0.4" to
9671 "libstdc++.so.4.0.0".
9672-</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Changes in the gcc/g++ compiler ABI</p></li><li class="listitem"><p>Changing size of an exported symbol</p></li><li class="listitem"><p>Changing alignment of an exported symbol</p></li><li class="listitem"><p>Changing the layout of an exported symbol</p></li><li class="listitem"><p>Changing mangling on an exported symbol</p></li><li class="listitem"><p>Deleting an exported symbol</p></li><li class="listitem"><p>Changing the inheritance properties of a type by adding or removing
9673+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Changes in the gcc/g++ compiler ABI</p></li><li class="listitem"><p>Changing size of an exported symbol</p></li><li class="listitem"><p>Changing alignment of an exported symbol</p></li><li class="listitem"><p>Changing the layout of an exported symbol</p></li><li class="listitem"><p>Changing mangling on an exported symbol</p></li><li class="listitem"><p>Deleting an exported symbol</p></li><li class="listitem"><p>Changing the inheritance properties of a type by adding or removing
9674 base classes</p></li><li class="listitem"><p>
9675 Changing the size, alignment, or layout of types
9676 specified in the C++ standard. These may not necessarily be
9677@@ -293,10 +293,10 @@
9678 the way the compiler deals with this class in by-value return
9679 statements or parameters: instead of passing instances of this
9680 class in registers, the compiler will be forced to use memory. See the
9681-section on <a class="link" href="http://www.codesourcery.com/public/cxx-abi/abi.html#calls">Function
9682+section on <a class="link" href="http://www.codesourcery.com/public/cxx-abi/abi.html#calls" target="_top">Function
9683 Calling Conventions and APIs</a>
9684 of the C++ ABI documentation for further details.
9685-</p></li></ol></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="abi.impl"/>Implementation</h3></div></div></div><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
9686+</p></li></ol></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="abi.impl"></a>Implementation</h3></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
9687 Separation of interface and implementation
9688 </p><p>
9689 This is accomplished by two techniques that separate the API from
9690@@ -344,7 +344,7 @@
9691 <code class="code">CXXABI</code>, select items are allowed to be visible.</p></dd></dl></div><p>
9692 </p></li><li class="listitem"><p>Freezing the API</p><p>Disallowed changes, as above, are not made on a stable release
9693 branch. Enforcement tends to be less strict with GNU extensions that
9694-standard includes.</p></li></ol></div></div><div class="section" title="Testing"><div class="titlepage"><div><div><h3 class="title"><a id="abi.testing"/>Testing</h3></div></div></div><div class="section" title="Single ABI Testing"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.single"/>Single ABI Testing</h4></div></div></div><p>
9695+standard includes.</p></li></ol></div></div><div class="section" title="Testing"><div class="titlepage"><div><div><h3 class="title"><a id="abi.testing"></a>Testing</h3></div></div></div><div class="section" title="Single ABI Testing"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.single"></a>Single ABI Testing</h4></div></div></div><p>
9696 Testing for GNU C++ ABI changes is composed of two distinct
9697 areas: testing the C++ compiler (g++) for compiler changes, and
9698 testing the C++ library (libstdc++) for library changes.
9699@@ -410,7 +410,7 @@
9700 </p><p>
9701 Perhaps there are other C++ ABI checkers. If so, please notify
9702 us. We'd like to know about them!
9703-</p></div><div class="section" title="Multiple ABI Testing"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.multi"/>Multiple ABI Testing</h4></div></div></div><p>
9704+</p></div><div class="section" title="Multiple ABI Testing"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.multi"></a>Multiple ABI Testing</h4></div></div></div><p>
9705 A "C" application, dynamically linked to two shared libraries, liba,
9706 libb. The dependent library liba is a C++ shared library compiled with
9707 GCC 3.3, and uses io, exceptions, locale, etc. The dependent library
9708@@ -473,7 +473,7 @@
9709 This resulting binary, when executed, will be able to safely use
9710 code from both liba, and the dependent libstdc++.so.6, and libb,
9711 with the dependent libstdc++.so.5.
9712-</p></div></div><div class="section" title="Outstanding Issues"><div class="titlepage"><div><div><h3 class="title"><a id="abi.issues"/>Outstanding Issues</h3></div></div></div><p>
9713+</p></div></div><div class="section" title="Outstanding Issues"><div class="titlepage"><div><div><h3 class="title"><a id="abi.issues"></a>Outstanding Issues</h3></div></div></div><p>
9714 Some features in the C++ language make versioning especially
9715 difficult. In particular, compiler generated constructs such as
9716 implicit instantiations for templates, typeinfo information, and
9717@@ -483,54 +483,54 @@
9718 </p><p>
9719 For more background on this issue, see these bugzilla entries:
9720 </p><p>
9721-<a class="link" href="http://gcc.gnu.org/PR24660">24660: versioning weak symbols in libstdc++</a>
9722+<a class="link" href="http://gcc.gnu.org/PR24660" target="_top">24660: versioning weak symbols in libstdc++</a>
9723 </p><p>
9724-<a class="link" href="http://gcc.gnu.org/PR19664">19664: libstdc++ headers should have pop/push of the visibility around the declarations</a>
9725-</p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="abi.biblio"/>Bibliography</h3></div></div></div><div class="biblioentry" title="ABIcheck"><a id="biblio.abicheck"/><p>[biblio.abicheck] <span class="title"><em>
9726- <a class="link" href="http://abicheck.sourceforge.net">
9727+<a class="link" href="http://gcc.gnu.org/PR19664" target="_top">19664: libstdc++ headers should have pop/push of the visibility around the declarations</a>
9728+</p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="abi.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="ABIcheck"><a id="biblio.abicheck"></a><p>[biblio.abicheck] <span class="title"><em>
9729+ <a class="link" href="http://abicheck.sourceforge.net" target="_top">
9730 ABIcheck
9731 </a>
9732- </em>. </span></p></div><div class="biblioentry" title="C++ ABI Summary"><a id="biblio.cxxabi"/><p>[biblio.cxxabi] <span class="title"><em>
9733- <a class="link" href="http://www.codesourcery.com/public/cxx-abi">
9734+ </em>. </span></p></div><div class="biblioentry" title="C++ ABI Summary"><a id="biblio.cxxabi"></a><p>[biblio.cxxabi] <span class="title"><em>
9735+ <a class="link" href="http://www.codesourcery.com/public/cxx-abi" target="_top">
9736 C++ ABI Summary
9737 </a>
9738- </em>. </span></p></div><div class="biblioentry" title="Intel Compilers for Linux Compatibility with the GNU Compilers"><a id="id560115"/><p><span class="title"><em>
9739- <a class="link" href="http://www.intel.com/cd/software/products/asmo-na/eng/284736.htm">
9740+ </em>. </span></p></div><div class="biblioentry" title="Intel Compilers for Linux Compatibility with the GNU Compilers"><a id="id738618"></a><p><span class="title"><em>
9741+ <a class="link" href="http://www.intel.com/cd/software/products/asmo-na/eng/284736.htm" target="_top">
9742 Intel Compilers for Linux Compatibility with the GNU Compilers
9743 </a>
9744- </em>. </span></p></div><div class="biblioentry" title="Linker and Libraries Guide (document 819-0690)"><a id="id560131"/><p><span class="title"><em>
9745- <a class="link" href="http://download.oracle.com/docs/cd/E19963-01/html/819-0690/index.html">
9746+ </em>. </span></p></div><div class="biblioentry" title="Linker and Libraries Guide (document 819-0690)"><a id="id738634"></a><p><span class="title"><em>
9747+ <a class="link" href="http://download.oracle.com/docs/cd/E19963-01/html/819-0690/index.html" target="_top">
9748 Linker and Libraries Guide (document 819-0690)
9749 </a>
9750- </em>. </span></p></div><div class="biblioentry" title="Sun Studio 11: C++ Migration Guide (document 819-3689)"><a id="id560146"/><p><span class="title"><em>
9751- <a class="link" href="http://download.oracle.com/docs/cd/E19422-01/819-3689/index.html">
9752+ </em>. </span></p></div><div class="biblioentry" title="Sun Studio 11: C++ Migration Guide (document 819-3689)"><a id="id738649"></a><p><span class="title"><em>
9753+ <a class="link" href="http://download.oracle.com/docs/cd/E19422-01/819-3689/index.html" target="_top">
9754 Sun Studio 11: C++ Migration Guide (document 819-3689)
9755 </a>
9756- </em>. </span></p></div><div class="biblioentry" title="How to Write Shared Libraries"><a id="id560162"/><p><span class="title"><em>
9757- <a class="link" href="http://www.akkadia.org/drepper/dsohowto.pdf">
9758+ </em>. </span></p></div><div class="biblioentry" title="How to Write Shared Libraries"><a id="id738665"></a><p><span class="title"><em>
9759+ <a class="link" href="http://www.akkadia.org/drepper/dsohowto.pdf" target="_top">
9760 How to Write Shared Libraries
9761 </a>
9762- </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span></p></div><div class="biblioentry" title="C++ ABI for the ARM Architecture"><a id="id560190"/><p><span class="title"><em>
9763- <a class="link" href="http://www.arm.com/miscPDFs/8033.pdf">
9764+ </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span></p></div><div class="biblioentry" title="C++ ABI for the ARM Architecture"><a id="id738693"></a><p><span class="title"><em>
9765+ <a class="link" href="http://www.arm.com/miscPDFs/8033.pdf" target="_top">
9766 C++ ABI for the ARM Architecture
9767 </a>
9768- </em>. </span></p></div><div class="biblioentry" title="Dynamic Shared Objects: Survey and Issues"><a id="id560205"/><p><span class="title"><em>
9769- <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1976.html">
9770+ </em>. </span></p></div><div class="biblioentry" title="Dynamic Shared Objects: Survey and Issues"><a id="id738708"></a><p><span class="title"><em>
9771+ <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1976.html" target="_top">
9772 Dynamic Shared Objects: Survey and Issues
9773 </a>
9774 </em>. </span><span class="subtitle">
9775 ISO C++ J16/06-0046
9776- . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry" title="Versioning With Namespaces"><a id="id560233"/><p><span class="title"><em>
9777- <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2013.html">
9778+ . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry" title="Versioning With Namespaces"><a id="id738736"></a><p><span class="title"><em>
9779+ <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2013.html" target="_top">
9780 Versioning With Namespaces
9781 </a>
9782 </em>. </span><span class="subtitle">
9783 ISO C++ J16/06-0083
9784- . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry" title="Binary Compatibility of Shared Libraries Implemented in C++ on GNU/Linux Systems"><a id="id560260"/><p><span class="title"><em>
9785- <a class="link" href="http://syrcose.ispras.ru/2009/files/SYRCoSE2009-CfP.pdf">
9786+ . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry" title="Binary Compatibility of Shared Libraries Implemented in C++ on GNU/Linux Systems"><a id="id738763"></a><p><span class="title"><em>
9787+ <a class="link" href="http://syrcose.ispras.ru/2009/files/SYRCoSE2009-CfP.pdf" target="_top">
9788 Binary Compatibility of Shared Libraries Implemented in C++
9789 on GNU/Linux Systems
9790 </a>
9791 </em>. </span><span class="subtitle">
9792 SYRCoSE 2009
9793- . </span><span class="author"><span class="firstname">Pavel</span> <span class="surname">Shved</span>. </span><span class="author"><span class="firstname">Denis</span> <span class="surname">Silakov</span>. </span></p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="test.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td align="right"> <a accesskey="n" href="api.html">Next</a></td></tr><tr><td align="left" valign="top">Test </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> API Evolution and Deprecation History</td></tr></table></div></body></html>
9794+ . </span><span class="author"><span class="firstname">Pavel</span> <span class="surname">Shved</span>. </span><span class="author"><span class="firstname">Denis</span> <span class="surname">Silakov</span>. </span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="test.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Test </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> API Evolution and Deprecation History</td></tr></table></div></body></html>
9795Index: libstdc++-v3/doc/html/manual/intro.html
9796===================================================================
9f95000d
AM
9797--- libstdc++-v3/doc/html/manual/intro.html (.../tags/gcc_4_7_2_release) (wersja 192468)
9798+++ libstdc++-v3/doc/html/manual/intro.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
9799@@ -1,9 +1,9 @@
9800 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
9801-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
9802-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Part I.  Introduction</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="index.html" title="The GNU C++ Library Manual"/><link rel="prev" href="index.html" title="The GNU C++ Library Manual"/><link rel="next" href="status.html" title="Chapter 1. Status"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part I. 
9803+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
9804+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part I.  Introduction</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="index.html" title="The GNU C++ Library Manual" /><link rel="next" href="status.html" title="Chapter 1. Status" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part I. 
9805 Introduction
9806
9807-</th></tr><tr><td align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td align="right"> <a accesskey="n" href="status.html">Next</a></td></tr></table><hr/></div><div class="part" title="Part I.  Introduction"><div class="titlepage"><div><div><h1 class="title"><a id="manual.intro"/>Part I. 
9808+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part I.  Introduction"><div class="titlepage"><div><div><h1 class="title"><a id="manual.intro"></a>Part I. 
9809 Introduction
9810- <a id="id388470" class="indexterm"/>
9811-</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="index.html">Prev</a> </td><td align="center"><a accesskey="u" href="index.html">Up</a></td><td align="right"> <a accesskey="n" href="status.html">Next</a></td></tr><tr><td align="left" valign="top">The GNU C++ Library Manual </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 1. Status</td></tr></table></div></body></html>
9812+ <a id="id576366" class="indexterm"></a>
9813+</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library Manual </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 1. Status</td></tr></table></div></body></html>
9814Index: libstdc++-v3/doc/html/manual/atomics.html
9815===================================================================
9f95000d
AM
9816--- libstdc++-v3/doc/html/manual/atomics.html (.../tags/gcc_4_7_2_release) (wersja 192468)
9817+++ libstdc++-v3/doc/html/manual/atomics.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
9818@@ -1,16 +1,16 @@
9819 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
9820-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
9821-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 14.  Atomics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; , &#10; atomic&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="io_and_c.html" title="Interacting with C"/><link rel="next" href="concurrency.html" title="Chapter 15.  Concurrency"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 14. 
9822+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
9823+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 14.  Atomics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; , &#10; atomic&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="io_and_c.html" title="Interacting with C" /><link rel="next" href="concurrency.html" title="Chapter 15.  Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 14. 
9824 Atomics
9825
9826-</th></tr><tr><td align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
9827+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
9828 Standard Contents
9829- </th><td align="right"> <a accesskey="n" href="concurrency.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 14.  Atomics"><div class="titlepage"><div><div><h2 class="title"><a id="std.atomics"/>Chapter 14. 
9830+ </th><td width="20%" align="right"> <a accesskey="n" href="concurrency.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 14.  Atomics"><div class="titlepage"><div><div><h2 class="title"><a id="std.atomics"></a>Chapter 14. 
9831 Atomics
9832- <a id="id506046" class="indexterm"/>
9833+ <a id="id684532" class="indexterm"></a>
9834 </h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="atomics.html#std.atomics.api">API Reference</a></span></dt></dl></div><p>
9835 Facilities for atomic operations.
9836-</p><div class="section" title="API Reference"><div class="titlepage"><div><div><h2 class="title"><a id="std.atomics.api"/>API Reference</h2></div></div></div><p>
9837+</p><div class="section" title="API Reference"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.atomics.api"></a>API Reference</h2></div></div></div><p>
9838 All items are declared in the standard header
9839 file <code class="filename">atomic</code>.
9840 </p><p>
9841@@ -25,7 +25,7 @@
9842 <code class="classname">atomic&lt;int&gt;</code>.
9843 </p><p>
9844 Full API details.
9845- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="concurrency.html">Next</a></td></tr><tr><td align="left" valign="top">Interacting with C </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 15. 
9846+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="concurrency.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Interacting with C </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 15. 
9847 Concurrency
9848
9849 </td></tr></table></div></body></html>
9850Index: libstdc++-v3/doc/html/manual/internals.html
9851===================================================================
9f95000d
AM
9852--- libstdc++-v3/doc/html/manual/internals.html (.../tags/gcc_4_7_2_release) (wersja 192468)
9853+++ libstdc++-v3/doc/html/manual/internals.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
9854@@ -1,9 +1,9 @@
9855 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
9856-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
9857-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Porting to New Hardware or Operating Systems</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; internals&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="prev" href="documentation_hacking.html" title="Writing and Generating Documentation"/><link rel="next" href="test.html" title="Test"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Porting to New Hardware or Operating Systems</th></tr><tr><td align="left"><a accesskey="p" href="documentation_hacking.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
9858+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
9859+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Porting to New Hardware or Operating Systems</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; internals&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="documentation_hacking.html" title="Writing and Generating Documentation" /><link rel="next" href="test.html" title="Test" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Porting to New Hardware or Operating Systems</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="documentation_hacking.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
9860 Porting and Maintenance
9861
9862-</th><td align="right"> <a accesskey="n" href="test.html">Next</a></td></tr></table><hr/></div><div class="section" title="Porting to New Hardware or Operating Systems"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.porting.internals"/>Porting to New Hardware or Operating Systems</h2></div></div></div><p>
9863+</th><td width="20%" align="right"> <a accesskey="n" href="test.html">Next</a></td></tr></table><hr /></div><div class="section" title="Porting to New Hardware or Operating Systems"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.internals"></a>Porting to New Hardware or Operating Systems</h2></div></div></div><p>
9864 </p><p>This document explains how to port libstdc++ (the GNU C++ library) to
9865 a new target.
9866 </p><p>In order to make the GNU C++ library (libstdc++) work with a new
9867@@ -20,7 +20,7 @@
9868 library, but you should at least try some minimal test cases.
9869 </p><p>(Note that what we think of as a "target," the library refers to as
9870 a "host." The comment at the top of <code class="code">configure.ac</code> explains why.)
9871- </p><div class="section" title="Operating System"><div class="titlepage"><div><div><h3 class="title"><a id="internals.os"/>Operating System</h3></div></div></div><p>If you are porting to a new operating system (as opposed to a new chip
9872+ </p><div class="section" title="Operating System"><div class="titlepage"><div><div><h3 class="title"><a id="internals.os"></a>Operating System</h3></div></div></div><p>If you are porting to a new operating system (as opposed to a new chip
9873 using an existing operating system), you will need to create a new
9874 directory in the <code class="code">config/os</code> hierarchy. For example, the IRIX
9875 configuration files are all in <code class="code">config/os/irix</code>. There is no set
9876@@ -99,7 +99,7 @@
9877 #endif
9878 </pre><p>We recommend copying an existing <code class="code">os_defines.h</code> to use as a
9879 starting point.
9880- </p></div><div class="section" title="CPU"><div class="titlepage"><div><div><h3 class="title"><a id="internals.cpu"/>CPU</h3></div></div></div><p>If you are porting to a new chip (as opposed to a new operating system
9881+ </p></div><div class="section" title="CPU"><div class="titlepage"><div><div><h3 class="title"><a id="internals.cpu"></a>CPU</h3></div></div></div><p>If you are porting to a new chip (as opposed to a new operating system
9882 running on an existing chip), you will need to create a new directory in the
9883 <code class="code">config/cpu</code> hierarchy. Much like the <a class="link" href="internals.html#internals.os" title="Operating System">Operating system</a> setup,
9884 there are no strict rules on how to organize the CPU configuration
9885@@ -117,7 +117,7 @@
9886 </p><p>The <code class="code">cpu_include_dir</code> sets default locations for the files controlling
9887 <a class="link" href="internals.html#internals.thread_safety" title="Thread Safety">Thread safety</a> and <a class="link" href="internals.html#internals.numeric_limits" title="Numeric Limits">Numeric limits</a>, if the defaults are not
9888 appropriate for your chip.
9889- </p></div><div class="section" title="Character Types"><div class="titlepage"><div><div><h3 class="title"><a id="internals.char_types"/>Character Types</h3></div></div></div><p>The library requires that you provide three header files to implement
9890+ </p></div><div class="section" title="Character Types"><div class="titlepage"><div><div><h3 class="title"><a id="internals.char_types"></a>Character Types</h3></div></div></div><p>The library requires that you provide three header files to implement
9891 character classification, analogous to that provided by the C libraries
9892 <code class="code">&lt;ctype.h&gt;</code> header. You can model these on the files provided in
9893 <code class="code">config/os/generic</code>. However, these files will almost
9894@@ -276,7 +276,7 @@
9895 ++__low;
9896 return __low;
9897 }
9898-</pre></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h3 class="title"><a id="internals.thread_safety"/>Thread Safety</h3></div></div></div><p>The C++ library string functionality requires a couple of atomic
9899+</pre></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h3 class="title"><a id="internals.thread_safety"></a>Thread Safety</h3></div></div></div><p>The C++ library string functionality requires a couple of atomic
9900 operations to provide thread-safety. If you don't take any special
9901 action, the library will use stub versions of these functions that are
9902 not thread-safe. They will work fine, unless your applications are
9903@@ -331,7 +331,7 @@
9904 {
9905 *__mem += __val;
9906 }
9907-</pre></div><div class="section" title="Numeric Limits"><div class="titlepage"><div><div><h3 class="title"><a id="internals.numeric_limits"/>Numeric Limits</h3></div></div></div><p>The C++ library requires information about the fundamental data types,
9908+</pre></div><div class="section" title="Numeric Limits"><div class="titlepage"><div><div><h3 class="title"><a id="internals.numeric_limits"></a>Numeric Limits</h3></div></div></div><p>The C++ library requires information about the fundamental data types,
9909 such as the minimum and maximum representable values of each type.
9910 You can define each of these values individually, but it is usually
9911 easiest just to indicate how many bits are used in each of the data
9912@@ -343,7 +343,7 @@
9913 do not have to provide the same definitions for each operating system.
9914 To take that approach, create a new file called <code class="code">cpu_limits.h</code> in
9915 your CPU configuration directory (see <a class="link" href="internals.html#internals.cpu" title="CPU">CPU</a>).
9916- </p></div><div class="section" title="Libtool"><div class="titlepage"><div><div><h3 class="title"><a id="internals.libtool"/>Libtool</h3></div></div></div><p>The C++ library is compiled, archived and linked with libtool.
9917+ </p></div><div class="section" title="Libtool"><div class="titlepage"><div><div><h3 class="title"><a id="internals.libtool"></a>Libtool</h3></div></div></div><p>The C++ library is compiled, archived and linked with libtool.
9918 Explaining the full workings of libtool is beyond the scope of this
9919 document, but there are a few, particular bits that are necessary for
9920 porting.
9921@@ -365,4 +365,4 @@
9922 <code class="code">ltcf-c.sh</code> in the top-level directory. Find the switch statement
9923 that sets <code class="code">archive_cmds</code>. Here, adjust the setting for your
9924 operating system.
9925- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="documentation_hacking.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td align="right"> <a accesskey="n" href="test.html">Next</a></td></tr><tr><td align="left" valign="top">Writing and Generating Documentation </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Test</td></tr></table></div></body></html>
9926+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="documentation_hacking.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="test.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Writing and Generating Documentation </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Test</td></tr></table></div></body></html>
9927Index: libstdc++-v3/doc/html/manual/policy_data_structures_using.html
9928===================================================================
9f95000d
AM
9929--- libstdc++-v3/doc/html/manual/policy_data_structures_using.html (.../tags/gcc_4_7_2_release) (wersja 192468)
9930+++ libstdc++-v3/doc/html/manual/policy_data_structures_using.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
9931@@ -1,6 +1,6 @@
9932 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
9933-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
9934-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;&#9;ISO C++&#10; , &#10;&#9;policy&#10; , &#10;&#9;container&#10; , &#10;&#9;data&#10; , &#10;&#9;structure&#10; , &#10;&#9;associated&#10; , &#10;&#9;tree&#10; , &#10;&#9;trie&#10; , &#10;&#9;hash&#10; , &#10;&#9;metaprogramming&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures"/><link rel="prev" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures"/><link rel="next" href="policy_data_structures_design.html" title="Design"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td align="left"><a accesskey="p" href="policy_data_structures.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td align="right"> <a accesskey="n" href="policy_data_structures_design.html">Next</a></td></tr></table><hr/></div><div class="section" title="Using"><div class="titlepage"><div><div><h2 class="title"><a id="containers.pbds.using"/>Using</h2></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.prereq"/>Prerequisites</h3></div></div></div><p>The library contains only header files, and does not require any
9935+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
9936+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;&#9;ISO C++&#10; , &#10;&#9;policy&#10; , &#10;&#9;container&#10; , &#10;&#9;data&#10; , &#10;&#9;structure&#10; , &#10;&#9;associated&#10; , &#10;&#9;tree&#10; , &#10;&#9;trie&#10; , &#10;&#9;hash&#10; , &#10;&#9;metaprogramming&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="next" href="policy_data_structures_design.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures_design.html">Next</a></td></tr></table><hr /></div><div class="section" title="Using"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.pbds.using"></a>Using</h2></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.prereq"></a>Prerequisites</h3></div></div></div><p>The library contains only header files, and does not require any
9937 other libraries except the standard C++ library . All classes are
9938 defined in namespace <code class="code">__gnu_pbds</code>. The library internally
9939 uses macros beginning with <code class="code">PB_DS</code>, but
9940@@ -11,11 +11,11 @@
9941 Further dependencies are necessary to create the visual output
9942 for the performance tests. To create these graphs, an
9943 additional package is needed: <span class="command"><strong>pychart</strong></span>.
9944- </p></div><div class="section" title="Organization"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.organization"/>Organization</h3></div></div></div><p>
9945+ </p></div><div class="section" title="Organization"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.organization"></a>Organization</h3></div></div></div><p>
9946 The various data structures are organized as follows.
9947- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
9948+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
9949 Branch-Based
9950- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
9951+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
9952 <code class="classname">basic_branch</code>
9953 is an abstract base class for branched-based
9954 associative-containers
9955@@ -29,7 +29,7 @@
9956 associative-containers
9957 </p></li></ul></div></li><li class="listitem"><p>
9958 Hash-Based
9959- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
9960+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
9961 <code class="classname">basic_hash_table</code>
9962 is an abstract base class for hash-based
9963 associative-containers
9964@@ -43,12 +43,12 @@
9965 associative-containers
9966 </p></li></ul></div></li><li class="listitem"><p>
9967 List-Based
9968- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
9969+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
9970 <code class="classname">list_update</code>
9971 list-based update-policy associative container
9972 </p></li></ul></div></li><li class="listitem"><p>
9973 Heap-Based
9974- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
9975+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
9976 <code class="classname">priority_queue</code>
9977 A priority queue.
9978 </p></li></ul></div></li></ul></div><p>
9979@@ -62,7 +62,7 @@
9980 In addition, there are the following diagnostics classes,
9981 used to report errors specific to this library's data
9982 structures.
9983- </p><div class="figure"><a id="id517828"/><p class="title"><strong>Figure 22.7. Exception Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_exception_hierarchy.png" style="text-align: middle" alt="Exception Hierarchy"/></div></div></div><br class="figure-break"/></div><div class="section" title="Tutorial"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.tutorial"/>Tutorial</h3></div></div></div><div class="section" title="Basic Use"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.basic"/>Basic Use</h4></div></div></div><p>
9984+ </p><div class="figure"><a id="id696315"></a><p class="title"><strong>Figure 22.7. Exception Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_exception_hierarchy.png" align="middle" alt="Exception Hierarchy" /></div></div></div><br class="figure-break" /></div><div class="section" title="Tutorial"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.tutorial"></a>Tutorial</h3></div></div></div><div class="section" title="Basic Use"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.basic"></a>Basic Use</h4></div></div></div><p>
9985 For the most part, the policy-based containers containers in
9986 namespace <code class="literal">__gnu_pbds</code> have the same interface as
9987 the equivalent containers in the standard C++ library, except for
9988@@ -186,7 +186,7 @@
9989 </pre><p>
9990 so all hash-based associative containers inherit the same
9991 hash-functor accessor methods.
9992- </p></div><div class="section" title="Configuring via Template Parameters"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.configuring"/>
9993+ </p></div><div class="section" title="Configuring via Template Parameters"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.configuring"></a>
9994 Configuring via Template Parameters
9995 </h4></div></div></div><p>
9996 In general, each of this library's containers is
9997@@ -240,9 +240,9 @@
9998 by one of them.</p><p>Note that as opposed to the
9999 <code class="classname">std::priority_queue</code>,
10000 <code class="classname">__gnu_pbds::priority_queue</code> is not a
10001- sequence-adapter; it is a regular container.</p></div><div class="section" title="Querying Container Attributes"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.traits"/>
10002+ sequence-adapter; it is a regular container.</p></div><div class="section" title="Querying Container Attributes"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.traits"></a>
10003 Querying Container Attributes
10004- </h4></div></div></div><p/><p>A containers underlying data structure
10005+ </h4></div></div></div><p></p><p>A containers underlying data structure
10006 affect their performance; Unfortunately, they can also affect
10007 their interface. When manipulating generically associative
10008 containers, it is often useful to be able to statically
10009@@ -278,9 +278,9 @@
10010 </pre><p>is the container's invalidation guarantee. Invalidation
10011 guarantees are especially important regarding priority queues,
10012 since in this library's design, iterators are practically the
10013- only way to manipulate them.</p></div><div class="section" title="Point and Range Iteration"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.point_range_iteration"/>
10014+ only way to manipulate them.</p></div><div class="section" title="Point and Range Iteration"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.point_range_iteration"></a>
10015 Point and Range Iteration
10016- </h4></div></div></div><p/><p>This library differentiates between two types of methods
10017+ </h4></div></div></div><p></p><p>This library differentiates between two types of methods
10018 and iterators: point-type, and range-type. For example,
10019 <code class="function">find</code> and <code class="function">insert</code> are point-type methods, since
10020 they each deal with a specific element; their returned
10021@@ -377,11 +377,11 @@
10022 </pre><p>
10023 gives one of three pre-determined types that answer this
10024 query.
10025- </p></div></div><div class="section" title="Examples"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.examples"/>Examples</h3></div></div></div><p>
10026+ </p></div></div><div class="section" title="Examples"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.examples"></a>Examples</h3></div></div></div><p>
10027 Additional code examples are provided in the source
10028 distribution, as part of the regression and performance
10029 testsuite.
10030- </p><div class="section" title="Intermediate Use"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.examples.basic"/>Intermediate Use</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
10031+ </p><div class="section" title="Intermediate Use"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.examples.basic"></a>Intermediate Use</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
10032 Basic use of maps:
10033 <code class="filename">basic_map.cc</code>
10034 </p></li><li class="listitem"><p>
10035@@ -405,7 +405,7 @@
10036 </p></li><li class="listitem"><p>
10037 Conditionally erasing values from a priority queue:
10038 <code class="filename">priority_queue_erase_if.cc</code>
10039- </p></li></ul></div></div><div class="section" title="Querying with container_traits"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.examples.query"/>Querying with <code class="classname">container_traits</code> </h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
10040+ </p></li></ul></div></div><div class="section" title="Querying with container_traits"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.examples.query"></a>Querying with <code class="classname">container_traits</code> </h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
10041 Using <code class="classname">container_traits</code> to query
10042 about underlying data structure behavior:
10043 <code class="filename">assoc_container_traits.cc</code>
10044@@ -416,7 +416,7 @@
10045 Using <code class="classname">container_traits</code>
10046 to query about underlying data structure behavior:
10047 <code class="filename">priority_queue_container_traits.cc</code>
10048- </p></li></ul></div></div><div class="section" title="By Container Method"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.examples.container"/>By Container Method</h4></div></div></div><p/><div class="section" title="Hash-Based"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.using.examples.container.hash"/>Hash-Based</h5></div></div></div><div class="section" title="size Related"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.hash.resize"/>size Related</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
10049+ </p></li></ul></div></div><div class="section" title="By Container Method"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.examples.container"></a>By Container Method</h4></div></div></div><p></p><div class="section" title="Hash-Based"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.using.examples.container.hash"></a>Hash-Based</h5></div></div></div><div class="section" title="size Related"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.hash.resize"></a>size Related</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
10050 Setting the initial size of a hash-based container
10051 object:
10052 <code class="filename">hash_initial_size.cc</code>
10053@@ -434,7 +434,7 @@
10054 </p></li><li class="listitem"><p>
10055 Changing the load factors of a hash-based container
10056 object: <code class="filename">hash_load_set_change.cc</code>
10057- </p></li></ul></div></div><div class="section" title="Hashing Function Related"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.hash.hashor"/>Hashing Function Related</h6></div></div></div><p/><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
10058+ </p></li></ul></div></div><div class="section" title="Hashing Function Related"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.hash.hashor"></a>Hashing Function Related</h6></div></div></div><p></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
10059 Using a modulo range-hashing function for the case of an
10060 unknown skewed key distribution:
10061 <code class="filename">hash_mod.cc</code>
10062@@ -448,7 +448,7 @@
10063 </p></li><li class="listitem"><p>
10064 Writing a ranged-hash functor:
10065 <code class="filename">ranged_hash.cc</code>
10066- </p></li></ul></div></div></div><div class="section" title="Branch-Based"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.using.examples.container.branch"/>Branch-Based</h5></div></div></div><div class="section" title="split or join Related"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.branch.split"/>split or join Related</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
10067+ </p></li></ul></div></div></div><div class="section" title="Branch-Based"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.using.examples.container.branch"></a>Branch-Based</h5></div></div></div><div class="section" title="split or join Related"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.branch.split"></a>split or join Related</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
10068 Joining two tree-based container objects:
10069 <code class="filename">tree_join.cc</code>
10070 </p></li><li class="listitem"><p>
10071@@ -458,21 +458,21 @@
10072 Order statistics while joining two tree-based container
10073 objects:
10074 <code class="filename">tree_order_statistics_join.cc</code>
10075- </p></li></ul></div></div><div class="section" title="Node Invariants"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.branch.invariants"/>Node Invariants</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
10076+ </p></li></ul></div></div><div class="section" title="Node Invariants"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.branch.invariants"></a>Node Invariants</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
10077 Using trees for order statistics:
10078 <code class="filename">tree_order_statistics.cc</code>
10079 </p></li><li class="listitem"><p>
10080 Augmenting trees to support operations on line
10081 intervals:
10082 <code class="filename">tree_intervals.cc</code>
10083- </p></li></ul></div></div><div class="section" title="trie"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.branch.trie"/>trie</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
10084+ </p></li></ul></div></div><div class="section" title="trie"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.branch.trie"></a>trie</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
10085 Using a PATRICIA trie for DNA strings:
10086 <code class="filename">trie_dna.cc</code>
10087 </p></li><li class="listitem"><p>
10088 Using a PATRICIA
10089 trie for finding all entries whose key matches a given prefix:
10090 <code class="filename">trie_prefix_search.cc</code>
10091- </p></li></ul></div></div></div><div class="section" title="Priority Queues"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.using.examples.container.priority_queue"/>Priority Queues</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
10092+ </p></li></ul></div></div></div><div class="section" title="Priority Queues"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.using.examples.container.priority_queue"></a>Priority Queues</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
10093 Cross referencing an associative container and a priority
10094 queue: <code class="filename">priority_queue_xref.cc</code>
10095 </p></li><li class="listitem"><p>
10096@@ -480,4 +480,4 @@
10097 very simple version of Dijkstra's shortest path
10098 algorithm:
10099 <code class="filename">priority_queue_dijkstra.cc</code>
10100- </p></li></ul></div></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="policy_data_structures.html">Prev</a> </td><td align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td align="right"> <a accesskey="n" href="policy_data_structures_design.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 22. Policy-Based Data Structures </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Design</td></tr></table></div></body></html>
10101+ </p></li></ul></div></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="policy_data_structures.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="policy_data_structures_design.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 22. Policy-Based Data Structures </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
10102Index: libstdc++-v3/doc/html/manual/bugs.html
10103===================================================================
9f95000d
AM
10104--- libstdc++-v3/doc/html/manual/bugs.html (.../tags/gcc_4_7_2_release) (wersja 192468)
10105+++ libstdc++-v3/doc/html/manual/bugs.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
10106@@ -1,10 +1,10 @@
10107 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
10108-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
10109-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Bugs</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="status.html" title="Chapter 1. Status"/><link rel="prev" href="license.html" title="License"/><link rel="next" href="setup.html" title="Chapter 2. Setup"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Bugs</th></tr><tr><td align="left"><a accesskey="p" href="license.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr></table><hr/></div><div class="section" title="Bugs"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status.bugs"/>Bugs</h2></div></div></div><div class="section" title="Implementation Bugs"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.impl"/>Implementation Bugs</h3></div></div></div><p>
10110+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
10111+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Bugs</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="status.html" title="Chapter 1. Status" /><link rel="prev" href="license.html" title="License" /><link rel="next" href="setup.html" title="Chapter 2. Setup" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Bugs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="license.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td width="20%" align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr></table><hr /></div><div class="section" title="Bugs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.bugs"></a>Bugs</h2></div></div></div><div class="section" title="Implementation Bugs"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.impl"></a>Implementation Bugs</h3></div></div></div><p>
10112 Information on known bugs, details on efforts to fix them, and
10113- fixed bugs are all available as part of the <a class="link" href="http://gcc.gnu.org/bugs/">GCC bug tracking system</a>,
10114+ fixed bugs are all available as part of the <a class="link" href="http://gcc.gnu.org/bugs/" target="_top">GCC bug tracking system</a>,
10115 with the category set to <code class="literal">libstdc++</code>.
10116- </p></div><div class="section" title="Standard Bugs"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.iso"/>Standard Bugs</h3></div></div></div><p>
10117+ </p></div><div class="section" title="Standard Bugs"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.iso"></a>Standard Bugs</h3></div></div></div><p>
10118 Everybody's got issues. Even the C++ Standard Library.
10119 </p><p>
10120 The Library Working Group, or LWG, is the ISO subcommittee responsible
10121@@ -15,9 +15,9 @@
10122 Here are the issues which have resulted in code changes to the library.
10123 The links are to the specific defect reports from a <span class="emphasis"><em>partial
10124 copy</em></span> of the Issues List. You can read the full version online
10125- at the <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/">ISO C++
10126+ at the <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">ISO C++
10127 Committee homepage</a>, linked to on the
10128- <a class="link" href="http://gcc.gnu.org/readings.html">GCC "Readings"
10129+ <a class="link" href="http://gcc.gnu.org/readings.html" target="_top">GCC "Readings"
10130 page</a>. If
10131 you spend a lot of time reading the issues, we recommend downloading
10132 the ZIP file and reading them locally.
10133@@ -34,319 +34,319 @@
10134 and src directories for appearances of
10135 <code class="constant">_GLIBCXX_RESOLVE_LIB_DEFECTS</code> for examples
10136 of style. Note that we usually do not make changes to the
10137- code until an issue has reached <a class="link" href="../ext/lwg-active.html#DR">DR</a> status.
10138- </p><div class="variablelist"><dl><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#5">5</a>:
10139+ code until an issue has reached <a class="link" href="../ext/lwg-active.html#DR" target="_top">DR</a> status.
10140+ </p><div class="variablelist"><dl><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#5" target="_top">5</a>:
10141 <span class="emphasis"><em>string::compare specification questionable</em></span>
10142 </span></dt><dd><p>This should be two overloaded functions rather than a single function.
10143- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#17">17</a>:
10144+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#17" target="_top">17</a>:
10145 <span class="emphasis"><em>Bad bool parsing</em></span>
10146 </span></dt><dd><p>Apparently extracting Boolean values was messed up...
10147- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#19">19</a>:
10148+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#19" target="_top">19</a>:
10149 <span class="emphasis"><em>"Noconv" definition too vague</em></span>
10150 </span></dt><dd><p>If <code class="code">codecvt::do_in</code> returns <code class="code">noconv</code> there are
10151 no changes to the values in <code class="code">[to, to_limit)</code>.
10152- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#22">22</a>:
10153+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#22" target="_top">22</a>:
10154 <span class="emphasis"><em>Member open vs flags</em></span>
10155 </span></dt><dd><p>Re-opening a file stream does <span class="emphasis"><em>not</em></span> clear the state flags.
10156- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#23">23</a>:
10157+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#23" target="_top">23</a>:
10158 <span class="emphasis"><em>Num_get overflow result</em></span>
10159 </span></dt><dd><p>Implement the proposed resolution.
10160- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#25">25</a>:
10161+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#25" target="_top">25</a>:
10162 <span class="emphasis"><em>String operator&lt;&lt; uses width() value wrong</em></span>
10163 </span></dt><dd><p>Padding issues.
10164- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#48">48</a>:
10165+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#48" target="_top">48</a>:
10166 <span class="emphasis"><em>Use of non-existent exception constructor</em></span>
10167 </span></dt><dd><p>An instance of <code class="code">ios_base::failure</code> is constructed instead.
10168- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#49">49</a>:
10169+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#49" target="_top">49</a>:
10170 <span class="emphasis"><em>Underspecification of ios_base::sync_with_stdio</em></span>
10171 </span></dt><dd><p>The return type is the <span class="emphasis"><em>previous</em></span> state of synchronization.
10172- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#50">50</a>:
10173+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#50" target="_top">50</a>:
10174 <span class="emphasis"><em>Copy constructor and assignment operator of ios_base</em></span>
10175 </span></dt><dd><p>These members functions are declared <code class="code">private</code> and are
10176 thus inaccessible. Specifying the correct semantics of
10177 "copying stream state" was deemed too complicated.
10178- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#60">60</a>:
10179+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#60" target="_top">60</a>:
10180 <span class="emphasis"><em>What is a formatted input function?</em></span>
10181 </span></dt><dd><p>This DR made many widespread changes to <code class="code">basic_istream</code>
10182 and <code class="code">basic_ostream</code> all of which have been implemented.
10183- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#63">63</a>:
10184+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#63" target="_top">63</a>:
10185 <span class="emphasis"><em>Exception-handling policy for unformatted output</em></span>
10186 </span></dt><dd><p>Make the policy consistent with that of formatted input, unformatted
10187 input, and formatted output.
10188- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#68">68</a>:
10189+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#68" target="_top">68</a>:
10190 <span class="emphasis"><em>Extractors for char* should store null at end</em></span>
10191 </span></dt><dd><p>And they do now. An editing glitch in the last item in the list of
10192 [27.6.1.2.3]/7.
10193- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#74">74</a>:
10194+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#74" target="_top">74</a>:
10195 <span class="emphasis"><em>Garbled text for codecvt::do_max_length</em></span>
10196 </span></dt><dd><p>The text of the standard was gibberish. Typos gone rampant.
10197- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#75">75</a>:
10198+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#75" target="_top">75</a>:
10199 <span class="emphasis"><em>Contradiction in codecvt::length's argument types</em></span>
10200 </span></dt><dd><p>Change the first parameter to <code class="code">stateT&amp;</code> and implement
10201 the new effects paragraph.
10202- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#83">83</a>:
10203+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#83" target="_top">83</a>:
10204 <span class="emphasis"><em>string::npos vs. string::max_size()</em></span>
10205 </span></dt><dd><p>Safety checks on the size of the string should test against
10206 <code class="code">max_size()</code> rather than <code class="code">npos</code>.
10207- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#90">90</a>:
10208+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#90" target="_top">90</a>:
10209 <span class="emphasis"><em>Incorrect description of operator&gt;&gt; for strings</em></span>
10210 </span></dt><dd><p>The effect contain <code class="code">isspace(c,getloc())</code> which must be
10211 replaced by <code class="code">isspace(c,is.getloc())</code>.
10212- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#91">91</a>:
10213+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#91" target="_top">91</a>:
10214 <span class="emphasis"><em>Description of operator&gt;&gt; and getline() for string&lt;&gt;
10215 might cause endless loop</em></span>
10216 </span></dt><dd><p>They behave as a formatted input function and as an unformatted
10217 input function, respectively (except that <code class="code">getline</code> is
10218 not required to set <code class="code">gcount</code>).
10219- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#103">103</a>:
10220+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#103" target="_top">103</a>:
10221 <span class="emphasis"><em>set::iterator is required to be modifiable, but this allows
10222 modification of keys.</em></span>
10223 </span></dt><dd><p>For associative containers where the value type is the same as
10224 the key type, both <code class="code">iterator</code> and <code class="code">const_iterator
10225 </code> are constant iterators.
10226- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#109">109</a>:
10227+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#109" target="_top">109</a>:
10228 <span class="emphasis"><em>Missing binders for non-const sequence elements</em></span>
10229 </span></dt><dd><p>The <code class="code">binder1st</code> and <code class="code">binder2nd</code> didn't have an
10230 <code class="code">operator()</code> taking a non-const parameter.
10231- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#110">110</a>:
10232+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#110" target="_top">110</a>:
10233 <span class="emphasis"><em>istreambuf_iterator::equal not const</em></span>
10234 </span></dt><dd><p>This was not a const member function. Note that the DR says to
10235 replace the function with a const one; we have instead provided an
10236 overloaded version with identical contents.
10237- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#117">117</a>:
10238+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#117" target="_top">117</a>:
10239 <span class="emphasis"><em>basic_ostream uses nonexistent num_put member functions</em></span>
10240 </span></dt><dd><p><code class="code">num_put::put()</code> was overloaded on the wrong types.
10241- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#118">118</a>:
10242+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#118" target="_top">118</a>:
10243 <span class="emphasis"><em>basic_istream uses nonexistent num_get member functions</em></span>
10244 </span></dt><dd><p>Same as 117, but for <code class="code">num_get::get()</code>.
10245- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#129">129</a>:
10246+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#129" target="_top">129</a>:
10247 <span class="emphasis"><em>Need error indication from seekp() and seekg()</em></span>
10248 </span></dt><dd><p>These functions set <code class="code">failbit</code> on error now.
10249- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#130">130</a>:
10250+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#130" target="_top">130</a>:
10251 <span class="emphasis"><em>Return type of container::erase(iterator) differs for associative containers</em></span>
10252 </span></dt><dd><p>Make member <code class="code">erase</code> return iterator for <code class="code">set</code>, <code class="code">multiset</code>, <code class="code">map</code>, <code class="code">multimap</code>.
10253- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#136">136</a>:
10254+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#136" target="_top">136</a>:
10255 <span class="emphasis"><em>seekp, seekg setting wrong streams?</em></span>
10256 </span></dt><dd><p><code class="code">seekp</code> should only set the output stream, and
10257 <code class="code">seekg</code> should only set the input stream.
10258- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#167">167</a>:
10259+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#167" target="_top">167</a>:
10260 <span class="emphasis"><em>Improper use of traits_type::length()</em></span>
10261 </span></dt><dd><p><code class="code">op&lt;&lt;</code> with a <code class="code">const char*</code> was
10262 calculating an incorrect number of characters to write.
10263- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#169">169</a>:
10264+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#169" target="_top">169</a>:
10265 <span class="emphasis"><em>Bad efficiency of overflow() mandated</em></span>
10266 </span></dt><dd><p>Grow efficiently the internal array object.
10267- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#171">171</a>:
10268+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#171" target="_top">171</a>:
10269 <span class="emphasis"><em>Strange seekpos() semantics due to joint position</em></span>
10270 </span></dt><dd><p>Quite complex to summarize...
10271- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#181">181</a>:
10272+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#181" target="_top">181</a>:
10273 <span class="emphasis"><em>make_pair() unintended behavior</em></span>
10274 </span></dt><dd><p>This function used to take its arguments as reference-to-const, now
10275 it copies them (pass by value).
10276- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#195">195</a>:
10277+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#195" target="_top">195</a>:
10278 <span class="emphasis"><em>Should basic_istream::sentry's constructor ever set eofbit?</em></span>
10279 </span></dt><dd><p>Yes, it can, specifically if EOF is reached while skipping whitespace.
10280- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#211">211</a>:
10281+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#211" target="_top">211</a>:
10282 <span class="emphasis"><em>operator&gt;&gt;(istream&amp;, string&amp;) doesn't set failbit</em></span>
10283 </span></dt><dd><p>If nothing is extracted into the string, <code class="code">op&gt;&gt;</code> now
10284 sets <code class="code">failbit</code> (which can cause an exception, etc., etc.).
10285- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#214">214</a>:
10286+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#214" target="_top">214</a>:
10287 <span class="emphasis"><em>set::find() missing const overload</em></span>
10288 </span></dt><dd><p>Both <code class="code">set</code> and <code class="code">multiset</code> were missing
10289 overloaded find, lower_bound, upper_bound, and equal_range functions
10290 for const instances.
10291- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#231">231</a>:
10292+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#231" target="_top">231</a>:
10293 <span class="emphasis"><em>Precision in iostream?</em></span>
10294 </span></dt><dd><p>For conversion from a floating-point type, <code class="code">str.precision()</code>
10295 is specified in the conversion specification.
10296- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#233">233</a>:
10297+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#233" target="_top">233</a>:
10298 <span class="emphasis"><em>Insertion hints in associative containers</em></span>
10299 </span></dt><dd><p>Implement N1780, first check before then check after, insert as close
10300 to hint as possible.
10301- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#235">235</a>:
10302+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#235" target="_top">235</a>:
10303 <span class="emphasis"><em>No specification of default ctor for reverse_iterator</em></span>
10304 </span></dt><dd><p>The declaration of <code class="code">reverse_iterator</code> lists a default constructor.
10305 However, no specification is given what this constructor should do.
10306- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#241">241</a>:
10307+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#241" target="_top">241</a>:
10308 <span class="emphasis"><em>Does unique_copy() require CopyConstructible and Assignable?</em></span>
10309 </span></dt><dd><p>Add a helper for forward_iterator/output_iterator, fix the existing
10310 one for input_iterator/output_iterator to not rely on Assignability.
10311- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#243">243</a>:
10312+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#243" target="_top">243</a>:
10313 <span class="emphasis"><em>get and getline when sentry reports failure</em></span>
10314 </span></dt><dd><p>Store a null character only if the character array has a non-zero size.
10315- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#251">251</a>:
10316+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#251" target="_top">251</a>:
10317 <span class="emphasis"><em>basic_stringbuf missing allocator_type</em></span>
10318 </span></dt><dd><p>This nested typedef was originally not specified.
10319- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#253">253</a>:
10320+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#253" target="_top">253</a>:
10321 <span class="emphasis"><em>valarray helper functions are almost entirely useless</em></span>
10322 </span></dt><dd><p>Make the copy constructor and copy-assignment operator declarations
10323 public in gslice_array, indirect_array, mask_array, slice_array; provide
10324 definitions.
10325- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#265">265</a>:
10326+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#265" target="_top">265</a>:
10327 <span class="emphasis"><em>std::pair::pair() effects overly restrictive</em></span>
10328 </span></dt><dd><p>The default ctor would build its members from copies of temporaries;
10329 now it simply uses their respective default ctors.
10330- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#266">266</a>:
10331+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#266" target="_top">266</a>:
10332 <span class="emphasis"><em>bad_exception::~bad_exception() missing Effects clause</em></span>
10333 </span></dt><dd><p>The <code class="code">bad_</code>* classes no longer have destructors (they
10334 are trivial), since no description of them was ever given.
10335- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#271">271</a>:
10336+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#271" target="_top">271</a>:
10337 <span class="emphasis"><em>basic_iostream missing typedefs</em></span>
10338 </span></dt><dd><p>The typedefs it inherits from its base classes can't be used, since
10339 (for example) <code class="code">basic_iostream&lt;T&gt;::traits_type</code> is ambiguous.
10340- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#275">275</a>:
10341+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#275" target="_top">275</a>:
10342 <span class="emphasis"><em>Wrong type in num_get::get() overloads</em></span>
10343 </span></dt><dd><p>Similar to 118.
10344- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#280">280</a>:
10345+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#280" target="_top">280</a>:
10346 <span class="emphasis"><em>Comparison of reverse_iterator to const reverse_iterator</em></span>
10347 </span></dt><dd><p>Add global functions with two template parameters.
10348 (NB: not added for now a templated assignment operator)
10349- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#292">292</a>:
10350+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#292" target="_top">292</a>:
10351 <span class="emphasis"><em>Effects of a.copyfmt (a)</em></span>
10352 </span></dt><dd><p>If <code class="code">(this == &amp;rhs)</code> do nothing.
10353- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#300">300</a>:
10354+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#300" target="_top">300</a>:
10355 <span class="emphasis"><em>List::merge() specification incomplete</em></span>
10356 </span></dt><dd><p>If <code class="code">(this == &amp;x)</code> do nothing.
10357- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#303">303</a>:
10358+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#303" target="_top">303</a>:
10359 <span class="emphasis"><em>Bitset input operator underspecified</em></span>
10360 </span></dt><dd><p>Basically, compare the input character to
10361 <code class="code">is.widen(0)</code> and <code class="code">is.widen(1)</code>.
10362- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#305">305</a>:
10363+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#305" target="_top">305</a>:
10364 <span class="emphasis"><em>Default behavior of codecvt&lt;wchar_t, char,
10365 mbstate_t&gt;::length()</em></span>
10366 </span></dt><dd><p>Do not specify what <code class="code">codecvt&lt;wchar_t, char,
10367 mbstate_t&gt;::do_length</code> must return.
10368- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#328">328</a>:
10369+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#328" target="_top">328</a>:
10370 <span class="emphasis"><em>Bad sprintf format modifier in
10371 money_put&lt;&gt;::do_put()</em></span>
10372 </span></dt><dd><p>Change the format string to "%.0Lf".
10373- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#365">365</a>:
10374+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#365" target="_top">365</a>:
10375 <span class="emphasis"><em>Lack of const-qualification in clause 27</em></span>
10376 </span></dt><dd><p>Add const overloads of <code class="code">is_open</code>.
10377- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#387">387</a>:
10378+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#387" target="_top">387</a>:
10379 <span class="emphasis"><em>std::complex over-encapsulated</em></span>
10380 </span></dt><dd><p>Add the <code class="code">real(T)</code> and <code class="code">imag(T)</code>
10381 members; in C++11 mode, also adjust the existing
10382 <code class="code">real()</code> and <code class="code">imag()</code> members and
10383 free functions.
10384- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#389">389</a>:
10385+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#389" target="_top">389</a>:
10386 <span class="emphasis"><em>Const overload of valarray::operator[] returns
10387 by value</em></span>
10388 </span></dt><dd><p>Change it to return a <code class="code">const T&amp;</code>.
10389- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#396">396</a>:
10390+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#396" target="_top">396</a>:
10391 <span class="emphasis"><em>what are characters zero and one</em></span>
10392 </span></dt><dd><p>Implement the proposed resolution.
10393- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#402">402</a>:
10394+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#402" target="_top">402</a>:
10395 <span class="emphasis"><em>Wrong new expression in [some_]allocator::construct</em></span>
10396 </span></dt><dd><p>Replace "new" with "::new".
10397- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#408">408</a>:
10398+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#408" target="_top">408</a>:
10399 <span class="emphasis"><em>
10400 Is vector&lt;reverse_iterator&lt;char*&gt; &gt; forbidden?
10401 </em></span>
10402 </span></dt><dd><p>Tweak the debug-mode checks in _Safe_iterator.
10403- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#409">409</a>:
10404+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#409" target="_top">409</a>:
10405 <span class="emphasis"><em>Closing an fstream should clear the error state</em></span>
10406 </span></dt><dd><p>Have <code class="code">open</code> clear the error flags.
10407- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#431">431</a>:
10408+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#431" target="_top">431</a>:
10409 <span class="emphasis"><em>Swapping containers with unequal allocators</em></span>
10410 </span></dt><dd><p>Implement Option 3, as per N1599.
10411- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#432">432</a>:
10412+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#432" target="_top">432</a>:
10413 <span class="emphasis"><em>stringbuf::overflow() makes only one write position
10414 available</em></span>
10415 </span></dt><dd><p>Implement the resolution, beyond DR 169.
10416- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#434">434</a>:
10417+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#434" target="_top">434</a>:
10418 <span class="emphasis"><em>bitset::to_string() hard to use</em></span>
10419 </span></dt><dd><p>Add three overloads, taking fewer template arguments.
10420- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#438">438</a>:
10421+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#438" target="_top">438</a>:
10422 <span class="emphasis"><em>Ambiguity in the "do the right thing" clause</em></span>
10423 </span></dt><dd><p>Implement the resolution, basically cast less.
10424- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#453">453</a>:
10425+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#453" target="_top">453</a>:
10426 <span class="emphasis"><em>basic_stringbuf::seekoff need not always fail for an empty stream</em></span>
10427 </span></dt><dd><p>Don't fail if the next pointer is null and newoff is zero.
10428- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#455">455</a>:
10429+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#455" target="_top">455</a>:
10430 <span class="emphasis"><em>cerr::tie() and wcerr::tie() are overspecified</em></span>
10431 </span></dt><dd><p>Initialize cerr tied to cout and wcerr tied to wcout.
10432- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#464">464</a>:
10433+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#464" target="_top">464</a>:
10434 <span class="emphasis"><em>Suggestion for new member functions in standard containers</em></span>
10435 </span></dt><dd><p>Add <code class="code">data()</code> to <code class="code">std::vector</code> and
10436 <code class="code">at(const key_type&amp;)</code> to <code class="code">std::map</code>.
10437- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#508">508</a>:
10438+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#508" target="_top">508</a>:
10439 <span class="emphasis"><em>Bad parameters for ranlux64_base_01</em></span>
10440 </span></dt><dd><p>Fix the parameters.
10441- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#512">512</a>:
10442+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#512" target="_top">512</a>:
10443 <span class="emphasis"><em>Seeding subtract_with_carry_01 from a single unsigned long</em></span>
10444 </span></dt><dd><p>Construct a <code class="code">linear_congruential</code> engine and seed with it.
10445- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#526">526</a>:
10446+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#526" target="_top">526</a>:
10447 <span class="emphasis"><em>Is it undefined if a function in the standard changes in
10448 parameters?</em></span>
10449 </span></dt><dd><p>Use &amp;value.
10450- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#538">538</a>:
10451+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#538" target="_top">538</a>:
10452 <span class="emphasis"><em>241 again: Does unique_copy() require CopyConstructible
10453 and Assignable?</em></span>
10454 </span></dt><dd><p>In case of input_iterator/output_iterator rely on Assignability of
10455 input_iterator' value_type.
10456- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#539">539</a>:
10457+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#539" target="_top">539</a>:
10458 <span class="emphasis"><em>partial_sum and adjacent_difference should mention
10459 requirements</em></span>
10460 </span></dt><dd><p>We were almost doing the right thing, just use std::move
10461 in adjacent_difference.
10462- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#541">541</a>:
10463+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#541" target="_top">541</a>:
10464 <span class="emphasis"><em>shared_ptr template assignment and void</em></span>
10465 </span></dt><dd><p>Add an auto_ptr&lt;void&gt; specialization.
10466- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#543">543</a>:
10467+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#543" target="_top">543</a>:
10468 <span class="emphasis"><em>valarray slice default constructor</em></span>
10469 </span></dt><dd><p>Follow the straightforward proposed resolution.
10470- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#550">550</a>:
10471+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#550" target="_top">550</a>:
10472 <span class="emphasis"><em>What should the return type of pow(float,int) be?</em></span>
10473 </span></dt><dd><p>In C++11 mode, remove the pow(float,int), etc., signatures.
10474- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#586">586</a>:
10475+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#586" target="_top">586</a>:
10476 <span class="emphasis"><em>string inserter not a formatted function</em></span>
10477 </span></dt><dd><p>Change it to be a formatted output function (i.e. catch exceptions).
10478- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#596">596</a>:
10479+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#596" target="_top">596</a>:
10480 <span class="emphasis"><em>27.8.1.3 Table 112 omits "a+" and "a+b" modes</em></span>
10481 </span></dt><dd><p>Add the missing modes to fopen_mode.
10482- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#630">630</a>:
10483+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#630" target="_top">630</a>:
10484 <span class="emphasis"><em>arrays of valarray</em></span>
10485 </span></dt><dd><p>Implement the simple resolution.
10486- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#660">660</a>:
10487+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#660" target="_top">660</a>:
10488 <span class="emphasis"><em>Missing bitwise operations</em></span>
10489 </span></dt><dd><p>Add the missing operations.
10490- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#691">691</a>:
10491+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#691" target="_top">691</a>:
10492 <span class="emphasis"><em>const_local_iterator cbegin, cend missing from TR1</em></span>
10493 </span></dt><dd><p>In C++11 mode add cbegin(size_type) and cend(size_type)
10494 to the unordered containers.
10495- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#693">693</a>:
10496+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#693" target="_top">693</a>:
10497 <span class="emphasis"><em>std::bitset::all() missing</em></span>
10498 </span></dt><dd><p>Add it, consistently with the discussion.
10499- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#695">695</a>:
10500+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#695" target="_top">695</a>:
10501 <span class="emphasis"><em>ctype&lt;char&gt;::classic_table() not accessible</em></span>
10502 </span></dt><dd><p>Make the member functions table and classic_table public.
10503- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#696">696</a>:
10504+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#696" target="_top">696</a>:
10505 <span class="emphasis"><em>istream::operator&gt;&gt;(int&amp;) broken</em></span>
10506 </span></dt><dd><p>Implement the straightforward resolution.
10507- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#761">761</a>:
10508+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#761" target="_top">761</a>:
10509 <span class="emphasis"><em>unordered_map needs an at() member function</em></span>
10510 </span></dt><dd><p>In C++11 mode, add at() and at() const.
10511- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#775">775</a>:
10512+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#775" target="_top">775</a>:
10513 <span class="emphasis"><em>Tuple indexing should be unsigned?</em></span>
10514 </span></dt><dd><p>Implement the int -&gt; size_t replacements.
10515- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#776">776</a>:
10516+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#776" target="_top">776</a>:
10517 <span class="emphasis"><em>Undescribed assign function of std::array</em></span>
10518 </span></dt><dd><p>In C++11 mode, remove assign, add fill.
10519- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#781">781</a>:
10520+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#781" target="_top">781</a>:
10521 <span class="emphasis"><em>std::complex should add missing C99 functions</em></span>
10522 </span></dt><dd><p>In C++11 mode, add std::proj.
10523- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#809">809</a>:
10524+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#809" target="_top">809</a>:
10525 <span class="emphasis"><em>std::swap should be overloaded for array types</em></span>
10526 </span></dt><dd><p>Add the overload.
10527- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#844">844</a>:
10528+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#844" target="_top">844</a>:
10529 <span class="emphasis"><em>complex pow return type is ambiguous</em></span>
10530 </span></dt><dd><p>In C++11 mode, remove the pow(complex&lt;T&gt;, int) signature.
10531- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#853">853</a>:
10532+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#853" target="_top">853</a>:
10533 <span class="emphasis"><em>to_string needs updating with zero and one</em></span>
10534 </span></dt><dd><p>Update / add the signatures.
10535- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#865">865</a>:
10536+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#865" target="_top">865</a>:
10537 <span class="emphasis"><em>More algorithms that throw away information</em></span>
10538 </span></dt><dd><p>The traditional HP / SGI return type and value is blessed
10539 by the resolution of the DR.
10540- </p></dd></dl></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="license.html">Prev</a> </td><td align="center"><a accesskey="u" href="status.html">Up</a></td><td align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr><tr><td align="left" valign="top">License </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 2. Setup</td></tr></table></div></body></html>
10541+ </p></dd></dl></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="license.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="status.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">License </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 2. Setup</td></tr></table></div></body></html>
10542Index: libstdc++-v3/doc/html/manual/bk01pt04.html
10543===================================================================
9f95000d
AM
10544--- libstdc++-v3/doc/html/manual/bk01pt04.html (.../tags/gcc_4_7_2_release) (wersja 192468)
10545+++ libstdc++-v3/doc/html/manual/bk01pt04.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
10546@@ -1,8 +1,8 @@
10547 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
10548-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
10549-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Part IV.  Appendices</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="index.html" title="The GNU C++ Library Manual"/><link rel="prev" href="bk01pt03ch30s03.html" title="Use"/><link rel="next" href="appendix_contributing.html" title="Appendix A.  Contributing"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part IV. 
10550+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
10551+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part IV.  Appendices</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="bk01pt03ch30s03.html" title="Use" /><link rel="next" href="appendix_contributing.html" title="Appendix A.  Contributing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part IV. 
10552 Appendices
10553-</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch30s03.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td align="right"> <a accesskey="n" href="appendix_contributing.html">Next</a></td></tr></table><hr/></div><div class="part" title="Part IV.  Appendices"><div class="titlepage"><div><div><h1 class="title"><a id="appendix"/>Part IV. 
10554+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch30s03.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" href="appendix_contributing.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part IV.  Appendices"><div class="titlepage"><div><div><h1 class="title"><a id="appendix"></a>Part IV. 
10555 Appendices
10556 </h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="appendix"><a href="appendix_contributing.html">A.
10557 Contributing
10558@@ -37,7 +37,7 @@
10559
10560 </a></span></dt><dt><span class="appendix"><a href="appendix_gpl.html">D.
10561 <acronym class="acronym">GNU</acronym> General Public License version 3
10562- </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch30s03.html">Prev</a> </td><td align="center"><a accesskey="u" href="index.html">Up</a></td><td align="right"> <a accesskey="n" href="appendix_contributing.html">Next</a></td></tr><tr><td align="left" valign="top">Use </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Appendix A. 
10563+ </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch30s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="appendix_contributing.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Use </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix A. 
10564 Contributing
10565
10566 </td></tr></table></div></body></html>
10567Index: libstdc++-v3/doc/html/manual/ext_numerics.html
10568===================================================================
9f95000d
AM
10569--- libstdc++-v3/doc/html/manual/ext_numerics.html (.../tags/gcc_4_7_2_release) (wersja 192468)
10570+++ libstdc++-v3/doc/html/manual/ext_numerics.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
10571@@ -1,9 +1,9 @@
10572 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
10573-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
10574-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 26. Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_algorithms.html" title="Chapter 25. Algorithms"/><link rel="next" href="ext_iterators.html" title="Chapter 27. Iterators"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 26. Numerics</th></tr><tr><td align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><th width="60%" align="center">Part III. 
10575+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
10576+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 26. Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_algorithms.html" title="Chapter 25. Algorithms" /><link rel="next" href="ext_iterators.html" title="Chapter 27. Iterators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 26. Numerics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><th width="60%" align="center">Part III. 
10577 Extensions
10578
10579-</th><td align="right"> <a accesskey="n" href="ext_iterators.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 26. Numerics"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.numerics"/>Chapter 26. Numerics</h2></div></div></div><p>26.4, the generalized numeric operations such as <code class="code">accumulate</code>,
10580+</th><td width="20%" align="right"> <a accesskey="n" href="ext_iterators.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 26. Numerics"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.numerics"></a>Chapter 26. Numerics</h2></div></div></div><p>26.4, the generalized numeric operations such as <code class="code">accumulate</code>,
10581 are extended with the following functions:
10582 </p><pre class="programlisting">
10583 power (x, n);
10584@@ -15,10 +15,10 @@
10585 The operation functor must be associative.
10586 </p><p>The <code class="code">iota</code> function wins the award for Extension With the
10587 Coolest Name (the name comes from Ken Iverson's APL language.) As
10588- described in the <a class="link" href="http://www.sgi.com/tech/stl/iota.html">SGI
10589+ described in the <a class="link" href="http://www.sgi.com/tech/stl/iota.html" target="_top">SGI
10590 documentation</a>, it "assigns sequentially increasing values to a range.
10591 That is, it assigns <code class="code">value</code> to <code class="code">*first</code>,
10592 <code class="code">value + 1</code> to<code class="code"> *(first + 1)</code> and so on."
10593 </p><pre class="programlisting">
10594 void iota(_ForwardIter first, _ForwardIter last, _Tp value);</pre><p>The <code class="code">iota</code> function is included in the ISO C++ 2011 standard.
10595-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_iterators.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 25. Algorithms </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 27. Iterators</td></tr></table></div></body></html>
10596+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_iterators.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 25. Algorithms </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 27. Iterators</td></tr></table></div></body></html>
10597Index: libstdc++-v3/doc/html/manual/bk01pt03ch20s02.html
10598===================================================================
9f95000d
AM
10599--- libstdc++-v3/doc/html/manual/bk01pt03ch20s02.html (.../tags/gcc_4_7_2_release) (wersja 192468)
10600+++ libstdc++-v3/doc/html/manual/bk01pt03ch20s02.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
10601@@ -1,6 +1,6 @@
10602 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
10603-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
10604-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design Issues</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator"/><link rel="prev" href="mt_allocator.html" title="Chapter 20. The mt_allocator"/><link rel="next" href="bk01pt03ch20s03.html" title="Implementation"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Issues</th></tr><tr><td align="left"><a accesskey="p" href="mt_allocator.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td align="right"> <a accesskey="n" href="bk01pt03ch20s03.html">Next</a></td></tr></table><hr/></div><div class="section" title="Design Issues"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.mt.design_issues"/>Design Issues</h2></div></div></div><div class="section" title="Overview"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.overview"/>Overview</h3></div></div></div><p> There are three general components to the allocator: a datum
10605+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
10606+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design Issues</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="next" href="bk01pt03ch20s03.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Issues</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="mt_allocator.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch20s03.html">Next</a></td></tr></table><hr /></div><div class="section" title="Design Issues"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.design_issues"></a>Design Issues</h2></div></div></div><div class="section" title="Overview"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.overview"></a>Overview</h3></div></div></div><p> There are three general components to the allocator: a datum
10607 describing the characteristics of the memory pool, a policy class
10608 containing this pool that links instantiation types to common or
10609 individual pools, and a class inheriting from the policy class that is
10610@@ -36,4 +36,4 @@
10611 </pre><p> This class has the interface required for standard library allocator
10612 classes, namely member functions <code class="code">allocate</code> and
10613 <code class="code">deallocate</code>, plus others.
10614-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="mt_allocator.html">Prev</a> </td><td align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch20s03.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 20. The mt_allocator </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Implementation</td></tr></table></div></body></html>
10615+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="mt_allocator.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch20s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 20. The mt_allocator </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Implementation</td></tr></table></div></body></html>
10616Index: libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html
10617===================================================================
9f95000d
AM
10618--- libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html (.../tags/gcc_4_7_2_release) (wersja 192468)
10619+++ libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
10620@@ -1,6 +1,6 @@
10621 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
10622-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
10623-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Implementation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator"/><link rel="prev" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator"/><link rel="next" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><th width="60%" align="center">Chapter 21. The bitmap_allocator</th><td align="right"> <a accesskey="n" href="policy_data_structures.html">Next</a></td></tr></table><hr/></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.bitmap.impl"/>Implementation</h2></div></div></div><div class="section" title="Free List Store"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.free_list_store"/>Free List Store</h3></div></div></div><p>
10624+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
10625+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Implementation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator" /><link rel="prev" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator" /><link rel="next" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><th width="60%" align="center">Chapter 21. The bitmap_allocator</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures.html">Next</a></td></tr></table><hr /></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.bitmap.impl"></a>Implementation</h2></div></div></div><div class="section" title="Free List Store"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.free_list_store"></a>Free List Store</h3></div></div></div><p>
10626 The Free List Store (referred to as FLS for the remaining part of this
10627 document) is the Global memory pool that is shared by all instances of
10628 the bitmapped allocator instantiated for any type. This maintains a
10629@@ -38,7 +38,7 @@
10630 this internal fragmentation has to be decided by this function. I
10631 can see 3 possibilities right now. Please add more as and when you
10632 find better strategies.
10633- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Equal size check. Return true only when the 2 blocks are of equal
10634+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Equal size check. Return true only when the 2 blocks are of equal
10635 size.</p></li><li class="listitem"><p>Difference Threshold: Return true only when the _block_size is
10636 greater than or equal to the _required_size, and if the _BS is &gt; _RS
10637 by a difference of less than some THRESHOLD value, then return true,
10638@@ -48,7 +48,7 @@
10639 else return false.</p></li></ol></div><p>
10640 Currently, (3) is being used with a value of 36% Maximum wastage per
10641 Super Block.
10642- </p></div><div class="section" title="Super Block"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.super_block"/>Super Block</h3></div></div></div><p>
10643+ </p></div><div class="section" title="Super Block"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.super_block"></a>Super Block</h3></div></div></div><p>
10644 A super block is the block of memory acquired from the FLS from
10645 which the bitmap allocator carves out memory for single objects
10646 and satisfies the user's requests. These super blocks come in
10647@@ -63,7 +63,7 @@
10648 The super block is contained in the FLS, and the FLS is responsible for
10649 getting / returning Super Bocks to and from the OS using operator new
10650 as defined by the C++ standard.
10651- </p></div><div class="section" title="Super Block Data Layout"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.super_block_data"/>Super Block Data Layout</h3></div></div></div><p>
10652+ </p></div><div class="section" title="Super Block Data Layout"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.super_block_data"></a>Super Block Data Layout</h3></div></div></div><p>
10653 Each Super Block will be of some size that is a multiple of the
10654 number of Bits Per Block. Typically, this value is chosen as
10655 Bits_Per_Byte x sizeof(size_t). On an x86 system, this gives the
10656@@ -76,7 +76,7 @@
10657 </p><p>
10658 Consider a block of size 64 ints. In memory, it would look like this:
10659 (assume a 32-bit system where, size_t is a 32-bit entity).
10660- </p><div class="table"><a id="id515279"/><p class="title"><strong>Table 21.1. Bitmap Allocator Memory Map</strong></p><div class="table-contents"><table summary="Bitmap Allocator Memory Map" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left">268</td><td style="text-align: left">0</td><td style="text-align: left">4294967295</td><td style="text-align: left">4294967295</td><td style="text-align: left">Data -&gt; Space for 64 ints</td></tr></tbody></table></div></div><br class="table-break"/><p>
10661+ </p><div class="table"><a id="id693765"></a><p class="title"><strong>Table 21.1. Bitmap Allocator Memory Map</strong></p><div class="table-contents"><table summary="Bitmap Allocator Memory Map" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left">268</td><td align="left">0</td><td align="left">4294967295</td><td align="left">4294967295</td><td align="left">Data -&gt; Space for 64 ints</td></tr></tbody></table></div></div><br class="table-break" /><p>
10662 The first Column(268) represents the size of the Block in bytes as
10663 seen by the Bitmap Allocator. Internally, a global free list is
10664 used to keep track of the free blocks used and given back by the
10665@@ -103,7 +103,7 @@
10666 The 3rd 4x2 is size of the bitmap itself, which is the size of 32-bits
10667 x 2,
10668 which is 8-bytes, or 2 x sizeof(size_t).
10669- </p></div><div class="section" title="Maximum Wasted Percentage"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.max_wasted"/>Maximum Wasted Percentage</h3></div></div></div><p>
10670+ </p></div><div class="section" title="Maximum Wasted Percentage"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.max_wasted"></a>Maximum Wasted Percentage</h3></div></div></div><p>
10671 This has nothing to do with the algorithm per-se,
10672 only with some vales that must be chosen correctly to ensure that the
10673 allocator performs well in a real word scenario, and maintains a good
10674@@ -128,14 +128,14 @@
10675 </p><p>
10676 Thus, knowing these values, and based on the sizeof(value_type), we may
10677 create a function that returns the Max_Wastage_Percentage for us to use.
10678- </p></div><div class="section" title="allocate"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.allocate"/><code class="function">allocate</code></h3></div></div></div><p>
10679+ </p></div><div class="section" title="allocate"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.allocate"></a><code class="function">allocate</code></h3></div></div></div><p>
10680 The allocate function is specialized for single object allocation
10681 ONLY. Thus, ONLY if n == 1, will the bitmap_allocator's
10682 specialized algorithm be used. Otherwise, the request is satisfied
10683 directly by calling operator new.
10684 </p><p>
10685 Suppose n == 1, then the allocator does the following:
10686- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
10687+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
10688 Checks to see whether a free block exists somewhere in a region
10689 of memory close to the last satisfied request. If so, then that
10690 block is marked as allocated in the bit map and given to the
10691@@ -148,7 +148,7 @@
10692 </p></li><li class="listitem"><p>
10693 Is there any block in whatever region of memory that we own
10694 free? This is done by checking
10695- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
10696+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
10697 The use count for each super block, and if that fails then
10698 </p></li><li class="listitem"><p>
10699 The individual bit-maps for each super block.
10700@@ -163,7 +163,7 @@
10701 This process involves Refilling the internal exponentially
10702 growing memory pool. The said effect is achieved by calling
10703 _S_refill_pool which does the following:
10704- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
10705+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
10706 Gets more memory from the Global Free List of the Required
10707 size.
10708 </p></li><li class="listitem"><p>
10709@@ -183,13 +183,13 @@
10710 Thus, you can clearly see that the allocate function is nothing but a
10711 combination of the next-fit and first-fit algorithm optimized ONLY for
10712 single object allocations.
10713-</p></div><div class="section" title="deallocate"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.deallocate"/><code class="function">deallocate</code></h3></div></div></div><p>
10714+</p></div><div class="section" title="deallocate"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.deallocate"></a><code class="function">deallocate</code></h3></div></div></div><p>
10715 The deallocate function again is specialized for single objects ONLY.
10716 For all n belonging to &gt; 1, the operator delete is called without
10717 further ado, and the deallocate function returns.
10718 </p><p>
10719 However for n == 1, a series of steps are performed:
10720- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
10721+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
10722 We first need to locate that super-block which holds the memory
10723 location given to us by the user. For that purpose, we maintain
10724 a static variable _S_last_dealloc_index, which holds the index
10725@@ -214,7 +214,7 @@
10726 the vector. While doing this, we also make sure that the basic
10727 invariant is maintained by making sure that _S_last_request and
10728 _S_last_dealloc_index point to valid locations within the vector.
10729- </p></div><div class="section" title="Questions"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.questions"/>Questions</h3></div></div></div><div class="section" title="1"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.question.1"/>1</h4></div></div></div><p>
10730+ </p></div><div class="section" title="Questions"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.questions"></a>Questions</h3></div></div></div><div class="section" title="1"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.question.1"></a>1</h4></div></div></div><p>
10731 Q1) The "Data Layout" section is
10732 cryptic. I have no idea of what you are trying to say. Layout of what?
10733 The free-list? Each bitmap? The Super Block?
10734@@ -224,7 +224,7 @@
10735 general formula for calculating the size of a super block is
10736 32 x sizeof(value_type) x 2^n, where n ranges from 0 to 32 for 32-bit
10737 systems.
10738- </p></div><div class="section" title="2"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.question.2"/>2</h4></div></div></div><p>
10739+ </p></div><div class="section" title="2"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.question.2"></a>2</h4></div></div></div><p>
10740 And since I just mentioned the
10741 term `each bitmap', what in the world is meant by it? What does each
10742 bitmap manage? How does it relate to the super block? Is the Super
10743@@ -241,7 +241,7 @@
10744 blocks' status. Each bit-map is made up of a number of size_t,
10745 whose exact number for a super-block of a given size I have just
10746 mentioned.
10747- </p></div><div class="section" title="3"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.question.3"/>3</h4></div></div></div><p>
10748+ </p></div><div class="section" title="3"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.question.3"></a>3</h4></div></div></div><p>
10749 How do the allocate and deallocate functions work in regard to
10750 bitmaps?
10751 </p><p>
10752@@ -270,13 +270,13 @@
10753 </p><p>
10754 The bit-map now looks like this:
10755 1111111111111111111111111111111111111111111111111111111111111110
10756- </p></div></div><div class="section" title="Locality"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.locality"/>Locality</h3></div></div></div><p>
10757+ </p></div></div><div class="section" title="Locality"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.locality"></a>Locality</h3></div></div></div><p>
10758 Another issue would be whether to keep the all bitmaps in a
10759 separate area in memory, or to keep them near the actual blocks
10760 that will be given out or allocated for the client. After some
10761 testing, I've decided to keep these bitmaps close to the actual
10762 blocks. This will help in 2 ways.
10763- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Constant time access for the bitmap themselves, since no kind of
10764+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Constant time access for the bitmap themselves, since no kind of
10765 look up will be needed to find the correct bitmap list or its
10766 equivalent.</p></li><li class="listitem"><p>And also this would preserve the cache as far as possible.</p></li></ol></div><p>
10767 So in effect, this kind of an allocator might prove beneficial from a
10768@@ -287,7 +287,7 @@
10769 new_allocator's book keeping overhead is too much for small objects and
10770 single object allocations, though it preserves the locality of blocks
10771 very well when they are returned back to the allocator.
10772- </p></div><div class="section" title="Overhead and Grow Policy"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.grow_policy"/>Overhead and Grow Policy</h3></div></div></div><p>
10773+ </p></div><div class="section" title="Overhead and Grow Policy"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.grow_policy"></a>Overhead and Grow Policy</h3></div></div></div><p>
10774 Expected overhead per block would be 1 bit in memory. Also, once
10775 the address of the free list has been found, the cost for
10776 allocation/deallocation would be negligible, and is supposed to be
10777@@ -310,4 +310,4 @@
10778 sizeof(size_t) x 8 which is the number of bits in an integer,
10779 which can fit exactly in a CPU register. Hence, the term given is
10780 exponential growth of the internal pool.
10781- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><td align="center"><a accesskey="u" href="bitmap_allocator.html">Up</a></td><td align="right"> <a accesskey="n" href="policy_data_structures.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 21. The bitmap_allocator </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 22. Policy-Based Data Structures</td></tr></table></div></body></html>
10782+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bitmap_allocator.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="policy_data_structures.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 21. The bitmap_allocator </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 22. Policy-Based Data Structures</td></tr></table></div></body></html>
10783Index: libstdc++-v3/doc/html/manual/bk01pt03pr01.html
10784===================================================================
9f95000d
AM
10785--- libstdc++-v3/doc/html/manual/bk01pt03pr01.html (.../tags/gcc_4_7_2_release) (wersja 192468)
10786+++ libstdc++-v3/doc/html/manual/bk01pt03pr01.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
10787@@ -1,16 +1,16 @@
10788 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
10789-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
10790-<html xmlns="http://www.w3.org/1999/xhtml"><head><title/><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="extensions.html" title="Part III.  Extensions"/><link rel="next" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"/></tr><tr><td align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" align="center">Part III. 
10791+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
10792+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="extensions.html" title="Part III.  Extensions" /><link rel="next" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" align="center">Part III. 
10793 Extensions
10794
10795-</th><td align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr/></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a id="id506349"/></h1></div></div></div><p>
10796+</th><td width="20%" align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr /></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a id="id684835"></a></h1></div></div></div><p>
10797 Here we will make an attempt at describing the non-Standard
10798 extensions to the library. Some of these are from older versions of
10799 standard library components, namely SGI's STL, and some of these are
10800 GNU's.
10801 </p><p><span class="emphasis"><em>Before</em></span> you leap in and use any of these
10802 extensions, be aware of two things:
10803-</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
10804+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
10805 Non-Standard means exactly that.
10806 </p><p>
10807 The behavior, and the very
10808@@ -21,7 +21,7 @@
10809 treat them differently, or...
10810 </p></li><li class="listitem"><p>
10811 You should know how to access these headers properly.
10812- </p></li></ol></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr><tr><td align="left" valign="top">Part III. 
10813+ </p></li></ol></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part III. 
10814 Extensions
10815
10816- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 16. Compile Time Checks</td></tr></table></div></body></html>
10817+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 16. Compile Time Checks</td></tr></table></div></body></html>
10818Index: libstdc++-v3/doc/html/manual/memory.html
10819===================================================================
9f95000d
AM
10820--- libstdc++-v3/doc/html/manual/memory.html (.../tags/gcc_4_7_2_release) (wersja 192468)
10821+++ libstdc++-v3/doc/html/manual/memory.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
10822@@ -1,15 +1,15 @@
10823 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
10824-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
10825-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="utilities.html" title="Chapter 6.  Utilities"/><link rel="prev" href="pairs.html" title="Pairs"/><link rel="next" href="traits.html" title="Traits"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Memory</th></tr><tr><td align="left"><a accesskey="p" href="pairs.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
10826+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
10827+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="prev" href="pairs.html" title="Pairs" /><link rel="next" href="traits.html" title="Traits" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Memory</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pairs.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
10828 Utilities
10829
10830-</th><td align="right"> <a accesskey="n" href="traits.html">Next</a></td></tr></table><hr/></div><div class="section" title="Memory"><div class="titlepage"><div><div><h2 class="title"><a id="std.util.memory"/>Memory</h2></div></div></div><p>
10831+</th><td width="20%" align="right"> <a accesskey="n" href="traits.html">Next</a></td></tr></table><hr /></div><div class="section" title="Memory"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.memory"></a>Memory</h2></div></div></div><p>
10832 Memory contains three general areas. First, function and operator
10833 calls via <code class="function">new</code> and <code class="function">delete</code>
10834 operator or member function calls. Second, allocation via
10835 <code class="classname">allocator</code>. And finally, smart pointer and
10836 intelligent pointer abstractions.
10837- </p><div class="section" title="Allocators"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.allocator"/>Allocators</h3></div></div></div><p>
10838+ </p><div class="section" title="Allocators"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.allocator"></a>Allocators</h3></div></div></div><p>
10839 Memory management for Standard Library entities is encapsulated in a
10840 class template called <code class="classname">allocator</code>. The
10841 <code class="classname">allocator</code> abstraction is used throughout the
10842@@ -17,9 +17,9 @@
10843 algorithms, and parts of iostreams. This class, and base classes of
10844 it, are the superset of available free store (<span class="quote">“<span class="quote">heap</span>”</span>)
10845 management classes.
10846-</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.req"/>Requirements</h4></div></div></div><p>
10847+</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.req"></a>Requirements</h4></div></div></div><p>
10848 The C++ standard only gives a few directives in this area:
10849- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
10850+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
10851 When you add elements to a container, and the container must
10852 allocate more memory to hold them, the container makes the
10853 request via its <span class="type">Allocator</span> template
10854@@ -54,11 +54,11 @@
10855 </p></li></ul></div><p>
10856 Complete details can be found in the C++ standard, look in
10857 <code class="constant">[20.4 Memory]</code>.
10858- </p></div><div class="section" title="Design Issues"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.design_issues"/>Design Issues</h4></div></div></div><p>
10859+ </p></div><div class="section" title="Design Issues"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.design_issues"></a>Design Issues</h4></div></div></div><p>
10860 The easiest way of fulfilling the requirements is to call
10861 <code class="function">operator new</code> each time a container needs
10862 memory, and to call <code class="function">operator delete</code> each time
10863- the container releases memory. This method may be <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00105.html">slower</a>
10864+ the container releases memory. This method may be <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00105.html" target="_top">slower</a>
10865 than caching the allocations and re-using previously-allocated
10866 memory, but has the advantage of working correctly across a wide
10867 variety of hardware and operating systems, including large
10868@@ -93,7 +93,7 @@
10869 or loading and unloading shared objects in memory. As such, using
10870 caching allocators on systems that do not support
10871 <code class="function">abi::__cxa_atexit</code> is not recommended.
10872- </p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.impl"/>Implementation</h4></div></div></div><div class="section" title="Interface Design"><div class="titlepage"><div><div><h5 class="title"><a id="id485345"/>Interface Design</h5></div></div></div><p>
10873+ </p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.impl"></a>Implementation</h4></div></div></div><div class="section" title="Interface Design"><div class="titlepage"><div><div><h5 class="title"><a id="id663833"></a>Interface Design</h5></div></div></div><p>
10874 The only allocator interface that
10875 is supported is the standard C++ interface. As such, all STL
10876 containers have been adjusted, and all external allocators have
10877@@ -106,7 +106,7 @@
10878 </p><p>
10879 The base class that <code class="classname">allocator</code> is derived from
10880 may not be user-configurable.
10881-</p></div><div class="section" title="Selecting Default Allocation Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id485374"/>Selecting Default Allocation Policy</h5></div></div></div><p>
10882+</p></div><div class="section" title="Selecting Default Allocation Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id663862"></a>Selecting Default Allocation Policy</h5></div></div></div><p>
10883 It's difficult to pick an allocation strategy that will provide
10884 maximum utility, without excessively penalizing some behavior. In
10885 fact, it's difficult just deciding which typical actions to measure
10886@@ -114,14 +114,14 @@
10887 </p><p>
10888 Three synthetic benchmarks have been created that provide data
10889 that is used to compare different C++ allocators. These tests are:
10890- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
10891+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
10892 Insertion.
10893 </p><p>
10894 Over multiple iterations, various STL container
10895 objects have elements inserted to some maximum amount. A variety
10896 of allocators are tested.
10897- Test source for <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/sequence.cc?view=markup">sequence</a>
10898- and <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/associative.cc?view=markup">associative</a>
10899+ Test source for <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/sequence.cc?view=markup" target="_top">sequence</a>
10900+ and <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/associative.cc?view=markup" target="_top">associative</a>
10901 containers.
10902 </p></li><li class="listitem"><p>
10903 Insertion and erasure in a multi-threaded environment.
10904@@ -130,20 +130,20 @@
10905 on a per-thread basis, as well as measuring thread contention
10906 for memory resources.
10907 Test source
10908- <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert_erase/associative.cc?view=markup">here</a>.
10909+ <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert_erase/associative.cc?view=markup" target="_top">here</a>.
10910 </p></li><li class="listitem"><p>
10911 A threaded producer/consumer model.
10912 </p><p>
10913 Test source for
10914- <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc?view=markup">sequence</a>
10915+ <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc?view=markup" target="_top">sequence</a>
10916 and
10917- <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc?view=markup">associative</a>
10918+ <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc?view=markup" target="_top">associative</a>
10919 containers.
10920 </p></li></ol></div><p>
10921 The current default choice for
10922 <code class="classname">allocator</code> is
10923 <code class="classname">__gnu_cxx::new_allocator</code>.
10924- </p></div><div class="section" title="Disabling Memory Caching"><div class="titlepage"><div><div><h5 class="title"><a id="id485485"/>Disabling Memory Caching</h5></div></div></div><p>
10925+ </p></div><div class="section" title="Disabling Memory Caching"><div class="titlepage"><div><div><h5 class="title"><a id="id663973"></a>Disabling Memory Caching</h5></div></div></div><p>
10926 In use, <code class="classname">allocator</code> may allocate and
10927 deallocate using implementation-specified strategies and
10928 heuristics. Because of this, every call to an allocator object's
10929@@ -179,7 +179,7 @@
10930 environment, it likely means that you linked against objects
10931 built against the older library (objects which might still using the
10932 cached allocations...).
10933- </p></div></div><div class="section" title="Using a Specific Allocator"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.using"/>Using a Specific Allocator</h4></div></div></div><p>
10934+ </p></div></div><div class="section" title="Using a Specific Allocator"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.using"></a>Using a Specific Allocator</h4></div></div></div><p>
10935 You can specify different memory management schemes on a
10936 per-container basis, by overriding the default
10937 <span class="type">Allocator</span> template parameter. For example, an easy
10938@@ -190,7 +190,7 @@
10939 Likewise, a debugging form of whichever allocator is currently in use:
10940 </p><pre class="programlisting">
10941 std::deque &lt;int, __gnu_cxx::debug_allocator&lt;std::allocator&lt;int&gt; &gt; &gt; debug_deque;
10942- </pre></div><div class="section" title="Custom Allocators"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.custom"/>Custom Allocators</h4></div></div></div><p>
10943+ </pre></div><div class="section" title="Custom Allocators"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.custom"></a>Custom Allocators</h4></div></div></div><p>
10944 Writing a portable C++ allocator would dictate that the interface
10945 would look much like the one specified for
10946 <code class="classname">allocator</code>. Additional member functions, but
10947@@ -199,7 +199,7 @@
10948 Probably the best place to start would be to copy one of the
10949 extension allocators: say a simple one like
10950 <code class="classname">new_allocator</code>.
10951- </p></div><div class="section" title="Extension Allocators"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.ext"/>Extension Allocators</h4></div></div></div><p>
10952+ </p></div><div class="section" title="Extension Allocators"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.ext"></a>Extension Allocators</h4></div></div></div><p>
10953 Several other allocators are provided as part of this
10954 implementation. The location of the extension allocators and their
10955 names have changed, but in all cases, functionality is
10956@@ -209,7 +209,7 @@
10957 chart to track the changes.
10958 </p><p>
10959 More details on each of these extension allocators follows.
10960- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
10961+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
10962 <code class="classname">new_allocator</code>
10963 </p><p>
10964 Simply wraps <code class="function">::operator new</code>
10965@@ -308,33 +308,33 @@
10966 A high-performance allocator that uses a bit-map to keep track
10967 of the used and unused memory locations. It has its own
10968 documentation, found <a class="link" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator">here</a>.
10969- </p></li></ol></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.biblio"/>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id485936"/><p><span class="citetitle"><em class="citetitle">
10970+ </p></li></ol></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id664424"></a><p><span class="citetitle"><em class="citetitle">
10971 ISO/IEC 14882:1998 Programming languages - C++
10972 </em>. </span>
10973 isoc++_1998
10974- <span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry" title="The Standard Librarian: What Are Allocators Good For?"><a id="id485951"/><p><span class="title"><em>
10975- <a class="link" href="http://www.drdobbs.com/cpp/184403759">
10976+ <span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry" title="The Standard Librarian: What Are Allocators Good For?"><a id="id664439"></a><p><span class="title"><em>
10977+ <a class="link" href="http://www.drdobbs.com/cpp/184403759" target="_top">
10978 The Standard Librarian: What Are Allocators Good For?
10979 </a>
10980 </em>. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
10981 C/C++ Users Journal
10982- . </span></span></p></div><div class="biblioentry" title="The Hoard Memory Allocator"><a id="id485982"/><p><span class="title"><em>
10983- <a class="link" href="http://www.cs.umass.edu/~emery/hoard">
10984+ . </span></span></p></div><div class="biblioentry" title="The Hoard Memory Allocator"><a id="id664470"></a><p><span class="title"><em>
10985+ <a class="link" href="http://www.cs.umass.edu/~emery/hoard" target="_top">
10986 The Hoard Memory Allocator
10987 </a>
10988- </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span></p></div><div class="biblioentry" title="Reconsidering Custom Memory Allocation"><a id="id486005"/><p><span class="title"><em>
10989- <a class="link" href="http://www.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf">
10990+ </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span></p></div><div class="biblioentry" title="Reconsidering Custom Memory Allocation"><a id="id664493"></a><p><span class="title"><em>
10991+ <a class="link" href="http://www.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf" target="_top">
10992 Reconsidering Custom Memory Allocation
10993 </a>
10994- </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span><span class="author"><span class="firstname">Ben</span> <span class="surname">Zorn</span>. </span><span class="author"><span class="firstname">Kathryn</span> <span class="surname">McKinley</span>. </span><span class="copyright">Copyright © 2002 OOPSLA. </span></p></div><div class="biblioentry" title="Allocator Types"><a id="id486057"/><p><span class="title"><em>
10995- <a class="link" href="http://www.angelikalanger.com/Articles/C++Report/Allocators/Allocators.html">
10996+ </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span><span class="author"><span class="firstname">Ben</span> <span class="surname">Zorn</span>. </span><span class="author"><span class="firstname">Kathryn</span> <span class="surname">McKinley</span>. </span><span class="copyright">Copyright © 2002 OOPSLA. </span></p></div><div class="biblioentry" title="Allocator Types"><a id="id664545"></a><p><span class="title"><em>
10997+ <a class="link" href="http://www.angelikalanger.com/Articles/C++Report/Allocators/Allocators.html" target="_top">
10998 Allocator Types
10999 </a>
11000 </em>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="publisher"><span class="publishername">
11001 C/C++ Users Journal
11002- . </span></span></p></div><div class="biblioentry"><a id="id486096"/><p><span class="citetitle"><em class="citetitle">The C++ Programming Language</em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 . </span><span class="pagenums">19.4 Allocators. </span><span class="publisher"><span class="publishername">
11003+ . </span></span></p></div><div class="biblioentry"><a id="id664584"></a><p><span class="citetitle"><em class="citetitle">The C++ Programming Language</em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 . </span><span class="pagenums">19.4 Allocators. </span><span class="publisher"><span class="publishername">
11004 Addison Wesley
11005- . </span></span></p></div><div class="biblioentry"><a id="id486133"/><p><span class="citetitle"><em class="citetitle">Yalloc: A Recycling C++ Allocator</em>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Yen</span>. </span></p></div></div></div><div class="section" title="auto_ptr"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.auto_ptr"/>auto_ptr</h3></div></div></div><div class="section" title="Limitations"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.limitations"/>Limitations</h4></div></div></div><p>Explaining all of the fun and delicious things that can
11006+ . </span></span></p></div><div class="biblioentry"><a id="id664621"></a><p><span class="citetitle"><em class="citetitle">Yalloc: A Recycling C++ Allocator</em>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Yen</span>. </span></p></div></div></div><div class="section" title="auto_ptr"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.auto_ptr"></a>auto_ptr</h3></div></div></div><div class="section" title="Limitations"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.limitations"></a>Limitations</h4></div></div></div><p>Explaining all of the fun and delicious things that can
11007 happen with misuse of the <code class="classname">auto_ptr</code> class
11008 template (called <acronym class="acronym">AP</acronym> here) would take some
11009 time. Suffice it to say that the use of <acronym class="acronym">AP</acronym>
11010@@ -385,7 +385,7 @@
11011 to die. AP is trivial to write, however, so you could write your
11012 own <code class="code">auto_array_ptr</code> for that situation (in fact, this has
11013 been done many times; check the mailing lists, Usenet, Boost, etc).
11014- </p></div><div class="section" title="Use in Containers"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.using"/>Use in Containers</h4></div></div></div><p>
11015+ </p></div><div class="section" title="Use in Containers"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.using"></a>Use in Containers</h4></div></div></div><p>
11016 </p><p>All of the <a class="link" href="containers.html" title="Chapter 9.  Containers">containers</a>
11017 described in the standard library require their contained types
11018 to have, among other things, a copy constructor like this:
11019@@ -421,16 +421,16 @@
11020 }
11021 </pre><p>
11022 Should you try this with the checks enabled, you will see an error.
11023- </p></div></div><div class="section" title="shared_ptr"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.shared_ptr"/>shared_ptr</h3></div></div></div><p>
11024+ </p></div></div><div class="section" title="shared_ptr"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.shared_ptr"></a>shared_ptr</h3></div></div></div><p>
11025 The shared_ptr class template stores a pointer, usually obtained via new,
11026 and implements shared ownership semantics.
11027-</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.req"/>Requirements</h4></div></div></div><p>
11028+</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.req"></a>Requirements</h4></div></div></div><p>
11029 </p><p>
11030 The standard deliberately doesn't require a reference-counted
11031 implementation, allowing other techniques such as a
11032 circular-linked-list.
11033 </p><p>
11034- </p></div><div class="section" title="Design Issues"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.design_issues"/>Design Issues</h4></div></div></div><p>
11035+ </p></div><div class="section" title="Design Issues"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.design_issues"></a>Design Issues</h4></div></div></div><p>
11036 The <code class="classname">shared_ptr</code> code is kindly donated to GCC by the Boost
11037 project and the original authors of the code. The basic design and
11038 algorithms are from Boost, the notes below describe details specific to
11039@@ -444,7 +444,7 @@
11040 Derived classes override those functions to destroy resources in a context
11041 where the correct dynamic type is known. This is an application of the
11042 technique known as type erasure.
11043- </p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.impl"/>Implementation</h4></div></div></div><div class="section" title="Class Hierarchy"><div class="titlepage"><div><div><h5 class="title"><a id="id486484"/>Class Hierarchy</h5></div></div></div><p>
11044+ </p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.impl"></a>Implementation</h4></div></div></div><div class="section" title="Class Hierarchy"><div class="titlepage"><div><div><h5 class="title"><a id="id664972"></a>Class Hierarchy</h5></div></div></div><p>
11045 A <code class="classname">shared_ptr&lt;T&gt;</code> contains a pointer of
11046 type <span class="type">T*</span> and an object of type
11047 <code class="classname">__shared_count</code>. The shared_count contains a
11048@@ -491,9 +491,9 @@
11049 aliasing constructor, make_shared &amp; allocate_shared. Additionally,
11050 the constructors taking <code class="classname">auto_ptr</code> parameters are
11051 deprecated in C++11 mode.
11052- </p></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h5 class="title"><a id="id486672"/>Thread Safety</h5></div></div></div><p>
11053+ </p></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h5 class="title"><a id="id665160"></a>Thread Safety</h5></div></div></div><p>
11054 The
11055-<a class="link" href="http://boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety">Thread
11056+<a class="link" href="http://boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety" target="_top">Thread
11057 Safety</a> section of the Boost shared_ptr documentation says "shared_ptr
11058 objects offer the same level of thread safety as built-in types."
11059 The implementation must ensure that concurrent updates to separate shared_ptr
11060@@ -536,7 +536,7 @@
11061 shared_ptr in libstdc++ the compiler and library are fixed, which
11062 makes things much simpler: we have an atomic CAS or we don't, see Lock
11063 Policy below for details.
11064-</p></div><div class="section" title="Selecting Lock Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id486733"/>Selecting Lock Policy</h5></div></div></div><p>
11065+</p></div><div class="section" title="Selecting Lock Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id665221"></a>Selecting Lock Policy</h5></div></div></div><p>
11066 </p><p>
11067 There is a single <code class="classname">_Sp_counted_base</code> class,
11068 which is a template parameterized on the enum
11069@@ -552,11 +552,11 @@
11070 not be conforming for <code class="classname">shared_ptr</code> to have an
11071 extra template parameter, even if it had a default value. The
11072 available policies are:
11073- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
11074+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
11075 <code class="constant">_S_Atomic</code>
11076 </p><p>
11077 Selected when GCC supports a builtin atomic compare-and-swap operation
11078-on the target processor (see <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html">Atomic
11079+on the target processor (see <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html" target="_top">Atomic
11080 Builtins</a>.) The reference counts are maintained using a lock-free
11081 algorithm and GCC's atomic builtins, which provide the required memory
11082 synchronisation.
11083@@ -577,7 +577,7 @@
11084 <code class="filename">ext/atomicity.h</code>, which detect if the program
11085 is multi-threaded. If only one thread of execution exists in
11086 the program then less expensive non-atomic operations are used.
11087- </p></div><div class="section" title="Related functions and classes"><div class="titlepage"><div><div><h5 class="title"><a id="id486854"/>Related functions and classes</h5></div></div></div><div class="variablelist"><dl><dt><span class="term"><code class="code">dynamic_pointer_cast</code>, <code class="code">static_pointer_cast</code>,
11088+ </p></div><div class="section" title="Related functions and classes"><div class="titlepage"><div><div><h5 class="title"><a id="id665342"></a>Related functions and classes</h5></div></div></div><div class="variablelist"><dl><dt><span class="term"><code class="code">dynamic_pointer_cast</code>, <code class="code">static_pointer_cast</code>,
11089 <code class="code">const_pointer_cast</code></span></dt><dd><p>
11090 As noted in N2351, these functions can be implemented non-intrusively using
11091 the alias constructor. However the aliasing constructor is only available
11092@@ -610,13 +610,13 @@
11093 As well as the extra constructors, this implementation also needs some
11094 members of _Sp_counted_deleter to be protected where they could otherwise
11095 be private.
11096- </p></dd></dl></div></div></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.using"/>Use</h4></div></div></div><div class="section" title="Examples"><div class="titlepage"><div><div><h5 class="title"><a id="id499306"/>Examples</h5></div></div></div><p>
11097+ </p></dd></dl></div></div></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.using"></a>Use</h4></div></div></div><div class="section" title="Examples"><div class="titlepage"><div><div><h5 class="title"><a id="id677792"></a>Examples</h5></div></div></div><p>
11098 Examples of use can be found in the testsuite, under
11099 <code class="filename">testsuite/tr1/2_general_utilities/shared_ptr</code>,
11100 <code class="filename">testsuite/20_util/shared_ptr</code>
11101 and
11102 <code class="filename">testsuite/20_util/weak_ptr</code>.
11103- </p></div><div class="section" title="Unresolved Issues"><div class="titlepage"><div><div><h5 class="title"><a id="id499336"/>Unresolved Issues</h5></div></div></div><p>
11104+ </p></div><div class="section" title="Unresolved Issues"><div class="titlepage"><div><div><h5 class="title"><a id="id677822"></a>Unresolved Issues</h5></div></div></div><p>
11105 The <span class="emphasis"><em><code class="classname">shared_ptr</code> atomic access</em></span>
11106 clause in the C++11 standard is not implemented in GCC.
11107 </p><p>
11108@@ -652,33 +652,33 @@
11109 </p><p>
11110 tr1::_Sp_deleter could be a private member of tr1::__shared_count but it
11111 would alter the ABI.
11112- </p></div></div><div class="section" title="Acknowledgments"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.ack"/>Acknowledgments</h4></div></div></div><p>
11113+ </p></div></div><div class="section" title="Acknowledgments"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.ack"></a>Acknowledgments</h4></div></div></div><p>
11114 The original authors of the Boost shared_ptr, which is really nice
11115 code to work with, Peter Dimov in particular for his help and
11116 invaluable advice on thread safety. Phillip Jordan and Paolo
11117 Carlini for the lock policy implementation.
11118- </p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.biblio"/>Bibliography</h4></div></div></div><div class="biblioentry" title="Improving shared_ptr for C++0x, Revision 2"><a id="id499429"/><p><span class="title"><em>
11119- <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2351.htm">
11120+ </p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="Improving shared_ptr for C++0x, Revision 2"><a id="id677915"></a><p><span class="title"><em>
11121+ <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2351.htm" target="_top">
11122 Improving shared_ptr for C++0x, Revision 2
11123 </a>
11124 </em>. </span><span class="subtitle">
11125 N2351
11126- . </span></p></div><div class="biblioentry" title="C++ Standard Library Active Issues List"><a id="id499448"/><p><span class="title"><em>
11127- <a class="link" href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2456.html">
11128+ . </span></p></div><div class="biblioentry" title="C++ Standard Library Active Issues List"><a id="id677934"></a><p><span class="title"><em>
11129+ <a class="link" href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2456.html" target="_top">
11130 C++ Standard Library Active Issues List
11131 </a>
11132 </em>. </span><span class="subtitle">
11133 N2456
11134- . </span></p></div><div class="biblioentry" title="Working Draft, Standard for Programming Language C++"><a id="id499467"/><p><span class="title"><em>
11135- <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf">
11136+ . </span></p></div><div class="biblioentry" title="Working Draft, Standard for Programming Language C++"><a id="id677953"></a><p><span class="title"><em>
11137+ <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf" target="_top">
11138 Working Draft, Standard for Programming Language C++
11139 </a>
11140 </em>. </span><span class="subtitle">
11141 N2461
11142- . </span></p></div><div class="biblioentry" title="Boost C++ Libraries documentation, shared_ptr"><a id="id499486"/><p><span class="title"><em>
11143- <a class="link" href="http://boost.org/libs/smart_ptr/shared_ptr.htm">
11144+ . </span></p></div><div class="biblioentry" title="Boost C++ Libraries documentation, shared_ptr"><a id="id677973"></a><p><span class="title"><em>
11145+ <a class="link" href="http://boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">
11146 Boost C++ Libraries documentation, shared_ptr
11147 </a>
11148 </em>. </span><span class="subtitle">
11149 N2461
11150- . </span></p></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="pairs.html">Prev</a> </td><td align="center"><a accesskey="u" href="utilities.html">Up</a></td><td align="right"> <a accesskey="n" href="traits.html">Next</a></td></tr><tr><td align="left" valign="top">Pairs </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Traits</td></tr></table></div></body></html>
11151+ . </span></p></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="pairs.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="utilities.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="traits.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Pairs </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Traits</td></tr></table></div></body></html>
11152Index: libstdc++-v3/doc/html/manual/api.html
11153===================================================================
9f95000d
AM
11154--- libstdc++-v3/doc/html/manual/api.html (.../tags/gcc_4_7_2_release) (wersja 192468)
11155+++ libstdc++-v3/doc/html/manual/api.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
11156@@ -1,11 +1,11 @@
11157 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
11158-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
11159-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>API Evolution and Deprecation History</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="ISO C++, api, evolution, deprecation, history"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="prev" href="abi.html" title="ABI Policy and Guidelines"/><link rel="next" href="backwards.html" title="Backwards Compatibility"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">API Evolution and Deprecation History</th></tr><tr><td align="left"><a accesskey="p" href="abi.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
11160+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
11161+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>API Evolution and Deprecation History</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="ISO C++, api, evolution, deprecation, history" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="abi.html" title="ABI Policy and Guidelines" /><link rel="next" href="backwards.html" title="Backwards Compatibility" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">API Evolution and Deprecation History</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="abi.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
11162 Porting and Maintenance
11163
11164-</th><td align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr></table><hr/></div><div class="section" title="API Evolution and Deprecation History"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.porting.api"/>API Evolution and Deprecation History</h2></div></div></div><p>
11165+</th><td width="20%" align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr></table><hr /></div><div class="section" title="API Evolution and Deprecation History"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.api"></a>API Evolution and Deprecation History</h2></div></div></div><p>
11166 A list of user-visible changes, in chronological order
11167-</p><div class="section" title="3.0"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_300"/><code class="constant">3.0</code></h3></div></div></div><p>
11168+</p><div class="section" title="3.0"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_300"></a><code class="constant">3.0</code></h3></div></div></div><p>
11169 Extensions moved to <code class="filename">include/ext</code>.
11170 </p><p>
11171 Include files from the SGI/HP sources that pre-date the ISO standard
11172@@ -14,7 +14,7 @@
11173 is added that notifies on inclusion (<code class="literal">-Wno-deprecated</code>
11174 deactivates the warning.)
11175 </p><p>Deprecated include <code class="filename">backward/strstream</code> added.</p><p>Removal of include <code class="filename">builtinbuf.h</code>, <code class="filename">indstream.h</code>, <code class="filename">parsestream.h</code>, <code class="filename">PlotFile.h</code>, <code class="filename">SFile.h</code>, <code class="filename">stdiostream.h</code>, and <code class="filename">stream.h</code>.
11176-</p></div><div class="section" title="3.1"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_310"/><code class="constant">3.1</code></h3></div></div></div><p>
11177+</p></div><div class="section" title="3.1"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_310"></a><code class="constant">3.1</code></h3></div></div></div><p>
11178 </p><p>
11179 Extensions from SGI/HP moved from <code class="code">namespace std</code>
11180 to <code class="code">namespace __gnu_cxx</code>. As part of this, the following
11181@@ -26,15 +26,15 @@
11182 Extensions to tree data structures added in <code class="filename">ext/rb_tree</code>.
11183 </p><p>
11184 Removal of <code class="filename">ext/tree</code>, moved to <code class="filename">backward/tree.h</code>.
11185-</p></div><div class="section" title="3.2"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_320"/><code class="constant">3.2</code></h3></div></div></div><p>
11186+</p></div><div class="section" title="3.2"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_320"></a><code class="constant">3.2</code></h3></div></div></div><p>
11187 </p><p>Symbol versioning introduced for shared library.</p><p>Removal of include <code class="filename">backward/strstream.h</code>.</p><p>Allocator changes. Change <code class="code">__malloc_alloc</code> to <code class="code">malloc_allocator</code> and <code class="code">__new_alloc</code> to <code class="code">new_allocator</code>. </p><p> For GCC releases from 2.95 through the 3.1 series, defining
11188 <code class="literal">__USE_MALLOC</code> on the gcc command line would change the
11189 default allocation strategy to instead use <code class="code"> malloc</code> and
11190 <code class="function">free</code>. (This same functionality is now spelled <code class="literal">_GLIBCXX_FORCE_NEW</code>, see
11191 <a class="link" href="using_macros.html" title="Macros">this page</a>
11192 for details.
11193- </p><p>Error handling in iostreams cleaned up, made consistent. </p></div><div class="section" title="3.3"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_330"/><code class="constant">3.3</code></h3></div></div></div><p>
11194- </p></div><div class="section" title="3.4"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_340"/><code class="constant">3.4</code></h3></div></div></div><p>
11195+ </p><p>Error handling in iostreams cleaned up, made consistent. </p></div><div class="section" title="3.3"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_330"></a><code class="constant">3.3</code></h3></div></div></div><p>
11196+ </p></div><div class="section" title="3.4"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_340"></a><code class="constant">3.4</code></h3></div></div></div><p>
11197 </p><p>
11198 Large file support.
11199 </p><p> Extensions for generic characters and <code class="code">char_traits</code> added in <code class="filename">ext/pod_char_traits.h</code>.
11200@@ -75,11 +75,11 @@
11201 <span class="type">__alloc</span> to select an underlying allocator that
11202 satisfied memory allocation requests. The selection of this
11203 underlying allocator was not user-configurable.
11204- </p><div class="table"><a id="id560820"/><p class="title"><strong>Table B.6. Extension Allocators</strong></p><div class="table-contents"><table summary="Extension Allocators" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Allocator (3.4)</th><th style="text-align: left">Header (3.4)</th><th style="text-align: left">Allocator (3.[0-3])</th><th style="text-align: left">Header (3.[0-3])</th></tr></thead><tbody><tr><td style="text-align: left"><code class="classname">__gnu_cxx::new_allocator&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/new_allocator.h</code></td><td style="text-align: left"><code class="classname">std::__new_alloc</code></td><td style="text-align: left"><code class="filename">memory</code></td></tr><tr><td style="text-align: left"><code class="classname">__gnu_cxx::malloc_allocator&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/malloc_allocator.h</code></td><td style="text-align: left"><code class="classname">std::__malloc_alloc_template&lt;int&gt;</code></td><td style="text-align: left"><code class="filename">memory</code></td></tr><tr><td style="text-align: left"><code class="classname">__gnu_cxx::debug_allocator&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/debug_allocator.h</code></td><td style="text-align: left"><code class="classname">std::debug_alloc&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">memory</code></td></tr><tr><td style="text-align: left"><code class="classname">__gnu_cxx::__pool_alloc&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/pool_allocator.h</code></td><td style="text-align: left"><code class="classname">std::__default_alloc_template&lt;bool,int&gt;</code></td><td style="text-align: left"><code class="filename">memory</code></td></tr><tr><td style="text-align: left"><code class="classname">__gnu_cxx::__mt_alloc&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/mt_allocator.h</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><code class="classname">__gnu_cxx::bitmap_allocator&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/bitmap_allocator.h</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr></tbody></table></div></div><br class="table-break"/><p> Releases after gcc-3.4 have continued to add to the collection
11205+ </p><div class="table"><a id="id739323"></a><p class="title"><strong>Table B.6. Extension Allocators</strong></p><div class="table-contents"><table summary="Extension Allocators" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Allocator (3.4)</th><th align="left">Header (3.4)</th><th align="left">Allocator (3.[0-3])</th><th align="left">Header (3.[0-3])</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::new_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="classname">std::__new_alloc</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::malloc_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="classname">std::__malloc_alloc_template&lt;int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::debug_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="classname">std::debug_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__pool_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="classname">std::__default_alloc_template&lt;bool,int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__mt_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left"><code class="classname">__gnu_cxx::bitmap_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p> Releases after gcc-3.4 have continued to add to the collection
11206 of available allocators. All of these new allocators are
11207 standard-style. The following table includes details, along with
11208 the first released version of GCC that included the extension allocator.
11209- </p><div class="table"><a id="id561050"/><p class="title"><strong>Table B.7. Extension Allocators Continued</strong></p><div class="table-contents"><table summary="Extension Allocators Continued" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left">Allocator</th><th style="text-align: left">Include</th><th style="text-align: left">Version</th></tr></thead><tbody><tr><td style="text-align: left"><code class="classname">__gnu_cxx::array_allocator&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/array_allocator.h</code></td><td style="text-align: left">4.0.0</td></tr><tr><td style="text-align: left"><code class="classname">__gnu_cxx::throw_allocator&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/throw_allocator.h</code></td><td style="text-align: left">4.2.0</td></tr></tbody></table></div></div><br class="table-break"/><p>
11210+ </p><div class="table"><a id="id739553"></a><p class="title"><strong>Table B.7. Extension Allocators Continued</strong></p><div class="table-contents"><table summary="Extension Allocators Continued" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left">Allocator</th><th align="left">Include</th><th align="left">Version</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::array_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left">4.0.0</td></tr><tr><td align="left"><code class="classname">__gnu_cxx::throw_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left">4.2.0</td></tr></tbody></table></div></div><br class="table-break" /><p>
11211 Debug mode first appears.
11212 </p><p>
11213 Precompiled header support <acronym class="acronym">PCH</acronym> support.
11214@@ -89,7 +89,7 @@
11215 Extension <code class="filename">ext/stdio_sync_filebuf.h</code> added.
11216 </p><p>
11217 Extension <code class="filename">ext/demangle.h</code> added.
11218-</p></div><div class="section" title="4.0"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_400"/><code class="constant">4.0</code></h3></div></div></div><p>
11219+</p></div><div class="section" title="4.0"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_400"></a><code class="constant">4.0</code></h3></div></div></div><p>
11220 </p><p>
11221 TR1 features first appear.
11222 </p><p>
11223@@ -98,14 +98,14 @@
11224 Extension <code class="code">codecvt</code> specializations moved to <code class="filename">ext/codecvt_specializations.h</code>.
11225 </p><p>
11226 Removal of <code class="filename">ext/demangle.h</code>.
11227-</p></div><div class="section" title="4.1"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_410"/><code class="constant">4.1</code></h3></div></div></div><p>
11228+</p></div><div class="section" title="4.1"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_410"></a><code class="constant">4.1</code></h3></div></div></div><p>
11229 </p><p>
11230 Removal of <code class="filename">cassert</code> from all standard headers: now has to be explicitly included for <code class="code">std::assert</code> calls.
11231 </p><p> Extensions for policy-based data structures first added. New includes,
11232 types, namespace <code class="code">pb_assoc</code>.
11233 </p><p> Extensions for typelists added in <code class="filename">ext/typelist.h</code>.
11234 </p><p> Extension for policy-based <code class="code">basic_string</code> first added: <code class="code">__gnu_cxx::__versa_string</code> in <code class="filename">ext/vstring.h</code>.
11235-</p></div><div class="section" title="4.2"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_420"/><code class="constant">4.2</code></h3></div></div></div><p>
11236+</p></div><div class="section" title="4.2"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_420"></a><code class="constant">4.2</code></h3></div></div></div><p>
11237 </p><p> Default visibility attributes applied to <code class="code">namespace std</code>. Support for <code class="code">-fvisibility</code>.
11238 </p><p>TR1 <code class="filename">random</code>, <code class="filename">complex</code>, and C compatibility headers added.</p><p> Extensions for concurrent programming consolidated
11239 into <code class="filename">ext/concurrence.h</code> and <code class="filename">ext/atomicity.h</code>,
11240@@ -120,13 +120,13 @@
11241 std::__debug</code> and extensions in <code class="code">namespace
11242 __gnu_cxx::__debug</code>.</p><p> Extensions added: <code class="filename">ext/typelist.h</code>
11243 and <code class="filename">ext/throw_allocator.h</code>.
11244-</p></div><div class="section" title="4.3"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_430"/><code class="constant">4.3</code></h3></div></div></div><p>
11245+</p></div><div class="section" title="4.3"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_430"></a><code class="constant">4.3</code></h3></div></div></div><p>
11246 </p><p>
11247 C++0X features first appear.
11248 </p><p>TR1 <code class="filename">regex</code> and <code class="filename">cmath</code>'s mathematical special function added.
11249 </p><p>
11250 Backward include edit.
11251-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>Removed</p><p>
11252+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Removed</p><p>
11253 <code class="filename">algobase.h</code> <code class="filename">algo.h</code> <code class="filename">alloc.h</code> <code class="filename">bvector.h</code> <code class="filename">complex.h</code>
11254 <code class="filename">defalloc.h</code> <code class="filename">deque.h</code> <code class="filename">fstream.h</code> <code class="filename">function.h</code> <code class="filename">hash_map.h</code> <code class="filename">hash_set.h</code>
11255 <code class="filename">hashtable.h</code> <code class="filename">heap.h</code> <code class="filename">iomanip.h</code> <code class="filename">iostream.h</code> <code class="filename">istream.h</code> <code class="filename">iterator.h</code>
11256@@ -138,7 +138,7 @@
11257 <code class="filename">auto_ptr.h</code> and <code class="filename">binders.h</code>
11258 </p></li></ul></div><p>
11259 Header dependency streamlining.
11260-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="filename">algorithm</code> no longer includes <code class="filename">climits</code>, <code class="filename">cstring</code>, or <code class="filename">iosfwd</code> </p></li><li class="listitem"><p><code class="filename">bitset</code> no longer includes <code class="filename">istream</code> or <code class="filename">ostream</code>, adds <code class="filename">iosfwd</code> </p></li><li class="listitem"><p><code class="filename">functional</code> no longer includes <code class="filename">cstddef</code></p></li><li class="listitem"><p><code class="filename">iomanip</code> no longer includes <code class="filename">istream</code>, <code class="filename">istream</code>, or <code class="filename">functional</code>, adds <code class="filename">ioswd</code> </p></li><li class="listitem"><p><code class="filename">numeric</code> no longer includes <code class="filename">iterator</code></p></li><li class="listitem"><p><code class="filename">string</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">memory</code></p></li><li class="listitem"><p><code class="filename">valarray</code> no longer includes <code class="filename">numeric</code> or <code class="filename">cstdlib</code></p></li><li class="listitem"><p><code class="filename">tr1/hashtable</code> no longer includes <code class="filename">memory</code> or <code class="filename">functional</code></p></li><li class="listitem"><p><code class="filename">tr1/memory</code> no longer includes <code class="filename">algorithm</code></p></li><li class="listitem"><p><code class="filename">tr1/random</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">fstream</code></p></li></ul></div><p>
11261+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="filename">algorithm</code> no longer includes <code class="filename">climits</code>, <code class="filename">cstring</code>, or <code class="filename">iosfwd</code> </p></li><li class="listitem"><p><code class="filename">bitset</code> no longer includes <code class="filename">istream</code> or <code class="filename">ostream</code>, adds <code class="filename">iosfwd</code> </p></li><li class="listitem"><p><code class="filename">functional</code> no longer includes <code class="filename">cstddef</code></p></li><li class="listitem"><p><code class="filename">iomanip</code> no longer includes <code class="filename">istream</code>, <code class="filename">istream</code>, or <code class="filename">functional</code>, adds <code class="filename">ioswd</code> </p></li><li class="listitem"><p><code class="filename">numeric</code> no longer includes <code class="filename">iterator</code></p></li><li class="listitem"><p><code class="filename">string</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">memory</code></p></li><li class="listitem"><p><code class="filename">valarray</code> no longer includes <code class="filename">numeric</code> or <code class="filename">cstdlib</code></p></li><li class="listitem"><p><code class="filename">tr1/hashtable</code> no longer includes <code class="filename">memory</code> or <code class="filename">functional</code></p></li><li class="listitem"><p><code class="filename">tr1/memory</code> no longer includes <code class="filename">algorithm</code></p></li><li class="listitem"><p><code class="filename">tr1/random</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">fstream</code></p></li></ul></div><p>
11262 Debug mode for <code class="filename">unordered_map</code> and <code class="filename">unordered_set</code>.
11263 </p><p>
11264 Parallel mode first appears.
11265@@ -152,10 +152,10 @@
11266 PCH binary files no longer installed. Instead, the source files are installed.
11267 </p><p>
11268 Namespace pb_ds moved to __gnu_pb_ds.
11269-</p></div><div class="section" title="4.4"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_440"/><code class="constant">4.4</code></h3></div></div></div><p>
11270+</p></div><div class="section" title="4.4"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_440"></a><code class="constant">4.4</code></h3></div></div></div><p>
11271 </p><p>
11272 C++0X features.
11273-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
11274+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
11275 Added.
11276 </p><p>
11277 <code class="filename">atomic</code>,
11278@@ -207,10 +207,10 @@
11279 for non-standard pointer types has been added
11280 to <code class="classname">vector</code>
11281 and <code class="classname">forward_list</code>.
11282-</p></div><div class="section" title="4.5"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_450"/><code class="constant">4.5</code></h3></div></div></div><p>
11283+</p></div><div class="section" title="4.5"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_450"></a><code class="constant">4.5</code></h3></div></div></div><p>
11284 </p><p>
11285 C++0X features.
11286-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
11287+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
11288 Added.
11289 </p><p>
11290 <code class="filename">functional</code>,
11291@@ -237,4 +237,4 @@
11292 in <code class="filename">typeinfo</code>, <code class="literal">__GXX_MERGED_TYPEINFO_NAMES</code>
11293 now defaults to zero.
11294 </p><p> Extensions modified: <code class="filename">ext/throw_allocator.h</code>.
11295-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="abi.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr><tr><td align="left" valign="top">ABI Policy and Guidelines </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Backwards Compatibility</td></tr></table></div></body></html>
11296+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="abi.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ABI Policy and Guidelines </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Backwards Compatibility</td></tr></table></div></body></html>
11297Index: libstdc++-v3/doc/html/manual/bk01pt03ch23s02.html
11298===================================================================
9f95000d
AM
11299--- libstdc++-v3/doc/html/manual/bk01pt03ch23s02.html (.../tags/gcc_4_7_2_release) (wersja 192468)
11300+++ libstdc++-v3/doc/html/manual/bk01pt03ch23s02.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
11301@@ -1,6 +1,6 @@
11302 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
11303-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
11304-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Deprecated</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions"/><link rel="prev" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions"/><link rel="next" href="ext_utilities.html" title="Chapter 24. Utilities"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Deprecated</th></tr><tr><td align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><th width="60%" align="center">Chapter 23. HP/SGI Extensions</th><td align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr></table><hr/></div><div class="section" title="Deprecated"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.deprecated_sgi"/>Deprecated</h2></div></div></div><p>
11305+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
11306+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Deprecated</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /><link rel="prev" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /><link rel="next" href="ext_utilities.html" title="Chapter 24. Utilities" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Deprecated</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><th width="60%" align="center">Chapter 23. HP/SGI Extensions</th><td width="20%" align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr></table><hr /></div><div class="section" title="Deprecated"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.deprecated_sgi"></a>Deprecated</h2></div></div></div><p>
11307 The SGI hashing classes <code class="classname">hash_set</code> and
11308 <code class="classname">hash_set</code> have been deprecated by the
11309 unordered_set, unordered_multiset, unordered_map,
11310@@ -29,12 +29,12 @@
11311 and sets.
11312 </p><p>Each of the associative containers map, multimap, set, and multiset
11313 have a counterpart which uses a
11314- <a class="link" href="http://www.sgi.com/tech/stl/HashFunction.html">hashing
11315+ <a class="link" href="http://www.sgi.com/tech/stl/HashFunction.html" target="_top">hashing
11316 function</a> to do the arranging, instead of a strict weak ordering
11317 function. The classes take as one of their template parameters a
11318 function object that will return the hash value; by default, an
11319 instantiation of
11320- <a class="link" href="http://www.sgi.com/tech/stl/hash.html">hash</a>.
11321+ <a class="link" href="http://www.sgi.com/tech/stl/hash.html" target="_top">hash</a>.
11322 You should specialize this functor for your class, or define your own,
11323 before trying to use one of the hashing classes.
11324 </p><p>The hashing classes support all the usual associative container
11325@@ -56,4 +56,4 @@
11326 associative containers defined in the ISO C++ 2011 standard in the
11327 headers <code class="filename">&lt;unordered_map&gt;</code>
11328 and <code class="filename">&lt;unordered_set&gt;</code>.
11329- </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><td align="center"><a accesskey="u" href="ext_containers.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 23. HP/SGI Extensions </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 24. Utilities</td></tr></table></div></body></html>
11330+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ext_containers.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 23. HP/SGI Extensions </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 24. Utilities</td></tr></table></div></body></html>
11331Index: libstdc++-v3/doc/html/manual/policy_data_structures_biblio.html
11332===================================================================
9f95000d
AM
11333--- libstdc++-v3/doc/html/manual/policy_data_structures_biblio.html (.../tags/gcc_4_7_2_release) (wersja 192468)
11334+++ libstdc++-v3/doc/html/manual/policy_data_structures_biblio.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
11335@@ -1,17 +1,17 @@
11336 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
11337-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
11338-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Acknowledgments</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;&#9;ISO C++&#10; , &#10;&#9;policy&#10; , &#10;&#9;container&#10; , &#10;&#9;data&#10; , &#10;&#9;structure&#10; , &#10;&#9;associated&#10; , &#10;&#9;tree&#10; , &#10;&#9;trie&#10; , &#10;&#9;hash&#10; , &#10;&#9;metaprogramming&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures"/><link rel="prev" href="policy_based_data_structures_test.html" title="Testing"/><link rel="next" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Acknowledgments</th></tr><tr><td align="left"><a accesskey="p" href="policy_based_data_structures_test.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr></table><hr/></div><div class="section" title="Acknowledgments"><div class="titlepage"><div><div><h2 class="title"><a id="pbds.ack"/>Acknowledgments</h2></div></div></div><p>
11339+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
11340+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Acknowledgments</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;&#9;ISO C++&#10; , &#10;&#9;policy&#10; , &#10;&#9;container&#10; , &#10;&#9;data&#10; , &#10;&#9;structure&#10; , &#10;&#9;associated&#10; , &#10;&#9;tree&#10; , &#10;&#9;trie&#10; , &#10;&#9;hash&#10; , &#10;&#9;metaprogramming&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_based_data_structures_test.html" title="Testing" /><link rel="next" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Acknowledgments</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_based_data_structures_test.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr></table><hr /></div><div class="section" title="Acknowledgments"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="pbds.ack"></a>Acknowledgments</h2></div></div></div><p>
11341 Written by Ami Tavory and Vladimir Dreizin (IBM Haifa Research
11342 Laboratories), and Benjamin Kosnik (Red Hat).
11343 </p><p>
11344 This library was partially written at
11345- <a class="link" href="http://www.haifa.il.ibm.com/">IBM's Haifa Research Labs</a>.
11346+ <a class="link" href="http://www.haifa.il.ibm.com/" target="_top">IBM's Haifa Research Labs</a>.
11347 It is based heavily on policy-based design and uses many useful
11348 techniques from Modern C++ Design: Generic Programming and Design
11349 Patterns Applied by Andrei Alexandrescu.
11350 </p><p>
11351 Two ideas are borrowed from the SGI-STL implementation:
11352- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
11353+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
11354 The prime-based resize policies use a list of primes taken from
11355 the SGI-STL implementation.
11356 </p></li><li class="listitem"><p>
11357@@ -20,10 +20,10 @@
11358 reverse iteration can be performed efficiently.
11359 </p></li></ol></div><p>
11360 Some test utilities borrow ideas from
11361- <a class="link" href="http://www.boost.org/doc/libs/release/libs/timer/index.html">boost::timer</a>.
11362+ <a class="link" href="http://www.boost.org/doc/libs/release/libs/timer/index.html" target="_top">boost::timer</a>.
11363 </p><p>
11364 We would like to thank Scott Meyers for useful comments (without
11365 attributing to him any flaws in the design or implementation of the
11366 library).
11367 </p><p>We would like to thank Matt Austern for the suggestion to
11368- include tries.</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="policy_based_data_structures_test.html">Prev</a> </td><td align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr><tr><td align="left" valign="top">Testing </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 23. HP/SGI Extensions</td></tr></table></div></body></html>
11369+ include tries.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="policy_based_data_structures_test.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Testing </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 23. HP/SGI Extensions</td></tr></table></div></body></html>
11370Index: libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html
11371===================================================================
9f95000d
AM
11372--- libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html (.../tags/gcc_4_7_2_release) (wersja 192468)
11373+++ libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
11374@@ -1,7 +1,7 @@
11375 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
11376-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
11377-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; debug&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode"/><link rel="prev" href="bk01pt03ch17s02.html" title="Semantics"/><link rel="next" href="bk01pt03ch17s04.html" title="Design"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch17s02.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch17s04.html">Next</a></td></tr></table><hr/></div><div class="section" title="Using"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode.using"/>Using</h2></div></div></div><p>
11378- </p><div class="section" title="Using the Debug Mode"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.using.mode"/>Using the Debug Mode</h3></div></div></div><p>To use the libstdc++ debug mode, compile your application with the
11379+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
11380+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; debug&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="prev" href="bk01pt03ch17s02.html" title="Semantics" /><link rel="next" href="bk01pt03ch17s04.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch17s02.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch17s04.html">Next</a></td></tr></table><hr /></div><div class="section" title="Using"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.using"></a>Using</h2></div></div></div><p>
11381+ </p><div class="section" title="Using the Debug Mode"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.using.mode"></a>Using the Debug Mode</h3></div></div></div><p>To use the libstdc++ debug mode, compile your application with the
11382 compiler flag <code class="code">-D_GLIBCXX_DEBUG</code>. Note that this flag
11383 changes the sizes and behavior of standard class templates such
11384 as <code class="code">std::vector</code>, and therefore you can only link code
11385@@ -10,7 +10,7 @@
11386 units.</p><p>By default, error messages are formatted to fit on lines of about
11387 78 characters. The environment variable
11388 <code class="code">GLIBCXX_DEBUG_MESSAGE_LENGTH</code> can be used to request a
11389- different length.</p></div><div class="section" title="Using a Specific Debug Container"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.using.specific"/>Using a Specific Debug Container</h3></div></div></div><p>When it is not feasible to recompile your entire application, or
11390+ different length.</p></div><div class="section" title="Using a Specific Debug Container"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.using.specific"></a>Using a Specific Debug Container</h3></div></div></div><p>When it is not feasible to recompile your entire application, or
11391 only specific containers need checking, debugging containers are
11392 available as GNU extensions. These debugging containers are
11393 functionally equivalent to the standard drop-in containers used in
11394@@ -19,6 +19,6 @@
11395 mode or with debug mode. The
11396 following table provides the names and headers of the debugging
11397 containers:
11398-</p><div class="table"><a id="id506882"/><p class="title"><strong>Table 17.1. Debugging Containers</strong></p><div class="table-contents"><table summary="Debugging Containers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Container</th><th style="text-align: left">Header</th><th style="text-align: left">Debug container</th><th style="text-align: left">Debug header</th></tr></thead><tbody><tr><td style="text-align: left"><code class="classname">std::bitset</code></td><td style="text-align: left"><code class="filename">bitset</code></td><td style="text-align: left"><code class="classname">__gnu_debug::bitset</code></td><td style="text-align: left"><code class="filename">&lt;debug/bitset&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::deque</code></td><td style="text-align: left"><code class="filename">deque</code></td><td style="text-align: left"><code class="classname">__gnu_debug::deque</code></td><td style="text-align: left"><code class="filename">&lt;debug/deque&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::list</code></td><td style="text-align: left"><code class="filename">list</code></td><td style="text-align: left"><code class="classname">__gnu_debug::list</code></td><td style="text-align: left"><code class="filename">&lt;debug/list&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::map</code></td><td style="text-align: left"><code class="filename">map</code></td><td style="text-align: left"><code class="classname">__gnu_debug::map</code></td><td style="text-align: left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::multimap</code></td><td style="text-align: left"><code class="filename">map</code></td><td style="text-align: left"><code class="classname">__gnu_debug::multimap</code></td><td style="text-align: left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::multiset</code></td><td style="text-align: left"><code class="filename">set</code></td><td style="text-align: left"><code class="classname">__gnu_debug::multiset</code></td><td style="text-align: left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::set</code></td><td style="text-align: left"><code class="filename">set</code></td><td style="text-align: left"><code class="classname">__gnu_debug::set</code></td><td style="text-align: left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::string</code></td><td style="text-align: left"><code class="filename">string</code></td><td style="text-align: left"><code class="classname">__gnu_debug::string</code></td><td style="text-align: left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::wstring</code></td><td style="text-align: left"><code class="filename">string</code></td><td style="text-align: left"><code class="classname">__gnu_debug::wstring</code></td><td style="text-align: left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::basic_string</code></td><td style="text-align: left"><code class="filename">string</code></td><td style="text-align: left"><code class="classname">__gnu_debug::basic_string</code></td><td style="text-align: left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::vector</code></td><td style="text-align: left"><code class="filename">vector</code></td><td style="text-align: left"><code class="classname">__gnu_debug::vector</code></td><td style="text-align: left"><code class="filename">&lt;debug/vector&gt;</code></td></tr></tbody></table></div></div><br class="table-break"/><p>In addition, when compiling in C++11 mode, these additional
11399+</p><div class="table"><a id="id685368"></a><p class="title"><strong>Table 17.1. Debugging Containers</strong></p><div class="table-contents"><table summary="Debugging Containers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::bitset</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="classname">__gnu_debug::bitset</code></td><td align="left"><code class="filename">&lt;debug/bitset&gt;</code></td></tr><tr><td align="left"><code class="classname">std::deque</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="classname">__gnu_debug::deque</code></td><td align="left"><code class="filename">&lt;debug/deque&gt;</code></td></tr><tr><td align="left"><code class="classname">std::list</code></td><td align="left"><code class="filename">list</code></td><td align="left"><code class="classname">__gnu_debug::list</code></td><td align="left"><code class="filename">&lt;debug/list&gt;</code></td></tr><tr><td align="left"><code class="classname">std::map</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::map</code></td><td align="left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::multimap</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::multimap</code></td><td align="left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::multiset</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::multiset</code></td><td align="left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::set</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::set</code></td><td align="left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::string</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::wstring</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::wstring</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::basic_string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::basic_string</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::vector</code></td><td align="left"><code class="filename">vector</code></td><td align="left"><code class="classname">__gnu_debug::vector</code></td><td align="left"><code class="filename">&lt;debug/vector&gt;</code></td></tr></tbody></table></div></div><br class="table-break" /><p>In addition, when compiling in C++11 mode, these additional
11400 containers have additional debug capability.
11401-</p><div class="table"><a id="id507256"/><p class="title"><strong>Table 17.2. Debugging Containers C++11</strong></p><div class="table-contents"><table summary="Debugging Containers C++11" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Container</th><th style="text-align: left">Header</th><th style="text-align: left">Debug container</th><th style="text-align: left">Debug header</th></tr></thead><tbody><tr><td style="text-align: left"><code class="classname">std::unordered_map</code></td><td style="text-align: left"><code class="filename">unordered_map</code></td><td style="text-align: left"><code class="classname">__gnu_debug::unordered_map</code></td><td style="text-align: left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::unordered_multimap</code></td><td style="text-align: left"><code class="filename">unordered_map</code></td><td style="text-align: left"><code class="classname">__gnu_debug::unordered_multimap</code></td><td style="text-align: left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::unordered_set</code></td><td style="text-align: left"><code class="filename">unordered_set</code></td><td style="text-align: left"><code class="classname">__gnu_debug::unordered_set</code></td><td style="text-align: left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::unordered_multiset</code></td><td style="text-align: left"><code class="filename">unordered_set</code></td><td style="text-align: left"><code class="classname">__gnu_debug::unordered_multiset</code></td><td style="text-align: left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr></tbody></table></div></div><br class="table-break"/></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch17s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch17s04.html">Next</a></td></tr><tr><td align="left" valign="top">Semantics </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Design</td></tr></table></div></body></html>
11402+</p><div class="table"><a id="id685742"></a><p class="title"><strong>Table 17.2. Debugging Containers C++11</strong></p><div class="table-contents"><table summary="Debugging Containers C++11" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::unordered_map</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_map</code></td><td align="left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multimap</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multimap</code></td><td align="left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_set</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_set</code></td><td align="left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multiset</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multiset</code></td><td align="left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch17s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch17s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
11403Index: libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html
11404===================================================================
9f95000d
AM
11405--- libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html (.../tags/gcc_4_7_2_release) (wersja 192468)
11406+++ libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
11407@@ -1,12 +1,12 @@
11408 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
11409-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
11410-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode"/><link rel="prev" href="bk01pt03ch18s02.html" title="Semantics"/><link rel="next" href="bk01pt03ch18s04.html" title="Design"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s02.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch18s04.html">Next</a></td></tr></table><hr/></div><div class="section" title="Using"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode.using"/>Using</h2></div></div></div><div class="section" title="Prerequisite Compiler Flags"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.prereq_flags"/>Prerequisite Compiler Flags</h3></div></div></div><p>
11411+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
11412+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="bk01pt03ch18s02.html" title="Semantics" /><link rel="next" href="bk01pt03ch18s04.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch18s02.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch18s04.html">Next</a></td></tr></table><hr /></div><div class="section" title="Using"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.using"></a>Using</h2></div></div></div><div class="section" title="Prerequisite Compiler Flags"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.prereq_flags"></a>Prerequisite Compiler Flags</h3></div></div></div><p>
11413 Any use of parallel functionality requires additional compiler
11414 and runtime support, in particular support for OpenMP. Adding this support is
11415 not difficult: just compile your application with the compiler
11416 flag <code class="literal">-fopenmp</code>. This will link
11417 in <code class="code">libgomp</code>, the
11418- OpenMP <a class="link" href="http://gcc.gnu.org/onlinedocs/libgomp/">GNU implementation</a>,
11419+ OpenMP <a class="link" href="http://gcc.gnu.org/onlinedocs/libgomp/" target="_top">GNU implementation</a>,
11420 whose presence is mandatory.
11421 </p><p>
11422 In addition, hardware that supports atomic operations and a compiler
11423@@ -17,7 +17,7 @@
11424 as <code class="literal">-march=i686</code>,
11425 <code class="literal">-march=native</code> or <code class="literal">-mcpu=v9</code>. See
11426 the GCC manual for more information.
11427-</p></div><div class="section" title="Using Parallel Mode"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.parallel_mode"/>Using Parallel Mode</h3></div></div></div><p>
11428+</p></div><div class="section" title="Using Parallel Mode"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.parallel_mode"></a>Using Parallel Mode</h3></div></div></div><p>
11429 To use the libstdc++ parallel mode, compile your application with
11430 the prerequisite flags as detailed above, and in addition
11431 add <code class="constant">-D_GLIBCXX_PARALLEL</code>. This will convert all
11432@@ -34,7 +34,7 @@
11433 if no instantiation of a container is passed between the two
11434 translation units. Parallel mode functionality has distinct linkage,
11435 and cannot be confused with normal mode symbols.
11436-</p></div><div class="section" title="Using Specific Parallel Components"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.specific"/>Using Specific Parallel Components</h3></div></div></div><p>When it is not feasible to recompile your entire application, or
11437+</p></div><div class="section" title="Using Specific Parallel Components"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.specific"></a>Using Specific Parallel Components</h3></div></div></div><p>When it is not feasible to recompile your entire application, or
11438 only specific algorithms need to be parallel-aware, individual
11439 parallel algorithms can be made available explicitly. These
11440 parallel algorithms are functionally equivalent to the standard
11441@@ -63,4 +63,4 @@
11442 flags for atomic operations.)
11443 </p><p> The following table provides the names and headers of all the
11444 parallel algorithms that can be used in a similar manner:
11445-</p><div class="table"><a id="id508844"/><p class="title"><strong>Table 18.1. Parallel Algorithms</strong></p><div class="table-contents"><table summary="Parallel Algorithms" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Algorithm</th><th style="text-align: left">Header</th><th style="text-align: left">Parallel algorithm</th><th style="text-align: left">Parallel header</th></tr></thead><tbody><tr><td style="text-align: left"><code class="function">std::accumulate</code></td><td style="text-align: left"><code class="filename">numeric</code></td><td style="text-align: left"><code class="function">__gnu_parallel::accumulate</code></td><td style="text-align: left"><code class="filename">parallel/numeric</code></td></tr><tr><td style="text-align: left"><code class="function">std::adjacent_difference</code></td><td style="text-align: left"><code class="filename">numeric</code></td><td style="text-align: left"><code class="function">__gnu_parallel::adjacent_difference</code></td><td style="text-align: left"><code class="filename">parallel/numeric</code></td></tr><tr><td style="text-align: left"><code class="function">std::inner_product</code></td><td style="text-align: left"><code class="filename">numeric</code></td><td style="text-align: left"><code class="function">__gnu_parallel::inner_product</code></td><td style="text-align: left"><code class="filename">parallel/numeric</code></td></tr><tr><td style="text-align: left"><code class="function">std::partial_sum</code></td><td style="text-align: left"><code class="filename">numeric</code></td><td style="text-align: left"><code class="function">__gnu_parallel::partial_sum</code></td><td style="text-align: left"><code class="filename">parallel/numeric</code></td></tr><tr><td style="text-align: left"><code class="function">std::adjacent_find</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::adjacent_find</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::count</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::count</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::count_if</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::count_if</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::equal</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::equal</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::find</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::find</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::find_if</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::find_if</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::find_first_of</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::find_first_of</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::for_each</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::for_each</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::generate</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::generate</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::generate_n</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::generate_n</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::lexicographical_compare</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::lexicographical_compare</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::mismatch</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::mismatch</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::search</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::search</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::search_n</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::search_n</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::transform</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::transform</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::replace</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::replace</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::replace_if</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::replace_if</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::max_element</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::max_element</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::merge</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::merge</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::min_element</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::min_element</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::nth_element</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::nth_element</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::partial_sort</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::partial_sort</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::partition</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::partition</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::random_shuffle</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::random_shuffle</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::set_union</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::set_union</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::set_intersection</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::set_intersection</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::set_symmetric_difference</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::set_symmetric_difference</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::set_difference</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::set_difference</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::sort</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::sort</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::stable_sort</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::stable_sort</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::unique_copy</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::unique_copy</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr></tbody></table></div></div><br class="table-break"/></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch18s04.html">Next</a></td></tr><tr><td align="left" valign="top">Semantics </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Design</td></tr></table></div></body></html>
11446+</p><div class="table"><a id="id687330"></a><p class="title"><strong>Table 18.1. Parallel Algorithms</strong></p><div class="table-contents"><table summary="Parallel Algorithms" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Algorithm</th><th align="left">Header</th><th align="left">Parallel algorithm</th><th align="left">Parallel header</th></tr></thead><tbody><tr><td align="left"><code class="function">std::accumulate</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::accumulate</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_difference</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_difference</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::inner_product</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::inner_product</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::partial_sum</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::partial_sum</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::equal</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::equal</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_first_of</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_first_of</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::for_each</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::for_each</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::lexicographical_compare</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::lexicographical_compare</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::mismatch</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::mismatch</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::transform</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::transform</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::max_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::max_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::merge</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::merge</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::min_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::min_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::nth_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::nth_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partial_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partial_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partition</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partition</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::random_shuffle</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::random_shuffle</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_union</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_union</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_intersection</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_intersection</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_symmetric_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_symmetric_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::stable_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::stable_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::unique_copy</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::unique_copy</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch18s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch18s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
11447Index: libstdc++-v3/doc/html/manual/bk01pt03ch19s03.html
11448===================================================================
9f95000d
AM
11449--- libstdc++-v3/doc/html/manual/bk01pt03ch19s03.html (.../tags/gcc_4_7_2_release) (wersja 192468)
11450+++ libstdc++-v3/doc/html/manual/bk01pt03ch19s03.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
11451@@ -1,10 +1,10 @@
11452 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
11453-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
11454-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Extensions for Custom Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="prev" href="bk01pt03ch19s02.html" title="Design"/><link rel="next" href="bk01pt03ch19s04.html" title="Empirical Cost Model"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Extensions for Custom Containers</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s02.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch19s04.html">Next</a></td></tr></table><hr/></div><div class="section" title="Extensions for Custom Containers"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.api"/>Extensions for Custom Containers</h2></div></div></div><p>
11455+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
11456+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Extensions for Custom Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="bk01pt03ch19s02.html" title="Design" /><link rel="next" href="bk01pt03ch19s04.html" title="Empirical Cost Model" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Extensions for Custom Containers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch19s02.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s04.html">Next</a></td></tr></table><hr /></div><div class="section" title="Extensions for Custom Containers"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.api"></a>Extensions for Custom Containers</h2></div></div></div><p>
11457 Many large projects use their own data structures instead of the ones in the
11458 standard library. If these data structures are similar in functionality
11459 to the standard library, they can be instrumented with the same hooks
11460 that are used to instrument the standard library.
11461 The instrumentation API is exposed in file
11462 <code class="code">profiler.h</code> (look for "Instrumentation hooks").
11463- </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch19s04.html">Next</a></td></tr><tr><td align="left" valign="top">Design </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Empirical Cost Model</td></tr></table></div></body></html>
11464+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch19s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch19s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Design </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Empirical Cost Model</td></tr></table></div></body></html>
11465Index: libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html
11466===================================================================
9f95000d
AM
11467--- libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html (.../tags/gcc_4_7_2_release) (wersja 192468)
11468+++ libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
11469@@ -1,6 +1,6 @@
11470 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
11471-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
11472-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Diagnostics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="prev" href="bk01pt03ch19s06.html" title="Developer Information"/><link rel="next" href="mt_allocator.html" title="Chapter 20. The mt_allocator"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Diagnostics</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s06.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td align="right"> <a accesskey="n" href="mt_allocator.html">Next</a></td></tr></table><hr/></div><div class="section" title="Diagnostics"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.diagnostics"/>Diagnostics</h2></div></div></div><p>
11473+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
11474+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Diagnostics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="bk01pt03ch19s06.html" title="Developer Information" /><link rel="next" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Diagnostics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch19s06.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="mt_allocator.html">Next</a></td></tr></table><hr /></div><div class="section" title="Diagnostics"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.diagnostics"></a>Diagnostics</h2></div></div></div><p>
11475 The table below presents all the diagnostics we intend to implement.
11476 Each diagnostic has a corresponding compile time switch
11477 <code class="code">-D_GLIBCXX_PROFILE_&lt;diagnostic&gt;</code>.
11478@@ -18,24 +18,24 @@
11479 A high accuracy means that the diagnostic is unlikely to be wrong.
11480 These grades are not perfect. They are just meant to guide users with
11481 specific needs or time budgets.
11482- </p><div class="table"><a id="id511849"/><p class="title"><strong>Table 19.2. Profile Diagnostics</strong></p><div class="table-contents"><table summary="Profile Diagnostics" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left">Group</th><th style="text-align: left">Flag</th><th style="text-align: left">Benefit</th><th style="text-align: left">Cost</th><th style="text-align: left">Freq.</th><th style="text-align: left">Implemented</th><td class="auto-generated"> </td></tr></thead><tbody><tr><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers" title="Containers">
11483- CONTAINERS</a></td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small" title="Hashtable Too Small">
11484- HASHTABLE_TOO_SMALL</a></td><td style="text-align: left">10</td><td style="text-align: left">1</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">yes</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large" title="Hashtable Too Large">
11485- HASHTABLE_TOO_LARGE</a></td><td style="text-align: left">5</td><td style="text-align: left">1</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">yes</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash" title="Inefficient Hash">
11486- INEFFICIENT_HASH</a></td><td style="text-align: left">7</td><td style="text-align: left">3</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">yes</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small" title="Vector Too Small">
11487- VECTOR_TOO_SMALL</a></td><td style="text-align: left">8</td><td style="text-align: left">1</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">yes</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large" title="Vector Too Large">
11488- VECTOR_TOO_LARGE</a></td><td style="text-align: left">5</td><td style="text-align: left">1</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">yes</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable" title="Vector to Hashtable">
11489- VECTOR_TO_HASHTABLE</a></td><td style="text-align: left">7</td><td style="text-align: left">7</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">no</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector" title="Hashtable to Vector">
11490- HASHTABLE_TO_VECTOR</a></td><td style="text-align: left">7</td><td style="text-align: left">7</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">no</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list" title="Vector to List">
11491- VECTOR_TO_LIST</a></td><td style="text-align: left">8</td><td style="text-align: left">5</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">yes</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector" title="List to Vector">
11492- LIST_TO_VECTOR</a></td><td style="text-align: left">10</td><td style="text-align: left">5</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">no</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord" title="Ordered to Unordered Associative Container">
11493- ORDERED_TO_UNORDERED</a></td><td style="text-align: left">10</td><td style="text-align: left">5</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">only map/unordered_map</td></tr><tr><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms" title="Algorithms">
11494- ALGORITHMS</a></td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort" title="Sort Algorithm Performance">
11495- SORT</a></td><td style="text-align: left">7</td><td style="text-align: left">8</td><td style="text-align: left"> </td><td style="text-align: left">7</td><td style="text-align: left">no</td></tr><tr><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality" title="Data Locality">
11496- LOCALITY</a></td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch" title="Need Software Prefetch">
11497- SOFTWARE_PREFETCH</a></td><td style="text-align: left">8</td><td style="text-align: left">8</td><td style="text-align: left"> </td><td style="text-align: left">5</td><td style="text-align: left">no</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked" title="Linked Structure Locality">
11498- RBTREE_LOCALITY</a></td><td style="text-align: left">4</td><td style="text-align: left">8</td><td style="text-align: left"> </td><td style="text-align: left">5</td><td style="text-align: left">no</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share" title="False Sharing">
11499- FALSE_SHARING</a></td><td style="text-align: left">8</td><td style="text-align: left">10</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">no</td></tr></tbody></table></div></div><br class="table-break"/><div class="section" title="Diagnostic Template"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.template"/>Diagnostic Template</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11500+ </p><div class="table"><a id="id690335"></a><p class="title"><strong>Table 19.2. Profile Diagnostics</strong></p><div class="table-contents"><table summary="Profile Diagnostics" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left">Group</th><th align="left">Flag</th><th align="left">Benefit</th><th align="left">Cost</th><th align="left">Freq.</th><th align="left">Implemented</th><td class="auto-generated"> </td></tr></thead><tbody><tr><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers" title="Containers">
11501+ CONTAINERS</a></td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small" title="Hashtable Too Small">
11502+ HASHTABLE_TOO_SMALL</a></td><td align="left">10</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large" title="Hashtable Too Large">
11503+ HASHTABLE_TOO_LARGE</a></td><td align="left">5</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash" title="Inefficient Hash">
11504+ INEFFICIENT_HASH</a></td><td align="left">7</td><td align="left">3</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small" title="Vector Too Small">
11505+ VECTOR_TOO_SMALL</a></td><td align="left">8</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large" title="Vector Too Large">
11506+ VECTOR_TOO_LARGE</a></td><td align="left">5</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable" title="Vector to Hashtable">
11507+ VECTOR_TO_HASHTABLE</a></td><td align="left">7</td><td align="left">7</td><td align="left"> </td><td align="left">10</td><td align="left">no</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector" title="Hashtable to Vector">
11508+ HASHTABLE_TO_VECTOR</a></td><td align="left">7</td><td align="left">7</td><td align="left"> </td><td align="left">10</td><td align="left">no</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list" title="Vector to List">
11509+ VECTOR_TO_LIST</a></td><td align="left">8</td><td align="left">5</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector" title="List to Vector">
11510+ LIST_TO_VECTOR</a></td><td align="left">10</td><td align="left">5</td><td align="left"> </td><td align="left">10</td><td align="left">no</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord" title="Ordered to Unordered Associative Container">
11511+ ORDERED_TO_UNORDERED</a></td><td align="left">10</td><td align="left">5</td><td align="left"> </td><td align="left">10</td><td align="left">only map/unordered_map</td></tr><tr><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms" title="Algorithms">
11512+ ALGORITHMS</a></td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort" title="Sort Algorithm Performance">
11513+ SORT</a></td><td align="left">7</td><td align="left">8</td><td align="left"> </td><td align="left">7</td><td align="left">no</td></tr><tr><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality" title="Data Locality">
11514+ LOCALITY</a></td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch" title="Need Software Prefetch">
11515+ SOFTWARE_PREFETCH</a></td><td align="left">8</td><td align="left">8</td><td align="left"> </td><td align="left">5</td><td align="left">no</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked" title="Linked Structure Locality">
11516+ RBTREE_LOCALITY</a></td><td align="left">4</td><td align="left">8</td><td align="left"> </td><td align="left">5</td><td align="left">no</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share" title="False Sharing">
11517+ FALSE_SHARING</a></td><td align="left">8</td><td align="left">10</td><td align="left"> </td><td align="left">10</td><td align="left">no</td></tr></tbody></table></div></div><br class="table-break" /><div class="section" title="Diagnostic Template"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.template"></a>Diagnostic Template</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11518 <code class="code">_GLIBCXX_PROFILE_&lt;diagnostic&gt;</code>.
11519 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> What problem will it diagnose?
11520 </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>.
11521@@ -52,10 +52,10 @@
11522 ...
11523 advice sample
11524 </pre><p>
11525-</p></li></ul></div></div><div class="section" title="Containers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.containers"/>Containers</h3></div></div></div><p>
11526+</p></li></ul></div></div><div class="section" title="Containers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.containers"></a>Containers</h3></div></div></div><p>
11527 <span class="emphasis"><em>Switch:</em></span>
11528 <code class="code">_GLIBCXX_PROFILE_CONTAINERS</code>.
11529-</p><div class="section" title="Hashtable Too Small"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_too_small"/>Hashtable Too Small</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11530+</p><div class="section" title="Hashtable Too Small"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_too_small"></a>Hashtable Too Small</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11531 <code class="code">_GLIBCXX_PROFILE_HASHTABLE_TOO_SMALL</code>.
11532 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect hashtables with many
11533 rehash operations, small construction size and large destruction size.
11534@@ -81,7 +81,7 @@
11535
11536 foo.cc:1: advice: Changing initial unordered_set size from 10 to 1000000 saves 1025530 rehash operations.
11537 </pre><p>
11538-</p></li></ul></div></div><div class="section" title="Hashtable Too Large"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_too_large"/>Hashtable Too Large</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11539+</p></li></ul></div></div><div class="section" title="Hashtable Too Large"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_too_large"></a>Hashtable Too Large</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11540 <code class="code">_GLIBCXX_PROFILE_HASHTABLE_TOO_LARGE</code>.
11541 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect hashtables which are
11542 never filled up because fewer elements than reserved are ever
11543@@ -110,7 +110,7 @@
11544 foo.cc:1: advice: Changing initial unordered_set size from 100 to 10 saves N
11545 bytes of memory and M iteration steps.
11546 </pre><p>
11547-</p></li></ul></div></div><div class="section" title="Inefficient Hash"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.inefficient_hash"/>Inefficient Hash</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11548+</p></li></ul></div></div><div class="section" title="Inefficient Hash"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.inefficient_hash"></a>Inefficient Hash</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11549 <code class="code">_GLIBCXX_PROFILE_INEFFICIENT_HASH</code>.
11550 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect hashtables with polarized
11551 distribution.
11552@@ -141,7 +141,7 @@
11553 hs.find(i);
11554 }
11555 </pre><p>
11556-</p></li></ul></div></div><div class="section" title="Vector Too Small"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_too_small"/>Vector Too Small</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11557+</p></li></ul></div></div><div class="section" title="Vector Too Small"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_too_small"></a>Vector Too Small</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11558 <code class="code">_GLIBCXX_PROFILE_VECTOR_TOO_SMALL</code>.
11559 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span>Detect vectors with many
11560 resize operations, small construction size and large destruction size..
11561@@ -166,7 +166,7 @@
11562 foo.cc:1: advice: Changing initial vector size from 10 to 1000000 saves
11563 copying 4000000 bytes and 20 memory allocations and deallocations.
11564 </pre><p>
11565-</p></li></ul></div></div><div class="section" title="Vector Too Large"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_too_large"/>Vector Too Large</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11566+</p></li></ul></div></div><div class="section" title="Vector Too Large"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_too_large"></a>Vector Too Large</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11567 <code class="code">_GLIBCXX_PROFILE_VECTOR_TOO_LARGE</code>
11568 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span>Detect vectors which are
11569 never filled up because fewer elements than reserved are ever
11570@@ -192,7 +192,7 @@
11571 foo.cc:1: advice: Changing initial vector size from 100 to 10 saves N
11572 bytes of memory and may reduce the number of cache and TLB misses.
11573 </pre><p>
11574-</p></li></ul></div></div><div class="section" title="Vector to Hashtable"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_to_hashtable"/>Vector to Hashtable</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11575+</p></li></ul></div></div><div class="section" title="Vector to Hashtable"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_to_hashtable"></a>Vector to Hashtable</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11576 <code class="code">_GLIBCXX_PROFILE_VECTOR_TO_HASHTABLE</code>.
11577 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect uses of
11578 <code class="code">vector</code> that can be substituted with <code class="code">unordered_set</code>
11579@@ -223,7 +223,7 @@
11580 foo.cc:1: advice: Changing "vector" to "unordered_set" will save about 500,000
11581 comparisons.
11582 </pre><p>
11583-</p></li></ul></div></div><div class="section" title="Hashtable to Vector"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_to_vector"/>Hashtable to Vector</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11584+</p></li></ul></div></div><div class="section" title="Hashtable to Vector"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_to_vector"></a>Hashtable to Vector</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11585 <code class="code">_GLIBCXX_PROFILE_HASHTABLE_TO_VECTOR</code>.
11586 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect uses of
11587 <code class="code">unordered_set</code> that can be substituted with <code class="code">vector</code>
11588@@ -252,7 +252,7 @@
11589 foo.cc:1: advice: Changing "unordered_set" to "vector" will save about N
11590 indirections and may achieve better data locality.
11591 </pre><p>
11592-</p></li></ul></div></div><div class="section" title="Vector to List"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_to_list"/>Vector to List</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11593+</p></li></ul></div></div><div class="section" title="Vector to List"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_to_list"></a>Vector to List</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11594 <code class="code">_GLIBCXX_PROFILE_VECTOR_TO_LIST</code>.
11595 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect cases where
11596 <code class="code">vector</code> could be substituted with <code class="code">list</code> for
11597@@ -282,7 +282,7 @@
11598 foo.cc:1: advice: Changing "vector" to "list" will save about 5,000,000
11599 operations.
11600 </pre><p>
11601-</p></li></ul></div></div><div class="section" title="List to Vector"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.list_to_vector"/>List to Vector</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11602+</p></li></ul></div></div><div class="section" title="List to Vector"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.list_to_vector"></a>List to Vector</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11603 <code class="code">_GLIBCXX_PROFILE_LIST_TO_VECTOR</code>.
11604 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect cases where
11605 <code class="code">list</code> could be substituted with <code class="code">vector</code> for
11606@@ -309,7 +309,7 @@
11607 foo.cc:1: advice: Changing "list" to "vector" will save about 1000000 indirect
11608 memory references.
11609 </pre><p>
11610-</p></li></ul></div></div><div class="section" title="List to Forward List (Slist)"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.list_to_slist"/>List to Forward List (Slist)</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11611+</p></li></ul></div></div><div class="section" title="List to Forward List (Slist)"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.list_to_slist"></a>List to Forward List (Slist)</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11612 <code class="code">_GLIBCXX_PROFILE_LIST_TO_SLIST</code>.
11613 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect cases where
11614 <code class="code">list</code> could be substituted with <code class="code">forward_list</code> for
11615@@ -339,7 +339,7 @@
11616
11617 foo.cc:1: advice: Change "list" to "forward_list".
11618 </pre><p>
11619-</p></li></ul></div></div><div class="section" title="Ordered to Unordered Associative Container"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.assoc_ord_to_unord"/>Ordered to Unordered Associative Container</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11620+</p></li></ul></div></div><div class="section" title="Ordered to Unordered Associative Container"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.assoc_ord_to_unord"></a>Ordered to Unordered Associative Container</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11621 <code class="code">_GLIBCXX_PROFILE_ORDERED_TO_UNORDERED</code>.
11622 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect cases where ordered
11623 associative containers can be replaced with unordered ones.
11624@@ -366,18 +366,18 @@
11625 7 sum += *s.find(i);
11626 8 }
11627 </pre><p>
11628-</p></li></ul></div></div></div><div class="section" title="Algorithms"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.algorithms"/>Algorithms</h3></div></div></div><p><span class="emphasis"><em>Switch:</em></span>
11629+</p></li></ul></div></div></div><div class="section" title="Algorithms"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.algorithms"></a>Algorithms</h3></div></div></div><p><span class="emphasis"><em>Switch:</em></span>
11630 <code class="code">_GLIBCXX_PROFILE_ALGORITHMS</code>.
11631- </p><div class="section" title="Sort Algorithm Performance"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.algorithms.sort"/>Sort Algorithm Performance</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11632+ </p><div class="section" title="Sort Algorithm Performance"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.algorithms.sort"></a>Sort Algorithm Performance</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11633 <code class="code">_GLIBCXX_PROFILE_SORT</code>.
11634 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Give measure of sort algorithm
11635 performance based on actual input. For instance, advise Radix Sort over
11636 Quick Sort for a particular call context.
11637 </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>
11638 See papers:
11639- <a class="link" href="http://portal.acm.org/citation.cfm?doid=1065944.1065981">
11640+ <a class="link" href="http://portal.acm.org/citation.cfm?doid=1065944.1065981" target="_top">
11641 A framework for adaptive algorithm selection in STAPL</a> and
11642- <a class="link" href="http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=4228227">
11643+ <a class="link" href="http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=4228227" target="_top">
11644 Optimizing Sorting with Machine Learning Algorithms</a>.
11645 </p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>60%.
11646 </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span> Change sort algorithm
11647@@ -389,9 +389,9 @@
11648 Runtime(algo) for algo in [radix, quick, merge, ...]</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
11649 </p><pre class="programlisting">
11650 </pre><p>
11651-</p></li></ul></div></div></div><div class="section" title="Data Locality"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.locality"/>Data Locality</h3></div></div></div><p><span class="emphasis"><em>Switch:</em></span>
11652+</p></li></ul></div></div></div><div class="section" title="Data Locality"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.locality"></a>Data Locality</h3></div></div></div><p><span class="emphasis"><em>Switch:</em></span>
11653 <code class="code">_GLIBCXX_PROFILE_LOCALITY</code>.
11654- </p><div class="section" title="Need Software Prefetch"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.locality.sw_prefetch"/>Need Software Prefetch</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11655+ </p><div class="section" title="Need Software Prefetch"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.locality.sw_prefetch"></a>Need Software Prefetch</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11656 <code class="code">_GLIBCXX_PROFILE_SOFTWARE_PREFETCH</code>.
11657 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Discover sequences of indirect
11658 memory accesses that are not regular, thus cannot be predicted by
11659@@ -434,7 +434,7 @@
11660
11661 foo.cc:7: advice: Insert prefetch instruction.
11662 </pre><p>
11663-</p></li></ul></div></div><div class="section" title="Linked Structure Locality"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.locality.linked"/>Linked Structure Locality</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11664+</p></li></ul></div></div><div class="section" title="Linked Structure Locality"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.locality.linked"></a>Linked Structure Locality</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11665 <code class="code">_GLIBCXX_PROFILE_RBTREE_LOCALITY</code>.
11666 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Give measure of locality of
11667 objects stored in linked structures (lists, red-black trees and hashtables)
11668@@ -442,7 +442,7 @@
11669 </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>Allocation can be tuned
11670 to a specific traversal pattern, to result in better data locality.
11671 See paper:
11672- <a class="link" href="http://www.springerlink.com/content/8085744l00x72662/">
11673+ <a class="link" href="http://www.springerlink.com/content/8085744l00x72662/" target="_top">
11674 Custom Memory Allocation for Free</a>.
11675 </p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>30%.
11676 </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>
11677@@ -479,13 +479,13 @@
11678 foo.cc:5: advice: High scatter score NNN for set built here. Consider changing
11679 the allocation sequence or switching to a structure conscious allocator.
11680 </pre><p>
11681-</p></li></ul></div></div></div><div class="section" title="Multithreaded Data Access"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.mthread"/>Multithreaded Data Access</h3></div></div></div><p>
11682+</p></li></ul></div></div></div><div class="section" title="Multithreaded Data Access"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.mthread"></a>Multithreaded Data Access</h3></div></div></div><p>
11683 The diagnostics in this group are not meant to be implemented short term.
11684 They require compiler support to know when container elements are written
11685 to. Instrumentation can only tell us when elements are referenced.
11686 </p><p><span class="emphasis"><em>Switch:</em></span>
11687 <code class="code">_GLIBCXX_PROFILE_MULTITHREADED</code>.
11688- </p><div class="section" title="Data Dependence Violations at Container Level"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.mthread.ddtest"/>Data Dependence Violations at Container Level</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11689+ </p><div class="section" title="Data Dependence Violations at Container Level"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.mthread.ddtest"></a>Data Dependence Violations at Container Level</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11690 <code class="code">_GLIBCXX_PROFILE_DDTEST</code>.
11691 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect container elements
11692 that are referenced from multiple threads in the parallel region or
11693@@ -501,7 +501,7 @@
11694 Keep a shadow for each container. Record iterator dereferences and
11695 container member accesses. Issue advice for elements referenced by
11696 multiple threads.
11697- See paper: <a class="link" href="http://portal.acm.org/citation.cfm?id=207110.207148">
11698+ See paper: <a class="link" href="http://portal.acm.org/citation.cfm?id=207110.207148" target="_top">
11699 The LRPD test: speculative run-time parallelization of loops with
11700 privatization and reduction parallelization</a>.
11701 </p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
11702@@ -509,7 +509,7 @@
11703 </p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
11704 </p><pre class="programlisting">
11705 </pre><p>
11706-</p></li></ul></div></div><div class="section" title="False Sharing"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.mthread.false_share"/>False Sharing</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11707+</p></li></ul></div></div><div class="section" title="False Sharing"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.mthread.false_share"></a>False Sharing</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
11708 <code class="code">_GLIBCXX_PROFILE_FALSE_SHARING</code>.
11709 </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect elements in the
11710 same container which share a cache line, are written by at least one
11711@@ -542,7 +542,7 @@
11712 foo.cc:1: advice: Change container structure or padding to avoid false
11713 sharing in multithreaded access at foo.cc:4. Detected N shared cache lines.
11714 </pre><p>
11715-</p></li></ul></div></div></div><div class="section" title="Statistics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.statistics"/>Statistics</h3></div></div></div><p>
11716+</p></li></ul></div></div></div><div class="section" title="Statistics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.statistics"></a>Statistics</h3></div></div></div><p>
11717 <span class="emphasis"><em>Switch:</em></span>
11718 <code class="code">_GLIBCXX_PROFILE_STATISTICS</code>.
11719 </p><p>
11720@@ -555,4 +555,4 @@
11721 This diagnostic will not issue any advice, but it will print statistics for
11722 each container construction site. The statistics will contain the cost
11723 of each operation actually performed on the container.
11724-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s06.html">Prev</a> </td><td align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="mt_allocator.html">Next</a></td></tr><tr><td align="left" valign="top">Developer Information </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 20. The mt_allocator</td></tr></table></div></body></html>
11725+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch19s06.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="mt_allocator.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Developer Information </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 20. The mt_allocator</td></tr></table></div></body></html>
11726Index: libstdc++-v3/doc/html/manual/source_organization.html
11727===================================================================
9f95000d
AM
11728--- libstdc++-v3/doc/html/manual/source_organization.html (.../tags/gcc_4_7_2_release) (wersja 192468)
11729+++ libstdc++-v3/doc/html/manual/source_organization.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
11730@@ -1,97 +1,97 @@
11731 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
11732-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
11733-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Directory Layout and Source Conventions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing"/><link rel="prev" href="appendix_contributing.html" title="Appendix A.  Contributing"/><link rel="next" href="source_code_style.html" title="Coding Style"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Directory Layout and Source Conventions</th></tr><tr><td align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
11734+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
11735+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Directory Layout and Source Conventions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="next" href="source_code_style.html" title="Coding Style" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Directory Layout and Source Conventions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
11736 Contributing
11737
11738-</th><td align="right"> <a accesskey="n" href="source_code_style.html">Next</a></td></tr></table><hr/></div><div class="section" title="Directory Layout and Source Conventions"><div class="titlepage"><div><div><h2 class="title"><a id="contrib.organization"/>Directory Layout and Source Conventions</h2></div></div></div><p>
11739+</th><td width="20%" align="right"> <a accesskey="n" href="source_code_style.html">Next</a></td></tr></table><hr /></div><div class="section" title="Directory Layout and Source Conventions"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.organization"></a>Directory Layout and Source Conventions</h2></div></div></div><p>
11740 The unpacked source directory of libstdc++ contains the files
11741 needed to create the GNU C++ Library.
11742- </p><div class="literallayout"><p><br/>
11743-It has subdirectories:<br/>
11744-<br/>
11745-  doc<br/>
11746-    Files in HTML and text format that document usage, quirks of the<br/>
11747-    implementation, and contributor checklists.<br/>
11748-<br/>
11749-  include<br/>
11750-    All header files for the C++ library are within this directory,<br/>
11751-    modulo specific runtime-related files that are in the libsupc++<br/>
11752-    directory.<br/>
11753-<br/>
11754-    include/std<br/>
11755-      Files meant to be found by #include &lt;name&gt; directives in<br/>
11756-      standard-conforming user programs.<br/>
11757-<br/>
11758-    include/c<br/>
11759-      Headers intended to directly include standard C headers.<br/>
11760-      [NB: this can be enabled via --enable-cheaders=c]<br/>
11761-<br/>
11762-    include/c_global<br/>
11763-      Headers intended to include standard C headers in<br/>
11764-      the global namespace, and put select names into the std::<br/>
11765-      namespace.  [NB: this is the default, and is the same as<br/>
11766-      --enable-cheaders=c_global]<br/>
11767-<br/>
11768-    include/c_std<br/>
11769-      Headers intended to include standard C headers<br/>
11770-      already in namespace std, and put select names into the std::<br/>
11771-      namespace.  [NB: this is the same as --enable-cheaders=c_std]<br/>
11772-<br/>
11773-    include/bits<br/>
11774-      Files included by standard headers and by other files in<br/>
11775-      the bits directory.<br/>
11776-<br/>
11777-    include/backward<br/>
11778-      Headers provided for backward compatibility, such as &lt;iostream.h&gt;.<br/>
11779-      They are not used in this library.<br/>
11780-<br/>
11781-    include/ext<br/>
11782-      Headers that define extensions to the standard library.  No<br/>
11783-      standard header refers to any of them.<br/>
11784-<br/>
11785-  scripts<br/>
11786-    Scripts that are used during the configure, build, make, or test<br/>
11787-    process.<br/>
11788-<br/>
11789-  src<br/>
11790-    Files that are used in constructing the library, but are not<br/>
11791-    installed.<br/>
11792-<br/>
11793-  testsuites/[backward, demangle, ext, performance, thread, 17_* to 30_*]<br/>
11794-    Test programs are here, and may be used to begin to exercise the<br/>
11795-    library.  Support for "make check" and "make check-install" is<br/>
11796-    complete, and runs through all the subdirectories here when this<br/>
11797-    command is issued from the build directory.  Please note that<br/>
11798-    "make check" requires DejaGNU 1.4 or later to be installed.  Please<br/>
11799-    note that "make check-script" calls the script mkcheck, which<br/>
11800-    requires bash, and which may need the paths to bash adjusted to<br/>
11801-    work properly, as /bin/bash is assumed.<br/>
11802-<br/>
11803-Other subdirectories contain variant versions of certain files<br/>
11804-that are meant to be copied or linked by the configure script.<br/>
11805-Currently these are:<br/>
11806-<br/>
11807-  config/abi<br/>
11808-  config/cpu<br/>
11809-  config/io<br/>
11810-  config/locale<br/>
11811-  config/os<br/>
11812-<br/>
11813-In addition, a subdirectory holds the convenience library libsupc++.<br/>
11814-<br/>
11815-  libsupc++<br/>
11816-    Contains the runtime library for C++, including exception<br/>
11817-    handling and memory allocation and deallocation, RTTI, terminate<br/>
11818-    handlers, etc.<br/>
11819-<br/>
11820-Note that glibc also has a bits/ subdirectory.  We will either<br/>
11821-need to be careful not to collide with names in its bits/<br/>
11822-directory; or rename bits to (e.g.) cppbits/.<br/>
11823-<br/>
11824-In files throughout the system, lines marked with an "XXX" indicate<br/>
11825-a bug or incompletely-implemented feature.  Lines marked "XXX MT"<br/>
11826-indicate a place that may require attention for multi-thread safety.<br/>
11827-  </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_contributing.html">Up</a></td><td align="right"> <a accesskey="n" href="source_code_style.html">Next</a></td></tr><tr><td align="left" valign="top">Appendix A. 
11828+ </p><div class="literallayout"><p><br />
11829+It has subdirectories:<br />
11830+<br />
11831+  doc<br />
11832+    Files in HTML and text format that document usage, quirks of the<br />
11833+    implementation, and contributor checklists.<br />
11834+<br />
11835+  include<br />
11836+    All header files for the C++ library are within this directory,<br />
11837+    modulo specific runtime-related files that are in the libsupc++<br />
11838+    directory.<br />
11839+<br />
11840+    include/std<br />
11841+      Files meant to be found by #include &lt;name&gt; directives in<br />
11842+      standard-conforming user programs.<br />
11843+<br />
11844+    include/c<br />
11845+      Headers intended to directly include standard C headers.<br />
11846+      [NB: this can be enabled via --enable-cheaders=c]<br />
11847+<br />
11848+    include/c_global<br />
11849+      Headers intended to include standard C headers in<br />
11850+      the global namespace, and put select names into the std::<br />
11851+      namespace.  [NB: this is the default, and is the same as<br />
11852+      --enable-cheaders=c_global]<br />
11853+<br />
11854+    include/c_std<br />
11855+      Headers intended to include standard C headers<br />
11856+      already in namespace std, and put select names into the std::<br />
11857+      namespace.  [NB: this is the same as --enable-cheaders=c_std]<br />
11858+<br />
11859+    include/bits<br />
11860+      Files included by standard headers and by other files in<br />
11861+      the bits directory.<br />
11862+<br />
11863+    include/backward<br />
11864+      Headers provided for backward compatibility, such as &lt;iostream.h&gt;.<br />
11865+      They are not used in this library.<br />
11866+<br />
11867+    include/ext<br />
11868+      Headers that define extensions to the standard library.  No<br />
11869+      standard header refers to any of them.<br />
11870+<br />
11871+  scripts<br />
11872+    Scripts that are used during the configure, build, make, or test<br />
11873+    process.<br />
11874+<br />
11875+  src<br />
11876+    Files that are used in constructing the library, but are not<br />
11877+    installed.<br />
11878+<br />
11879+  testsuites/[backward, demangle, ext, performance, thread, 17_* to 30_*]<br />
11880+    Test programs are here, and may be used to begin to exercise the<br />
11881+    library.  Support for "make check" and "make check-install" is<br />
11882+    complete, and runs through all the subdirectories here when this<br />
11883+    command is issued from the build directory.  Please note that<br />
11884+    "make check" requires DejaGNU 1.4 or later to be installed.  Please<br />
11885+    note that "make check-script" calls the script mkcheck, which<br />
11886+    requires bash, and which may need the paths to bash adjusted to<br />
11887+    work properly, as /bin/bash is assumed.<br />
11888+<br />
11889+Other subdirectories contain variant versions of certain files<br />
11890+that are meant to be copied or linked by the configure script.<br />
11891+Currently these are:<br />
11892+<br />
11893+  config/abi<br />
11894+  config/cpu<br />
11895+  config/io<br />
11896+  config/locale<br />
11897+  config/os<br />
11898+<br />
11899+In addition, a subdirectory holds the convenience library libsupc++.<br />
11900+<br />
11901+  libsupc++<br />
11902+    Contains the runtime library for C++, including exception<br />
11903+    handling and memory allocation and deallocation, RTTI, terminate<br />
11904+    handlers, etc.<br />
11905+<br />
11906+Note that glibc also has a bits/ subdirectory.  We will either<br />
11907+need to be careful not to collide with names in its bits/<br />
11908+directory; or rename bits to (e.g.) cppbits/.<br />
11909+<br />
11910+In files throughout the system, lines marked with an "XXX" indicate<br />
11911+a bug or incompletely-implemented feature.  Lines marked "XXX MT"<br />
11912+indicate a place that may require attention for multi-thread safety.<br />
11913+  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_contributing.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="source_code_style.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix A. 
11914 Contributing
11915
11916- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Coding Style</td></tr></table></div></body></html>
11917+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Coding Style</td></tr></table></div></body></html>
11918Index: libstdc++-v3/doc/html/manual/fstreams.html
11919===================================================================
9f95000d
AM
11920--- libstdc++-v3/doc/html/manual/fstreams.html (.../tags/gcc_4_7_2_release) (wersja 192468)
11921+++ libstdc++-v3/doc/html/manual/fstreams.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
11922@@ -1,9 +1,9 @@
11923 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
11924-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
11925-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>File Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="io.html" title="Chapter 13.  Input and Output"/><link rel="prev" href="stringstreams.html" title="Memory Based Streams"/><link rel="next" href="io_and_c.html" title="Interacting with C"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">File Based Streams</th></tr><tr><td align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
11926+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
11927+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>File Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="stringstreams.html" title="Memory Based Streams" /><link rel="next" href="io_and_c.html" title="Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">File Based Streams</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
11928 Input and Output
11929
11930-</th><td align="right"> <a accesskey="n" href="io_and_c.html">Next</a></td></tr></table><hr/></div><div class="section" title="File Based Streams"><div class="titlepage"><div><div><h2 class="title"><a id="std.io.filestreams"/>File Based Streams</h2></div></div></div><div class="section" title="Copying a File"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.filestreams.copying_a_file"/>Copying a File</h3></div></div></div><p>
11931+</th><td width="20%" align="right"> <a accesskey="n" href="io_and_c.html">Next</a></td></tr></table><hr /></div><div class="section" title="File Based Streams"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.filestreams"></a>File Based Streams</h2></div></div></div><div class="section" title="Copying a File"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.filestreams.copying_a_file"></a>Copying a File</h3></div></div></div><p>
11932 </p><p>So you want to copy a file quickly and easily, and most important,
11933 completely portably. And since this is C++, you have an open
11934 ifstream (call it IN) and an open ofstream (call it OUT):
11935@@ -49,7 +49,7 @@
11936 The operators shown above are all defined in the parent
11937 basic_ostream class and are therefore available with all possible
11938 descendants.
11939- </p></div><div class="section" title="Binary Input and Output"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.filestreams.binary"/>Binary Input and Output</h3></div></div></div><p>
11940+ </p></div><div class="section" title="Binary Input and Output"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.filestreams.binary"></a>Binary Input and Output</h3></div></div></div><p>
11941 </p><p>The first and most important thing to remember about binary I/O is
11942 that opening a file with <code class="code">ios::binary</code> is not, repeat
11943 <span class="emphasis"><em>not</em></span>, the only thing you have to do. It is not a silver
11944@@ -87,7 +87,7 @@
11945 of <span class="emphasis"><em>formatting</em></span> functions and classes to perform something
11946 which <span class="emphasis"><em>requires</em></span> that formatting not be done? There are a
11947 seemingly infinite number of solutions, and a few are listed here:
11948- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="quote">“<span class="quote">Derive your own fstream-type classes and write your own
11949+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="quote">“<span class="quote">Derive your own fstream-type classes and write your own
11950 &lt;&lt;/&gt;&gt; operators to do binary I/O on whatever data
11951 types you're using.</span>”</span>
11952 </p><p>
11953@@ -138,7 +138,7 @@
11954 </p><p>
11955 An instructive thread from comp.lang.c++.moderated delved off into
11956 this topic starting more or less at
11957- <a class="link" href="http://groups.google.com/group/comp.std.c++/browse_thread/thread/f87b4abd7954a87/946a3eb9921e382d?q=comp.std.c%2B%2B+binary+iostream#946a3eb9921e382d">this</a>
11958+ <a class="link" href="http://groups.google.com/group/comp.std.c++/browse_thread/thread/f87b4abd7954a87/946a3eb9921e382d?q=comp.std.c%2B%2B+binary+iostream#946a3eb9921e382d" target="_top">this</a>
11959 post and continuing to the end of the thread. (The subject heading is "binary iostreams" on both comp.std.c++
11960 and comp.lang.c++.moderated.) Take special note of the replies by James Kanze and Dietmar Kühl.
11961 </p><p>Briefly, the problems of byte ordering and type sizes mean that
11962@@ -147,4 +147,4 @@
11963 between arbitrary programs, or across a network, or from one
11964 invocation of a program to another invocation of the same program
11965 on a different platform, etc.
11966- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><td align="center"><a accesskey="u" href="io.html">Up</a></td><td align="right"> <a accesskey="n" href="io_and_c.html">Next</a></td></tr><tr><td align="left" valign="top">Memory Based Streams </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Interacting with C</td></tr></table></div></body></html>
11967+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="io.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="io_and_c.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Memory Based Streams </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Interacting with C</td></tr></table></div></body></html>
11968Index: libstdc++-v3/doc/html/manual/ext_demangling.html
11969===================================================================
9f95000d
AM
11970--- libstdc++-v3/doc/html/manual/ext_demangling.html (.../tags/gcc_4_7_2_release) (wersja 192468)
11971+++ libstdc++-v3/doc/html/manual/ext_demangling.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
11972@@ -1,14 +1,14 @@
11973 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
11974-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
11975-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 29. Demangling</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_io.html" title="Chapter 28. Input and Output"/><link rel="next" href="ext_concurrency.html" title="Chapter 30. Concurrency"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 29. Demangling</th></tr><tr><td align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><th width="60%" align="center">Part III. 
11976+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
11977+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 29. Demangling</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_io.html" title="Chapter 28. Input and Output" /><link rel="next" href="ext_concurrency.html" title="Chapter 30. Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 29. Demangling</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><th width="60%" align="center">Part III. 
11978 Extensions
11979
11980-</th><td align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 29. Demangling"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.demangle"/>Chapter 29. Demangling</h2></div></div></div><p>
11981+</th><td width="20%" align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 29. Demangling"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.demangle"></a>Chapter 29. Demangling</h2></div></div></div><p>
11982 Transforming C++ ABI identifiers (like RTTI symbols) into the
11983 original C++ source identifiers is called
11984 <span class="quote">“<span class="quote">demangling.</span>”</span>
11985 </p><p>
11986- If you have read the <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01115.html">source
11987+ If you have read the <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01115.html" target="_top">source
11988 documentation for <code class="code">namespace abi</code></a> then you are
11989 aware of the cross-vendor C++ ABI in use by GCC. One of the
11990 exposed functions is used for demangling,
11991@@ -71,4 +71,4 @@
11992 be writing C++ in order to demangle C++. (That also means we have to
11993 use crummy memory management facilities, so don't forget to free()
11994 the returned char array.)
11995- </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 28. Input and Output </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 30. Concurrency</td></tr></table></div></body></html>
11996+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 28. Input and Output </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 30. Concurrency</td></tr></table></div></body></html>
11997Index: libstdc++-v3/doc/html/manual/ext_compile_checks.html
11998===================================================================
9f95000d
AM
11999--- libstdc++-v3/doc/html/manual/ext_compile_checks.html (.../tags/gcc_4_7_2_release) (wersja 192468)
12000+++ libstdc++-v3/doc/html/manual/ext_compile_checks.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
12001@@ -1,9 +1,9 @@
12002 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
12003-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
12004-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 16. Compile Time Checks</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03pr01.html" title=""/><link rel="next" href="debug_mode.html" title="Chapter 17. Debug Mode"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 16. Compile Time Checks</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03pr01.html">Prev</a> </td><th width="60%" align="center">Part III. 
12005+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
12006+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 16. Compile Time Checks</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03pr01.html" title="" /><link rel="next" href="debug_mode.html" title="Chapter 17. Debug Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 16. Compile Time Checks</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03pr01.html">Prev</a> </td><th width="60%" align="center">Part III. 
12007 Extensions
12008
12009-</th><td align="right"> <a accesskey="n" href="debug_mode.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 16. Compile Time Checks"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.compile_checks"/>Chapter 16. Compile Time Checks</h2></div></div></div><p>
12010+</th><td width="20%" align="right"> <a accesskey="n" href="debug_mode.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 16. Compile Time Checks"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.compile_checks"></a>Chapter 16. Compile Time Checks</h2></div></div></div><p>
12011 Also known as concept checking.
12012 </p><p>In 1999, SGI added <span class="emphasis"><em>concept checkers</em></span> to their implementation
12013 of the STL: code which checked the template parameters of
12014@@ -19,7 +19,7 @@
12015 </p><p>The primary author of the checking code, Jeremy Siek, had already
12016 started work on a replacement implementation. The new code has been
12017 formally reviewed and accepted into
12018- <a class="link" href="http://www.boost.org/libs/concept_check/concept_check.htm">the
12019+ <a class="link" href="http://www.boost.org/libs/concept_check/concept_check.htm" target="_top">the
12020 Boost libraries</a>, and we are pleased to incorporate it into the
12021 GNU C++ library.
12022 </p><p>The new version imposes a much smaller space overhead on the generated
12023@@ -37,4 +37,4 @@
12024 support for template parameter constraints based on concepts in the core
12025 language. This will obviate the need for the library-simulated concept
12026 checking described above.
12027- </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03pr01.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="debug_mode.html">Next</a></td></tr><tr><td align="left" valign="top"> </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 17. Debug Mode</td></tr></table></div></body></html>
12028+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03pr01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="debug_mode.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 17. Debug Mode</td></tr></table></div></body></html>
12029Index: libstdc++-v3/doc/html/manual/strings.html
12030===================================================================
9f95000d
AM
12031--- libstdc++-v3/doc/html/manual/strings.html (.../tags/gcc_4_7_2_release) (wersja 192468)
12032+++ libstdc++-v3/doc/html/manual/strings.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
12033@@ -1,14 +1,14 @@
12034 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
12035-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
12036-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 7.  Strings</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="traits.html" title="Traits"/><link rel="next" href="localization.html" title="Chapter 8.  Localization"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 7. 
12037+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
12038+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 7.  Strings</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="traits.html" title="Traits" /><link rel="next" href="localization.html" title="Chapter 8.  Localization" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 7. 
12039 Strings
12040
12041-</th></tr><tr><td align="left"><a accesskey="p" href="traits.html">Prev</a> </td><th width="60%" align="center">Part II. 
12042+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="traits.html">Prev</a> </td><th width="60%" align="center">Part II. 
12043 Standard Contents
12044- </th><td align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 7.  Strings"><div class="titlepage"><div><div><h2 class="title"><a id="std.strings"/>Chapter 7. 
12045+ </th><td width="20%" align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 7.  Strings"><div class="titlepage"><div><div><h2 class="title"><a id="std.strings"></a>Chapter 7. 
12046 Strings
12047- <a id="id499563" class="indexterm"/>
12048-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></div><div class="section" title="String Classes"><div class="titlepage"><div><div><h2 class="title"><a id="std.strings.string"/>String Classes</h2></div></div></div><div class="section" title="Simple Transformations"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.simple"/>Simple Transformations</h3></div></div></div><p>
12049+ <a id="id678049" class="indexterm"></a>
12050+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></div><div class="section" title="String Classes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.strings.string"></a>String Classes</h2></div></div></div><div class="section" title="Simple Transformations"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.simple"></a>Simple Transformations</h3></div></div></div><p>
12051 Here are Standard, simple, and portable ways to perform common
12052 transformations on a <code class="code">string</code> instance, such as
12053 "convert to all upper case." The word transformations
12054@@ -64,7 +64,7 @@
12055 are overloaded names (declared in <code class="code">&lt;cctype&gt;</code> and
12056 <code class="code">&lt;locale&gt;</code>) so the template-arguments for
12057 <code class="code">transform&lt;&gt;</code> cannot be deduced, as explained in
12058- <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-11/msg00180.html">this
12059+ <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-11/msg00180.html" target="_top">this
12060 message</a>.
12061
12062 At minimum, you can write short wrappers like
12063@@ -89,9 +89,9 @@
12064 str.erase(notwhite+1); </pre><p>Obviously, the calls to <code class="code">find</code> could be inserted directly
12065 into the calls to <code class="code">erase</code>, in case your compiler does not
12066 optimize named temporaries out of existence.
12067- </p></div><div class="section" title="Case Sensitivity"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.case"/>Case Sensitivity</h3></div></div></div><p>
12068+ </p></div><div class="section" title="Case Sensitivity"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.case"></a>Case Sensitivity</h3></div></div></div><p>
12069 </p><p>The well-known-and-if-it-isn't-well-known-it-ought-to-be
12070- <a class="link" href="http://www.gotw.ca/gotw/">Guru of the Week</a>
12071+ <a class="link" href="http://www.gotw.ca/gotw/" target="_top">Guru of the Week</a>
12072 discussions held on Usenet covered this topic in January of 1998.
12073 Briefly, the challenge was, <span class="quote">“<span class="quote">write a 'ci_string' class which
12074 is identical to the standard 'string' class, but is
12075@@ -108,10 +108,10 @@
12076 assert( strcmp( s.c_str(), "AbCdE" ) == 0 );
12077 assert( strcmp( s.c_str(), "abcde" ) != 0 ); </pre><p>The solution is surprisingly easy. The original answer was
12078 posted on Usenet, and a revised version appears in Herb Sutter's
12079- book <span class="emphasis"><em>Exceptional C++</em></span> and on his website as <a class="link" href="http://www.gotw.ca/gotw/029.htm">GotW 29</a>.
12080+ book <span class="emphasis"><em>Exceptional C++</em></span> and on his website as <a class="link" href="http://www.gotw.ca/gotw/029.htm" target="_top">GotW 29</a>.
12081 </p><p>See? Told you it was easy!</p><p>
12082 <span class="emphasis"><em>Added June 2000:</em></span> The May 2000 issue of C++
12083- Report contains a fascinating <a class="link" href="http://lafstern.org/matt/col2_new.pdf"> article</a> by
12084+ Report contains a fascinating <a class="link" href="http://lafstern.org/matt/col2_new.pdf" target="_top"> article</a> by
12085 Matt Austern (yes, <span class="emphasis"><em>the</em></span> Matt Austern) on why
12086 case-insensitive comparisons are not as easy as they seem, and
12087 why creating a class is the <span class="emphasis"><em>wrong</em></span> way to go
12088@@ -123,10 +123,10 @@
12089 that nobody ever called me on it...) The GotW question and answer
12090 remain useful instructional tools, however.
12091 </p><p><span class="emphasis"><em>Added September 2000:</em></span> James Kanze provided a link to a
12092- <a class="link" href="http://www.unicode.org/reports/tr21/tr21-5.html">Unicode
12093+ <a class="link" href="http://www.unicode.org/reports/tr21/tr21-5.html" target="_top">Unicode
12094 Technical Report discussing case handling</a>, which provides some
12095 very good information.
12096- </p></div><div class="section" title="Arbitrary Character Types"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.character_types"/>Arbitrary Character Types</h3></div></div></div><p>
12097+ </p></div><div class="section" title="Arbitrary Character Types"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.character_types"></a>Arbitrary Character Types</h3></div></div></div><p>
12098 </p><p>The <code class="code">std::basic_string</code> is tantalizingly general, in that
12099 it is parameterized on the type of the characters which it holds.
12100 In theory, you could whip up a Unicode character class and instantiate
12101@@ -169,18 +169,18 @@
12102 works and can be specialized even for <code class="code">int</code> and other
12103 built-in types.
12104 </p><p>If you want to use your own special character class, then you have
12105- <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00163.html">a lot
12106+ <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00163.html" target="_top">a lot
12107 of work to do</a>, especially if you with to use i18n features
12108 (facets require traits information but don't have a traits argument).
12109- </p><p>Another example of how to specialize char_traits was given <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00260.html">on the
12110+ </p><p>Another example of how to specialize char_traits was given <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00260.html" target="_top">on the
12111 mailing list</a> and at a later date was put into the file <code class="code">
12112 include/ext/pod_char_traits.h</code>. We agree
12113 that the way it's used with basic_string (scroll down to main())
12114- doesn't look nice, but that's because <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00236.html">the
12115- nice-looking first attempt</a> turned out to <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00242.html">not
12116+ doesn't look nice, but that's because <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00236.html" target="_top">the
12117+ nice-looking first attempt</a> turned out to <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00242.html" target="_top">not
12118 be conforming C++</a>, due to the rule that CharT must be a POD.
12119 (See how tricky this is?)
12120- </p></div><div class="section" title="Tokenizing"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.token"/>Tokenizing</h3></div></div></div><p>
12121+ </p></div><div class="section" title="Tokenizing"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.token"></a>Tokenizing</h3></div></div></div><p>
12122 </p><p>The Standard C (and C++) function <code class="code">strtok()</code> leaves a lot to
12123 be desired in terms of user-friendliness. It's unintuitive, it
12124 destroys the character string on which it operates, and it requires
12125@@ -256,7 +256,7 @@
12126 tokenizing as well. Build an istringstream from the input text,
12127 and then use std::getline with varying delimiters (the three-argument
12128 signature) to extract tokens into a string.
12129- </p></div><div class="section" title="Shrink to Fit"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.shrink"/>Shrink to Fit</h3></div></div></div><p>
12130+ </p></div><div class="section" title="Shrink to Fit"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.shrink"></a>Shrink to Fit</h3></div></div></div><p>
12131 </p><p>From GCC 3.4 calling <code class="code">s.reserve(res)</code> on a
12132 <code class="code">string s</code> with <code class="code">res &lt; s.capacity()</code> will
12133 reduce the string's capacity to <code class="code">std::max(s.size(), res)</code>.
12134@@ -272,7 +272,7 @@
12135 </p><p>In <a class="link" href="status.html#status.iso.2011" title="C++ 2011">C++11</a> mode you can call
12136 <code class="code">s.shrink_to_fit()</code> to achieve the same effect as
12137 <code class="code">s.reserve(s.size())</code>.
12138- </p></div><div class="section" title="CString (MFC)"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.Cstring"/>CString (MFC)</h3></div></div></div><p>
12139+ </p></div><div class="section" title="CString (MFC)"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.Cstring"></a>CString (MFC)</h3></div></div></div><p>
12140 </p><p>A common lament seen in various newsgroups deals with the Standard
12141 string class as opposed to the Microsoft Foundation Class called
12142 CString. Often programmers realize that a standard portable
12143@@ -280,9 +280,9 @@
12144 their application from a Win32 platform, they discover that they
12145 are relying on special functions offered by the CString class.
12146 </p><p>Things are not as bad as they seem. In
12147- <a class="link" href="http://gcc.gnu.org/ml/gcc/1999-04n/msg00236.html">this
12148+ <a class="link" href="http://gcc.gnu.org/ml/gcc/1999-04n/msg00236.html" target="_top">this
12149 message</a>, Joe Buck points out a few very important things:
12150- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>The Standard <code class="code">string</code> supports all the operations
12151+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>The Standard <code class="code">string</code> supports all the operations
12152 that CString does, with three exceptions.
12153 </p></li><li class="listitem"><p>Two of those exceptions (whitespace trimming and case
12154 conversion) are trivial to implement. In fact, we do so
12155@@ -340,7 +340,7 @@
12156 performance is O(n).
12157 </pre><p>Joe Buck also pointed out some other things to keep in mind when
12158 comparing CString and the Standard string class:
12159- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>CString permits access to its internal representation; coders
12160+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>CString permits access to its internal representation; coders
12161 who exploited that may have problems moving to <code class="code">string</code>.
12162 </p></li><li class="listitem"><p>Microsoft ships the source to CString (in the files
12163 MFC\SRC\Str{core,ex}.cpp), so you could fix the allocation
12164@@ -360,7 +360,7 @@
12165 libstdc++ string, the SGI string, and the SGI rope, and this
12166 is all before any allocator or traits customizations! (More
12167 choices than you can shake a stick at -- want fries with that?)
12168- </p></li></ul></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="traits.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr><tr><td align="left" valign="top">Traits </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 8. 
12169+ </p></li></ul></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="traits.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Traits </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 8. 
12170 Localization
12171
12172 </td></tr></table></div></body></html>
12173Index: libstdc++-v3/doc/html/manual/containers_and_c.html
12174===================================================================
9f95000d
AM
12175--- libstdc++-v3/doc/html/manual/containers_and_c.html (.../tags/gcc_4_7_2_release) (wersja 192468)
12176+++ libstdc++-v3/doc/html/manual/containers_and_c.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
12177@@ -1,9 +1,9 @@
12178 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
12179-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
12180-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="containers.html" title="Chapter 9.  Containers"/><link rel="prev" href="associative.html" title="Associative"/><link rel="next" href="iterators.html" title="Chapter 10.  Iterators"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td align="left"><a accesskey="p" href="associative.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
12181+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
12182+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="containers.html" title="Chapter 9.  Containers" /><link rel="prev" href="associative.html" title="Associative" /><link rel="next" href="iterators.html" title="Chapter 10.  Iterators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="associative.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
12183 Containers
12184
12185-</th><td align="right"> <a accesskey="n" href="iterators.html">Next</a></td></tr></table><hr/></div><div class="section" title="Interacting with C"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers.c"/>Interacting with C</h2></div></div></div><div class="section" title="Containers vs. Arrays"><div class="titlepage"><div><div><h3 class="title"><a id="containers.c.vs_array"/>Containers vs. Arrays</h3></div></div></div><p>
12186+</th><td width="20%" align="right"> <a accesskey="n" href="iterators.html">Next</a></td></tr></table><hr /></div><div class="section" title="Interacting with C"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.c"></a>Interacting with C</h2></div></div></div><div class="section" title="Containers vs. Arrays"><div class="titlepage"><div><div><h3 class="title"><a id="containers.c.vs_array"></a>Containers vs. Arrays</h3></div></div></div><p>
12187 You're writing some code and can't decide whether to use builtin
12188 arrays or some kind of container. There are compelling reasons
12189 to use one of the container classes, but you're afraid that
12190@@ -84,7 +84,7 @@
12191 inline unsigned int lengthof (T (&amp;)[sz]) { return sz; }
12192 </pre><p>
12193 looks just weird! Hint: unused parameters can be left nameless.
12194- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="associative.html">Prev</a> </td><td align="center"><a accesskey="u" href="containers.html">Up</a></td><td align="right"> <a accesskey="n" href="iterators.html">Next</a></td></tr><tr><td align="left" valign="top">Associative </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 10. 
12195+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="associative.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="containers.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="iterators.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Associative </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 10. 
12196 Iterators
12197
12198 </td></tr></table></div></body></html>
12199Index: libstdc++-v3/doc/html/manual/io_and_c.html
12200===================================================================
9f95000d
AM
12201--- libstdc++-v3/doc/html/manual/io_and_c.html (.../tags/gcc_4_7_2_release) (wersja 192468)
12202+++ libstdc++-v3/doc/html/manual/io_and_c.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
12203@@ -1,14 +1,14 @@
12204 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
12205-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
12206-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="io.html" title="Chapter 13.  Input and Output"/><link rel="prev" href="fstreams.html" title="File Based Streams"/><link rel="next" href="atomics.html" title="Chapter 14.  Atomics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
12207+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
12208+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="fstreams.html" title="File Based Streams" /><link rel="next" href="atomics.html" title="Chapter 14.  Atomics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
12209 Input and Output
12210
12211-</th><td align="right"> <a accesskey="n" href="atomics.html">Next</a></td></tr></table><hr/></div><div class="section" title="Interacting with C"><div class="titlepage"><div><div><h2 class="title"><a id="std.io.c"/>Interacting with C</h2></div></div></div><div class="section" title="Using FILE* and file descriptors"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.c.FILE"/>Using FILE* and file descriptors</h3></div></div></div><p>
12212+</th><td width="20%" align="right"> <a accesskey="n" href="atomics.html">Next</a></td></tr></table><hr /></div><div class="section" title="Interacting with C"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.c"></a>Interacting with C</h2></div></div></div><div class="section" title="Using FILE* and file descriptors"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.c.FILE"></a>Using FILE* and file descriptors</h3></div></div></div><p>
12213 See the <a class="link" href="ext_io.html" title="Chapter 28. Input and Output">extensions</a> for using
12214 <span class="type">FILE</span> and <span class="type">file descriptors</span> with
12215 <code class="classname">ofstream</code> and
12216 <code class="classname">ifstream</code>.
12217- </p></div><div class="section" title="Performance"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.c.sync"/>Performance</h3></div></div></div><p>
12218+ </p></div><div class="section" title="Performance"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.c.sync"></a>Performance</h3></div></div></div><p>
12219 Pathetic Performance? Ditch C.
12220 </p><p>It sounds like a flame on C, but it isn't. Really. Calm down.
12221 I'm just saying it to get your attention.
12222@@ -51,7 +51,7 @@
12223 <code class="code">clog</code>, and their wide-character counterchapters). File stream
12224 objects that you declare yourself have no such requirement and are fully
12225 buffered.
12226- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><td align="center"><a accesskey="u" href="io.html">Up</a></td><td align="right"> <a accesskey="n" href="atomics.html">Next</a></td></tr><tr><td align="left" valign="top">File Based Streams </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 14. 
12227+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="io.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="atomics.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">File Based Streams </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 14. 
12228 Atomics
12229
12230 </td></tr></table></div></body></html>
12231Index: libstdc++-v3/doc/html/manual/documentation_hacking.html
12232===================================================================
9f95000d
AM
12233--- libstdc++-v3/doc/html/manual/documentation_hacking.html (.../tags/gcc_4_7_2_release) (wersja 192468)
12234+++ libstdc++-v3/doc/html/manual/documentation_hacking.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
12235@@ -1,9 +1,9 @@
12236 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
12237-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
12238-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Writing and Generating Documentation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="ISO C++, documentation, style, docbook, doxygen"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="prev" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="next" href="internals.html" title="Porting to New Hardware or Operating Systems"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing and Generating Documentation</th></tr><tr><td align="left"><a accesskey="p" href="appendix_porting.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
12239+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
12240+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Writing and Generating Documentation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="ISO C++, documentation, style, docbook, doxygen" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="next" href="internals.html" title="Porting to New Hardware or Operating Systems" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing and Generating Documentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_porting.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
12241 Porting and Maintenance
12242
12243-</th><td align="right"> <a accesskey="n" href="internals.html">Next</a></td></tr></table><hr/></div><div class="section" title="Writing and Generating Documentation"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.porting.doc"/>Writing and Generating Documentation</h2></div></div></div><div class="section" title="Introduction"><div class="titlepage"><div><div><h3 class="title"><a id="doc.intro"/>Introduction</h3></div></div></div><p>
12244+</th><td width="20%" align="right"> <a accesskey="n" href="internals.html">Next</a></td></tr></table><hr /></div><div class="section" title="Writing and Generating Documentation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.doc"></a>Writing and Generating Documentation</h2></div></div></div><div class="section" title="Introduction"><div class="titlepage"><div><div><h3 class="title"><a id="doc.intro"></a>Introduction</h3></div></div></div><p>
12245 Documentation for the GNU C++ Library is created from three
12246 independent sources: a manual, a FAQ, and an API reference.
12247 </p><p>
12248@@ -25,9 +25,9 @@
12249 reference. Although divergent, this conforms to the GNU Project
12250 recommendations as long as the output is of sufficient quality,
12251 as per
12252- <a class="link" href="http://www.gnu.org/prep/standards/standards.html#Documentation">
12253+ <a class="link" href="http://www.gnu.org/prep/standards/standards.html#Documentation" target="_top">
12254 GNU Manuals</a>.
12255- </p></div><div class="section" title="Generating Documentation"><div class="titlepage"><div><div><h3 class="title"><a id="doc.generation"/>Generating Documentation</h3></div></div></div><p>
12256+ </p></div><div class="section" title="Generating Documentation"><div class="titlepage"><div><div><h3 class="title"><a id="doc.generation"></a>Generating Documentation</h3></div></div></div><p>
12257 Certain Makefile rules are required by the GNU Coding
12258 Standards. These standard rules generate HTML, PDF, XML, or man
12259 files. For each of the generative rules, there is an additional
12260@@ -117,21 +117,29 @@
12261 supported, and are always aliased to dummy rules. These
12262 unsupported formats are: <span class="emphasis"><em>info</em></span>,
12263 <span class="emphasis"><em>ps</em></span>, and <span class="emphasis"><em>dvi</em></span>.
12264- </p></div><div class="section" title="Doxygen"><div class="titlepage"><div><div><h3 class="title"><a id="doc.doxygen"/>Doxygen</h3></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.prereq"/>Prerequisites</h4></div></div></div><div class="table"><a id="id553885"/><p class="title"><strong>Table B.1. Doxygen Prerequisites</strong></p><div class="table-contents"><table summary="Doxygen Prerequisites" border="1"><colgroup><col style="text-align: center" class="c1"/><col style="text-align: center" class="c2"/><col style="text-align: center" class="c3"/></colgroup><thead><tr><th style="text-align: center">Tool</th><th style="text-align: center">Version</th><th style="text-align: center">Required By</th></tr></thead><tbody><tr><td style="text-align: center">coreutils</td><td style="text-align: center">8.5</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">bash</td><td style="text-align: center">4.1</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">doxygen</td><td style="text-align: center">1.7.0</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">graphviz</td><td style="text-align: center">2.26</td><td style="text-align: center">graphical hierarchies</td></tr><tr><td style="text-align: center">pdflatex</td><td style="text-align: center">2007-59</td><td style="text-align: center">pdf output</td></tr></tbody></table></div></div><br class="table-break"/><p>
12265+ </p></div><div class="section" title="Doxygen"><div class="titlepage"><div><div><h3 class="title"><a id="doc.doxygen"></a>Doxygen</h3></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.prereq"></a>Prerequisites</h4></div></div></div><div class="table"><a id="id732372"></a><p class="title"><strong>Table B.1. Doxygen Prerequisites</strong></p><div class="table-contents"><table summary="Doxygen Prerequisites" border="1"><colgroup><col align="center" class="c1" /><col align="center" class="c2" /><col align="center" class="c3" /></colgroup><thead><tr><th align="center">Tool</th><th align="center">Version</th><th align="center">Required By</th></tr></thead><tbody><tr><td align="center">coreutils</td><td align="center">8.5</td><td align="center">all</td></tr><tr><td align="center">bash</td><td align="center">4.1</td><td align="center">all</td></tr><tr><td align="center">doxygen</td><td align="center">1.7.6.1</td><td align="center">all</td></tr><tr><td align="center">graphviz</td><td align="center">2.26</td><td align="center">graphical hierarchies</td></tr><tr><td align="center">pdflatex</td><td align="center">2007-59</td><td align="center">pdf output</td></tr></tbody></table></div></div><br class="table-break" /><p>
12266 Prerequisite tools are Bash 2.0 or later,
12267- <a class="link" href="http://www.doxygen.org/">Doxygen</a>, and
12268- the <a class="link" href="http://www.gnu.org/software/coreutils/">GNU
12269+ <a class="link" href="http://www.doxygen.org/" target="_top">Doxygen</a>, and
12270+ the <a class="link" href="http://www.gnu.org/software/coreutils/" target="_top">GNU
12271 coreutils</a>. (GNU versions of find, xargs, and possibly
12272 sed and grep are used, just because the GNU versions make
12273 things very easy.)
12274 </p><p>
12275 To generate the pretty pictures and hierarchy
12276 graphs, the
12277- <a class="link" href="http://www.graphviz.org">Graphviz</a> package
12278+ <a class="link" href="http://www.graphviz.org" target="_top">Graphviz</a> package
12279 will need to be installed. For PDF
12280- output, <a class="link" href="http://www.tug.org/applications/pdftex/">
12281+ output, <a class="link" href="http://www.tug.org/applications/pdftex/" target="_top">
12282 pdflatex</a> is required.
12283- </p></div><div class="section" title="Generating the Doxygen Files"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.rules"/>Generating the Doxygen Files</h4></div></div></div><p>
12284+ </p><p>
12285+ Be warned the PDF file generated via doxygen is extremely
12286+ large. At last count, the PDF file is over three thousand
12287+ pages. Generating this document taxes the underlying TeX
12288+ formatting system, and will require the expansion of TeX's memory
12289+ capacity. Specifically, the <code class="literal">pool_size</code>
12290+ variable in the configuration file <code class="filename">texmf.cnf</code> may
12291+ need to be increased by a minimum factor of two.
12292+ </p></div><div class="section" title="Generating the Doxygen Files"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.rules"></a>Generating the Doxygen Files</h4></div></div></div><p>
12293 The following Makefile rules run Doxygen to generate HTML
12294 docs, XML docs, XML docs as a single file, PDF docs, and the
12295 man pages. These rules are not conditional! If the required
12296@@ -163,7 +171,7 @@
12297 If you wish to tweak the Doxygen settings, do so by editing
12298 <code class="filename">doc/doxygen/user.cfg.in</code>. Notes to fellow
12299 library hackers are written in triple-# comments.
12300- </p></div><div class="section" title="Markup"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.markup"/>Markup</h4></div></div></div><p>
12301+ </p></div><div class="section" title="Markup"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.markup"></a>Markup</h4></div></div></div><p>
12302 In general, libstdc++ files should be formatted according to
12303 the rules found in the
12304 <a class="link" href="source_code_style.html" title="Coding Style">Coding Standard</a>. Before
12305@@ -173,7 +181,7 @@
12306 Adding Doxygen markup to a file (informally called
12307 <span class="quote">“<span class="quote">doxygenating</span>”</span>) is very simple. The Doxygen manual can be
12308 found
12309- <a class="link" href="http://www.stack.nl/~dimitri/doxygen/download.html#latestman">here</a>.
12310+ <a class="link" href="http://www.stack.nl/~dimitri/doxygen/download.html#latestman" target="_top">here</a>.
12311 We try to use a very-recent version of Doxygen.
12312 </p><p>
12313 For classes, use
12314@@ -185,10 +193,10 @@
12315 member functions.
12316 </p><p>
12317 Some commentary to accompany
12318- the first list in the <a class="link" href="http://www.stack.nl/~dimitri/doxygen/docblocks.html">Special
12319+ the first list in the <a class="link" href="http://www.stack.nl/~dimitri/doxygen/docblocks.html" target="_top">Special
12320 Documentation Blocks</a> section of
12321 the Doxygen manual:
12322- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>For longer comments, use the Javadoc style...</p></li><li class="listitem"><p>
12323+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>For longer comments, use the Javadoc style...</p></li><li class="listitem"><p>
12324 ...not the Qt style. The intermediate *'s are preferred.
12325 </p></li><li class="listitem"><p>
12326 Use the triple-slash style only for one-line comments (the
12327@@ -218,14 +226,14 @@
12328 Complicated math functions should use the multi-line
12329 format. An example from <code class="filename">random.h</code>:
12330 </p><p>
12331-</p><div class="literallayout"><p><br/>
12332-/**<br/>
12333- * @brief A model of a linear congruential random number generator.<br/>
12334- *<br/>
12335- * @f[<br/>
12336- *     x_{i+1}\leftarrow(ax_{i} + c) \bmod m<br/>
12337- * @f]<br/>
12338- */<br/>
12339+</p><div class="literallayout"><p><br />
12340+/**<br />
12341+ * @brief A model of a linear congruential random number generator.<br />
12342+ *<br />
12343+ * @f[<br />
12344+ *     x_{i+1}\leftarrow(ax_{i} + c) \bmod m<br />
12345+ * @f]<br />
12346+ */<br />
12347 </p></div><p>
12348 </p><p>
12349 One area of note is the markup required for
12350@@ -234,10 +242,10 @@
12351 multiple directories, include part of the installed path to
12352 disambiguate. For example:
12353 </p><p>
12354-</p><div class="literallayout"><p><br/>
12355-/** @file debug/vector<br/>
12356- *  This file is a GNU debug extension to the Standard C++ Library.<br/>
12357- */<br/>
12358+</p><div class="literallayout"><p><br />
12359+/** @file debug/vector<br />
12360+ *  This file is a GNU debug extension to the Standard C++ Library.<br />
12361+ */<br />
12362 </p></div><p>
12363 </p><p>
12364 The other relevant detail for header files is the use of a
12365@@ -252,18 +260,18 @@
12366 <code class="literal">headername</code> in the <code class="literal">file</code>
12367 block. An example:
12368 </p><p>
12369-</p><div class="literallayout"><p><br/>
12370-/** @file bits/basic_string.h<br/>
12371- *  This is an internal header file, included by other library headers.<br/>
12372- *  Do not attempt to use it directly. @headername{string}<br/>
12373- */<br/>
12374+</p><div class="literallayout"><p><br />
12375+/** @file bits/basic_string.h<br />
12376+ *  This is an internal header file, included by other library headers.<br />
12377+ *  Do not attempt to use it directly. @headername{string}<br />
12378+ */<br />
12379 </p></div><p>
12380 </p><p>
12381 Be careful about using certain, special characters when
12382 writing Doxygen comments. Single and double quotes, and
12383 separators in filenames are two common trouble spots. When in
12384 doubt, consult the following table.
12385- </p><div class="table"><a id="id554388"/><p class="title"><strong>Table B.2. HTML to Doxygen Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Doxygen Markup Comparison" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">HTML</th><th style="text-align: left">Doxygen</th></tr></thead><tbody><tr><td style="text-align: left">\</td><td style="text-align: left">\\</td></tr><tr><td style="text-align: left">"</td><td style="text-align: left">\"</td></tr><tr><td style="text-align: left">'</td><td style="text-align: left">\'</td></tr><tr><td style="text-align: left">&lt;i&gt;</td><td style="text-align: left">@a word</td></tr><tr><td style="text-align: left">&lt;b&gt;</td><td style="text-align: left">@b word</td></tr><tr><td style="text-align: left">&lt;code&gt;</td><td style="text-align: left">@c word</td></tr><tr><td style="text-align: left">&lt;em&gt;</td><td style="text-align: left">@a word</td></tr><tr><td style="text-align: left">&lt;em&gt;</td><td style="text-align: left">&lt;em&gt;two words or more&lt;/em&gt;</td></tr></tbody></table></div></div><br class="table-break"/></div></div><div class="section" title="Docbook"><div class="titlepage"><div><div><h3 class="title"><a id="doc.docbook"/>Docbook</h3></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"/>Prerequisites</h4></div></div></div><div class="table"><a id="id554550"/><p class="title"><strong>Table B.3. Docbook Prerequisites</strong></p><div class="table-contents"><table summary="Docbook Prerequisites" border="1"><colgroup><col style="text-align: center" class="c1"/><col style="text-align: center" class="c2"/><col style="text-align: center" class="c3"/></colgroup><thead><tr><th style="text-align: center">Tool</th><th style="text-align: center">Version</th><th style="text-align: center">Required By</th></tr></thead><tbody><tr><td style="text-align: center">docbook5-style-xsl</td><td style="text-align: center">1.76.1</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">xsltproc</td><td style="text-align: center">1.1.26</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">xmllint</td><td style="text-align: center">2.7.7</td><td style="text-align: center">validation</td></tr><tr><td style="text-align: center">dblatex</td><td style="text-align: center">0.3</td><td style="text-align: center">pdf output</td></tr><tr><td style="text-align: center">pdflatex</td><td style="text-align: center">2007-59</td><td style="text-align: center">pdf output</td></tr><tr><td style="text-align: center">docbook2X</td><td style="text-align: center">0.8.8</td><td style="text-align: center">info output</td></tr><tr><td style="text-align: center">epub3 stylesheets</td><td style="text-align: center">b3</td><td style="text-align: center">epub output</td></tr></tbody></table></div></div><br class="table-break"/><p>
12386+ </p><div class="table"><a id="id732889"></a><p class="title"><strong>Table B.2. HTML to Doxygen Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Doxygen Markup Comparison" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Doxygen</th></tr></thead><tbody><tr><td align="left">\</td><td align="left">\\</td></tr><tr><td align="left">"</td><td align="left">\"</td></tr><tr><td align="left">'</td><td align="left">\'</td></tr><tr><td align="left">&lt;i&gt;</td><td align="left">@a word</td></tr><tr><td align="left">&lt;b&gt;</td><td align="left">@b word</td></tr><tr><td align="left">&lt;code&gt;</td><td align="left">@c word</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">@a word</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">&lt;em&gt;two words or more&lt;/em&gt;</td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="section" title="Docbook"><div class="titlepage"><div><div><h3 class="title"><a id="doc.docbook"></a>Docbook</h3></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"></a>Prerequisites</h4></div></div></div><div class="table"><a id="id733051"></a><p class="title"><strong>Table B.3. Docbook Prerequisites</strong></p><div class="table-contents"><table summary="Docbook Prerequisites" border="1"><colgroup><col align="center" class="c1" /><col align="center" class="c2" /><col align="center" class="c3" /></colgroup><thead><tr><th align="center">Tool</th><th align="center">Version</th><th align="center">Required By</th></tr></thead><tbody><tr><td align="center">docbook5-style-xsl</td><td align="center">1.76.1</td><td align="center">all</td></tr><tr><td align="center">xsltproc</td><td align="center">1.1.26</td><td align="center">all</td></tr><tr><td align="center">xmllint</td><td align="center">2.7.7</td><td align="center">validation</td></tr><tr><td align="center">dblatex</td><td align="center">0.3</td><td align="center">pdf output</td></tr><tr><td align="center">pdflatex</td><td align="center">2007-59</td><td align="center">pdf output</td></tr><tr><td align="center">docbook2X</td><td align="center">0.8.8</td><td align="center">info output</td></tr><tr><td align="center">epub3 stylesheets</td><td align="center">b3</td><td align="center">epub output</td></tr></tbody></table></div></div><br class="table-break" /><p>
12387 Editing the DocBook sources requires an XML editor. Many
12388 exist: some notable options
12389 include <span class="command"><strong>emacs</strong></span>, <span class="application">Kate</span>,
12390@@ -298,19 +306,19 @@
12391 by a vendor package like <code class="filename">libxml2</code> and <code class="filename">docbook5-schemas-5.0-4</code>
12392 </p><p>
12393 For PDF output, something that transforms valid Docbook XML to PDF is
12394- required. Possible solutions include <a class="link" href="http://dblatex.sourceforge.net">dblatex</a>,
12395+ required. Possible solutions include <a class="link" href="http://dblatex.sourceforge.net" target="_top">dblatex</a>,
12396 <span class="command"><strong>xmlto</strong></span>, or <span class="command"><strong>prince</strong></span>. Of
12397 these, <span class="command"><strong>dblatex</strong></span> is the default. Other
12398- options are listed on the DocBook web <a class="link" href="http://wiki.docbook.org/topic/DocBookPublishingTools">pages</a>. Please
12399+ options are listed on the DocBook web <a class="link" href="http://wiki.docbook.org/topic/DocBookPublishingTools" target="_top">pages</a>. Please
12400 consult the <code class="email">&lt;<a class="email" href="mailto:libstdc++@gcc.gnu.org">libstdc++@gcc.gnu.org</a>&gt;</code> list when
12401 preparing printed manuals for current best practice and
12402 suggestions.
12403 </p><p>
12404 For Texinfo output, something that transforms valid Docbook
12405- XML to Texinfo is required. The default choice is <a class="link" href="http://docbook2x.sourceforge.net/">docbook2X</a>.
12406+ XML to Texinfo is required. The default choice is <a class="link" href="http://docbook2x.sourceforge.net/" target="_top">docbook2X</a>.
12407 </p><p>
12408- For epub output, the stylesheets for EPUB3 are required. These stylesheets are still in development. To validate the created file, epubcheck is necessary.
12409- </p></div><div class="section" title="Generating the DocBook Files"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.rules"/>Generating the DocBook Files</h4></div></div></div><p>
12410+ For epub output, the <a class="link" href="http://sourceforge.net/projects/docbook/files/epub3/" target="_top">stylesheets</a> for EPUB3 are required. These stylesheets are still in development. To validate the created file, <a class="link" href="https://code.google.com/p/epubcheck/" target="_top">epubcheck</a> is necessary.
12411+ </p></div><div class="section" title="Generating the DocBook Files"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.rules"></a>Generating the DocBook Files</h4></div></div></div><p>
12412 The following Makefile rules generate (in order): an HTML
12413 version of all the DocBook documentation, a PDF version of the
12414 same, and a single XML document. These rules are not
12415@@ -335,7 +343,7 @@
12416 <strong class="userinput"><code>
12417 make <code class="literal">XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwalsh"</code> doc-html-docbook
12418 </code></strong>
12419- </pre></div><div class="section" title="Editing and Validation"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.validation"/>Editing and Validation</h4></div></div></div><p>
12420+ </pre></div><div class="section" title="Editing and Validation"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.validation"></a>Editing and Validation</h4></div></div></div><p>
12421 After editing the xml sources, please make sure that the XML
12422 documentation and markup is still valid. This can be
12423 done easily, with the following validation rule:
12424@@ -355,90 +363,90 @@
12425 validation on the entire manual fails.
12426 </p><p>
12427 All Docbook xml sources should always validate. No excuses!
12428- </p></div><div class="section" title="File Organization and Basics"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.examples"/>File Organization and Basics</h4></div></div></div><div class="literallayout"><p><br/>
12429-      <span class="emphasis"><em>Which files are important</em></span><br/>
12430-<br/>
12431-      All Docbook files are in the directory<br/>
12432-      libstdc++-v3/doc/xml<br/>
12433-<br/>
12434-      Inside this directory, the files of importance:<br/>
12435-      spine.xml   - index to documentation set<br/>
12436-      manual/spine.xml  - index to manual<br/>
12437-      manual/*.xml   - individual chapters and sections of the manual<br/>
12438-      faq.xml   - index to FAQ<br/>
12439-      api.xml   - index to source level / API<br/>
12440-<br/>
12441-      All *.txml files are template xml files, i.e., otherwise empty files with<br/>
12442-      the correct structure, suitable for filling in with new information.<br/>
12443-<br/>
12444-      <span class="emphasis"><em>Canonical Writing Style</em></span><br/>
12445-<br/>
12446-      class template<br/>
12447-      function template<br/>
12448-      member function template<br/>
12449-      (via C++ Templates, Vandevoorde)<br/>
12450-<br/>
12451-      class in namespace std: allocator, not std::allocator<br/>
12452-<br/>
12453-      header file: iostream, not &lt;iostream&gt;<br/>
12454-<br/>
12455-<br/>
12456-      <span class="emphasis"><em>General structure</em></span><br/>
12457-<br/>
12458-      &lt;set&gt;<br/>
12459-      &lt;book&gt;<br/>
12460-      &lt;/book&gt;<br/>
12461-<br/>
12462-      &lt;book&gt;<br/>
12463-      &lt;chapter&gt;<br/>
12464-      &lt;/chapter&gt;<br/>
12465-      &lt;/book&gt;<br/>
12466-<br/>
12467-      &lt;book&gt;<br/>
12468-      &lt;part&gt;<br/>
12469-      &lt;chapter&gt;<br/>
12470-      &lt;section&gt;<br/>
12471-      &lt;/section&gt;<br/>
12472-<br/>
12473-      &lt;sect1&gt;<br/>
12474-      &lt;/sect1&gt;<br/>
12475-<br/>
12476-      &lt;sect1&gt;<br/>
12477-      &lt;sect2&gt;<br/>
12478-      &lt;/sect2&gt;<br/>
12479-      &lt;/sect1&gt;<br/>
12480-      &lt;/chapter&gt;<br/>
12481-<br/>
12482-      &lt;chapter&gt;<br/>
12483-      &lt;/chapter&gt;<br/>
12484-      &lt;/part&gt;<br/>
12485-      &lt;/book&gt;<br/>
12486-<br/>
12487-      &lt;/set&gt;<br/>
12488-    </p></div></div><div class="section" title="Markup By Example"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.markup"/>Markup By Example</h4></div></div></div><p>
12489+ </p></div><div class="section" title="File Organization and Basics"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.examples"></a>File Organization and Basics</h4></div></div></div><div class="literallayout"><p><br />
12490+      <span class="emphasis"><em>Which files are important</em></span><br />
12491+<br />
12492+      All Docbook files are in the directory<br />
12493+      libstdc++-v3/doc/xml<br />
12494+<br />
12495+      Inside this directory, the files of importance:<br />
12496+      spine.xml   - index to documentation set<br />
12497+      manual/spine.xml  - index to manual<br />
12498+      manual/*.xml   - individual chapters and sections of the manual<br />
12499+      faq.xml   - index to FAQ<br />
12500+      api.xml   - index to source level / API<br />
12501+<br />
12502+      All *.txml files are template xml files, i.e., otherwise empty files with<br />
12503+      the correct structure, suitable for filling in with new information.<br />
12504+<br />
12505+      <span class="emphasis"><em>Canonical Writing Style</em></span><br />
12506+<br />
12507+      class template<br />
12508+      function template<br />
12509+      member function template<br />
12510+      (via C++ Templates, Vandevoorde)<br />
12511+<br />
12512+      class in namespace std: allocator, not std::allocator<br />
12513+<br />
12514+      header file: iostream, not &lt;iostream&gt;<br />
12515+<br />
12516+<br />
12517+      <span class="emphasis"><em>General structure</em></span><br />
12518+<br />
12519+      &lt;set&gt;<br />
12520+      &lt;book&gt;<br />
12521+      &lt;/book&gt;<br />
12522+<br />
12523+      &lt;book&gt;<br />
12524+      &lt;chapter&gt;<br />
12525+      &lt;/chapter&gt;<br />
12526+      &lt;/book&gt;<br />
12527+<br />
12528+      &lt;book&gt;<br />
12529+      &lt;part&gt;<br />
12530+      &lt;chapter&gt;<br />
12531+      &lt;section&gt;<br />
12532+      &lt;/section&gt;<br />
12533+<br />
12534+      &lt;sect1&gt;<br />
12535+      &lt;/sect1&gt;<br />
12536+<br />
12537+      &lt;sect1&gt;<br />
12538+      &lt;sect2&gt;<br />
12539+      &lt;/sect2&gt;<br />
12540+      &lt;/sect1&gt;<br />
12541+      &lt;/chapter&gt;<br />
12542+<br />
12543+      &lt;chapter&gt;<br />
12544+      &lt;/chapter&gt;<br />
12545+      &lt;/part&gt;<br />
12546+      &lt;/book&gt;<br />
12547+<br />
12548+      &lt;/set&gt;<br />
12549+    </p></div></div><div class="section" title="Markup By Example"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.markup"></a>Markup By Example</h4></div></div></div><p>
12550 Complete details on Docbook markup can be found in the DocBook
12551 Element Reference,
12552- <a class="link" href="http://www.docbook.org/tdg/en/html/part2.html">online</a>.
12553+ <a class="link" href="http://www.docbook.org/tdg/en/html/part2.html" target="_top">online</a>.
12554 An incomplete reference for HTML to Docbook conversion is
12555 detailed in the table below.
12556- </p><div class="table"><a id="id555059"/><p class="title"><strong>Table B.4. HTML to Docbook XML Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Docbook XML Markup Comparison" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">HTML</th><th style="text-align: left">Docbook</th></tr></thead><tbody><tr><td style="text-align: left">&lt;p&gt;</td><td style="text-align: left">&lt;para&gt;</td></tr><tr><td style="text-align: left">&lt;pre&gt;</td><td style="text-align: left">&lt;computeroutput&gt;, &lt;programlisting&gt;,
12557- &lt;literallayout&gt;</td></tr><tr><td style="text-align: left">&lt;ul&gt;</td><td style="text-align: left">&lt;itemizedlist&gt;</td></tr><tr><td style="text-align: left">&lt;ol&gt;</td><td style="text-align: left">&lt;orderedlist&gt;</td></tr><tr><td style="text-align: left">&lt;il&gt;</td><td style="text-align: left">&lt;listitem&gt;</td></tr><tr><td style="text-align: left">&lt;dl&gt;</td><td style="text-align: left">&lt;variablelist&gt;</td></tr><tr><td style="text-align: left">&lt;dt&gt;</td><td style="text-align: left">&lt;term&gt;</td></tr><tr><td style="text-align: left">&lt;dd&gt;</td><td style="text-align: left">&lt;listitem&gt;</td></tr><tr><td style="text-align: left">&lt;a href=""&gt;</td><td style="text-align: left">&lt;ulink url=""&gt;</td></tr><tr><td style="text-align: left">&lt;code&gt;</td><td style="text-align: left">&lt;literal&gt;, &lt;programlisting&gt;</td></tr><tr><td style="text-align: left">&lt;strong&gt;</td><td style="text-align: left">&lt;emphasis&gt;</td></tr><tr><td style="text-align: left">&lt;em&gt;</td><td style="text-align: left">&lt;emphasis&gt;</td></tr><tr><td style="text-align: left">"</td><td style="text-align: left">&lt;quote&gt;</td></tr></tbody></table></div></div><br class="table-break"/><p>
12558+ </p><div class="table"><a id="id733562"></a><p class="title"><strong>Table B.4. HTML to Docbook XML Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Docbook XML Markup Comparison" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Docbook</th></tr></thead><tbody><tr><td align="left">&lt;p&gt;</td><td align="left">&lt;para&gt;</td></tr><tr><td align="left">&lt;pre&gt;</td><td align="left">&lt;computeroutput&gt;, &lt;programlisting&gt;,
12559+ &lt;literallayout&gt;</td></tr><tr><td align="left">&lt;ul&gt;</td><td align="left">&lt;itemizedlist&gt;</td></tr><tr><td align="left">&lt;ol&gt;</td><td align="left">&lt;orderedlist&gt;</td></tr><tr><td align="left">&lt;il&gt;</td><td align="left">&lt;listitem&gt;</td></tr><tr><td align="left">&lt;dl&gt;</td><td align="left">&lt;variablelist&gt;</td></tr><tr><td align="left">&lt;dt&gt;</td><td align="left">&lt;term&gt;</td></tr><tr><td align="left">&lt;dd&gt;</td><td align="left">&lt;listitem&gt;</td></tr><tr><td align="left">&lt;a href=""&gt;</td><td align="left">&lt;ulink url=""&gt;</td></tr><tr><td align="left">&lt;code&gt;</td><td align="left">&lt;literal&gt;, &lt;programlisting&gt;</td></tr><tr><td align="left">&lt;strong&gt;</td><td align="left">&lt;emphasis&gt;</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">&lt;emphasis&gt;</td></tr><tr><td align="left">"</td><td align="left">&lt;quote&gt;</td></tr></tbody></table></div></div><br class="table-break" /><p>
12560 And examples of detailed markup for which there are no real HTML
12561 equivalents are listed in the table below.
12562-</p><div class="table"><a id="id555261"/><p class="title"><strong>Table B.5. Docbook XML Element Use</strong></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">Element</th><th style="text-align: left">Use</th></tr></thead><tbody><tr><td style="text-align: left">&lt;structname&gt;</td><td style="text-align: left">&lt;structname&gt;char_traits&lt;/structname&gt;</td></tr><tr><td style="text-align: left">&lt;classname&gt;</td><td style="text-align: left">&lt;classname&gt;string&lt;/classname&gt;</td></tr><tr><td style="text-align: left">&lt;function&gt;</td><td style="text-align: left">
12563+</p><div class="table"><a id="id733764"></a><p class="title"><strong>Table B.5. Docbook XML Element Use</strong></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Element</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left">&lt;structname&gt;</td><td align="left">&lt;structname&gt;char_traits&lt;/structname&gt;</td></tr><tr><td align="left">&lt;classname&gt;</td><td align="left">&lt;classname&gt;string&lt;/classname&gt;</td></tr><tr><td align="left">&lt;function&gt;</td><td align="left">
12564 <p>&lt;function&gt;clear()&lt;/function&gt;</p>
12565 <p>&lt;function&gt;fs.clear()&lt;/function&gt;</p>
12566- </td></tr><tr><td style="text-align: left">&lt;type&gt;</td><td style="text-align: left">&lt;type&gt;long long&lt;/type&gt;</td></tr><tr><td style="text-align: left">&lt;varname&gt;</td><td style="text-align: left">&lt;varname&gt;fs&lt;/varname&gt;</td></tr><tr><td style="text-align: left">&lt;literal&gt;</td><td style="text-align: left">
12567+ </td></tr><tr><td align="left">&lt;type&gt;</td><td align="left">&lt;type&gt;long long&lt;/type&gt;</td></tr><tr><td align="left">&lt;varname&gt;</td><td align="left">&lt;varname&gt;fs&lt;/varname&gt;</td></tr><tr><td align="left">&lt;literal&gt;</td><td align="left">
12568 <p>&lt;literal&gt;-Weffc++&lt;/literal&gt;</p>
12569 <p>&lt;literal&gt;rel_ops&lt;/literal&gt;</p>
12570- </td></tr><tr><td style="text-align: left">&lt;constant&gt;</td><td style="text-align: left">
12571+ </td></tr><tr><td align="left">&lt;constant&gt;</td><td align="left">
12572 <p>&lt;constant&gt;_GNU_SOURCE&lt;/constant&gt;</p>
12573 <p>&lt;constant&gt;3.0&lt;/constant&gt;</p>
12574- </td></tr><tr><td style="text-align: left">&lt;command&gt;</td><td style="text-align: left">&lt;command&gt;g++&lt;/command&gt;</td></tr><tr><td style="text-align: left">&lt;errortext&gt;</td><td style="text-align: left">&lt;errortext&gt;In instantiation of&lt;/errortext&gt;</td></tr><tr><td style="text-align: left">&lt;filename&gt;</td><td style="text-align: left">
12575+ </td></tr><tr><td align="left">&lt;command&gt;</td><td align="left">&lt;command&gt;g++&lt;/command&gt;</td></tr><tr><td align="left">&lt;errortext&gt;</td><td align="left">&lt;errortext&gt;In instantiation of&lt;/errortext&gt;</td></tr><tr><td align="left">&lt;filename&gt;</td><td align="left">
12576 <p>&lt;filename class="headerfile"&gt;ctype.h&lt;/filename&gt;</p>
12577 <p>&lt;filename class="directory"&gt;/home/gcc/build&lt;/filename&gt;</p>
12578 <p>&lt;filename class="libraryfile"&gt;libstdc++.so&lt;/filename&gt;</p>
12579- </td></tr></tbody></table></div></div><br class="table-break"/></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="appendix_porting.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td align="right"> <a accesskey="n" href="internals.html">Next</a></td></tr><tr><td align="left" valign="top">Appendix B. 
12580+ </td></tr></tbody></table></div></div><br class="table-break" /></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="appendix_porting.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="internals.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix B. 
12581 Porting and Maintenance
12582
12583- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Porting to New Hardware or Operating Systems</td></tr></table></div></body></html>
12584+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Porting to New Hardware or Operating Systems</td></tr></table></div></body></html>
12585Index: libstdc++-v3/doc/html/manual/extensions.html
12586===================================================================
9f95000d
AM
12587--- libstdc++-v3/doc/html/manual/extensions.html (.../tags/gcc_4_7_2_release) (wersja 192468)
12588+++ libstdc++-v3/doc/html/manual/extensions.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
12589@@ -1,12 +1,12 @@
12590 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
12591-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
12592-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Part III.  Extensions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="index.html" title="The GNU C++ Library Manual"/><link rel="prev" href="io_and_c.html" title="Interacting with C"/><link rel="next" href="bk01pt03pr01.html" title=""/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part III. 
12593+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
12594+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part III.  Extensions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="io_and_c.html" title="Interacting with C" /><link rel="next" href="bk01pt03pr01.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part III. 
12595 Extensions
12596
12597-</th></tr><tr><td align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td align="right"> <a accesskey="n" href="bk01pt03pr01.html">Next</a></td></tr></table><hr/></div><div class="part" title="Part III.  Extensions"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext"/>Part III. 
12598+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03pr01.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part III.  Extensions"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext"></a>Part III. 
12599 Extensions
12600- <a id="id506330" class="indexterm"/>
12601-</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="preface"><a href="bk01pt03pr01.html"/></span></dt><dt><span class="chapter"><a href="ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
12602+ <a id="id684816" class="indexterm"></a>
12603+</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="preface"><a href="bk01pt03pr01.html"></a></span></dt><dt><span class="chapter"><a href="ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
12604 debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.alt">Alternatives for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="parallel_mode.html">18. Parallel Mode</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s05.html">Testing</a></span></dt><dt><span class="bibliography"><a href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="profile_mode.html">19. Profile Mode</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s02.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s04.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="mt_allocator.html">20. The mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s02.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s02.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s03.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s04.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s05.html">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="chapter"><a href="bitmap_allocator.html">21. The bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="policy_data_structures.html">22. Policy-Based Data Structures</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.configuring">
12605 Configuring via Template Parameters
12606 </a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.traits">
12607@@ -71,4 +71,4 @@
12608 Text <code class="function">modify</code> Down
12609 </a></span></dt></dl></dd><dt><span class="section"><a href="policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_biblio.html">Acknowledgments</a></span></dt><dt><span class="bibliography"><a href="policy_data_structures.html#pbds.biblio">
12610 Bibliography
12611- </a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_containers.html">23. HP/SGI Extensions</a></span></dt><dd><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="bk01pt03ch23s02.html">Deprecated</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_utilities.html">24. Utilities</a></span></dt><dt><span class="chapter"><a href="ext_algorithms.html">25. Algorithms</a></span></dt><dt><span class="chapter"><a href="ext_numerics.html">26. Numerics</a></span></dt><dt><span class="chapter"><a href="ext_iterators.html">27. Iterators</a></span></dt><dt><span class="chapter"><a href="ext_io.html">28. Input and Output</a></span></dt><dd><dl><dt><span class="section"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_demangling.html">29. Demangling</a></span></dt><dt><span class="chapter"><a href="ext_concurrency.html">30. Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s03.html">Use</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><td align="center"><a accesskey="u" href="index.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03pr01.html">Next</a></td></tr><tr><td align="left" valign="top">Interacting with C </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> </td></tr></table></div></body></html>
12612+ </a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_containers.html">23. HP/SGI Extensions</a></span></dt><dd><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="bk01pt03ch23s02.html">Deprecated</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_utilities.html">24. Utilities</a></span></dt><dt><span class="chapter"><a href="ext_algorithms.html">25. Algorithms</a></span></dt><dt><span class="chapter"><a href="ext_numerics.html">26. Numerics</a></span></dt><dt><span class="chapter"><a href="ext_iterators.html">27. Iterators</a></span></dt><dt><span class="chapter"><a href="ext_io.html">28. Input and Output</a></span></dt><dd><dl><dt><span class="section"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_demangling.html">29. Demangling</a></span></dt><dt><span class="chapter"><a href="ext_concurrency.html">30. Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s03.html">Use</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03pr01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Interacting with C </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
12613Index: libstdc++-v3/doc/html/manual/parallel_mode.html
12614===================================================================
9f95000d
AM
12615--- libstdc++-v3/doc/html/manual/parallel_mode.html (.../tags/gcc_4_7_2_release) (wersja 192468)
12616+++ libstdc++-v3/doc/html/manual/parallel_mode.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
12617@@ -1,9 +1,9 @@
12618 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
12619-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
12620-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 18. Parallel Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch17s04.html" title="Design"/><link rel="next" href="bk01pt03ch18s02.html" title="Semantics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 18. Parallel Mode</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch17s04.html">Prev</a> </td><th width="60%" align="center">Part III. 
12621+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
12622+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 18. Parallel Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03ch17s04.html" title="Design" /><link rel="next" href="bk01pt03ch18s02.html" title="Semantics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 18. Parallel Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch17s04.html">Prev</a> </td><th width="60%" align="center">Part III. 
12623 Extensions
12624
12625-</th><td align="right"> <a accesskey="n" href="bk01pt03ch18s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 18. Parallel Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode"/>Chapter 18. Parallel Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s05.html">Testing</a></span></dt><dt><span class="bibliography"><a href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></div><p> The libstdc++ parallel mode is an experimental parallel
12626+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch18s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 18. Parallel Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode"></a>Chapter 18. Parallel Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s05.html">Testing</a></span></dt><dt><span class="bibliography"><a href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></div><p> The libstdc++ parallel mode is an experimental parallel
12627 implementation of many algorithms the C++ Standard Library.
12628 </p><p>
12629 Several of the standard algorithms, for instance
12630@@ -11,14 +11,14 @@
12631 annotations. These parallel mode constructs and can be invoked by
12632 explicit source declaration or by compiling existing sources with a
12633 specific compiler flag.
12634-</p><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode.intro"/>Intro</h2></div></div></div><p>The following library components in the include
12635-<code class="filename">numeric</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="function">std::accumulate</code></p></li><li class="listitem"><p><code class="function">std::adjacent_difference</code></p></li><li class="listitem"><p><code class="function">std::inner_product</code></p></li><li class="listitem"><p><code class="function">std::partial_sum</code></p></li></ul></div><p>The following library components in the include
12636-<code class="filename">algorithm</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="function">std::adjacent_find</code></p></li><li class="listitem"><p><code class="function">std::count</code></p></li><li class="listitem"><p><code class="function">std::count_if</code></p></li><li class="listitem"><p><code class="function">std::equal</code></p></li><li class="listitem"><p><code class="function">std::find</code></p></li><li class="listitem"><p><code class="function">std::find_if</code></p></li><li class="listitem"><p><code class="function">std::find_first_of</code></p></li><li class="listitem"><p><code class="function">std::for_each</code></p></li><li class="listitem"><p><code class="function">std::generate</code></p></li><li class="listitem"><p><code class="function">std::generate_n</code></p></li><li class="listitem"><p><code class="function">std::lexicographical_compare</code></p></li><li class="listitem"><p><code class="function">std::mismatch</code></p></li><li class="listitem"><p><code class="function">std::search</code></p></li><li class="listitem"><p><code class="function">std::search_n</code></p></li><li class="listitem"><p><code class="function">std::transform</code></p></li><li class="listitem"><p><code class="function">std::replace</code></p></li><li class="listitem"><p><code class="function">std::replace_if</code></p></li><li class="listitem"><p><code class="function">std::max_element</code></p></li><li class="listitem"><p><code class="function">std::merge</code></p></li><li class="listitem"><p><code class="function">std::min_element</code></p></li><li class="listitem"><p><code class="function">std::nth_element</code></p></li><li class="listitem"><p><code class="function">std::partial_sort</code></p></li><li class="listitem"><p><code class="function">std::partition</code></p></li><li class="listitem"><p><code class="function">std::random_shuffle</code></p></li><li class="listitem"><p><code class="function">std::set_union</code></p></li><li class="listitem"><p><code class="function">std::set_intersection</code></p></li><li class="listitem"><p><code class="function">std::set_symmetric_difference</code></p></li><li class="listitem"><p><code class="function">std::set_difference</code></p></li><li class="listitem"><p><code class="function">std::sort</code></p></li><li class="listitem"><p><code class="function">std::stable_sort</code></p></li><li class="listitem"><p><code class="function">std::unique_copy</code></p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="parallel_mode.biblio"/>Bibliography</h2></div></div></div><div class="biblioentry"><a id="id510512"/><p><span class="citetitle"><em class="citetitle">
12637+</p><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.intro"></a>Intro</h2></div></div></div><p>The following library components in the include
12638+<code class="filename">numeric</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="function">std::accumulate</code></p></li><li class="listitem"><p><code class="function">std::adjacent_difference</code></p></li><li class="listitem"><p><code class="function">std::inner_product</code></p></li><li class="listitem"><p><code class="function">std::partial_sum</code></p></li></ul></div><p>The following library components in the include
12639+<code class="filename">algorithm</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="function">std::adjacent_find</code></p></li><li class="listitem"><p><code class="function">std::count</code></p></li><li class="listitem"><p><code class="function">std::count_if</code></p></li><li class="listitem"><p><code class="function">std::equal</code></p></li><li class="listitem"><p><code class="function">std::find</code></p></li><li class="listitem"><p><code class="function">std::find_if</code></p></li><li class="listitem"><p><code class="function">std::find_first_of</code></p></li><li class="listitem"><p><code class="function">std::for_each</code></p></li><li class="listitem"><p><code class="function">std::generate</code></p></li><li class="listitem"><p><code class="function">std::generate_n</code></p></li><li class="listitem"><p><code class="function">std::lexicographical_compare</code></p></li><li class="listitem"><p><code class="function">std::mismatch</code></p></li><li class="listitem"><p><code class="function">std::search</code></p></li><li class="listitem"><p><code class="function">std::search_n</code></p></li><li class="listitem"><p><code class="function">std::transform</code></p></li><li class="listitem"><p><code class="function">std::replace</code></p></li><li class="listitem"><p><code class="function">std::replace_if</code></p></li><li class="listitem"><p><code class="function">std::max_element</code></p></li><li class="listitem"><p><code class="function">std::merge</code></p></li><li class="listitem"><p><code class="function">std::min_element</code></p></li><li class="listitem"><p><code class="function">std::nth_element</code></p></li><li class="listitem"><p><code class="function">std::partial_sort</code></p></li><li class="listitem"><p><code class="function">std::partition</code></p></li><li class="listitem"><p><code class="function">std::random_shuffle</code></p></li><li class="listitem"><p><code class="function">std::set_union</code></p></li><li class="listitem"><p><code class="function">std::set_intersection</code></p></li><li class="listitem"><p><code class="function">std::set_symmetric_difference</code></p></li><li class="listitem"><p><code class="function">std::set_difference</code></p></li><li class="listitem"><p><code class="function">std::sort</code></p></li><li class="listitem"><p><code class="function">std::stable_sort</code></p></li><li class="listitem"><p><code class="function">std::unique_copy</code></p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="parallel_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry"><a id="id688998"></a><p><span class="citetitle"><em class="citetitle">
12640 Parallelization of Bulk Operations for STL Dictionaries
12641 </em>. </span><span class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span>. </span><span class="author"><span class="firstname">Leonor</span> <span class="surname">Frias</span>. </span><span class="copyright">Copyright © 2007 . </span><span class="publisher"><span class="publishername">
12642 Workshop on Highly Parallel Processing on a Chip (HPPC) 2007. (LNCS)
12643- . </span></span></p></div><div class="biblioentry"><a id="id510554"/><p><span class="citetitle"><em class="citetitle">
12644+ . </span></span></p></div><div class="biblioentry"><a id="id689041"></a><p><span class="citetitle"><em class="citetitle">
12645 The Multi-Core Standard Template Library
12646 </em>. </span><span class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span>. </span><span class="author"><span class="firstname">Peter</span> <span class="surname">Sanders</span>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Putze</span>. </span><span class="copyright">Copyright © 2007 . </span><span class="publisher"><span class="publishername">
12647 Euro-Par 2007: Parallel Processing. (LNCS 4641)
12648- . </span></span></p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch17s04.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch18s02.html">Next</a></td></tr><tr><td align="left" valign="top">Design </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Semantics</td></tr></table></div></body></html>
12649+ . </span></span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch17s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch18s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Design </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Semantics</td></tr></table></div></body></html>
12650Index: libstdc++-v3/doc/html/manual/setup.html
12651===================================================================
9f95000d
AM
12652--- libstdc++-v3/doc/html/manual/setup.html (.../tags/gcc_4_7_2_release) (wersja 192468)
12653+++ libstdc++-v3/doc/html/manual/setup.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
12654@@ -1,9 +1,9 @@
12655 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
12656-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
12657-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 2. Setup</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="intro.html" title="Part I.  Introduction"/><link rel="prev" href="bugs.html" title="Bugs"/><link rel="next" href="configure.html" title="Configure"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Setup</th></tr><tr><td align="left"><a accesskey="p" href="bugs.html">Prev</a> </td><th width="60%" align="center">Part I. 
12658+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
12659+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 2. Setup</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="bugs.html" title="Bugs" /><link rel="next" href="configure.html" title="Configure" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Setup</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bugs.html">Prev</a> </td><th width="60%" align="center">Part I. 
12660 Introduction
12661
12662-</th><td align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 2. Setup"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup"/>Chapter 2. Setup</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></div><p>To transform libstdc++ sources into installed include files
12663+</th><td width="20%" align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 2. Setup"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup"></a>Chapter 2. Setup</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></div><p>To transform libstdc++ sources into installed include files
12664 and properly built binaries useful for linking to other software is
12665 a multi-step process. Steps include getting the sources,
12666 configuring and building the sources, testing, and installation.
12667@@ -19,12 +19,12 @@
12668 make install
12669 </pre><p>
12670 Each step is described in more detail in the following sections.
12671- </p><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup.prereq"/>Prerequisites</h2></div></div></div><p>
12672+ </p><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.prereq"></a>Prerequisites</h2></div></div></div><p>
12673 Because libstdc++ is part of GCC, the primary source for
12674 installation instructions is
12675- <a class="link" href="http://gcc.gnu.org/install/">the GCC install page</a>.
12676+ <a class="link" href="http://gcc.gnu.org/install/" target="_top">the GCC install page</a>.
12677 In particular, list of prerequisite software needed to build the library
12678- <a class="link" href="http://gcc.gnu.org/install/prerequisites.html">
12679+ <a class="link" href="http://gcc.gnu.org/install/prerequisites.html" target="_top">
12680 starts with those requirements.</a> The same pages also list
12681 the tools you will need if you wish to modify the source.
12682 </p><p>
12683@@ -32,7 +32,7 @@
12684 </p><p>As of GCC 4.0.1 the minimum version of binutils required to build
12685 libstdc++ is <code class="code">2.15.90.0.1.1</code>. You can get snapshots
12686 (as well as releases) of binutils from
12687- <a class="link" href="ftp://sources.redhat.com/pub/binutils/">
12688+ <a class="link" href="ftp://sources.redhat.com/pub/binutils/" target="_top">
12689 ftp://sources.redhat.com/pub/binutils</a>.
12690 Older releases of libstdc++ do not require such a recent version,
12691 but to take full advantage of useful space-saving features and
12692@@ -87,7 +87,7 @@
12693 libstdc++ after "C" locales are installed is not necessary.
12694 </p><p>
12695 To install support for locales, do only one of the following:
12696- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>install all locales</p></li><li class="listitem"><p>install just the necessary locales</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>with Debian GNU/Linux:</p><p> Add the above list, as shown, to the file
12697+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>install all locales</p></li><li class="listitem"><p>install just the necessary locales</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>with Debian GNU/Linux:</p><p> Add the above list, as shown, to the file
12698 <code class="code">/etc/locale.gen</code> </p><p> run <code class="code">/usr/sbin/locale-gen</code> </p></li><li class="listitem"><p>on most Unix-like operating systems:</p><p><code class="code"> localedef -i de_DE -f ISO-8859-1 de_DE </code></p><p>(repeat for each entry in the above list) </p></li><li class="listitem"><p>
12699 Instructions for other operating systems solicited.
12700- </p></li></ul></div></li></ul></div></dd></dl></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bugs.html">Prev</a> </td><td align="center"><a accesskey="u" href="intro.html">Up</a></td><td align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr><tr><td align="left" valign="top">Bugs </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Configure</td></tr></table></div></body></html>
12701+ </p></li></ul></div></li></ul></div></dd></dl></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bugs.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Bugs </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Configure</td></tr></table></div></body></html>
12702Index: libstdc++-v3/doc/html/manual/backwards.html
12703===================================================================
9f95000d
AM
12704--- libstdc++-v3/doc/html/manual/backwards.html (.../tags/gcc_4_7_2_release) (wersja 192468)
12705+++ libstdc++-v3/doc/html/manual/backwards.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
12706@@ -1,9 +1,9 @@
12707 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
12708-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
12709-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Backwards Compatibility</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; backwards&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="prev" href="api.html" title="API Evolution and Deprecation History"/><link rel="next" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Backwards Compatibility</th></tr><tr><td align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
12710+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
12711+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Backwards Compatibility</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; backwards&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="api.html" title="API Evolution and Deprecation History" /><link rel="next" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Backwards Compatibility</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
12712 Porting and Maintenance
12713
12714-</th><td align="right"> <a accesskey="n" href="appendix_free.html">Next</a></td></tr></table><hr/></div><div class="section" title="Backwards Compatibility"><div class="titlepage"><div><div><h2 class="title"><a id="manual.appendix.porting.backwards"/>Backwards Compatibility</h2></div></div></div><div class="section" title="First"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.first"/>First</h3></div></div></div><p>The first generation GNU C++ library was called libg++. It was a
12715+</th><td width="20%" align="right"> <a accesskey="n" href="appendix_free.html">Next</a></td></tr></table><hr /></div><div class="section" title="Backwards Compatibility"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.appendix.porting.backwards"></a>Backwards Compatibility</h2></div></div></div><div class="section" title="First"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.first"></a>First</h3></div></div></div><p>The first generation GNU C++ library was called libg++. It was a
12716 separate GNU project, although reliably paired with GCC. Rumors imply
12717 that it had a working relationship with at least two kinds of
12718 dinosaur.
12719@@ -17,8 +17,8 @@
12720 really useful things that are used by a lot of people, the Standards
12721 Committee couldn't include everything, and so a lot of those
12722 <span class="quote">“<span class="quote">obvious</span>”</span> classes didn't get included.
12723-</p><p>Known Issues include many of the limitations of its immediate ancestor.</p><p>Portability notes and known implementation limitations are as follows.</p><div class="section" title="No ios_base"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.first.ios_base"/>No <code class="code">ios_base</code></h4></div></div></div><p> At least some older implementations don't have <code class="code">std::ios_base</code>, so you should use <code class="code">std::ios::badbit</code>, <code class="code">std::ios::failbit</code> and <code class="code">std::ios::eofbit</code> and <code class="code">std::ios::goodbit</code>.
12724-</p></div><div class="section" title="No cout in &lt;ostream.h&gt;, no cin in &lt;istream.h&gt;"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.first.cout_cin"/>No <code class="code">cout</code> in <code class="filename">&lt;ostream.h&gt;</code>, no <code class="code">cin</code> in <code class="filename">&lt;istream.h&gt;</code></h4></div></div></div><p>
12725+</p><p>Known Issues include many of the limitations of its immediate ancestor.</p><p>Portability notes and known implementation limitations are as follows.</p><div class="section" title="No ios_base"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.first.ios_base"></a>No <code class="code">ios_base</code></h4></div></div></div><p> At least some older implementations don't have <code class="code">std::ios_base</code>, so you should use <code class="code">std::ios::badbit</code>, <code class="code">std::ios::failbit</code> and <code class="code">std::ios::eofbit</code> and <code class="code">std::ios::goodbit</code>.
12726+</p></div><div class="section" title="No cout in &lt;ostream.h&gt;, no cin in &lt;istream.h&gt;"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.first.cout_cin"></a>No <code class="code">cout</code> in <code class="filename">&lt;ostream.h&gt;</code>, no <code class="code">cin</code> in <code class="filename">&lt;istream.h&gt;</code></h4></div></div></div><p>
12727 In earlier versions of the standard,
12728 <code class="filename">&lt;fstream.h&gt;</code>,
12729 <code class="filename">&lt;ostream.h&gt;</code>
12730@@ -29,10 +29,10 @@
12731 explicitly to get the required definitions.
12732 </p><p> Some include adjustment may be required.</p><p>This project is no longer maintained or supported, and the sources
12733 archived. For the desperate,
12734-the <a class="link" href="http://gcc.gnu.org/extensions.html">GCC extensions
12735+the <a class="link" href="http://gcc.gnu.org/extensions.html" target="_top">GCC extensions
12736 page</a> describes where to find the last libg++ source. The code is
12737 considered replaced and rewritten.
12738-</p></div></div><div class="section" title="Second"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.second"/>Second</h3></div></div></div><p>
12739+</p></div></div><div class="section" title="Second"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.second"></a>Second</h3></div></div></div><p>
12740 The second generation GNU C++ library was called libstdc++, or
12741 libstdc++-v2. It spans the time between libg++ and pre-ISO C++
12742 standardization and is usually associated with the following GCC
12743@@ -44,7 +44,7 @@
12744 archived. The code is considered replaced and rewritten.
12745 </p><p>
12746 Portability notes and known implementation limitations are as follows.
12747-</p><div class="section" title="Namespace std:: not supported"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.std"/>Namespace <code class="code">std::</code> not supported</h4></div></div></div><p>
12748+</p><div class="section" title="Namespace std:: not supported"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.std"></a>Namespace <code class="code">std::</code> not supported</h4></div></div></div><p>
12749 Some care is required to support C++ compiler and or library
12750 implementation that do not have the standard library in
12751 <code class="code">namespace std</code>.
12752@@ -108,10 +108,10 @@
12753 AC_DEFINE(HAVE_NAMESPACE_STD,,[Define if g++ supports namespace std. ])
12754 fi
12755 ])
12756-</pre></div><div class="section" title="Illegal iterator usage"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.iterators"/>Illegal iterator usage</h4></div></div></div><p>
12757+</pre></div><div class="section" title="Illegal iterator usage"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.iterators"></a>Illegal iterator usage</h4></div></div></div><p>
12758 The following illustrate implementation-allowed illegal iterator
12759 use, and then correct use.
12760-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
12761+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
12762 you cannot do <code class="code">ostream::operator&lt;&lt;(iterator)</code>
12763 to print the address of the iterator =&gt; use
12764 <code class="code">operator&lt;&lt; &amp;*iterator</code> instead
12765@@ -121,7 +121,7 @@
12766 </p></li><li class="listitem"><p>
12767 <code class="code">if (iterator)</code> won't work any more =&gt; use
12768 <code class="code">if (iterator != iterator_type())</code>
12769- </p></li></ul></div></div><div class="section" title="isspace from &lt;cctype&gt; is a macro"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.isspace"/><code class="code">isspace</code> from <code class="filename">&lt;cctype&gt;</code> is a macro
12770+ </p></li></ul></div></div><div class="section" title="isspace from &lt;cctype&gt; is a macro"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.isspace"></a><code class="code">isspace</code> from <code class="filename">&lt;cctype&gt;</code> is a macro
12771 </h4></div></div></div><p>
12772 Glibc 2.0.x and 2.1.x define <code class="filename">&lt;ctype.h&gt;</code> functionality as macros
12773 (isspace, isalpha etc.).
12774@@ -155,7 +155,7 @@
12775 (<code class="filename">&lt;ctype.h&gt;</code>) and the
12776 definitions in namespace <code class="code">std::</code>
12777 (<code class="code">&lt;cctype&gt;</code>).
12778-</p></div><div class="section" title="No vector::at, deque::at, string::at"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.at"/>No <code class="code">vector::at</code>, <code class="code">deque::at</code>, <code class="code">string::at</code></h4></div></div></div><p>
12779+</p></div><div class="section" title="No vector::at, deque::at, string::at"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.at"></a>No <code class="code">vector::at</code>, <code class="code">deque::at</code>, <code class="code">string::at</code></h4></div></div></div><p>
12780 One solution is to add an autoconf-test for this:
12781 </p><pre class="programlisting">
12782 AC_MSG_CHECKING(for container::at)
12783@@ -181,7 +181,7 @@
12784 </pre><p>
12785 If you are using other (non-GNU) compilers it might be a good idea
12786 to check for <code class="code">string::at</code> separately.
12787-</p></div><div class="section" title="No std::char_traits&lt;char&gt;::eof"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.eof"/>No <code class="code">std::char_traits&lt;char&gt;::eof</code></h4></div></div></div><p>
12788+</p></div><div class="section" title="No std::char_traits&lt;char&gt;::eof"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.eof"></a>No <code class="code">std::char_traits&lt;char&gt;::eof</code></h4></div></div></div><p>
12789 Use some kind of autoconf test, plus this:
12790 </p><pre class="programlisting">
12791 #ifdef HAVE_CHAR_TRAITS
12792@@ -189,7 +189,7 @@
12793 #else
12794 #define CPP_EOF EOF
12795 #endif
12796-</pre></div><div class="section" title="No string::clear"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.stringclear"/>No <code class="code">string::clear</code></h4></div></div></div><p>
12797+</pre></div><div class="section" title="No string::clear"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.stringclear"></a>No <code class="code">string::clear</code></h4></div></div></div><p>
12798 There are two functions for deleting the contents of a string:
12799 <code class="code">clear</code> and <code class="code">erase</code> (the latter returns the
12800 string).
12801@@ -207,18 +207,18 @@
12802 Unfortunately, <code class="code">clear</code> is not implemented in this
12803 version, so you should use <code class="code">erase</code> (which is probably
12804 faster than <code class="code">operator=(charT*)</code>).
12805-</p></div><div class="section" title="Removal of ostream::form and istream::scan extensions"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.ostreamform_istreamscan"/>
12806+</p></div><div class="section" title="Removal of ostream::form and istream::scan extensions"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.ostreamform_istreamscan"></a>
12807 Removal of <code class="code">ostream::form</code> and <code class="code">istream::scan</code>
12808 extensions
12809 </h4></div></div></div><p>
12810 These are no longer supported. Please use stringstreams instead.
12811-</p></div><div class="section" title="No basic_stringbuf, basic_stringstream"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.stringstreams"/>No <code class="code">basic_stringbuf</code>, <code class="code">basic_stringstream</code></h4></div></div></div><p>
12812+</p></div><div class="section" title="No basic_stringbuf, basic_stringstream"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.stringstreams"></a>No <code class="code">basic_stringbuf</code>, <code class="code">basic_stringstream</code></h4></div></div></div><p>
12813 Although the ISO standard <code class="code">i/ostringstream</code>-classes are
12814 provided, (<code class="filename">&lt;sstream&gt;</code>), for
12815 compatibility with older implementations the pre-ISO
12816 <code class="code">i/ostrstream</code> (<code class="filename">&lt;strstream&gt;</code>) interface is also provided,
12817 with these caveats:
12818-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
12819+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
12820 <code class="code">strstream</code> is considered to be deprecated
12821 </p></li><li class="listitem"><p>
12822 <code class="code">strstream</code> is limited to <code class="code">char</code>
12823@@ -300,14 +300,14 @@
12824 Another example of using stringstreams is in <a class="link" href="strings.html#strings.string.shrink" title="Shrink to Fit">this howto</a>.
12825 </p><p> There is additional information in the libstdc++-v2 info files, in
12826 particular <span class="quote">“<span class="quote">info iostream</span>”</span>.
12827-</p></div><div class="section" title="Little or no wide character support"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.wchar"/>Little or no wide character support</h4></div></div></div><p>
12828+</p></div><div class="section" title="Little or no wide character support"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.wchar"></a>Little or no wide character support</h4></div></div></div><p>
12829 Classes <code class="classname">wstring</code> and
12830 <code class="classname">char_traits&lt;wchar_t&gt;</code> are
12831 not supported.
12832- </p></div><div class="section" title="No templatized iostreams"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.iostream_templates"/>No templatized iostreams</h4></div></div></div><p>
12833+ </p></div><div class="section" title="No templatized iostreams"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.iostream_templates"></a>No templatized iostreams</h4></div></div></div><p>
12834 Classes <code class="classname">wfilebuf</code> and
12835 <code class="classname">wstringstream</code> are not supported.
12836- </p></div><div class="section" title="Thread safety issues"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.thread_safety"/>Thread safety issues</h4></div></div></div><p>
12837+ </p></div><div class="section" title="Thread safety issues"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.thread_safety"></a>Thread safety issues</h4></div></div></div><p>
12838 Earlier GCC releases had a somewhat different approach to
12839 threading configuration and proper compilation. Before GCC 3.0,
12840 configuration of the threading model was dictated by compiler
12841@@ -332,7 +332,7 @@
12842 against the gthr.h abstraction layer which is provided by gcc. A
12843 minor problem that pops up every so often is different
12844 interpretations of what "thread-safe" means for a
12845- library (not a general program). We currently use the <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html">same
12846+ library (not a general program). We currently use the <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html" target="_top">same
12847 definition that SGI</a> uses for their STL subset. However,
12848 the exception for read-only containers only applies to the STL
12849 components. This definition is widely-used and something similar
12850@@ -343,12 +343,12 @@
12851 first relevant message in the thread; from there you can use
12852 "Thread Next" to move down the thread. This farm is in
12853 latest-to-oldest order.
12854- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
12855- Our threading expert Loren gives a breakdown of <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-10/msg00024.html">the
12856+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
12857+ Our threading expert Loren gives a breakdown of <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-10/msg00024.html" target="_top">the
12858 six situations involving threads</a> for the 3.0
12859 release series.
12860 </p></li><li class="listitem"><p>
12861- <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00384.html">
12862+ <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00384.html" target="_top">
12863 This message</a> inspired a recent updating of issues with
12864 threading and the SGI STL library. It also contains some
12865 example POSIX-multithreaded STL code.
12866@@ -358,14 +358,14 @@
12867 few people with access to the backup tapes have been too swamped
12868 with work to restore them. Many of the points have been
12869 superseded anyhow.)
12870- </p></div></div><div class="section" title="Third"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.third"/>Third</h3></div></div></div><p> The third generation GNU C++ library is called libstdc++, or
12871+ </p></div></div><div class="section" title="Third"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.third"></a>Third</h3></div></div></div><p> The third generation GNU C++ library is called libstdc++, or
12872 libstdc++-v3.
12873 </p><p>The subset commonly known as the Standard Template Library
12874 (chapters 23 through 25, mostly) is adapted from the final release
12875 of the SGI STL (version 3.3), with extensive changes.
12876 </p><p>A more formal description of the V3 goals can be found in the
12877 official <a class="link" href="source_design_notes.html" title="Design Notes">design document</a>.
12878- </p><p>Portability notes and known implementation limitations are as follows.</p><div class="section" title="Pre-ISO headers moved to backwards or removed"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.headers"/>Pre-ISO headers moved to backwards or removed</h4></div></div></div><p> The pre-ISO C++ headers
12879+ </p><p>Portability notes and known implementation limitations are as follows.</p><div class="section" title="Pre-ISO headers moved to backwards or removed"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.headers"></a>Pre-ISO headers moved to backwards or removed</h4></div></div></div><p> The pre-ISO C++ headers
12880 (<code class="filename">&lt;iostream.h&gt;</code>,
12881 <code class="filename">&lt;defalloc.h&gt;</code> etc.) are
12882 available, unlike previous libstdc++ versions, but inclusion
12883@@ -375,7 +375,7 @@
12884 <code class="code">std::</code> into the global namespace.
12885 </p><p>For those of you new to ISO C++ (welcome, time travelers!), no,
12886 that isn't a typo. Yes, the headers really have new names.
12887- Marshall Cline's C++ FAQ Lite has a good explanation in <a class="link" href="http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.4">item
12888+ Marshall Cline's C++ FAQ Lite has a good explanation in <a class="link" href="http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.4" target="_top">item
12889 [27.4]</a>.
12890 </p><p> Some include adjustment may be required. What follows is an
12891 autoconf test that defines <code class="code">PRE_STDCXX_HEADERS</code> when they
12892@@ -438,7 +438,7 @@
12893 directive <code class="code">using namespace std;</code> can be put at the global
12894 scope. This should be enough to get this code compiling, assuming the
12895 other usage is correct.
12896-</p></div><div class="section" title="Extension headers hash_map, hash_set moved to ext or backwards"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.hash"/>Extension headers hash_map, hash_set moved to ext or backwards</h4></div></div></div><p>At this time most of the features of the SGI STL extension have been
12897+</p></div><div class="section" title="Extension headers hash_map, hash_set moved to ext or backwards"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.hash"></a>Extension headers hash_map, hash_set moved to ext or backwards</h4></div></div></div><p>At this time most of the features of the SGI STL extension have been
12898 replaced by standardized libraries.
12899 In particular, the <code class="classname">unordered_map</code> and
12900 <code class="classname">unordered_set</code> containers of TR1 and C++ 2011
12901@@ -512,7 +512,7 @@
12902 AC_DEFINE(HAVE_EXT_HASH_SET,,[Define if ext/hash_set is present. ])
12903 fi
12904 ])
12905-</pre></div><div class="section" title="No ios::nocreate/ios::noreplace."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.nocreate_noreplace"/>No <code class="code">ios::nocreate/ios::noreplace</code>.
12906+</pre></div><div class="section" title="No ios::nocreate/ios::noreplace."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.nocreate_noreplace"></a>No <code class="code">ios::nocreate/ios::noreplace</code>.
12907 </h4></div></div></div><p> The existence of <code class="code">ios::nocreate</code> being used for
12908 input-streams has been confirmed, most probably because the author
12909 thought it would be more correct to specify nocreate explicitly. So
12910@@ -523,7 +523,7 @@
12911 decide whether you want to create/replace or not. To my knowledge,
12912 even older implementations support <code class="code">app</code>, <code class="code">ate</code>
12913 and <code class="code">trunc</code> (except for <code class="code">app</code> ?).
12914-</p></div><div class="section" title="No stream::attach(int fd)"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.streamattach"/>
12915+</p></div><div class="section" title="No stream::attach(int fd)"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.streamattach"></a>
12916 No <code class="code">stream::attach(int fd)</code>
12917 </h4></div></div></div><p>
12918 Phil Edwards writes: It was considered and rejected for the ISO
12919@@ -539,14 +539,14 @@
12920 </p><p>
12921 An extension is available that implements this.
12922 <code class="filename">&lt;ext/stdio_filebuf.h&gt;</code> contains a derived class called
12923- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html"><code class="code">__gnu_cxx::stdio_filebuf</code></a>.
12924+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html" target="_top"><code class="code">__gnu_cxx::stdio_filebuf</code></a>.
12925 This class can be constructed from a C <code class="code">FILE*</code> or a file
12926 descriptor, and provides the <code class="code">fd()</code> function.
12927 </p><p>
12928 For another example of this, refer to
12929- <a class="link" href="http://www.josuttis.com/cppcode/fdstream.html">fdstream example</a>
12930+ <a class="link" href="http://www.josuttis.com/cppcode/fdstream.html" target="_top">fdstream example</a>
12931 by Nicolai Josuttis.
12932-</p></div><div class="section" title="Support for C++98 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.support_cxx98"/>
12933+</p></div><div class="section" title="Support for C++98 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.support_cxx98"></a>
12934 Support for C++98 dialect.
12935 </h4></div></div></div><p>Check for complete library coverage of the C++1998/2003 standard.
12936 </p><pre class="programlisting">
12937@@ -614,7 +614,7 @@
12938 AC_DEFINE(STDCXX_98_HEADERS,,[Define if ISO C++ 1998 header files are present. ])
12939 fi
12940 ])
12941-</pre></div><div class="section" title="Support for C++TR1 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.support_tr1"/>
12942+</pre></div><div class="section" title="Support for C++TR1 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.support_tr1"></a>
12943 Support for C++TR1 dialect.
12944 </h4></div></div></div><p>Check for library coverage of the TR1 standard.
12945 </p><pre class="programlisting">
12946@@ -691,7 +691,7 @@
12947 AC_DEFINE(HAVE_TR1_UNORDERED_SET,,[Define if tr1/unordered_set is present. ])
12948 fi
12949 ])
12950-</pre></div><div class="section" title="Support for C++11 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.support_cxx11"/>
12951+</pre></div><div class="section" title="Support for C++11 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.support_cxx11"></a>
12952 Support for C++11 dialect.
12953 </h4></div></div></div><p>Check for baseline language coverage in the compiler for the C++11 standard.
12954 </p><pre class="programlisting">
12955@@ -935,25 +935,25 @@
12956 but the autoconf checks above could be extended to test for incomplete
12957 C++11 support with <code class="option">-std=c++0x</code> and
12958 <code class="option">-std=gnu++0x</code>.
12959-</p></div><div class="section" title="Container::iterator_type is not necessarily Container::value_type*"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.iterator_type"/>
12960+</p></div><div class="section" title="Container::iterator_type is not necessarily Container::value_type*"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.iterator_type"></a>
12961 <code class="code">Container::iterator_type</code> is not necessarily <code class="code">Container::value_type*</code>
12962 </h4></div></div></div><p>
12963 This is a change in behavior from older versions. Now, most
12964 <span class="type">iterator_type</span> typedefs in container classes are POD
12965 objects, not <span class="type">value_type</span> pointers.
12966-</p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.biblio"/>Bibliography</h3></div></div></div><div class="biblioentry" title="Migrating to GCC 4.1"><a id="id564028"/><p><span class="title"><em>
12967- <a class="link" href="http://www.kegel.com/gcc/gcc4.html">
12968+</p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="Migrating to GCC 4.1"><a id="id742531"></a><p><span class="title"><em>
12969+ <a class="link" href="http://www.kegel.com/gcc/gcc4.html" target="_top">
12970 Migrating to GCC 4.1
12971 </a>
12972- </em>. </span><span class="author"><span class="firstname">Dan</span> <span class="surname">Kegel</span>. </span></p></div><div class="biblioentry" title="Building the Whole Debian Archive with GCC 4.1: A Summary"><a id="id564051"/><p><span class="title"><em>
12973- <a class="link" href="http://lists.debian.org/debian-gcc/2006/03/msg00405.html">
12974+ </em>. </span><span class="author"><span class="firstname">Dan</span> <span class="surname">Kegel</span>. </span></p></div><div class="biblioentry" title="Building the Whole Debian Archive with GCC 4.1: A Summary"><a id="id742554"></a><p><span class="title"><em>
12975+ <a class="link" href="http://lists.debian.org/debian-gcc/2006/03/msg00405.html" target="_top">
12976 Building the Whole Debian Archive with GCC 4.1: A Summary
12977 </a>
12978- </em>. </span><span class="author"><span class="firstname">Martin</span> <span class="surname">Michlmayr</span>. </span></p></div><div class="biblioentry" title="Migration guide for GCC-3.2"><a id="id564075"/><p><span class="title"><em>
12979- <a class="link" href="http://annwm.lbl.gov/~leggett/Atlas/gcc-3.2.html">
12980+ </em>. </span><span class="author"><span class="firstname">Martin</span> <span class="surname">Michlmayr</span>. </span></p></div><div class="biblioentry" title="Migration guide for GCC-3.2"><a id="id742578"></a><p><span class="title"><em>
12981+ <a class="link" href="http://annwm.lbl.gov/~leggett/Atlas/gcc-3.2.html" target="_top">
12982 Migration guide for GCC-3.2
12983 </a>
12984- </em>. </span></p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="api.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td align="right"> <a accesskey="n" href="appendix_free.html">Next</a></td></tr><tr><td align="left" valign="top">API Evolution and Deprecation History </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Appendix C. 
12985+ </em>. </span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="appendix_free.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">API Evolution and Deprecation History </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix C. 
12986 Free Software Needs Free Documentation
12987
12988 </td></tr></table></div></body></html>
12989Index: libstdc++-v3/doc/html/manual/source_design_notes.html
12990===================================================================
9f95000d
AM
12991--- libstdc++-v3/doc/html/manual/source_design_notes.html (.../tags/gcc_4_7_2_release) (wersja 192468)
12992+++ libstdc++-v3/doc/html/manual/source_design_notes.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
12993@@ -1,863 +1,863 @@
12994 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
12995-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
12996-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design Notes</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing"/><link rel="prev" href="source_code_style.html" title="Coding Style"/><link rel="next" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Notes</th></tr><tr><td align="left"><a accesskey="p" href="source_code_style.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
12997+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
12998+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design Notes</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="source_code_style.html" title="Coding Style" /><link rel="next" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Notes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_code_style.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
12999 Contributing
13000
13001-</th><td align="right"> <a accesskey="n" href="appendix_porting.html">Next</a></td></tr></table><hr/></div><div class="section" title="Design Notes"><div class="titlepage"><div><div><h2 class="title"><a id="contrib.design_notes"/>Design Notes</h2></div></div></div><p>
13002- </p><div class="literallayout"><p><br/>
13003-<br/>
13004-    The Library<br/>
13005-    -----------<br/>
13006-<br/>
13007-    This paper is covers two major areas:<br/>
13008-<br/>
13009-    - Features and policies not mentioned in the standard that<br/>
13010-    the quality of the library implementation depends on, including<br/>
13011-    extensions and "implementation-defined" features;<br/>
13012-<br/>
13013-    - Plans for required but unimplemented library features and<br/>
13014-    optimizations to them.<br/>
13015-<br/>
13016-    Overhead<br/>
13017-    --------<br/>
13018-<br/>
13019-    The standard defines a large library, much larger than the standard<br/>
13020-    C library. A naive implementation would suffer substantial overhead<br/>
13021-    in compile time, executable size, and speed, rendering it unusable<br/>
13022-    in many (particularly embedded) applications. The alternative demands<br/>
13023-    care in construction, and some compiler support, but there is no<br/>
13024-    need for library subsets.<br/>
13025-<br/>
13026-    What are the sources of this overhead?  There are four main causes:<br/>
13027-<br/>
13028-    - The library is specified almost entirely as templates, which<br/>
13029-    with current compilers must be included in-line, resulting in<br/>
13030-    very slow builds as tens or hundreds of thousands of lines<br/>
13031-    of function definitions are read for each user source file.<br/>
13032-    Indeed, the entire SGI STL, as well as the dos Reis valarray,<br/>
13033-    are provided purely as header files, largely for simplicity in<br/>
13034-    porting. Iostream/locale is (or will be) as large again.<br/>
13035-<br/>
13036-    - The library is very flexible, specifying a multitude of hooks<br/>
13037-    where users can insert their own code in place of defaults.<br/>
13038-    When these hooks are not used, any time and code expended to<br/>
13039-    support that flexibility is wasted.<br/>
13040-<br/>
13041-    - Templates are often described as causing to "code bloat". In<br/>
13042-    practice, this refers (when it refers to anything real) to several<br/>
13043-    independent processes. First, when a class template is manually<br/>
13044-    instantiated in its entirely, current compilers place the definitions<br/>
13045-    for all members in a single object file, so that a program linking<br/>
13046-    to one member gets definitions of all. Second, template functions<br/>
13047-    which do not actually depend on the template argument are, under<br/>
13048-    current compilers, generated anew for each instantiation, rather<br/>
13049-    than being shared with other instantiations. Third, some of the<br/>
13050-    flexibility mentioned above comes from virtual functions (both in<br/>
13051-    regular classes and template classes) which current linkers add<br/>
13052-    to the executable file even when they manifestly cannot be called.<br/>
13053-<br/>
13054-    - The library is specified to use a language feature, exceptions,<br/>
13055-    which in the current gcc compiler ABI imposes a run time and<br/>
13056-    code space cost to handle the possibility of exceptions even when<br/>
13057-    they are not used. Under the new ABI (accessed with -fnew-abi),<br/>
13058-    there is a space overhead and a small reduction in code efficiency<br/>
13059-    resulting from lost optimization opportunities associated with<br/>
13060-    non-local branches associated with exceptions.<br/>
13061-<br/>
13062-    What can be done to eliminate this overhead?  A variety of coding<br/>
13063-    techniques, and compiler, linker and library improvements and<br/>
13064-    extensions may be used, as covered below. Most are not difficult,<br/>
13065-    and some are already implemented in varying degrees.<br/>
13066-<br/>
13067-    Overhead: Compilation Time<br/>
13068-    --------------------------<br/>
13069-<br/>
13070-    Providing "ready-instantiated" template code in object code archives<br/>
13071-    allows us to avoid generating and optimizing template instantiations<br/>
13072-    in each compilation unit which uses them. However, the number of such<br/>
13073-    instantiations that are useful to provide is limited, and anyway this<br/>
13074-    is not enough, by itself, to minimize compilation time. In particular,<br/>
13075-    it does not reduce time spent parsing conforming headers.<br/>
13076-<br/>
13077-    Quicker header parsing will depend on library extensions and compiler<br/>
13078-    improvements.  One approach is some variation on the techniques<br/>
13079-    previously marketed as "pre-compiled headers", now standardized as<br/>
13080-    support for the "export" keyword. "Exported" template definitions<br/>
13081-    can be placed (once) in a "repository" -- really just a library, but<br/>
13082-    of template definitions rather than object code -- to be drawn upon<br/>
13083-    at link time when an instantiation is needed, rather than placed in<br/>
13084-    header files to be parsed along with every compilation unit.<br/>
13085-<br/>
13086-    Until "export" is implemented we can put some of the lengthy template<br/>
13087-    definitions in #if guards or alternative headers so that users can skip<br/>
13088-    over the full definitions when they need only the ready-instantiated<br/>
13089-    specializations.<br/>
13090-<br/>
13091-    To be precise, this means that certain headers which define<br/>
13092-    templates which users normally use only for certain arguments<br/>
13093-    can be instrumented to avoid exposing the template definitions<br/>
13094-    to the compiler unless a macro is defined. For example, in<br/>
13095-    &lt;string&gt;, we might have:<br/>
13096-<br/>
13097-    template &lt;class _CharT, ... &gt; class basic_string {<br/>
13098-    ... // member declarations<br/>
13099-    };<br/>
13100-    ... // operator declarations<br/>
13101-<br/>
13102-    #ifdef _STRICT_ISO_<br/>
13103-    # if _G_NO_TEMPLATE_EXPORT<br/>
13104-    #   include &lt;bits/std_locale.h&gt;  // headers needed by definitions<br/>
13105-    #   ...<br/>
13106-    #   include &lt;bits/string.tcc&gt;  // member and global template definitions.<br/>
13107-    # endif<br/>
13108-    #endif<br/>
13109-<br/>
13110-    Users who compile without specifying a strict-ISO-conforming flag<br/>
13111-    would not see many of the template definitions they now see, and rely<br/>
13112-    instead on ready-instantiated specializations in the library. This<br/>
13113-    technique would be useful for the following substantial components:<br/>
13114-    string, locale/iostreams, valarray. It would *not* be useful or<br/>
13115-    usable with the following: containers, algorithms, iterators,<br/>
13116-    allocator. Since these constitute a large (though decreasing)<br/>
13117-    fraction of the library, the benefit the technique offers is<br/>
13118-    limited.<br/>
13119-<br/>
13120-    The language specifies the semantics of the "export" keyword, but<br/>
13121-    the gcc compiler does not yet support it. When it does, problems<br/>
13122-    with large template inclusions can largely disappear, given some<br/>
13123-    minor library reorganization, along with the need for the apparatus<br/>
13124-    described above.<br/>
13125-<br/>
13126-    Overhead: Flexibility Cost<br/>
13127-    --------------------------<br/>
13128-<br/>
13129-    The library offers many places where users can specify operations<br/>
13130-    to be performed by the library in place of defaults. Sometimes<br/>
13131-    this seems to require that the library use a more-roundabout, and<br/>
13132-    possibly slower, way to accomplish the default requirements than<br/>
13133-    would be used otherwise.<br/>
13134-<br/>
13135-    The primary protection against this overhead is thorough compiler<br/>
13136-    optimization, to crush out layers of inline function interfaces.<br/>
13137-    Kuck &amp; Associates has demonstrated the practicality of this kind<br/>
13138-    of optimization.<br/>
13139-<br/>
13140-    The second line of defense against this overhead is explicit<br/>
13141-    specialization. By defining helper function templates, and writing<br/>
13142-    specialized code for the default case, overhead can be eliminated<br/>
13143-    for that case without sacrificing flexibility. This takes full<br/>
13144-    advantage of any ability of the optimizer to crush out degenerate<br/>
13145-    code.<br/>
13146-<br/>
13147-    The library specifies many virtual functions which current linkers<br/>
13148-    load even when they cannot be called. Some minor improvements to the<br/>
13149-    compiler and to ld would eliminate any such overhead by simply<br/>
13150-    omitting virtual functions that the complete program does not call.<br/>
13151-    A prototype of this work has already been done. For targets where<br/>
13152-    GNU ld is not used, a "pre-linker" could do the same job.<br/>
13153-<br/>
13154-    The main areas in the standard interface where user flexibility<br/>
13155-    can result in overhead are:<br/>
13156-<br/>
13157-    - Allocators:  Containers are specified to use user-definable<br/>
13158-    allocator types and objects, making tuning for the container<br/>
13159-    characteristics tricky.<br/>
13160-<br/>
13161-    - Locales: the standard specifies locale objects used to implement<br/>
13162-    iostream operations, involving many virtual functions which use<br/>
13163-    streambuf iterators.<br/>
13164-<br/>
13165-    - Algorithms and containers: these may be instantiated on any type,<br/>
13166-    frequently duplicating code for identical operations.<br/>
13167-<br/>
13168-    - Iostreams and strings: users are permitted to use these on their<br/>
13169-    own types, and specify the operations the stream must use on these<br/>
13170-    types.<br/>
13171-<br/>
13172-    Note that these sources of overhead are _avoidable_. The techniques<br/>
13173-    to avoid them are covered below.<br/>
13174-<br/>
13175-    Code Bloat<br/>
13176-    ----------<br/>
13177-<br/>
13178-    In the SGI STL, and in some other headers, many of the templates<br/>
13179-    are defined "inline" -- either explicitly or by their placement<br/>
13180-    in class definitions -- which should not be inline. This is a<br/>
13181-    source of code bloat. Matt had remarked that he was relying on<br/>
13182-    the compiler to recognize what was too big to benefit from inlining,<br/>
13183-    and generate it out-of-line automatically. However, this also can<br/>
13184-    result in code bloat except where the linker can eliminate the extra<br/>
13185-    copies.<br/>
13186-<br/>
13187-    Fixing these cases will require an audit of all inline functions<br/>
13188-    defined in the library to determine which merit inlining, and moving<br/>
13189-    the rest out of line. This is an issue mainly in chapters 23, 25, and<br/>
13190-    27. Of course it can be done incrementally, and we should generally<br/>
13191-    accept patches that move large functions out of line and into ".tcc"<br/>
13192-    files, which can later be pulled into a repository. Compiler/linker<br/>
13193-    improvements to recognize very large inline functions and move them<br/>
13194-    out-of-line, but shared among compilation units, could make this<br/>
13195-    work unnecessary.<br/>
13196-<br/>
13197-    Pre-instantiating template specializations currently produces large<br/>
13198-    amounts of dead code which bloats statically linked programs. The<br/>
13199-    current state of the static library, libstdc++.a, is intolerable on<br/>
13200-    this account, and will fuel further confused speculation about a need<br/>
13201-    for a library "subset". A compiler improvement that treats each<br/>
13202-    instantiated function as a separate object file, for linking purposes,<br/>
13203-    would be one solution to this problem. An alternative would be to<br/>
13204-    split up the manual instantiation files into dozens upon dozens of<br/>
13205-    little files, each compiled separately, but an abortive attempt at<br/>
13206-    this was done for &lt;string&gt; and, though it is far from complete, it<br/>
13207-    is already a nuisance. A better interim solution (just until we have<br/>
13208-    "export") is badly needed.<br/>
13209-<br/>
13210-    When building a shared library, the current compiler/linker cannot<br/>
13211-    automatically generate the instantiations needed. This creates a<br/>
13212-    miserable situation; it means any time something is changed in the<br/>
13213-    library, before a shared library can be built someone must manually<br/>
13214-    copy the declarations of all templates that are needed by other parts<br/>
13215-    of the library to an "instantiation" file, and add it to the build<br/>
13216-    system to be compiled and linked to the library. This process is<br/>
13217-    readily automated, and should be automated as soon as possible.<br/>
13218-    Users building their own shared libraries experience identical<br/>
13219-    frustrations.<br/>
13220-<br/>
13221-    Sharing common aspects of template definitions among instantiations<br/>
13222-    can radically reduce code bloat. The compiler could help a great<br/>
13223-    deal here by recognizing when a function depends on nothing about<br/>
13224-    a template parameter, or only on its size, and giving the resulting<br/>
13225-    function a link-name "equate" that allows it to be shared with other<br/>
13226-    instantiations. Implementation code could take advantage of the<br/>
13227-    capability by factoring out code that does not depend on the template<br/>
13228-    argument into separate functions to be merged by the compiler.<br/>
13229-<br/>
13230-    Until such a compiler optimization is implemented, much can be done<br/>
13231-    manually (if tediously) in this direction. One such optimization is<br/>
13232-    to derive class templates from non-template classes, and move as much<br/>
13233-    implementation as possible into the base class. Another is to partial-<br/>
13234-    specialize certain common instantiations, such as vector&lt;T*&gt;, to share<br/>
13235-    code for instantiations on all types T. While these techniques work,<br/>
13236-    they are far from the complete solution that a compiler improvement<br/>
13237-    would afford.<br/>
13238-<br/>
13239-    Overhead: Expensive Language Features<br/>
13240-    -------------------------------------<br/>
13241-<br/>
13242-    The main "expensive" language feature used in the standard library<br/>
13243-    is exception support, which requires compiling in cleanup code with<br/>
13244-    static table data to locate it, and linking in library code to use<br/>
13245-    the table. For small embedded programs the amount of such library<br/>
13246-    code and table data is assumed by some to be excessive. Under the<br/>
13247-    "new" ABI this perception is generally exaggerated, although in some<br/>
13248-    cases it may actually be excessive.<br/>
13249-<br/>
13250-    To implement a library which does not use exceptions directly is<br/>
13251-    not difficult given minor compiler support (to "turn off" exceptions<br/>
13252-    and ignore exception constructs), and results in no great library<br/>
13253-    maintenance difficulties. To be precise, given "-fno-exceptions",<br/>
13254-    the compiler should treat "try" blocks as ordinary blocks, and<br/>
13255-    "catch" blocks as dead code to ignore or eliminate. Compiler<br/>
13256-    support is not strictly necessary, except in the case of "function<br/>
13257-    try blocks"; otherwise the following macros almost suffice:<br/>
13258-<br/>
13259-    #define throw(X)<br/>
13260-    #define try      if (true)<br/>
13261-    #define catch(X) else if (false)<br/>
13262-<br/>
13263-    However, there may be a need to use function try blocks in the<br/>
13264-    library implementation, and use of macros in this way can make<br/>
13265-    correct diagnostics impossible. Furthermore, use of this scheme<br/>
13266-    would require the library to call a function to re-throw exceptions<br/>
13267-    from a try block. Implementing the above semantics in the compiler<br/>
13268-    is preferable.<br/>
13269-<br/>
13270-    Given the support above (however implemented) it only remains to<br/>
13271-    replace code that "throws" with a call to a well-documented "handler"<br/>
13272-    function in a separate compilation unit which may be replaced by<br/>
13273-    the user. The main source of exceptions that would be difficult<br/>
13274-    for users to avoid is memory allocation failures, but users can<br/>
13275-    define their own memory allocation primitives that never throw.<br/>
13276-    Otherwise, the complete list of such handlers, and which library<br/>
13277-    functions may call them, would be needed for users to be able to<br/>
13278-    implement the necessary substitutes. (Fortunately, they have the<br/>
13279-    source code.)<br/>
13280-<br/>
13281-    Opportunities<br/>
13282-    -------------<br/>
13283-<br/>
13284-    The template capabilities of C++ offer enormous opportunities for<br/>
13285-    optimizing common library operations, well beyond what would be<br/>
13286-    considered "eliminating overhead". In particular, many operations<br/>
13287-    done in Glibc with macros that depend on proprietary language<br/>
13288-    extensions can be implemented in pristine Standard C++. For example,<br/>
13289-    the chapter 25 algorithms, and even C library functions such as strchr,<br/>
13290-    can be specialized for the case of static arrays of known (small) size.<br/>
13291-<br/>
13292-    Detailed optimization opportunities are identified below where<br/>
13293-    the component where they would appear is discussed. Of course new<br/>
13294-    opportunities will be identified during implementation.<br/>
13295-<br/>
13296-    Unimplemented Required Library Features<br/>
13297-    ---------------------------------------<br/>
13298-<br/>
13299-    The standard specifies hundreds of components, grouped broadly by<br/>
13300-    chapter. These are listed in excruciating detail in the CHECKLIST<br/>
13301-    file.<br/>
13302-<br/>
13303-    17 general<br/>
13304-    18 support<br/>
13305-    19 diagnostics<br/>
13306-    20 utilities<br/>
13307-    21 string<br/>
13308-    22 locale<br/>
13309-    23 containers<br/>
13310-    24 iterators<br/>
13311-    25 algorithms<br/>
13312-    26 numerics<br/>
13313-    27 iostreams<br/>
13314-    Annex D  backward compatibility<br/>
13315-<br/>
13316-    Anyone participating in implementation of the library should obtain<br/>
13317-    a copy of the standard, ISO 14882.  People in the U.S. can obtain an<br/>
13318-    electronic copy for US$18 from ANSI's web site. Those from other<br/>
13319-    countries should visit http://www.iso.org/ to find out the location<br/>
13320-    of their country's representation in ISO, in order to know who can<br/>
13321-    sell them a copy.<br/>
13322-<br/>
13323-    The emphasis in the following sections is on unimplemented features<br/>
13324-    and optimization opportunities.<br/>
13325-<br/>
13326-    Chapter 17  General<br/>
13327-    -------------------<br/>
13328-<br/>
13329-    Chapter 17 concerns overall library requirements.<br/>
13330-<br/>
13331-    The standard doesn't mention threads. A multi-thread (MT) extension<br/>
13332-    primarily affects operators new and delete (18), allocator (20),<br/>
13333-    string (21), locale (22), and iostreams (27). The common underlying<br/>
13334-    support needed for this is discussed under chapter 20.<br/>
13335-<br/>
13336-    The standard requirements on names from the C headers create a<br/>
13337-    lot of work, mostly done. Names in the C headers must be visible<br/>
13338-    in the std:: and sometimes the global namespace; the names in the<br/>
13339-    two scopes must refer to the same object. More stringent is that<br/>
13340-    Koenig lookup implies that any types specified as defined in std::<br/>
13341-    really are defined in std::. Names optionally implemented as<br/>
13342-    macros in C cannot be macros in C++. (An overview may be read at<br/>
13343-    &lt;http://www.cantrip.org/cheaders.html&gt;). The scripts "inclosure"<br/>
13344-    and "mkcshadow", and the directories shadow/ and cshadow/, are the<br/>
13345-    beginning of an effort to conform in this area.<br/>
13346-<br/>
13347-    A correct conforming definition of C header names based on underlying<br/>
13348-    C library headers, and practical linking of conforming namespaced<br/>
13349-    customer code with third-party C libraries depends ultimately on<br/>
13350-    an ABI change, allowing namespaced C type names to be mangled into<br/>
13351-    type names as if they were global, somewhat as C function names in a<br/>
13352-    namespace, or C++ global variable names, are left unmangled. Perhaps<br/>
13353-    another "extern" mode, such as 'extern "C-global"' would be an<br/>
13354-    appropriate place for such type definitions. Such a type would<br/>
13355-    affect mangling as follows:<br/>
13356-<br/>
13357-    namespace A {<br/>
13358-    struct X {};<br/>
13359-    extern "C-global" {  // or maybe just 'extern "C"'<br/>
13360-    struct Y {};<br/>
13361-    };<br/>
13362-    }<br/>
13363-    void f(A::X*);  // mangles to f__FPQ21A1X<br/>
13364-    void f(A::Y*);  // mangles to f__FP1Y<br/>
13365-<br/>
13366-    (It may be that this is really the appropriate semantics for regular<br/>
13367-    'extern "C"', and 'extern "C-global"', as an extension, would not be<br/>
13368-    necessary.) This would allow functions declared in non-standard C headers<br/>
13369-    (and thus fixable by neither us nor users) to link properly with functions<br/>
13370-    declared using C types defined in properly-namespaced headers. The<br/>
13371-    problem this solves is that C headers (which C++ programmers do persist<br/>
13372-    in using) frequently forward-declare C struct tags without including<br/>
13373-    the header where the type is defined, as in<br/>
13374-<br/>
13375-    struct tm;<br/>
13376-    void munge(tm*);<br/>
13377-<br/>
13378-    Without some compiler accommodation, munge cannot be called by correct<br/>
13379-    C++ code using a pointer to a correctly-scoped tm* value.<br/>
13380-<br/>
13381-    The current C headers use the preprocessor extension "#include_next",<br/>
13382-    which the compiler complains about when run "-pedantic".<br/>
13383-    (Incidentally, it appears that "-fpedantic" is currently ignored,<br/>
13384-    probably a bug.)  The solution in the C compiler is to use<br/>
13385-    "-isystem" rather than "-I", but unfortunately in g++ this seems<br/>
13386-    also to wrap the whole header in an 'extern "C"' block, so it's<br/>
13387-    unusable for C++ headers. The correct solution appears to be to<br/>
13388-    allow the various special include-directory options, if not given<br/>
13389-    an argument, to affect subsequent include-directory options additively,<br/>
13390-    so that if one said<br/>
13391-<br/>
13392-    -pedantic -iprefix $(prefix) \<br/>
13393-    -idirafter -ino-pedantic -ino-extern-c -iwithprefix -I g++-v3 \<br/>
13394-    -iwithprefix -I g++-v3/ext<br/>
13395-<br/>
13396-    the compiler would search $(prefix)/g++-v3 and not report<br/>
13397-    pedantic warnings for files found there, but treat files in<br/>
13398-    $(prefix)/g++-v3/ext pedantically. (The undocumented semantics<br/>
13399-    of "-isystem" in g++ stink. Can they be rescinded?  If not it<br/>
13400-    must be replaced with something more rationally behaved.)<br/>
13401-<br/>
13402-    All the C headers need the treatment above; in the standard these<br/>
13403-    headers are mentioned in various chapters. Below, I have only<br/>
13404-    mentioned those that present interesting implementation issues.<br/>
13405-<br/>
13406-    The components identified as "mostly complete", below, have not been<br/>
13407-    audited for conformance. In many cases where the library passes<br/>
13408-    conformance tests we have non-conforming extensions that must be<br/>
13409-    wrapped in #if guards for "pedantic" use, and in some cases renamed<br/>
13410-    in a conforming way for continued use in the implementation regardless<br/>
13411-    of conformance flags.<br/>
13412-<br/>
13413-    The STL portion of the library still depends on a header<br/>
13414-    stl/bits/stl_config.h full of #ifdef clauses. This apparatus<br/>
13415-    should be replaced with autoconf/automake machinery.<br/>
13416-<br/>
13417-    The SGI STL defines a type_traits&lt;&gt; template, specialized for<br/>
13418-    many types in their code including the built-in numeric and<br/>
13419-    pointer types and some library types, to direct optimizations of<br/>
13420-    standard functions. The SGI compiler has been extended to generate<br/>
13421-    specializations of this template automatically for user types,<br/>
13422-    so that use of STL templates on user types can take advantage of<br/>
13423-    these optimizations. Specializations for other, non-STL, types<br/>
13424-    would make more optimizations possible, but extending the gcc<br/>
13425-    compiler in the same way would be much better. Probably the next<br/>
13426-    round of standardization will ratify this, but probably with<br/>
13427-    changes, so it probably should be renamed to place it in the<br/>
13428-    implementation namespace.<br/>
13429-<br/>
13430-    The SGI STL also defines a large number of extensions visible in<br/>
13431-    standard headers. (Other extensions that appear in separate headers<br/>
13432-    have been sequestered in subdirectories ext/ and backward/.)  All<br/>
13433-    these extensions should be moved to other headers where possible,<br/>
13434-    and in any case wrapped in a namespace (not std!), and (where kept<br/>
13435-    in a standard header) girded about with macro guards. Some cannot be<br/>
13436-    moved out of standard headers because they are used to implement<br/>
13437-    standard features.  The canonical method for accommodating these<br/>
13438-    is to use a protected name, aliased in macro guards to a user-space<br/>
13439-    name. Unfortunately C++ offers no satisfactory template typedef<br/>
13440-    mechanism, so very ad-hoc and unsatisfactory aliasing must be used<br/>
13441-    instead.<br/>
13442-<br/>
13443-    Implementation of a template typedef mechanism should have the highest<br/>
13444-    priority among possible extensions, on the same level as implementation<br/>
13445-    of the template "export" feature.<br/>
13446-<br/>
13447-    Chapter 18  Language support<br/>
13448-    ----------------------------<br/>
13449-<br/>
13450-    Headers: &lt;limits&gt; &lt;new&gt; &lt;typeinfo&gt; &lt;exception&gt;<br/>
13451-    C headers: &lt;cstddef&gt; &lt;climits&gt; &lt;cfloat&gt;  &lt;cstdarg&gt; &lt;csetjmp&gt;<br/>
13452-    &lt;ctime&gt;   &lt;csignal&gt; &lt;cstdlib&gt; (also 21, 25, 26)<br/>
13453-<br/>
13454-    This defines the built-in exceptions, rtti, numeric_limits&lt;&gt;,<br/>
13455-    operator new and delete. Much of this is provided by the<br/>
13456-    compiler in its static runtime library.<br/>
13457-<br/>
13458-    Work to do includes defining numeric_limits&lt;&gt; specializations in<br/>
13459-    separate files for all target architectures. Values for integer types<br/>
13460-    except for bool and wchar_t are readily obtained from the C header<br/>
13461-    &lt;limits.h&gt;, but values for the remaining numeric types (bool, wchar_t,<br/>
13462-    float, double, long double) must be entered manually. This is<br/>
13463-    largely dog work except for those members whose values are not<br/>
13464-    easily deduced from available documentation. Also, this involves<br/>
13465-    some work in target configuration to identify the correct choice of<br/>
13466-    file to build against and to install.<br/>
13467-<br/>
13468-    The definitions of the various operators new and delete must be<br/>
13469-    made thread-safe, which depends on a portable exclusion mechanism,<br/>
13470-    discussed under chapter 20.  Of course there is always plenty of<br/>
13471-    room for improvements to the speed of operators new and delete.<br/>
13472-<br/>
13473-    &lt;cstdarg&gt;, in Glibc, defines some macros that gcc does not allow to<br/>
13474-    be wrapped into an inline function. Probably this header will demand<br/>
13475-    attention whenever a new target is chosen. The functions atexit(),<br/>
13476-    exit(), and abort() in cstdlib have different semantics in C++, so<br/>
13477-    must be re-implemented for C++.<br/>
13478-<br/>
13479-    Chapter 19  Diagnostics<br/>
13480-    -----------------------<br/>
13481-<br/>
13482-    Headers: &lt;stdexcept&gt;<br/>
13483-    C headers: &lt;cassert&gt; &lt;cerrno&gt;<br/>
13484-<br/>
13485-    This defines the standard exception objects, which are "mostly complete".<br/>
13486-    Cygnus has a version, and now SGI provides a slightly different one.<br/>
13487-    It makes little difference which we use.<br/>
13488-<br/>
13489-    The C global name "errno", which C allows to be a variable or a macro,<br/>
13490-    is required in C++ to be a macro. For MT it must typically result in<br/>
13491-    a function call.<br/>
13492-<br/>
13493-    Chapter 20  Utilities<br/>
13494-    ---------------------<br/>
13495-    Headers: &lt;utility&gt; &lt;functional&gt; &lt;memory&gt;<br/>
13496-    C header: &lt;ctime&gt; (also in 18)<br/>
13497-<br/>
13498-    SGI STL provides "mostly complete" versions of all the components<br/>
13499-    defined in this chapter. However, the auto_ptr&lt;&gt; implementation<br/>
13500-    is known to be wrong. Furthermore, the standard definition of it<br/>
13501-    is known to be unimplementable as written. A minor change to the<br/>
13502-    standard would fix it, and auto_ptr&lt;&gt; should be adjusted to match.<br/>
13503-<br/>
13504-    Multi-threading affects the allocator implementation, and there must<br/>
13505-    be configuration/installation choices for different users' MT<br/>
13506-    requirements. Anyway, users will want to tune allocator options<br/>
13507-    to support different target conditions, MT or no.<br/>
13508-<br/>
13509-    The primitives used for MT implementation should be exposed, as an<br/>
13510-    extension, for users' own work. We need cross-CPU "mutex" support,<br/>
13511-    multi-processor shared-memory atomic integer operations, and single-<br/>
13512-    processor uninterruptible integer operations, and all three configurable<br/>
13513-    to be stubbed out for non-MT use, or to use an appropriately-loaded<br/>
13514-    dynamic library for the actual runtime environment, or statically<br/>
13515-    compiled in for cases where the target architecture is known.<br/>
13516-<br/>
13517-    Chapter 21  String<br/>
13518-    ------------------<br/>
13519-    Headers: &lt;string&gt;<br/>
13520-    C headers: &lt;cctype&gt; &lt;cwctype&gt; &lt;cstring&gt; &lt;cwchar&gt; (also in 27)<br/>
13521-    &lt;cstdlib&gt; (also in 18, 25, 26)<br/>
13522-<br/>
13523-    We have "mostly-complete" char_traits&lt;&gt; implementations. Many of the<br/>
13524-    char_traits&lt;char&gt; operations might be optimized further using existing<br/>
13525-    proprietary language extensions.<br/>
13526-<br/>
13527-    We have a "mostly-complete" basic_string&lt;&gt; implementation. The work<br/>
13528-    to manually instantiate char and wchar_t specializations in object<br/>
13529-    files to improve link-time behavior is extremely unsatisfactory,<br/>
13530-    literally tripling library-build time with no commensurate improvement<br/>
13531-    in static program link sizes. It must be redone. (Similar work is<br/>
13532-    needed for some components in chapters 22 and 27.)<br/>
13533-<br/>
13534-    Other work needed for strings is MT-safety, as discussed under the<br/>
13535-    chapter 20 heading.<br/>
13536-<br/>
13537-    The standard C type mbstate_t from &lt;cwchar&gt; and used in char_traits&lt;&gt;<br/>
13538-    must be different in C++ than in C, because in C++ the default constructor<br/>
13539-    value mbstate_t() must be the "base" or "ground" sequence state.<br/>
13540-    (According to the likely resolution of a recently raised Core issue,<br/>
13541-    this may become unnecessary. However, there are other reasons to<br/>
13542-    use a state type not as limited as whatever the C library provides.)<br/>
13543-    If we might want to provide conversions from (e.g.) internally-<br/>
13544-    represented EUC-wide to externally-represented Unicode, or vice-<br/>
13545-    versa, the mbstate_t we choose will need to be more accommodating<br/>
13546-    than what might be provided by an underlying C library.<br/>
13547-<br/>
13548-    There remain some basic_string template-member functions which do<br/>
13549-    not overload properly with their non-template brethren. The infamous<br/>
13550-    hack akin to what was done in vector&lt;&gt; is needed, to conform to<br/>
13551-    23.1.1 para 10. The CHECKLIST items for basic_string marked 'X',<br/>
13552-    or incomplete, are so marked for this reason.<br/>
13553-<br/>
13554-    Replacing the string iterators, which currently are simple character<br/>
13555-    pointers, with class objects would greatly increase the safety of the<br/>
13556-    client interface, and also permit a "debug" mode in which range,<br/>
13557-    ownership, and validity are rigorously checked. The current use of<br/>
13558-    raw pointers as string iterators is evil. vector&lt;&gt; iterators need the<br/>
13559-    same treatment. Note that the current implementation freely mixes<br/>
13560-    pointers and iterators, and that must be fixed before safer iterators<br/>
13561-    can be introduced.<br/>
13562-<br/>
13563-    Some of the functions in &lt;cstring&gt; are different from the C version.<br/>
13564-    generally overloaded on const and non-const argument pointers. For<br/>
13565-    example, in &lt;cstring&gt; strchr is overloaded. The functions isupper<br/>
13566-    etc. in &lt;cctype&gt; typically implemented as macros in C are functions<br/>
13567-    in C++, because they are overloaded with others of the same name<br/>
13568-    defined in &lt;locale&gt;.<br/>
13569-<br/>
13570-    Many of the functions required in &lt;cwctype&gt; and &lt;cwchar&gt; cannot be<br/>
13571-    implemented using underlying C facilities on intended targets because<br/>
13572-    such facilities only partly exist.<br/>
13573-<br/>
13574-    Chapter 22  Locale<br/>
13575-    ------------------<br/>
13576-    Headers: &lt;locale&gt;<br/>
13577-    C headers: &lt;clocale&gt;<br/>
13578-<br/>
13579-    We have a "mostly complete" class locale, with the exception of<br/>
13580-    code for constructing, and handling the names of, named locales.<br/>
13581-    The ways that locales are named (particularly when categories<br/>
13582-    (e.g. LC_TIME, LC_COLLATE) are different) varies among all target<br/>
13583-    environments. This code must be written in various versions and<br/>
13584-    chosen by configuration parameters.<br/>
13585-<br/>
13586-    Members of many of the facets defined in &lt;locale&gt; are stubs. Generally,<br/>
13587-    there are two sets of facets: the base class facets (which are supposed<br/>
13588-    to implement the "C" locale) and the "byname" facets, which are supposed<br/>
13589-    to read files to determine their behavior. The base ctype&lt;&gt;, collate&lt;&gt;,<br/>
13590-    and numpunct&lt;&gt; facets are "mostly complete", except that the table of<br/>
13591-    bitmask values used for "is" operations, and corresponding mask values,<br/>
13592-    are still defined in libio and just included/linked. (We will need to<br/>
13593-    implement these tables independently, soon, but should take advantage<br/>
13594-    of libio where possible.)  The num_put&lt;&gt;::put members for integer types<br/>
13595-    are "mostly complete".<br/>
13596-<br/>
13597-    A complete list of what has and has not been implemented may be<br/>
13598-    found in CHECKLIST. However, note that the current definition of<br/>
13599-    codecvt&lt;wchar_t,char,mbstate_t&gt; is wrong. It should simply write<br/>
13600-    out the raw bytes representing the wide characters, rather than<br/>
13601-    trying to convert each to a corresponding single "char" value.<br/>
13602-<br/>
13603-    Some of the facets are more important than others. Specifically,<br/>
13604-    the members of ctype&lt;&gt;, numpunct&lt;&gt;, num_put&lt;&gt;, and num_get&lt;&gt; facets<br/>
13605-    are used by other library facilities defined in &lt;string&gt;, &lt;istream&gt;,<br/>
13606-    and &lt;ostream&gt;, and the codecvt&lt;&gt; facet is used by basic_filebuf&lt;&gt;<br/>
13607-    in &lt;fstream&gt;, so a conforming iostream implementation depends on<br/>
13608-    these.<br/>
13609-<br/>
13610-    The "long long" type eventually must be supported, but code mentioning<br/>
13611-    it should be wrapped in #if guards to allow pedantic-mode compiling.<br/>
13612-<br/>
13613-    Performance of num_put&lt;&gt; and num_get&lt;&gt; depend critically on<br/>
13614-    caching computed values in ios_base objects, and on extensions<br/>
13615-    to the interface with streambufs.<br/>
13616-<br/>
13617-    Specifically: retrieving a copy of the locale object, extracting<br/>
13618-    the needed facets, and gathering data from them, for each call to<br/>
13619-    (e.g.) operator&lt;&lt; would be prohibitively slow.  To cache format<br/>
13620-    data for use by num_put&lt;&gt; and num_get&lt;&gt; we have a _Format_cache&lt;&gt;<br/>
13621-    object stored in the ios_base::pword() array. This is constructed<br/>
13622-    and initialized lazily, and is organized purely for utility. It<br/>
13623-    is discarded when a new locale with different facets is imbued.<br/>
13624-<br/>
13625-    Using only the public interfaces of the iterator arguments to the<br/>
13626-    facet functions would limit performance by forbidding "vector-style"<br/>
13627-    character operations. The streambuf iterator optimizations are<br/>
13628-    described under chapter 24, but facets can also bypass the streambuf<br/>
13629-    iterators via explicit specializations and operate directly on the<br/>
13630-    streambufs, and use extended interfaces to get direct access to the<br/>
13631-    streambuf internal buffer arrays. These extensions are mentioned<br/>
13632-    under chapter 27. These optimizations are particularly important<br/>
13633-    for input parsing.<br/>
13634-<br/>
13635-    Unused virtual members of locale facets can be omitted, as mentioned<br/>
13636-    above, by a smart linker.<br/>
13637-<br/>
13638-    Chapter 23  Containers<br/>
13639-    ----------------------<br/>
13640-    Headers: &lt;deque&gt; &lt;list&gt; &lt;queue&gt; &lt;stack&gt; &lt;vector&gt; &lt;map&gt; &lt;set&gt; &lt;bitset&gt;<br/>
13641-<br/>
13642-    All the components in chapter 23 are implemented in the SGI STL.<br/>
13643-    They are "mostly complete"; they include a large number of<br/>
13644-    nonconforming extensions which must be wrapped. Some of these<br/>
13645-    are used internally and must be renamed or duplicated.<br/>
13646-<br/>
13647-    The SGI components are optimized for large-memory environments. For<br/>
13648-    embedded targets, different criteria might be more appropriate. Users<br/>
13649-    will want to be able to tune this behavior. We should provide<br/>
13650-    ways for users to compile the library with different memory usage<br/>
13651-    characteristics.<br/>
13652-<br/>
13653-    A lot more work is needed on factoring out common code from different<br/>
13654-    specializations to reduce code size here and in chapter 25. The<br/>
13655-    easiest fix for this would be a compiler/ABI improvement that allows<br/>
13656-    the compiler to recognize when a specialization depends only on the<br/>
13657-    size (or other gross quality) of a template argument, and allow the<br/>
13658-    linker to share the code with similar specializations. In its<br/>
13659-    absence, many of the algorithms and containers can be partial-<br/>
13660-    specialized, at least for the case of pointers, but this only solves<br/>
13661-    a small part of the problem. Use of a type_traits-style template<br/>
13662-    allows a few more optimization opportunities, more if the compiler<br/>
13663-    can generate the specializations automatically.<br/>
13664-<br/>
13665-    As an optimization, containers can specialize on the default allocator<br/>
13666-    and bypass it, or take advantage of details of its implementation<br/>
13667-    after it has been improved upon.<br/>
13668-<br/>
13669-    Replacing the vector iterators, which currently are simple element<br/>
13670-    pointers, with class objects would greatly increase the safety of the<br/>
13671-    client interface, and also permit a "debug" mode in which range,<br/>
13672-    ownership, and validity are rigorously checked. The current use of<br/>
13673-    pointers for iterators is evil.<br/>
13674-<br/>
13675-    As mentioned for chapter 24, the deque iterator is a good example of<br/>
13676-    an opportunity to implement a "staged" iterator that would benefit<br/>
13677-    from specializations of some algorithms.<br/>
13678-<br/>
13679-    Chapter 24  Iterators<br/>
13680-    ---------------------<br/>
13681-    Headers: &lt;iterator&gt;<br/>
13682-<br/>
13683-    Standard iterators are "mostly complete", with the exception of<br/>
13684-    the stream iterators, which are not yet templatized on the<br/>
13685-    stream type. Also, the base class template iterator&lt;&gt; appears<br/>
13686-    to be wrong, so everything derived from it must also be wrong,<br/>
13687-    currently.<br/>
13688-<br/>
13689-    The streambuf iterators (currently located in stl/bits/std_iterator.h,<br/>
13690-    but should be under bits/) can be rewritten to take advantage of<br/>
13691-    friendship with the streambuf implementation.<br/>
13692-<br/>
13693-    Matt Austern has identified opportunities where certain iterator<br/>
13694-    types, particularly including streambuf iterators and deque<br/>
13695-    iterators, have a "two-stage" quality, such that an intermediate<br/>
13696-    limit can be checked much more quickly than the true limit on<br/>
13697-    range operations. If identified with a member of iterator_traits,<br/>
13698-    algorithms may be specialized for this case. Of course the<br/>
13699-    iterators that have this quality can be identified by specializing<br/>
13700-    a traits class.<br/>
13701-<br/>
13702-    Many of the algorithms must be specialized for the streambuf<br/>
13703-    iterators, to take advantage of block-mode operations, in order<br/>
13704-    to allow iostream/locale operations' performance not to suffer.<br/>
13705-    It may be that they could be treated as staged iterators and<br/>
13706-    take advantage of those optimizations.<br/>
13707-<br/>
13708-    Chapter 25  Algorithms<br/>
13709-    ----------------------<br/>
13710-    Headers: &lt;algorithm&gt;<br/>
13711-    C headers: &lt;cstdlib&gt; (also in 18, 21, 26))<br/>
13712-<br/>
13713-    The algorithms are "mostly complete". As mentioned above, they<br/>
13714-    are optimized for speed at the expense of code and data size.<br/>
13715-<br/>
13716-    Specializations of many of the algorithms for non-STL types would<br/>
13717-    give performance improvements, but we must use great care not to<br/>
13718-    interfere with fragile template overloading semantics for the<br/>
13719-    standard interfaces. Conventionally the standard function template<br/>
13720-    interface is an inline which delegates to a non-standard function<br/>
13721-    which is then overloaded (this is already done in many places in<br/>
13722-    the library). Particularly appealing opportunities for the sake of<br/>
13723-    iostream performance are for copy and find applied to streambuf<br/>
13724-    iterators or (as noted elsewhere) for staged iterators, of which<br/>
13725-    the streambuf iterators are a good example.<br/>
13726-<br/>
13727-    The bsearch and qsort functions cannot be overloaded properly as<br/>
13728-    required by the standard because gcc does not yet allow overloading<br/>
13729-    on the extern-"C"-ness of a function pointer.<br/>
13730-<br/>
13731-    Chapter 26  Numerics<br/>
13732-    --------------------<br/>
13733-    Headers: &lt;complex&gt; &lt;valarray&gt; &lt;numeric&gt;<br/>
13734-    C headers: &lt;cmath&gt;, &lt;cstdlib&gt; (also 18, 21, 25)<br/>
13735-<br/>
13736-    Numeric components: Gabriel dos Reis's valarray, Drepper's complex,<br/>
13737-    and the few algorithms from the STL are "mostly done".  Of course<br/>
13738-    optimization opportunities abound for the numerically literate. It<br/>
13739-    is not clear whether the valarray implementation really conforms<br/>
13740-    fully, in the assumptions it makes about aliasing (and lack thereof)<br/>
13741-    in its arguments.<br/>
13742-<br/>
13743-    The C div() and ldiv() functions are interesting, because they are the<br/>
13744-    only case where a C library function returns a class object by value.<br/>
13745-    Since the C++ type div_t must be different from the underlying C type<br/>
13746-    (which is in the wrong namespace) the underlying functions div() and<br/>
13747-    ldiv() cannot be re-used efficiently. Fortunately they are trivial to<br/>
13748-    re-implement.<br/>
13749-<br/>
13750-    Chapter 27  Iostreams<br/>
13751-    ---------------------<br/>
13752-    Headers: &lt;iosfwd&gt; &lt;streambuf&gt; &lt;ios&gt; &lt;ostream&gt; &lt;istream&gt; &lt;iostream&gt;<br/>
13753-    &lt;iomanip&gt; &lt;sstream&gt; &lt;fstream&gt;<br/>
13754-    C headers: &lt;cstdio&gt; &lt;cwchar&gt; (also in 21)<br/>
13755-<br/>
13756-    Iostream is currently in a very incomplete state. &lt;iosfwd&gt;, &lt;iomanip&gt;,<br/>
13757-    ios_base, and basic_ios&lt;&gt; are "mostly complete". basic_streambuf&lt;&gt; and<br/>
13758-    basic_ostream&lt;&gt; are well along, but basic_istream&lt;&gt; has had little work<br/>
13759-    done. The standard stream objects, &lt;sstream&gt; and &lt;fstream&gt; have been<br/>
13760-    started; basic_filebuf&lt;&gt; "write" functions have been implemented just<br/>
13761-    enough to do "hello, world".<br/>
13762-<br/>
13763-    Most of the istream and ostream operators &lt;&lt; and &gt;&gt; (with the exception<br/>
13764-    of the op&lt;&lt;(integer) ones) have not been changed to use locale primitives,<br/>
13765-    sentry objects, or char_traits members.<br/>
13766-<br/>
13767-    All these templates should be manually instantiated for char and<br/>
13768-    wchar_t in a way that links only used members into user programs.<br/>
13769-<br/>
13770-    Streambuf is fertile ground for optimization extensions. An extended<br/>
13771-    interface giving iterator access to its internal buffer would be very<br/>
13772-    useful for other library components.<br/>
13773-<br/>
13774-    Iostream operations (primarily operators &lt;&lt; and &gt;&gt;) can take advantage<br/>
13775-    of the case where user code has not specified a locale, and bypass locale<br/>
13776-    operations entirely. The current implementation of op&lt;&lt;/num_put&lt;&gt;::put,<br/>
13777-    for the integer types, demonstrates how they can cache encoding details<br/>
13778-    from the locale on each operation. There is lots more room for<br/>
13779-    optimization in this area.<br/>
13780-<br/>
13781-    The definition of the relationship between the standard streams<br/>
13782-    cout et al. and stdout et al. requires something like a "stdiobuf".<br/>
13783-    The SGI solution of using double-indirection to actually use a<br/>
13784-    stdio FILE object for buffering is unsatisfactory, because it<br/>
13785-    interferes with peephole loop optimizations.<br/>
13786-<br/>
13787-    The &lt;sstream&gt; header work has begun. stringbuf can benefit from<br/>
13788-    friendship with basic_string&lt;&gt; and basic_string&lt;&gt;::_Rep to use<br/>
13789-    those objects directly as buffers, and avoid allocating and making<br/>
13790-    copies.<br/>
13791-<br/>
13792-    The basic_filebuf&lt;&gt; template is a complex beast. It is specified to<br/>
13793-    use the locale facet codecvt&lt;&gt; to translate characters between native<br/>
13794-    files and the locale character encoding. In general this involves<br/>
13795-    two buffers, one of "char" representing the file and another of<br/>
13796-    "char_type", for the stream, with codecvt&lt;&gt; translating. The process<br/>
13797-    is complicated by the variable-length nature of the translation, and<br/>
13798-    the need to seek to corresponding places in the two representations.<br/>
13799-    For the case of basic_filebuf&lt;char&gt;, when no translation is needed,<br/>
13800-    a single buffer suffices. A specialized filebuf can be used to reduce<br/>
13801-    code space overhead when no locale has been imbued. Matt Austern's<br/>
13802-    work at SGI will be useful, perhaps directly as a source of code, or<br/>
13803-    at least as an example to draw on.<br/>
13804-<br/>
13805-    Filebuf, almost uniquely (cf. operator new), depends heavily on<br/>
13806-    underlying environmental facilities. In current releases iostream<br/>
13807-    depends fairly heavily on libio constant definitions, but it should<br/>
13808-    be made independent.  It also depends on operating system primitives<br/>
13809-    for file operations. There is immense room for optimizations using<br/>
13810-    (e.g.) mmap for reading. The shadow/ directory wraps, besides the<br/>
13811-    standard C headers, the libio.h and unistd.h headers, for use mainly<br/>
13812-    by filebuf. These wrappings have not been completed, though there<br/>
13813-    is scaffolding in place.<br/>
13814-<br/>
13815-    The encapsulation of certain C header &lt;cstdio&gt; names presents an<br/>
13816-    interesting problem. It is possible to define an inline std::fprintf()<br/>
13817-    implemented in terms of the 'extern "C"' vfprintf(), but there is no<br/>
13818-    standard vfscanf() to use to implement std::fscanf(). It appears that<br/>
13819-    vfscanf but be re-implemented in C++ for targets where no vfscanf<br/>
13820-    extension has been defined. This is interesting in that it seems<br/>
13821-    to be the only significant case in the C library where this kind of<br/>
13822-    rewriting is necessary. (Of course Glibc provides the vfscanf()<br/>
13823-    extension.)  (The functions related to exit() must be rewritten<br/>
13824-    for other reasons.)<br/>
13825-<br/>
13826-<br/>
13827-    Annex D<br/>
13828-    -------<br/>
13829-    Headers: &lt;strstream&gt;<br/>
13830-<br/>
13831-    Annex D defines many non-library features, and many minor<br/>
13832-    modifications to various headers, and a complete header.<br/>
13833-    It is "mostly done", except that the libstdc++-2 &lt;strstream&gt;<br/>
13834-    header has not been adopted into the library, or checked to<br/>
13835-    verify that it matches the draft in those details that were<br/>
13836-    clarified by the committee. Certainly it must at least be<br/>
13837-    moved into the std namespace.<br/>
13838-<br/>
13839-    We still need to wrap all the deprecated features in #if guards<br/>
13840-    so that pedantic compile modes can detect their use.<br/>
13841-<br/>
13842-    Nonstandard Extensions<br/>
13843-    ----------------------<br/>
13844-    Headers: &lt;iostream.h&gt; &lt;strstream.h&gt; &lt;hash&gt; &lt;rbtree&gt;<br/>
13845-    &lt;pthread_alloc&gt; &lt;stdiobuf&gt; (etc.)<br/>
13846-<br/>
13847-    User code has come to depend on a variety of nonstandard components<br/>
13848-    that we must not omit. Much of this code can be adopted from<br/>
13849-    libstdc++-v2 or from the SGI STL. This particularly includes<br/>
13850-    &lt;iostream.h&gt;, &lt;strstream.h&gt;, and various SGI extensions such<br/>
13851-    as &lt;hash_map.h&gt;. Many of these are already placed in the<br/>
13852-    subdirectories ext/ and backward/. (Note that it is better to<br/>
13853-    include them via "&lt;backward/hash_map.h&gt;" or "&lt;ext/hash_map&gt;" than<br/>
13854-    to search the subdirectory itself via a "-I" directive.<br/>
13855-  </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="source_code_style.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_contributing.html">Up</a></td><td align="right"> <a accesskey="n" href="appendix_porting.html">Next</a></td></tr><tr><td align="left" valign="top">Coding Style </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Appendix B. 
13856+</th><td width="20%" align="right"> <a accesskey="n" href="appendix_porting.html">Next</a></td></tr></table><hr /></div><div class="section" title="Design Notes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.design_notes"></a>Design Notes</h2></div></div></div><p>
13857+ </p><div class="literallayout"><p><br />
13858+<br />
13859+    The Library<br />
13860+    -----------<br />
13861+<br />
13862+    This paper is covers two major areas:<br />
13863+<br />
13864+    - Features and policies not mentioned in the standard that<br />
13865+    the quality of the library implementation depends on, including<br />
13866+    extensions and "implementation-defined" features;<br />
13867+<br />
13868+    - Plans for required but unimplemented library features and<br />
13869+    optimizations to them.<br />
13870+<br />
13871+    Overhead<br />
13872+    --------<br />
13873+<br />
13874+    The standard defines a large library, much larger than the standard<br />
13875+    C library. A naive implementation would suffer substantial overhead<br />
13876+    in compile time, executable size, and speed, rendering it unusable<br />
13877+    in many (particularly embedded) applications. The alternative demands<br />
13878+    care in construction, and some compiler support, but there is no<br />
13879+    need for library subsets.<br />
13880+<br />
13881+    What are the sources of this overhead?  There are four main causes:<br />
13882+<br />
13883+    - The library is specified almost entirely as templates, which<br />
13884+    with current compilers must be included in-line, resulting in<br />
13885+    very slow builds as tens or hundreds of thousands of lines<br />
13886+    of function definitions are read for each user source file.<br />
13887+    Indeed, the entire SGI STL, as well as the dos Reis valarray,<br />
13888+    are provided purely as header files, largely for simplicity in<br />
13889+    porting. Iostream/locale is (or will be) as large again.<br />
13890+<br />
13891+    - The library is very flexible, specifying a multitude of hooks<br />
13892+    where users can insert their own code in place of defaults.<br />
13893+    When these hooks are not used, any time and code expended to<br />
13894+    support that flexibility is wasted.<br />
13895+<br />
13896+    - Templates are often described as causing to "code bloat". In<br />
13897+    practice, this refers (when it refers to anything real) to several<br />
13898+    independent processes. First, when a class template is manually<br />
13899+    instantiated in its entirely, current compilers place the definitions<br />
13900+    for all members in a single object file, so that a program linking<br />
13901+    to one member gets definitions of all. Second, template functions<br />
13902+    which do not actually depend on the template argument are, under<br />
13903+    current compilers, generated anew for each instantiation, rather<br />
13904+    than being shared with other instantiations. Third, some of the<br />
13905+    flexibility mentioned above comes from virtual functions (both in<br />
13906+    regular classes and template classes) which current linkers add<br />
13907+    to the executable file even when they manifestly cannot be called.<br />
13908+<br />
13909+    - The library is specified to use a language feature, exceptions,<br />
13910+    which in the current gcc compiler ABI imposes a run time and<br />
13911+    code space cost to handle the possibility of exceptions even when<br />
13912+    they are not used. Under the new ABI (accessed with -fnew-abi),<br />
13913+    there is a space overhead and a small reduction in code efficiency<br />
13914+    resulting from lost optimization opportunities associated with<br />
13915+    non-local branches associated with exceptions.<br />
13916+<br />
13917+    What can be done to eliminate this overhead?  A variety of coding<br />
13918+    techniques, and compiler, linker and library improvements and<br />
13919+    extensions may be used, as covered below. Most are not difficult,<br />
13920+    and some are already implemented in varying degrees.<br />
13921+<br />
13922+    Overhead: Compilation Time<br />
13923+    --------------------------<br />
13924+<br />
13925+    Providing "ready-instantiated" template code in object code archives<br />
13926+    allows us to avoid generating and optimizing template instantiations<br />
13927+    in each compilation unit which uses them. However, the number of such<br />
13928+    instantiations that are useful to provide is limited, and anyway this<br />
13929+    is not enough, by itself, to minimize compilation time. In particular,<br />
13930+    it does not reduce time spent parsing conforming headers.<br />
13931+<br />
13932+    Quicker header parsing will depend on library extensions and compiler<br />
13933+    improvements.  One approach is some variation on the techniques<br />
13934+    previously marketed as "pre-compiled headers", now standardized as<br />
13935+    support for the "export" keyword. "Exported" template definitions<br />
13936+    can be placed (once) in a "repository" -- really just a library, but<br />
13937+    of template definitions rather than object code -- to be drawn upon<br />
13938+    at link time when an instantiation is needed, rather than placed in<br />
13939+    header files to be parsed along with every compilation unit.<br />
13940+<br />
13941+    Until "export" is implemented we can put some of the lengthy template<br />
13942+    definitions in #if guards or alternative headers so that users can skip<br />
13943+    over the full definitions when they need only the ready-instantiated<br />
13944+    specializations.<br />
13945+<br />
13946+    To be precise, this means that certain headers which define<br />
13947+    templates which users normally use only for certain arguments<br />
13948+    can be instrumented to avoid exposing the template definitions<br />
13949+    to the compiler unless a macro is defined. For example, in<br />
13950+    &lt;string&gt;, we might have:<br />
13951+<br />
13952+    template &lt;class _CharT, ... &gt; class basic_string {<br />
13953+    ... // member declarations<br />
13954+    };<br />
13955+    ... // operator declarations<br />
13956+<br />
13957+    #ifdef _STRICT_ISO_<br />
13958+    # if _G_NO_TEMPLATE_EXPORT<br />
13959+    #   include &lt;bits/std_locale.h&gt;  // headers needed by definitions<br />
13960+    #   ...<br />
13961+    #   include &lt;bits/string.tcc&gt;  // member and global template definitions.<br />
13962+    # endif<br />
13963+    #endif<br />
13964+<br />
13965+    Users who compile without specifying a strict-ISO-conforming flag<br />
13966+    would not see many of the template definitions they now see, and rely<br />
13967+    instead on ready-instantiated specializations in the library. This<br />
13968+    technique would be useful for the following substantial components:<br />
13969+    string, locale/iostreams, valarray. It would *not* be useful or<br />
13970+    usable with the following: containers, algorithms, iterators,<br />
13971+    allocator. Since these constitute a large (though decreasing)<br />
13972+    fraction of the library, the benefit the technique offers is<br />
13973+    limited.<br />
13974+<br />
13975+    The language specifies the semantics of the "export" keyword, but<br />
13976+    the gcc compiler does not yet support it. When it does, problems<br />
13977+    with large template inclusions can largely disappear, given some<br />
13978+    minor library reorganization, along with the need for the apparatus<br />
13979+    described above.<br />
13980+<br />
13981+    Overhead: Flexibility Cost<br />
13982+    --------------------------<br />
13983+<br />
13984+    The library offers many places where users can specify operations<br />
13985+    to be performed by the library in place of defaults. Sometimes<br />
13986+    this seems to require that the library use a more-roundabout, and<br />
13987+    possibly slower, way to accomplish the default requirements than<br />
13988+    would be used otherwise.<br />
13989+<br />
13990+    The primary protection against this overhead is thorough compiler<br />
13991+    optimization, to crush out layers of inline function interfaces.<br />
13992+    Kuck &amp; Associates has demonstrated the practicality of this kind<br />
13993+    of optimization.<br />
13994+<br />
13995+    The second line of defense against this overhead is explicit<br />
13996+    specialization. By defining helper function templates, and writing<br />
13997+    specialized code for the default case, overhead can be eliminated<br />
13998+    for that case without sacrificing flexibility. This takes full<br />
13999+    advantage of any ability of the optimizer to crush out degenerate<br />
14000+    code.<br />
14001+<br />
14002+    The library specifies many virtual functions which current linkers<br />
14003+    load even when they cannot be called. Some minor improvements to the<br />
14004+    compiler and to ld would eliminate any such overhead by simply<br />
14005+    omitting virtual functions that the complete program does not call.<br />
14006+    A prototype of this work has already been done. For targets where<br />
14007+    GNU ld is not used, a "pre-linker" could do the same job.<br />
14008+<br />
14009+    The main areas in the standard interface where user flexibility<br />
14010+    can result in overhead are:<br />
14011+<br />
14012+    - Allocators:  Containers are specified to use user-definable<br />
14013+    allocator types and objects, making tuning for the container<br />
14014+    characteristics tricky.<br />
14015+<br />
14016+    - Locales: the standard specifies locale objects used to implement<br />
14017+    iostream operations, involving many virtual functions which use<br />
14018+    streambuf iterators.<br />
14019+<br />
14020+    - Algorithms and containers: these may be instantiated on any type,<br />
14021+    frequently duplicating code for identical operations.<br />
14022+<br />
14023+    - Iostreams and strings: users are permitted to use these on their<br />
14024+    own types, and specify the operations the stream must use on these<br />
14025+    types.<br />
14026+<br />
14027+    Note that these sources of overhead are _avoidable_. The techniques<br />
14028+    to avoid them are covered below.<br />
14029+<br />
14030+    Code Bloat<br />
14031+    ----------<br />
14032+<br />
14033+    In the SGI STL, and in some other headers, many of the templates<br />
14034+    are defined "inline" -- either explicitly or by their placement<br />
14035+    in class definitions -- which should not be inline. This is a<br />
14036+    source of code bloat. Matt had remarked that he was relying on<br />
14037+    the compiler to recognize what was too big to benefit from inlining,<br />
14038+    and generate it out-of-line automatically. However, this also can<br />
14039+    result in code bloat except where the linker can eliminate the extra<br />
14040+    copies.<br />
14041+<br />
14042+    Fixing these cases will require an audit of all inline functions<br />
14043+    defined in the library to determine which merit inlining, and moving<br />
14044+    the rest out of line. This is an issue mainly in chapters 23, 25, and<br />
14045+    27. Of course it can be done incrementally, and we should generally<br />
14046+    accept patches that move large functions out of line and into ".tcc"<br />
14047+    files, which can later be pulled into a repository. Compiler/linker<br />
14048+    improvements to recognize very large inline functions and move them<br />
14049+    out-of-line, but shared among compilation units, could make this<br />
14050+    work unnecessary.<br />
14051+<br />
14052+    Pre-instantiating template specializations currently produces large<br />
14053+    amounts of dead code which bloats statically linked programs. The<br />
14054+    current state of the static library, libstdc++.a, is intolerable on<br />
14055+    this account, and will fuel further confused speculation about a need<br />
14056+    for a library "subset". A compiler improvement that treats each<br />
14057+    instantiated function as a separate object file, for linking purposes,<br />
14058+    would be one solution to this problem. An alternative would be to<br />
14059+    split up the manual instantiation files into dozens upon dozens of<br />
14060+    little files, each compiled separately, but an abortive attempt at<br />
14061+    this was done for &lt;string&gt; and, though it is far from complete, it<br />
14062+    is already a nuisance. A better interim solution (just until we have<br />
14063+    "export") is badly needed.<br />
14064+<br />
14065+    When building a shared library, the current compiler/linker cannot<br />
14066+    automatically generate the instantiations needed. This creates a<br />
14067+    miserable situation; it means any time something is changed in the<br />
14068+    library, before a shared library can be built someone must manually<br />
14069+    copy the declarations of all templates that are needed by other parts<br />
14070+    of the library to an "instantiation" file, and add it to the build<br />
14071+    system to be compiled and linked to the library. This process is<br />
14072+    readily automated, and should be automated as soon as possible.<br />
14073+    Users building their own shared libraries experience identical<br />
14074+    frustrations.<br />
14075+<br />
14076+    Sharing common aspects of template definitions among instantiations<br />
14077+    can radically reduce code bloat. The compiler could help a great<br />
14078+    deal here by recognizing when a function depends on nothing about<br />
14079+    a template parameter, or only on its size, and giving the resulting<br />
14080+    function a link-name "equate" that allows it to be shared with other<br />
14081+    instantiations. Implementation code could take advantage of the<br />
14082+    capability by factoring out code that does not depend on the template<br />
14083+    argument into separate functions to be merged by the compiler.<br />
14084+<br />
14085+    Until such a compiler optimization is implemented, much can be done<br />
14086+    manually (if tediously) in this direction. One such optimization is<br />
14087+    to derive class templates from non-template classes, and move as much<br />
14088+    implementation as possible into the base class. Another is to partial-<br />
14089+    specialize certain common instantiations, such as vector&lt;T*&gt;, to share<br />
14090+    code for instantiations on all types T. While these techniques work,<br />
14091+    they are far from the complete solution that a compiler improvement<br />
14092+    would afford.<br />
14093+<br />
14094+    Overhead: Expensive Language Features<br />
14095+    -------------------------------------<br />
14096+<br />
14097+    The main "expensive" language feature used in the standard library<br />
14098+    is exception support, which requires compiling in cleanup code with<br />
14099+    static table data to locate it, and linking in library code to use<br />
14100+    the table. For small embedded programs the amount of such library<br />
14101+    code and table data is assumed by some to be excessive. Under the<br />
14102+    "new" ABI this perception is generally exaggerated, although in some<br />
14103+    cases it may actually be excessive.<br />
14104+<br />
14105+    To implement a library which does not use exceptions directly is<br />
14106+    not difficult given minor compiler support (to "turn off" exceptions<br />
14107+    and ignore exception constructs), and results in no great library<br />
14108+    maintenance difficulties. To be precise, given "-fno-exceptions",<br />
14109+    the compiler should treat "try" blocks as ordinary blocks, and<br />
14110+    "catch" blocks as dead code to ignore or eliminate. Compiler<br />
14111+    support is not strictly necessary, except in the case of "function<br />
14112+    try blocks"; otherwise the following macros almost suffice:<br />
14113+<br />
14114+    #define throw(X)<br />
14115+    #define try      if (true)<br />
14116+    #define catch(X) else if (false)<br />
14117+<br />
14118+    However, there may be a need to use function try blocks in the<br />
14119+    library implementation, and use of macros in this way can make<br />
14120+    correct diagnostics impossible. Furthermore, use of this scheme<br />
14121+    would require the library to call a function to re-throw exceptions<br />
14122+    from a try block. Implementing the above semantics in the compiler<br />
14123+    is preferable.<br />
14124+<br />
14125+    Given the support above (however implemented) it only remains to<br />
14126+    replace code that "throws" with a call to a well-documented "handler"<br />
14127+    function in a separate compilation unit which may be replaced by<br />
14128+    the user. The main source of exceptions that would be difficult<br />
14129+    for users to avoid is memory allocation failures, but users can<br />
14130+    define their own memory allocation primitives that never throw.<br />
14131+    Otherwise, the complete list of such handlers, and which library<br />
14132+    functions may call them, would be needed for users to be able to<br />
14133+    implement the necessary substitutes. (Fortunately, they have the<br />
14134+    source code.)<br />
14135+<br />
14136+    Opportunities<br />
14137+    -------------<br />
14138+<br />
14139+    The template capabilities of C++ offer enormous opportunities for<br />
14140+    optimizing common library operations, well beyond what would be<br />
14141+    considered "eliminating overhead". In particular, many operations<br />
14142+    done in Glibc with macros that depend on proprietary language<br />
14143+    extensions can be implemented in pristine Standard C++. For example,<br />
14144+    the chapter 25 algorithms, and even C library functions such as strchr,<br />
14145+    can be specialized for the case of static arrays of known (small) size.<br />
14146+<br />
14147+    Detailed optimization opportunities are identified below where<br />
14148+    the component where they would appear is discussed. Of course new<br />
14149+    opportunities will be identified during implementation.<br />
14150+<br />
14151+    Unimplemented Required Library Features<br />
14152+    ---------------------------------------<br />
14153+<br />
14154+    The standard specifies hundreds of components, grouped broadly by<br />
14155+    chapter. These are listed in excruciating detail in the CHECKLIST<br />
14156+    file.<br />
14157+<br />
14158+    17 general<br />
14159+    18 support<br />
14160+    19 diagnostics<br />
14161+    20 utilities<br />
14162+    21 string<br />
14163+    22 locale<br />
14164+    23 containers<br />
14165+    24 iterators<br />
14166+    25 algorithms<br />
14167+    26 numerics<br />
14168+    27 iostreams<br />
14169+    Annex D  backward compatibility<br />
14170+<br />
14171+    Anyone participating in implementation of the library should obtain<br />
14172+    a copy of the standard, ISO 14882.  People in the U.S. can obtain an<br />
14173+    electronic copy for US$18 from ANSI's web site. Those from other<br />
14174+    countries should visit http://www.iso.org/ to find out the location<br />
14175+    of their country's representation in ISO, in order to know who can<br />
14176+    sell them a copy.<br />
14177+<br />
14178+    The emphasis in the following sections is on unimplemented features<br />
14179+    and optimization opportunities.<br />
14180+<br />
14181+    Chapter 17  General<br />
14182+    -------------------<br />
14183+<br />
14184+    Chapter 17 concerns overall library requirements.<br />
14185+<br />
14186+    The standard doesn't mention threads. A multi-thread (MT) extension<br />
14187+    primarily affects operators new and delete (18), allocator (20),<br />
14188+    string (21), locale (22), and iostreams (27). The common underlying<br />
14189+    support needed for this is discussed under chapter 20.<br />
14190+<br />
14191+    The standard requirements on names from the C headers create a<br />
14192+    lot of work, mostly done. Names in the C headers must be visible<br />
14193+    in the std:: and sometimes the global namespace; the names in the<br />
14194+    two scopes must refer to the same object. More stringent is that<br />
14195+    Koenig lookup implies that any types specified as defined in std::<br />
14196+    really are defined in std::. Names optionally implemented as<br />
14197+    macros in C cannot be macros in C++. (An overview may be read at<br />
14198+    &lt;http://www.cantrip.org/cheaders.html&gt;). The scripts "inclosure"<br />
14199+    and "mkcshadow", and the directories shadow/ and cshadow/, are the<br />
14200+    beginning of an effort to conform in this area.<br />
14201+<br />
14202+    A correct conforming definition of C header names based on underlying<br />
14203+    C library headers, and practical linking of conforming namespaced<br />
14204+    customer code with third-party C libraries depends ultimately on<br />
14205+    an ABI change, allowing namespaced C type names to be mangled into<br />
14206+    type names as if they were global, somewhat as C function names in a<br />
14207+    namespace, or C++ global variable names, are left unmangled. Perhaps<br />
14208+    another "extern" mode, such as 'extern "C-global"' would be an<br />
14209+    appropriate place for such type definitions. Such a type would<br />
14210+    affect mangling as follows:<br />
14211+<br />
14212+    namespace A {<br />
14213+    struct X {};<br />
14214+    extern "C-global" {  // or maybe just 'extern "C"'<br />
14215+    struct Y {};<br />
14216+    };<br />
14217+    }<br />
14218+    void f(A::X*);  // mangles to f__FPQ21A1X<br />
14219+    void f(A::Y*);  // mangles to f__FP1Y<br />
14220+<br />
14221+    (It may be that this is really the appropriate semantics for regular<br />
14222+    'extern "C"', and 'extern "C-global"', as an extension, would not be<br />
14223+    necessary.) This would allow functions declared in non-standard C headers<br />
14224+    (and thus fixable by neither us nor users) to link properly with functions<br />
14225+    declared using C types defined in properly-namespaced headers. The<br />
14226+    problem this solves is that C headers (which C++ programmers do persist<br />
14227+    in using) frequently forward-declare C struct tags without including<br />
14228+    the header where the type is defined, as in<br />
14229+<br />
14230+    struct tm;<br />
14231+    void munge(tm*);<br />
14232+<br />
14233+    Without some compiler accommodation, munge cannot be called by correct<br />
14234+    C++ code using a pointer to a correctly-scoped tm* value.<br />
14235+<br />
14236+    The current C headers use the preprocessor extension "#include_next",<br />
14237+    which the compiler complains about when run "-pedantic".<br />
14238+    (Incidentally, it appears that "-fpedantic" is currently ignored,<br />
14239+    probably a bug.)  The solution in the C compiler is to use<br />
14240+    "-isystem" rather than "-I", but unfortunately in g++ this seems<br />
14241+    also to wrap the whole header in an 'extern "C"' block, so it's<br />
14242+    unusable for C++ headers. The correct solution appears to be to<br />
14243+    allow the various special include-directory options, if not given<br />
14244+    an argument, to affect subsequent include-directory options additively,<br />
14245+    so that if one said<br />
14246+<br />
14247+    -pedantic -iprefix $(prefix) \<br />
14248+    -idirafter -ino-pedantic -ino-extern-c -iwithprefix -I g++-v3 \<br />
14249+    -iwithprefix -I g++-v3/ext<br />
14250+<br />
14251+    the compiler would search $(prefix)/g++-v3 and not report<br />
14252+    pedantic warnings for files found there, but treat files in<br />
14253+    $(prefix)/g++-v3/ext pedantically. (The undocumented semantics<br />
14254+    of "-isystem" in g++ stink. Can they be rescinded?  If not it<br />
14255+    must be replaced with something more rationally behaved.)<br />
14256+<br />
14257+    All the C headers need the treatment above; in the standard these<br />
14258+    headers are mentioned in various chapters. Below, I have only<br />
14259+    mentioned those that present interesting implementation issues.<br />
14260+<br />
14261+    The components identified as "mostly complete", below, have not been<br />
14262+    audited for conformance. In many cases where the library passes<br />
14263+    conformance tests we have non-conforming extensions that must be<br />
14264+    wrapped in #if guards for "pedantic" use, and in some cases renamed<br />
14265+    in a conforming way for continued use in the implementation regardless<br />
14266+    of conformance flags.<br />
14267+<br />
14268+    The STL portion of the library still depends on a header<br />
14269+    stl/bits/stl_config.h full of #ifdef clauses. This apparatus<br />
14270+    should be replaced with autoconf/automake machinery.<br />
14271+<br />
14272+    The SGI STL defines a type_traits&lt;&gt; template, specialized for<br />
14273+    many types in their code including the built-in numeric and<br />
14274+    pointer types and some library types, to direct optimizations of<br />
14275+    standard functions. The SGI compiler has been extended to generate<br />
14276+    specializations of this template automatically for user types,<br />
14277+    so that use of STL templates on user types can take advantage of<br />
14278+    these optimizations. Specializations for other, non-STL, types<br />
14279+    would make more optimizations possible, but extending the gcc<br />
14280+    compiler in the same way would be much better. Probably the next<br />
14281+    round of standardization will ratify this, but probably with<br />
14282+    changes, so it probably should be renamed to place it in the<br />
14283+    implementation namespace.<br />
14284+<br />
14285+    The SGI STL also defines a large number of extensions visible in<br />
14286+    standard headers. (Other extensions that appear in separate headers<br />
14287+    have been sequestered in subdirectories ext/ and backward/.)  All<br />
14288+    these extensions should be moved to other headers where possible,<br />
14289+    and in any case wrapped in a namespace (not std!), and (where kept<br />
14290+    in a standard header) girded about with macro guards. Some cannot be<br />
14291+    moved out of standard headers because they are used to implement<br />
14292+    standard features.  The canonical method for accommodating these<br />
14293+    is to use a protected name, aliased in macro guards to a user-space<br />
14294+    name. Unfortunately C++ offers no satisfactory template typedef<br />
14295+    mechanism, so very ad-hoc and unsatisfactory aliasing must be used<br />
14296+    instead.<br />
14297+<br />
14298+    Implementation of a template typedef mechanism should have the highest<br />
14299+    priority among possible extensions, on the same level as implementation<br />
14300+    of the template "export" feature.<br />
14301+<br />
14302+    Chapter 18  Language support<br />
14303+    ----------------------------<br />
14304+<br />
14305+    Headers: &lt;limits&gt; &lt;new&gt; &lt;typeinfo&gt; &lt;exception&gt;<br />
14306+    C headers: &lt;cstddef&gt; &lt;climits&gt; &lt;cfloat&gt;  &lt;cstdarg&gt; &lt;csetjmp&gt;<br />
14307+    &lt;ctime&gt;   &lt;csignal&gt; &lt;cstdlib&gt; (also 21, 25, 26)<br />
14308+<br />
14309+    This defines the built-in exceptions, rtti, numeric_limits&lt;&gt;,<br />
14310+    operator new and delete. Much of this is provided by the<br />
14311+    compiler in its static runtime library.<br />
14312+<br />
14313+    Work to do includes defining numeric_limits&lt;&gt; specializations in<br />
14314+    separate files for all target architectures. Values for integer types<br />
14315+    except for bool and wchar_t are readily obtained from the C header<br />
14316+    &lt;limits.h&gt;, but values for the remaining numeric types (bool, wchar_t,<br />
14317+    float, double, long double) must be entered manually. This is<br />
14318+    largely dog work except for those members whose values are not<br />
14319+    easily deduced from available documentation. Also, this involves<br />
14320+    some work in target configuration to identify the correct choice of<br />
14321+    file to build against and to install.<br />
14322+<br />
14323+    The definitions of the various operators new and delete must be<br />
14324+    made thread-safe, which depends on a portable exclusion mechanism,<br />
14325+    discussed under chapter 20.  Of course there is always plenty of<br />
14326+    room for improvements to the speed of operators new and delete.<br />
14327+<br />
14328+    &lt;cstdarg&gt;, in Glibc, defines some macros that gcc does not allow to<br />
14329+    be wrapped into an inline function. Probably this header will demand<br />
14330+    attention whenever a new target is chosen. The functions atexit(),<br />
14331+    exit(), and abort() in cstdlib have different semantics in C++, so<br />
14332+    must be re-implemented for C++.<br />
14333+<br />
14334+    Chapter 19  Diagnostics<br />
14335+    -----------------------<br />
14336+<br />
14337+    Headers: &lt;stdexcept&gt;<br />
14338+    C headers: &lt;cassert&gt; &lt;cerrno&gt;<br />
14339+<br />
14340+    This defines the standard exception objects, which are "mostly complete".<br />
14341+    Cygnus has a version, and now SGI provides a slightly different one.<br />
14342+    It makes little difference which we use.<br />
14343+<br />
14344+    The C global name "errno", which C allows to be a variable or a macro,<br />
14345+    is required in C++ to be a macro. For MT it must typically result in<br />
14346+    a function call.<br />
14347+<br />
14348+    Chapter 20  Utilities<br />
14349+    ---------------------<br />
14350+    Headers: &lt;utility&gt; &lt;functional&gt; &lt;memory&gt;<br />
14351+    C header: &lt;ctime&gt; (also in 18)<br />
14352+<br />
14353+    SGI STL provides "mostly complete" versions of all the components<br />
14354+    defined in this chapter. However, the auto_ptr&lt;&gt; implementation<br />
14355+    is known to be wrong. Furthermore, the standard definition of it<br />
14356+    is known to be unimplementable as written. A minor change to the<br />
14357+    standard would fix it, and auto_ptr&lt;&gt; should be adjusted to match.<br />
14358+<br />
14359+    Multi-threading affects the allocator implementation, and there must<br />
14360+    be configuration/installation choices for different users' MT<br />
14361+    requirements. Anyway, users will want to tune allocator options<br />
14362+    to support different target conditions, MT or no.<br />
14363+<br />
14364+    The primitives used for MT implementation should be exposed, as an<br />
14365+    extension, for users' own work. We need cross-CPU "mutex" support,<br />
14366+    multi-processor shared-memory atomic integer operations, and single-<br />
14367+    processor uninterruptible integer operations, and all three configurable<br />
14368+    to be stubbed out for non-MT use, or to use an appropriately-loaded<br />
14369+    dynamic library for the actual runtime environment, or statically<br />
14370+    compiled in for cases where the target architecture is known.<br />
14371+<br />
14372+    Chapter 21  String<br />
14373+    ------------------<br />
14374+    Headers: &lt;string&gt;<br />
14375+    C headers: &lt;cctype&gt; &lt;cwctype&gt; &lt;cstring&gt; &lt;cwchar&gt; (also in 27)<br />
14376+    &lt;cstdlib&gt; (also in 18, 25, 26)<br />
14377+<br />
14378+    We have "mostly-complete" char_traits&lt;&gt; implementations. Many of the<br />
14379+    char_traits&lt;char&gt; operations might be optimized further using existing<br />
14380+    proprietary language extensions.<br />
14381+<br />
14382+    We have a "mostly-complete" basic_string&lt;&gt; implementation. The work<br />
14383+    to manually instantiate char and wchar_t specializations in object<br />
14384+    files to improve link-time behavior is extremely unsatisfactory,<br />
14385+    literally tripling library-build time with no commensurate improvement<br />
14386+    in static program link sizes. It must be redone. (Similar work is<br />
14387+    needed for some components in chapters 22 and 27.)<br />
14388+<br />
14389+    Other work needed for strings is MT-safety, as discussed under the<br />
14390+    chapter 20 heading.<br />
14391+<br />
14392+    The standard C type mbstate_t from &lt;cwchar&gt; and used in char_traits&lt;&gt;<br />
14393+    must be different in C++ than in C, because in C++ the default constructor<br />
14394+    value mbstate_t() must be the "base" or "ground" sequence state.<br />
14395+    (According to the likely resolution of a recently raised Core issue,<br />
14396+    this may become unnecessary. However, there are other reasons to<br />
14397+    use a state type not as limited as whatever the C library provides.)<br />
14398+    If we might want to provide conversions from (e.g.) internally-<br />
14399+    represented EUC-wide to externally-represented Unicode, or vice-<br />
14400+    versa, the mbstate_t we choose will need to be more accommodating<br />
14401+    than what might be provided by an underlying C library.<br />
14402+<br />
14403+    There remain some basic_string template-member functions which do<br />
14404+    not overload properly with their non-template brethren. The infamous<br />
14405+    hack akin to what was done in vector&lt;&gt; is needed, to conform to<br />
14406+    23.1.1 para 10. The CHECKLIST items for basic_string marked 'X',<br />
14407+    or incomplete, are so marked for this reason.<br />
14408+<br />
14409+    Replacing the string iterators, which currently are simple character<br />
14410+    pointers, with class objects would greatly increase the safety of the<br />
14411+    client interface, and also permit a "debug" mode in which range,<br />
14412+    ownership, and validity are rigorously checked. The current use of<br />
14413+    raw pointers as string iterators is evil. vector&lt;&gt; iterators need the<br />
14414+    same treatment. Note that the current implementation freely mixes<br />
14415+    pointers and iterators, and that must be fixed before safer iterators<br />
14416+    can be introduced.<br />
14417+<br />
14418+    Some of the functions in &lt;cstring&gt; are different from the C version.<br />
14419+    generally overloaded on const and non-const argument pointers. For<br />
14420+    example, in &lt;cstring&gt; strchr is overloaded. The functions isupper<br />
14421+    etc. in &lt;cctype&gt; typically implemented as macros in C are functions<br />
14422+    in C++, because they are overloaded with others of the same name<br />
14423+    defined in &lt;locale&gt;.<br />
14424+<br />
14425+    Many of the functions required in &lt;cwctype&gt; and &lt;cwchar&gt; cannot be<br />
14426+    implemented using underlying C facilities on intended targets because<br />
14427+    such facilities only partly exist.<br />
14428+<br />
14429+    Chapter 22  Locale<br />
14430+    ------------------<br />
14431+    Headers: &lt;locale&gt;<br />
14432+    C headers: &lt;clocale&gt;<br />
14433+<br />
14434+    We have a "mostly complete" class locale, with the exception of<br />
14435+    code for constructing, and handling the names of, named locales.<br />
14436+    The ways that locales are named (particularly when categories<br />
14437+    (e.g. LC_TIME, LC_COLLATE) are different) varies among all target<br />
14438+    environments. This code must be written in various versions and<br />
14439+    chosen by configuration parameters.<br />
14440+<br />
14441+    Members of many of the facets defined in &lt;locale&gt; are stubs. Generally,<br />
14442+    there are two sets of facets: the base class facets (which are supposed<br />
14443+    to implement the "C" locale) and the "byname" facets, which are supposed<br />
14444+    to read files to determine their behavior. The base ctype&lt;&gt;, collate&lt;&gt;,<br />
14445+    and numpunct&lt;&gt; facets are "mostly complete", except that the table of<br />
14446+    bitmask values used for "is" operations, and corresponding mask values,<br />
14447+    are still defined in libio and just included/linked. (We will need to<br />
14448+    implement these tables independently, soon, but should take advantage<br />
14449+    of libio where possible.)  The num_put&lt;&gt;::put members for integer types<br />
14450+    are "mostly complete".<br />
14451+<br />
14452+    A complete list of what has and has not been implemented may be<br />
14453+    found in CHECKLIST. However, note that the current definition of<br />
14454+    codecvt&lt;wchar_t,char,mbstate_t&gt; is wrong. It should simply write<br />
14455+    out the raw bytes representing the wide characters, rather than<br />
14456+    trying to convert each to a corresponding single "char" value.<br />
14457+<br />
14458+    Some of the facets are more important than others. Specifically,<br />
14459+    the members of ctype&lt;&gt;, numpunct&lt;&gt;, num_put&lt;&gt;, and num_get&lt;&gt; facets<br />
14460+    are used by other library facilities defined in &lt;string&gt;, &lt;istream&gt;,<br />
14461+    and &lt;ostream&gt;, and the codecvt&lt;&gt; facet is used by basic_filebuf&lt;&gt;<br />
14462+    in &lt;fstream&gt;, so a conforming iostream implementation depends on<br />
14463+    these.<br />
14464+<br />
14465+    The "long long" type eventually must be supported, but code mentioning<br />
14466+    it should be wrapped in #if guards to allow pedantic-mode compiling.<br />
14467+<br />
14468+    Performance of num_put&lt;&gt; and num_get&lt;&gt; depend critically on<br />
14469+    caching computed values in ios_base objects, and on extensions<br />
14470+    to the interface with streambufs.<br />
14471+<br />
14472+    Specifically: retrieving a copy of the locale object, extracting<br />
14473+    the needed facets, and gathering data from them, for each call to<br />
14474+    (e.g.) operator&lt;&lt; would be prohibitively slow.  To cache format<br />
14475+    data for use by num_put&lt;&gt; and num_get&lt;&gt; we have a _Format_cache&lt;&gt;<br />
14476+    object stored in the ios_base::pword() array. This is constructed<br />
14477+    and initialized lazily, and is organized purely for utility. It<br />
14478+    is discarded when a new locale with different facets is imbued.<br />
14479+<br />
14480+    Using only the public interfaces of the iterator arguments to the<br />
14481+    facet functions would limit performance by forbidding "vector-style"<br />
14482+    character operations. The streambuf iterator optimizations are<br />
14483+    described under chapter 24, but facets can also bypass the streambuf<br />
14484+    iterators via explicit specializations and operate directly on the<br />
14485+    streambufs, and use extended interfaces to get direct access to the<br />
14486+    streambuf internal buffer arrays. These extensions are mentioned<br />
14487+    under chapter 27. These optimizations are particularly important<br />
14488+    for input parsing.<br />
14489+<br />
14490+    Unused virtual members of locale facets can be omitted, as mentioned<br />
14491+    above, by a smart linker.<br />
14492+<br />
14493+    Chapter 23  Containers<br />
14494+    ----------------------<br />
14495+    Headers: &lt;deque&gt; &lt;list&gt; &lt;queue&gt; &lt;stack&gt; &lt;vector&gt; &lt;map&gt; &lt;set&gt; &lt;bitset&gt;<br />
14496+<br />
14497+    All the components in chapter 23 are implemented in the SGI STL.<br />
14498+    They are "mostly complete"; they include a large number of<br />
14499+    nonconforming extensions which must be wrapped. Some of these<br />
14500+    are used internally and must be renamed or duplicated.<br />
14501+<br />
14502+    The SGI components are optimized for large-memory environments. For<br />
14503+    embedded targets, different criteria might be more appropriate. Users<br />
14504+    will want to be able to tune this behavior. We should provide<br />
14505+    ways for users to compile the library with different memory usage<br />
14506+    characteristics.<br />
14507+<br />
14508+    A lot more work is needed on factoring out common code from different<br />
14509+    specializations to reduce code size here and in chapter 25. The<br />
14510+    easiest fix for this would be a compiler/ABI improvement that allows<br />
14511+    the compiler to recognize when a specialization depends only on the<br />
14512+    size (or other gross quality) of a template argument, and allow the<br />
14513+    linker to share the code with similar specializations. In its<br />
14514+    absence, many of the algorithms and containers can be partial-<br />
14515+    specialized, at least for the case of pointers, but this only solves<br />
14516+    a small part of the problem. Use of a type_traits-style template<br />
14517+    allows a few more optimization opportunities, more if the compiler<br />
14518+    can generate the specializations automatically.<br />
14519+<br />
14520+    As an optimization, containers can specialize on the default allocator<br />
14521+    and bypass it, or take advantage of details of its implementation<br />
14522+    after it has been improved upon.<br />
14523+<br />
14524+    Replacing the vector iterators, which currently are simple element<br />
14525+    pointers, with class objects would greatly increase the safety of the<br />
14526+    client interface, and also permit a "debug" mode in which range,<br />
14527+    ownership, and validity are rigorously checked. The current use of<br />
14528+    pointers for iterators is evil.<br />
14529+<br />
14530+    As mentioned for chapter 24, the deque iterator is a good example of<br />
14531+    an opportunity to implement a "staged" iterator that would benefit<br />
14532+    from specializations of some algorithms.<br />
14533+<br />
14534+    Chapter 24  Iterators<br />
14535+    ---------------------<br />
14536+    Headers: &lt;iterator&gt;<br />
14537+<br />
14538+    Standard iterators are "mostly complete", with the exception of<br />
14539+    the stream iterators, which are not yet templatized on the<br />
14540+    stream type. Also, the base class template iterator&lt;&gt; appears<br />
14541+    to be wrong, so everything derived from it must also be wrong,<br />
14542+    currently.<br />
14543+<br />
14544+    The streambuf iterators (currently located in stl/bits/std_iterator.h,<br />
14545+    but should be under bits/) can be rewritten to take advantage of<br />
14546+    friendship with the streambuf implementation.<br />
14547+<br />
14548+    Matt Austern has identified opportunities where certain iterator<br />
14549+    types, particularly including streambuf iterators and deque<br />
14550+    iterators, have a "two-stage" quality, such that an intermediate<br />
14551+    limit can be checked much more quickly than the true limit on<br />
14552+    range operations. If identified with a member of iterator_traits,<br />
14553+    algorithms may be specialized for this case. Of course the<br />
14554+    iterators that have this quality can be identified by specializing<br />
14555+    a traits class.<br />
14556+<br />
14557+    Many of the algorithms must be specialized for the streambuf<br />
14558+    iterators, to take advantage of block-mode operations, in order<br />
14559+    to allow iostream/locale operations' performance not to suffer.<br />
14560+    It may be that they could be treated as staged iterators and<br />
14561+    take advantage of those optimizations.<br />
14562+<br />
14563+    Chapter 25  Algorithms<br />
14564+    ----------------------<br />
14565+    Headers: &lt;algorithm&gt;<br />
14566+    C headers: &lt;cstdlib&gt; (also in 18, 21, 26))<br />
14567+<br />
14568+    The algorithms are "mostly complete". As mentioned above, they<br />
14569+    are optimized for speed at the expense of code and data size.<br />
14570+<br />
14571+    Specializations of many of the algorithms for non-STL types would<br />
14572+    give performance improvements, but we must use great care not to<br />
14573+    interfere with fragile template overloading semantics for the<br />
14574+    standard interfaces. Conventionally the standard function template<br />
14575+    interface is an inline which delegates to a non-standard function<br />
14576+    which is then overloaded (this is already done in many places in<br />
14577+    the library). Particularly appealing opportunities for the sake of<br />
14578+    iostream performance are for copy and find applied to streambuf<br />
14579+    iterators or (as noted elsewhere) for staged iterators, of which<br />
14580+    the streambuf iterators are a good example.<br />
14581+<br />
14582+    The bsearch and qsort functions cannot be overloaded properly as<br />
14583+    required by the standard because gcc does not yet allow overloading<br />
14584+    on the extern-"C"-ness of a function pointer.<br />
14585+<br />
14586+    Chapter 26  Numerics<br />
14587+    --------------------<br />
14588+    Headers: &lt;complex&gt; &lt;valarray&gt; &lt;numeric&gt;<br />
14589+    C headers: &lt;cmath&gt;, &lt;cstdlib&gt; (also 18, 21, 25)<br />
14590+<br />
14591+    Numeric components: Gabriel dos Reis's valarray, Drepper's complex,<br />
14592+    and the few algorithms from the STL are "mostly done".  Of course<br />
14593+    optimization opportunities abound for the numerically literate. It<br />
14594+    is not clear whether the valarray implementation really conforms<br />
14595+    fully, in the assumptions it makes about aliasing (and lack thereof)<br />
14596+    in its arguments.<br />
14597+<br />
14598+    The C div() and ldiv() functions are interesting, because they are the<br />
14599+    only case where a C library function returns a class object by value.<br />
14600+    Since the C++ type div_t must be different from the underlying C type<br />
14601+    (which is in the wrong namespace) the underlying functions div() and<br />
14602+    ldiv() cannot be re-used efficiently. Fortunately they are trivial to<br />
14603+    re-implement.<br />
14604+<br />
14605+    Chapter 27  Iostreams<br />
14606+    ---------------------<br />
14607+    Headers: &lt;iosfwd&gt; &lt;streambuf&gt; &lt;ios&gt; &lt;ostream&gt; &lt;istream&gt; &lt;iostream&gt;<br />
14608+    &lt;iomanip&gt; &lt;sstream&gt; &lt;fstream&gt;<br />
14609+    C headers: &lt;cstdio&gt; &lt;cwchar&gt; (also in 21)<br />
14610+<br />
14611+    Iostream is currently in a very incomplete state. &lt;iosfwd&gt;, &lt;iomanip&gt;,<br />
14612+    ios_base, and basic_ios&lt;&gt; are "mostly complete". basic_streambuf&lt;&gt; and<br />
14613+    basic_ostream&lt;&gt; are well along, but basic_istream&lt;&gt; has had little work<br />
14614+    done. The standard stream objects, &lt;sstream&gt; and &lt;fstream&gt; have been<br />
14615+    started; basic_filebuf&lt;&gt; "write" functions have been implemented just<br />
14616+    enough to do "hello, world".<br />
14617+<br />
14618+    Most of the istream and ostream operators &lt;&lt; and &gt;&gt; (with the exception<br />
14619+    of the op&lt;&lt;(integer) ones) have not been changed to use locale primitives,<br />
14620+    sentry objects, or char_traits members.<br />
14621+<br />
14622+    All these templates should be manually instantiated for char and<br />
14623+    wchar_t in a way that links only used members into user programs.<br />
14624+<br />
14625+    Streambuf is fertile ground for optimization extensions. An extended<br />
14626+    interface giving iterator access to its internal buffer would be very<br />
14627+    useful for other library components.<br />
14628+<br />
14629+    Iostream operations (primarily operators &lt;&lt; and &gt;&gt;) can take advantage<br />
14630+    of the case where user code has not specified a locale, and bypass locale<br />
14631+    operations entirely. The current implementation of op&lt;&lt;/num_put&lt;&gt;::put,<br />
14632+    for the integer types, demonstrates how they can cache encoding details<br />
14633+    from the locale on each operation. There is lots more room for<br />
14634+    optimization in this area.<br />
14635+<br />
14636+    The definition of the relationship between the standard streams<br />
14637+    cout et al. and stdout et al. requires something like a "stdiobuf".<br />
14638+    The SGI solution of using double-indirection to actually use a<br />
14639+    stdio FILE object for buffering is unsatisfactory, because it<br />
14640+    interferes with peephole loop optimizations.<br />
14641+<br />
14642+    The &lt;sstream&gt; header work has begun. stringbuf can benefit from<br />
14643+    friendship with basic_string&lt;&gt; and basic_string&lt;&gt;::_Rep to use<br />
14644+    those objects directly as buffers, and avoid allocating and making<br />
14645+    copies.<br />
14646+<br />
14647+    The basic_filebuf&lt;&gt; template is a complex beast. It is specified to<br />
14648+    use the locale facet codecvt&lt;&gt; to translate characters between native<br />
14649+    files and the locale character encoding. In general this involves<br />
14650+    two buffers, one of "char" representing the file and another of<br />
14651+    "char_type", for the stream, with codecvt&lt;&gt; translating. The process<br />
14652+    is complicated by the variable-length nature of the translation, and<br />
14653+    the need to seek to corresponding places in the two representations.<br />
14654+    For the case of basic_filebuf&lt;char&gt;, when no translation is needed,<br />
14655+    a single buffer suffices. A specialized filebuf can be used to reduce<br />
14656+    code space overhead when no locale has been imbued. Matt Austern's<br />
14657+    work at SGI will be useful, perhaps directly as a source of code, or<br />
14658+    at least as an example to draw on.<br />
14659+<br />
14660+    Filebuf, almost uniquely (cf. operator new), depends heavily on<br />
14661+    underlying environmental facilities. In current releases iostream<br />
14662+    depends fairly heavily on libio constant definitions, but it should<br />
14663+    be made independent.  It also depends on operating system primitives<br />
14664+    for file operations. There is immense room for optimizations using<br />
14665+    (e.g.) mmap for reading. The shadow/ directory wraps, besides the<br />
14666+    standard C headers, the libio.h and unistd.h headers, for use mainly<br />
14667+    by filebuf. These wrappings have not been completed, though there<br />
14668+    is scaffolding in place.<br />
14669+<br />
14670+    The encapsulation of certain C header &lt;cstdio&gt; names presents an<br />
14671+    interesting problem. It is possible to define an inline std::fprintf()<br />
14672+    implemented in terms of the 'extern "C"' vfprintf(), but there is no<br />
14673+    standard vfscanf() to use to implement std::fscanf(). It appears that<br />
14674+    vfscanf but be re-implemented in C++ for targets where no vfscanf<br />
14675+    extension has been defined. This is interesting in that it seems<br />
14676+    to be the only significant case in the C library where this kind of<br />
14677+    rewriting is necessary. (Of course Glibc provides the vfscanf()<br />
14678+    extension.)  (The functions related to exit() must be rewritten<br />
14679+    for other reasons.)<br />
14680+<br />
14681+<br />
14682+    Annex D<br />
14683+    -------<br />
14684+    Headers: &lt;strstream&gt;<br />
14685+<br />
14686+    Annex D defines many non-library features, and many minor<br />
14687+    modifications to various headers, and a complete header.<br />
14688+    It is "mostly done", except that the libstdc++-2 &lt;strstream&gt;<br />
14689+    header has not been adopted into the library, or checked to<br />
14690+    verify that it matches the draft in those details that were<br />
14691+    clarified by the committee. Certainly it must at least be<br />
14692+    moved into the std namespace.<br />
14693+<br />
14694+    We still need to wrap all the deprecated features in #if guards<br />
14695+    so that pedantic compile modes can detect their use.<br />
14696+<br />
14697+    Nonstandard Extensions<br />
14698+    ----------------------<br />
14699+    Headers: &lt;iostream.h&gt; &lt;strstream.h&gt; &lt;hash&gt; &lt;rbtree&gt;<br />
14700+    &lt;pthread_alloc&gt; &lt;stdiobuf&gt; (etc.)<br />
14701+<br />
14702+    User code has come to depend on a variety of nonstandard components<br />
14703+    that we must not omit. Much of this code can be adopted from<br />
14704+    libstdc++-v2 or from the SGI STL. This particularly includes<br />
14705+    &lt;iostream.h&gt;, &lt;strstream.h&gt;, and various SGI extensions such<br />
14706+    as &lt;hash_map.h&gt;. Many of these are already placed in the<br />
14707+    subdirectories ext/ and backward/. (Note that it is better to<br />
14708+    include them via "&lt;backward/hash_map.h&gt;" or "&lt;ext/hash_map&gt;" than<br />
14709+    to search the subdirectory itself via a "-I" directive.<br />
14710+  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="source_code_style.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_contributing.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="appendix_porting.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Coding Style </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix B. 
14711 Porting and Maintenance
14712
14713 </td></tr></table></div></body></html>
14714Index: libstdc++-v3/doc/html/manual/facets.html
14715===================================================================
9f95000d
AM
14716--- libstdc++-v3/doc/html/manual/facets.html (.../tags/gcc_4_7_2_release) (wersja 192468)
14717+++ libstdc++-v3/doc/html/manual/facets.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
14718@@ -1,9 +1,9 @@
14719 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
14720-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
14721-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Facets</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="localization.html" title="Chapter 8.  Localization"/><link rel="prev" href="localization.html" title="Chapter 8.  Localization"/><link rel="next" href="containers.html" title="Chapter 9.  Containers"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Facets</th></tr><tr><td align="left"><a accesskey="p" href="localization.html">Prev</a> </td><th width="60%" align="center">Chapter 8. 
14722+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
14723+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Facets</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="localization.html" title="Chapter 8.  Localization" /><link rel="prev" href="localization.html" title="Chapter 8.  Localization" /><link rel="next" href="containers.html" title="Chapter 9.  Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Facets</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="localization.html">Prev</a> </td><th width="60%" align="center">Chapter 8. 
14724 Localization
14725
14726-</th><td align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr></table><hr/></div><div class="section" title="Facets"><div class="titlepage"><div><div><h2 class="title"><a id="std.localization.facet"/>Facets</h2></div></div></div><div class="section" title="ctype"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.ctype"/>ctype</h3></div></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.impl"/>Implementation</h4></div></div></div><div class="section" title="Specializations"><div class="titlepage"><div><div><h5 class="title"><a id="id501036"/>Specializations</h5></div></div></div><p>
14727+</th><td width="20%" align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr></table><hr /></div><div class="section" title="Facets"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.facet"></a>Facets</h2></div></div></div><div class="section" title="ctype"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.ctype"></a>ctype</h3></div></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.impl"></a>Implementation</h4></div></div></div><div class="section" title="Specializations"><div class="titlepage"><div><div><h5 class="title"><a id="id679521"></a>Specializations</h5></div></div></div><p>
14728 For the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt; ,
14729 conversions are made between the internal character set (always UCS4
14730 on GNU/Linux) and whatever the currently selected locale for the
14731@@ -28,7 +28,7 @@
14732 </p><p>
14733 Neither of these two required specializations deals with Unicode
14734 characters.
14735-</p></div></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.future"/>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
14736+</p></div></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.future"></a>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
14737 How to deal with the global locale issue?
14738 </p></li><li class="listitem"><p>
14739 How to deal with different types than char, wchar_t? </p></li><li class="listitem"><p>
14740@@ -50,30 +50,30 @@
14741 </p></li><li class="listitem"><p>
14742 Rename abstract base class. See if just smash-overriding is a
14743 better approach. Clarify, add sanity to naming.
14744- </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.biblio"/>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id501160"/><p><span class="citetitle"><em class="citetitle">
14745+ </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id679647"></a><p><span class="citetitle"><em class="citetitle">
14746 The GNU C Library
14747- </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6 Character Set Handling and 7 Locales and Internationalization. </span></p></div><div class="biblioentry"><a id="id501200"/><p><span class="citetitle"><em class="citetitle">
14748+ </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6 Character Set Handling and 7 Locales and Internationalization. </span></p></div><div class="biblioentry"><a id="id679686"></a><p><span class="citetitle"><em class="citetitle">
14749 Correspondence
14750- </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="id501226"/><p><span class="citetitle"><em class="citetitle">
14751+ </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="id679712"></a><p><span class="citetitle"><em class="citetitle">
14752 ISO/IEC 14882:1998 Programming languages - C++
14753- </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id501245"/><p><span class="citetitle"><em class="citetitle">
14754+ </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id679731"></a><p><span class="citetitle"><em class="citetitle">
14755 ISO/IEC 9899:1999 Programming languages - C
14756- </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)"><a id="id501264"/><p><span class="title"><em>
14757- <a class="link" href="http://www.unix.org/version3/ieee_std.html">
14758+ </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)"><a id="id679750"></a><p><span class="title"><em>
14759+ <a class="link" href="http://www.unix.org/version3/ieee_std.html" target="_top">
14760 The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
14761 </a>
14762 </em>. </span><span class="copyright">Copyright © 1999
14763- The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span></p></div><div class="biblioentry"><a id="id501291"/><p><span class="citetitle"><em class="citetitle">
14764+ The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span></p></div><div class="biblioentry"><a id="id679777"></a><p><span class="citetitle"><em class="citetitle">
14765 The C++ Programming Language, Special Edition
14766 </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
14767 Addison Wesley
14768- . </span></span></p></div><div class="biblioentry"><a id="id501329"/><p><span class="citetitle"><em class="citetitle">
14769+ . </span></span></p></div><div class="biblioentry"><a id="id679816"></a><p><span class="citetitle"><em class="citetitle">
14770 Standard C++ IOStreams and Locales
14771 </em>. </span><span class="subtitle">
14772 Advanced Programmer's Guide and Reference
14773 . </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
14774 Addison Wesley Longman
14775- . </span></span></p></div></div></div><div class="section" title="codecvt"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.codecvt"/>codecvt</h3></div></div></div><p>
14776+ . </span></span></p></div></div></div><div class="section" title="codecvt"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.codecvt"></a>codecvt</h3></div></div></div><p>
14777 The standard class codecvt attempts to address conversions between
14778 different character encoding schemes. In particular, the standard
14779 attempts to detail conversions between the implementation-defined wide
14780@@ -87,7 +87,7 @@
14781 addressed, and examples of correct usage for both the required
14782 specializations for wide and narrow characters and the
14783 implementation-provided extended functionality are given.
14784-</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.req"/>Requirements</h4></div></div></div><p>
14785+</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.req"></a>Requirements</h4></div></div></div><p>
14786 Around page 425 of the C++ Standard, this charming heading comes into view:
14787 </p><div class="blockquote"><blockquote class="blockquote"><p>
14788 22.2.1.5 - Template class codecvt
14789@@ -133,7 +133,7 @@
14790 Two: The required conversions, by specifying mbstate_t as the third
14791 template parameter, imply an implementation strategy that is mostly
14792 (or wholly) based on the underlying C library, and the functions
14793-mcsrtombs and wcsrtombs in particular.</p></div><div class="section" title="Design"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.design"/>Design</h4></div></div></div><div class="section" title="wchar_t Size"><div class="titlepage"><div><div><h5 class="title"><a id="codecvt.design.wchar_t_size"/><span class="type">wchar_t</span> Size</h5></div></div></div><p>
14794+mcsrtombs and wcsrtombs in particular.</p></div><div class="section" title="Design"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.design"></a>Design</h4></div></div></div><div class="section" title="wchar_t Size"><div class="titlepage"><div><div><h5 class="title"><a id="codecvt.design.wchar_t_size"></a><span class="type">wchar_t</span> Size</h5></div></div></div><p>
14795 The simple implementation detail of wchar_t's size seems to
14796 repeatedly confound people. Many systems use a two byte,
14797 unsigned integral type to represent wide characters, and use an
14798@@ -145,7 +145,7 @@
14799 size for the type wchar_t.
14800 </p><p>
14801 Thus, portable C++ code cannot assume a byte size (or endianness) either.
14802- </p></div><div class="section" title="Support for Unicode"><div class="titlepage"><div><div><h5 class="title"><a id="codecvt.design.unicode"/>Support for Unicode</h5></div></div></div><p>
14803+ </p></div><div class="section" title="Support for Unicode"><div class="titlepage"><div><div><h5 class="title"><a id="codecvt.design.unicode"></a>Support for Unicode</h5></div></div></div><p>
14804 Probably the most frequently asked question about code conversion
14805 is: "So dudes, what's the deal with Unicode strings?"
14806 The dude part is optional, but apparently the usefulness of
14807@@ -162,7 +162,7 @@
14808 needed is some kind of generalized type that accounts for the
14809 issues that abstract encodings will need. The minimum information
14810 that is required includes:
14811- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
14812+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
14813 Identifiers for each of the codesets involved in the
14814 conversion. For example, using the iconv family of functions
14815 from the Single Unix Specification (what used to be called
14816@@ -213,7 +213,7 @@
14817 Some way to enforce strict type checking on the internal and
14818 external types. As part of this, the size of the internal and
14819 external types will need to be known.
14820-</p></li></ul></div></div><div class="section" title="Other Issues"><div class="titlepage"><div><div><h5 class="title"><a id="codecvt.design.issues"/>Other Issues</h5></div></div></div><p>
14821+</p></li></ul></div></div><div class="section" title="Other Issues"><div class="titlepage"><div><div><h5 class="title"><a id="codecvt.design.issues"></a>Other Issues</h5></div></div></div><p>
14822 In addition, multi-threaded and multi-locale environments also impact
14823 the design and requirements for code conversions. In particular, they
14824 affect the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt;
14825@@ -245,7 +245,7 @@
14826 conversions are made between the internal character set (always UCS4
14827 on GNU/Linux) and whatever the currently selected locale for the
14828 LC_CTYPE category implements.
14829-</p></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.impl"/>Implementation</h4></div></div></div><p>
14830+</p></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.impl"></a>Implementation</h4></div></div></div><p>
14831 The two required specializations are implemented as follows:
14832 </p><p>
14833 <code class="code">
14834@@ -347,7 +347,7 @@
14835 for this specialization, and usage of codecvt&lt;internal character type,
14836 external character type, encoding_state&gt; is consistent with other
14837 codecvt usage.
14838-</p></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.use"/>Use</h4></div></div></div><p>A conversions involving string literal.</p><pre class="programlisting">
14839+</p></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.use"></a>Use</h4></div></div></div><p>A conversions involving string literal.</p><pre class="programlisting">
14840 typedef codecvt_base::result result;
14841 typedef unsigned short unicode_t;
14842 typedef unicode_t int_type;
14843@@ -384,14 +384,14 @@
14844 VERIFY( !int_traits::compare(i_arr, i_lit, size) );
14845 VERIFY( efrom_next == e_lit + size );
14846 VERIFY( ito_next == i_arr + size );
14847-</pre></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.future"/>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
14848+</pre></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.future"></a>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
14849 a. things that are sketchy, or remain unimplemented:
14850 do_encoding, max_length and length member functions
14851 are only weakly implemented. I have no idea how to do
14852 this correctly, and in a generic manner. Nathan?
14853 </p></li><li class="listitem"><p>
14854 b. conversions involving std::string
14855- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
14856+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
14857 how should operators != and == work for string of
14858 different/same encoding?
14859 </p></li><li class="listitem"><p>
14860@@ -401,7 +401,7 @@
14861 conversions between narrow, wide, and unicode strings
14862 </p></li></ul></div></li><li class="listitem"><p>
14863 c. conversions involving std::filebuf and std::ostream
14864-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
14865+</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
14866 how to initialize the state object in a
14867 standards-conformant manner?
14868 </p></li><li class="listitem"><p>
14869@@ -410,50 +410,50 @@
14870 </p></li><li class="listitem"><p>
14871 wchar_t/char internal buffers and conversions between
14872 internal/external buffers?
14873- </p></li></ul></div></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.biblio"/>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id501980"/><p><span class="citetitle"><em class="citetitle">
14874+ </p></li></ul></div></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id680466"></a><p><span class="citetitle"><em class="citetitle">
14875 The GNU C Library
14876 </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">
14877 Chapters 6 Character Set Handling and 7 Locales and Internationalization
14878- . </span></p></div><div class="biblioentry"><a id="id502019"/><p><span class="citetitle"><em class="citetitle">
14879+ . </span></p></div><div class="biblioentry"><a id="id680505"></a><p><span class="citetitle"><em class="citetitle">
14880 Correspondence
14881- </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="id502045"/><p><span class="citetitle"><em class="citetitle">
14882+ </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="id680531"></a><p><span class="citetitle"><em class="citetitle">
14883 ISO/IEC 14882:1998 Programming languages - C++
14884- </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id502064"/><p><span class="citetitle"><em class="citetitle">
14885+ </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id680550"></a><p><span class="citetitle"><em class="citetitle">
14886 ISO/IEC 9899:1999 Programming languages - C
14887- </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="id502083"/><p><span class="title"><em>
14888- <a class="link" href="http://www.opengroup.org/austin">
14889+ </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="id680569"></a><p><span class="title"><em>
14890+ <a class="link" href="http://www.opengroup.org/austin" target="_top">
14891 System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
14892 </a>
14893 </em>. </span><span class="copyright">Copyright © 2008
14894 The Open Group/The Institute of Electrical and Electronics
14895 Engineers, Inc.
14896- . </span></p></div><div class="biblioentry"><a id="id502110"/><p><span class="citetitle"><em class="citetitle">
14897+ . </span></p></div><div class="biblioentry"><a id="id680596"></a><p><span class="citetitle"><em class="citetitle">
14898 The C++ Programming Language, Special Edition
14899 </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
14900 Addison Wesley
14901- . </span></span></p></div><div class="biblioentry"><a id="id502148"/><p><span class="citetitle"><em class="citetitle">
14902+ . </span></span></p></div><div class="biblioentry"><a id="id680635"></a><p><span class="citetitle"><em class="citetitle">
14903 Standard C++ IOStreams and Locales
14904 </em>. </span><span class="subtitle">
14905 Advanced Programmer's Guide and Reference
14906 . </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
14907 Addison Wesley Longman
14908- . </span></span></p></div><div class="biblioentry" title="A brief description of Normative Addendum 1"><a id="id502196"/><p><span class="title"><em>
14909- <a class="link" href="http://www.lysator.liu.se/c/na1.html">
14910+ . </span></span></p></div><div class="biblioentry" title="A brief description of Normative Addendum 1"><a id="id680682"></a><p><span class="title"><em>
14911+ <a class="link" href="http://www.lysator.liu.se/c/na1.html" target="_top">
14912 A brief description of Normative Addendum 1
14913 </a>
14914- </em>. </span><span class="author"><span class="firstname">Clive</span> <span class="surname">Feather</span>. </span><span class="pagenums">Extended Character Sets. </span></p></div><div class="biblioentry" title="The Unicode HOWTO"><a id="id502223"/><p><span class="title"><em>
14915- <a class="link" href="http://tldp.org/HOWTO/Unicode-HOWTO.html">
14916+ </em>. </span><span class="author"><span class="firstname">Clive</span> <span class="surname">Feather</span>. </span><span class="pagenums">Extended Character Sets. </span></p></div><div class="biblioentry" title="The Unicode HOWTO"><a id="id680709"></a><p><span class="title"><em>
14917+ <a class="link" href="http://tldp.org/HOWTO/Unicode-HOWTO.html" target="_top">
14918 The Unicode HOWTO
14919 </a>
14920- </em>. </span><span class="author"><span class="firstname">Bruno</span> <span class="surname">Haible</span>. </span></p></div><div class="biblioentry" title="UTF-8 and Unicode FAQ for Unix/Linux"><a id="id502246"/><p><span class="title"><em>
14921- <a class="link" href="http://www.cl.cam.ac.uk/~mgk25/unicode.html">
14922+ </em>. </span><span class="author"><span class="firstname">Bruno</span> <span class="surname">Haible</span>. </span></p></div><div class="biblioentry" title="UTF-8 and Unicode FAQ for Unix/Linux"><a id="id680732"></a><p><span class="title"><em>
14923+ <a class="link" href="http://www.cl.cam.ac.uk/~mgk25/unicode.html" target="_top">
14924 UTF-8 and Unicode FAQ for Unix/Linux
14925 </a>
14926- </em>. </span><span class="author"><span class="firstname">Markus</span> <span class="surname">Khun</span>. </span></p></div></div></div><div class="section" title="messages"><div class="titlepage"><div><div><h3 class="title"><a id="manual.localization.facet.messages"/>messages</h3></div></div></div><p>
14927+ </em>. </span><span class="author"><span class="firstname">Markus</span> <span class="surname">Khun</span>. </span></p></div></div></div><div class="section" title="messages"><div class="titlepage"><div><div><h3 class="title"><a id="manual.localization.facet.messages"></a>messages</h3></div></div></div><p>
14928 The std::messages facet implements message retrieval functionality
14929 equivalent to Java's java.text.MessageFormat .using either GNU gettext
14930 or IEEE 1003.1-200 functions.
14931-</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.req"/>Requirements</h4></div></div></div><p>
14932+</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.req"></a>Requirements</h4></div></div></div><p>
14933 The std::messages facet is probably the most vaguely defined facet in
14934 the standard library. It's assumed that this facility was built into
14935 the standard library in order to convert string literals from one
14936@@ -502,7 +502,7 @@
14937 -6- Effects: Releases unspecified resources associated with cat.
14938 -7- Notes: The limit on such resources, if any, is implementation-defined.
14939 </em></span>
14940-</p></blockquote></div></div><div class="section" title="Design"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.design"/>Design</h4></div></div></div><p>
14941+</p></blockquote></div></div><div class="section" title="Design"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.design"></a>Design</h4></div></div></div><p>
14942 A couple of notes on the standard.
14943 </p><p>
14944 First, why is <code class="code">messages_base::catalog</code> specified as a typedef
14945@@ -535,7 +535,7 @@
14946 string in 'get' is in the "C" locale. Thus, all source code is assumed
14947 to be written in English, so translations are always from "en_US" to
14948 other, explicitly named locales.
14949-</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.impl"/>Implementation</h4></div></div></div><div class="section" title="Models"><div class="titlepage"><div><div><h5 class="title"><a id="messages.impl.models"/>Models</h5></div></div></div><p>
14950+</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.impl"></a>Implementation</h4></div></div></div><div class="section" title="Models"><div class="titlepage"><div><div><h5 class="title"><a id="messages.impl.models"></a>Models</h5></div></div></div><p>
14951 This is a relatively simple class, on the face of it. The standard
14952 specifies very little in concrete terms, so generic
14953 implementations that are conforming yet do very little are the
14954@@ -546,7 +546,7 @@
14955 </p><p>
14956 Three different mechanisms have been provided, selectable via
14957 configure flags:
14958- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
14959+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
14960 generic
14961 </p><p>
14962 This model does very little, and is what is used by default.
14963@@ -576,7 +576,7 @@
14964 added for 'open' so that a directory could be specified with a given
14965 message catalog. This simplifies calling conventions for the gnu
14966 model.
14967-</p></div><div class="section" title="The GNU Model"><div class="titlepage"><div><div><h5 class="title"><a id="messages.impl.gnu"/>The GNU Model</h5></div></div></div><p>
14968+</p></div><div class="section" title="The GNU Model"><div class="titlepage"><div><div><h5 class="title"><a id="messages.impl.gnu"></a>The GNU Model</h5></div></div></div><p>
14969 The messages facet, because it is retrieving and converting
14970 between characters sets, depends on the ctype and perhaps the
14971 codecvt facet in a given locale. In addition, underlying "C"
14972@@ -588,7 +588,7 @@
14973 Making the message catalogs can be initially tricky, but become
14974 quite simple with practice. For complete info, see the gettext
14975 documentation. Here's an idea of what is required:
14976- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
14977+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
14978 Make a source file with the required string literals that need
14979 to be translated. See <code class="code">intl/string_literals.cc</code> for
14980 an example.
14981@@ -619,7 +619,7 @@
14982 <code class="code">
14983 use_facet&lt;messages&lt;char&gt; &gt;(loc_de).open("libstdc++", locale(), dir);
14984 </code>
14985- </p></li></ul></div></div></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.use"/>Use</h4></div></div></div><p>
14986+ </p></li></ul></div></div></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.use"></a>Use</h4></div></div></div><p>
14987 A simple example using the GNU model of message conversion.
14988 </p><pre class="programlisting">
14989 #include &lt;iostream&gt;
14990@@ -641,9 +641,9 @@
14991 cout &lt;&lt; "thank you in german:" &lt;&lt; s02 &lt;&lt; '\n';
14992 mssg_de.close(cat_de);
14993 }
14994-</pre></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.future"/>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
14995+</pre></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.future"></a>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
14996 Things that are sketchy, or remain unimplemented:
14997- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
14998+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
14999 _M_convert_from_char, _M_convert_to_char are in flux,
15000 depending on how the library ends up doing character set
15001 conversions. It might not be possible to do a real character
15002@@ -691,47 +691,47 @@
15003 model. As of this writing, it is unknown how to query to see
15004 if a specified message catalog exists using the gettext
15005 package.
15006- </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.biblio"/>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id502922"/><p><span class="citetitle"><em class="citetitle">
15007+ </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id681408"></a><p><span class="citetitle"><em class="citetitle">
15008 The GNU C Library
15009 </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6 Character Set Handling, and 7 Locales and Internationalization
15010- . </span></p></div><div class="biblioentry"><a id="id502962"/><p><span class="citetitle"><em class="citetitle">
15011+ . </span></p></div><div class="biblioentry"><a id="id681448"></a><p><span class="citetitle"><em class="citetitle">
15012 Correspondence
15013- </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="id502987"/><p><span class="citetitle"><em class="citetitle">
15014+ </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="id681474"></a><p><span class="citetitle"><em class="citetitle">
15015 ISO/IEC 14882:1998 Programming languages - C++
15016- </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id503006"/><p><span class="citetitle"><em class="citetitle">
15017+ </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id681493"></a><p><span class="citetitle"><em class="citetitle">
15018 ISO/IEC 9899:1999 Programming languages - C
15019- </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="id503025"/><p><span class="title"><em>
15020- <a class="link" href="http://www.opengroup.org/austin">
15021+ </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="id681512"></a><p><span class="title"><em>
15022+ <a class="link" href="http://www.opengroup.org/austin" target="_top">
15023 System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
15024 </a>
15025 </em>. </span><span class="copyright">Copyright © 2008
15026 The Open Group/The Institute of Electrical and Electronics
15027 Engineers, Inc.
15028- . </span></p></div><div class="biblioentry"><a id="id503052"/><p><span class="citetitle"><em class="citetitle">
15029+ . </span></p></div><div class="biblioentry"><a id="id681539"></a><p><span class="citetitle"><em class="citetitle">
15030 The C++ Programming Language, Special Edition
15031 </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
15032 Addison Wesley
15033- . </span></span></p></div><div class="biblioentry"><a id="id503091"/><p><span class="citetitle"><em class="citetitle">
15034+ . </span></span></p></div><div class="biblioentry"><a id="id681577"></a><p><span class="citetitle"><em class="citetitle">
15035 Standard C++ IOStreams and Locales
15036 </em>. </span><span class="subtitle">
15037 Advanced Programmer's Guide and Reference
15038 . </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
15039 Addison Wesley Longman
15040- . </span></span></p></div><div class="biblioentry" title="API Specifications, Java Platform"><a id="id503138"/><p><span class="title"><em>
15041- <a class="link" href="http://java.sun.com/reference/api/index.html">
15042+ . </span></span></p></div><div class="biblioentry" title="API Specifications, Java Platform"><a id="id681624"></a><p><span class="title"><em>
15043+ <a class="link" href="http://java.sun.com/reference/api/index.html" target="_top">
15044 API Specifications, Java Platform
15045 </a>
15046 </em>. </span><span class="pagenums">java.util.Properties, java.text.MessageFormat,
15047 java.util.Locale, java.util.ResourceBundle
15048- . </span></p></div><div class="biblioentry" title="GNU gettext tools, version 0.10.38, Native Language Support Library and Tools."><a id="id503158"/><p><span class="title"><em>
15049- <a class="link" href="http://www.gnu.org/software/gettext">
15050+ . </span></p></div><div class="biblioentry" title="GNU gettext tools, version 0.10.38, Native Language Support Library and Tools."><a id="id681644"></a><p><span class="title"><em>
15051+ <a class="link" href="http://www.gnu.org/software/gettext" target="_top">
15052 GNU gettext tools, version 0.10.38, Native Language Support
15053 Library and Tools.
15054 </a>
15055- </em>. </span></p></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="localization.html">Prev</a> </td><td align="center"><a accesskey="u" href="localization.html">Up</a></td><td align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 8. 
15056+ </em>. </span></p></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="localization.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="localization.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 8. 
15057 Localization
15058
15059- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 9. 
15060+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 9. 
15061 Containers
15062
15063 </td></tr></table></div></body></html>
15064Index: libstdc++-v3/doc/html/manual/diagnostics.html
15065===================================================================
9f95000d
AM
15066--- libstdc++-v3/doc/html/manual/diagnostics.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15067+++ libstdc++-v3/doc/html/manual/diagnostics.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15068@@ -1,14 +1,14 @@
15069 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15070-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15071-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 5.  Diagnostics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="termination.html" title="Termination"/><link rel="next" href="bk01pt02ch05s02.html" title="Concept Checking"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. 
15072+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15073+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 5.  Diagnostics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="termination.html" title="Termination" /><link rel="next" href="bk01pt02ch05s02.html" title="Concept Checking" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. 
15074 Diagnostics
15075
15076-</th></tr><tr><td align="left"><a accesskey="p" href="termination.html">Prev</a> </td><th width="60%" align="center">Part II. 
15077+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="termination.html">Prev</a> </td><th width="60%" align="center">Part II. 
15078 Standard Contents
15079- </th><td align="right"> <a accesskey="n" href="bk01pt02ch05s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 5.  Diagnostics"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics"/>Chapter 5. 
15080+ </th><td width="20%" align="right"> <a accesskey="n" href="bk01pt02ch05s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 5.  Diagnostics"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics"></a>Chapter 5. 
15081 Diagnostics
15082- <a id="id484626" class="indexterm"/>
15083-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></div><div class="section" title="Exceptions"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics.exceptions"/>Exceptions</h2></div></div></div><div class="section" title="API Reference"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.api"/>API Reference</h3></div></div></div><p>
15084+ <a id="id663114" class="indexterm"></a>
15085+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></div><div class="section" title="Exceptions"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.diagnostics.exceptions"></a>Exceptions</h2></div></div></div><div class="section" title="API Reference"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.api"></a>API Reference</h3></div></div></div><p>
15086 All exception objects are defined in one of the standard header
15087 files: <code class="filename">exception</code>,
15088 <code class="filename">stdexcept</code>, <code class="filename">new</code>, and
15089@@ -23,7 +23,7 @@
15090 found in the source documentation.
15091 </p><p>
15092 Full API details.
15093- </p></div><div class="section" title="Adding Data to exception"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.data"/>Adding Data to <code class="classname">exception</code></h3></div></div></div><p>
15094+ </p></div><div class="section" title="Adding Data to exception"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.data"></a>Adding Data to <code class="classname">exception</code></h3></div></div></div><p>
15095 The standard exception classes carry with them a single string as
15096 data (usually describing what went wrong or where the 'throw' took
15097 place). It's good to remember that you can add your own data to
15098@@ -40,4 +40,4 @@
15099 int e;
15100 DBID id; // some user-defined type
15101 };
15102- </pre></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="termination.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt02ch05s02.html">Next</a></td></tr><tr><td align="left" valign="top">Termination </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Concept Checking</td></tr></table></div></body></html>
15103+ </pre></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="termination.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt02ch05s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Termination </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Concept Checking</td></tr></table></div></body></html>
15104Index: libstdc++-v3/doc/html/manual/bk01pt03ch30s02.html
15105===================================================================
9f95000d
AM
15106--- libstdc++-v3/doc/html/manual/bk01pt03ch30s02.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15107+++ libstdc++-v3/doc/html/manual/bk01pt03ch30s02.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15108@@ -1,6 +1,6 @@
15109 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15110-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15111-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Implementation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="ext_concurrency.html" title="Chapter 30. Concurrency"/><link rel="prev" href="ext_concurrency.html" title="Chapter 30. Concurrency"/><link rel="next" href="bk01pt03ch30s03.html" title="Use"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Concurrency</th><td align="right"> <a accesskey="n" href="bk01pt03ch30s03.html">Next</a></td></tr></table><hr/></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency.impl"/>Implementation</h2></div></div></div><div class="section" title="Using Builtin Atomic Functions"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.impl.atomic_fallbacks"/>Using Builtin Atomic Functions</h3></div></div></div><p>The functions for atomic operations described above are either
15112+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15113+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Implementation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="ext_concurrency.html" title="Chapter 30. Concurrency" /><link rel="prev" href="ext_concurrency.html" title="Chapter 30. Concurrency" /><link rel="next" href="bk01pt03ch30s03.html" title="Use" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Concurrency</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch30s03.html">Next</a></td></tr></table><hr /></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.impl"></a>Implementation</h2></div></div></div><div class="section" title="Using Builtin Atomic Functions"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.impl.atomic_fallbacks"></a>Using Builtin Atomic Functions</h3></div></div></div><p>The functions for atomic operations described above are either
15114 implemented via compiler intrinsics (if the underlying host is
15115 capable) or by library fallbacks.</p><p>Compiler intrinsics (builtins) are always preferred. However, as
15116 the compiler builtins for atomics are not universally implemented,
15117@@ -22,14 +22,14 @@
15118 If builtins are possible for int-sized integral types,
15119 <code class="code">ATOMIC_INT_LOCK_FREE</code> will be defined.
15120 </p><p>For the following hosts, intrinsics are enabled by default.
15121-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>alpha</p></li><li class="listitem"><p>ia64</p></li><li class="listitem"><p>powerpc</p></li><li class="listitem"><p>s390</p></li></ul></div><p>For others, some form of <code class="code">-march</code> may work. On
15122+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>alpha</p></li><li class="listitem"><p>ia64</p></li><li class="listitem"><p>powerpc</p></li><li class="listitem"><p>s390</p></li></ul></div><p>For others, some form of <code class="code">-march</code> may work. On
15123 non-ancient x86 hardware, <code class="code">-march=native</code> usually does the
15124 trick.</p><p> For hosts without compiler intrinsics, but with capable
15125 hardware, hand-crafted assembly is selected. This is the case for the following hosts:
15126-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>cris</p></li><li class="listitem"><p>hppa</p></li><li class="listitem"><p>i386</p></li><li class="listitem"><p>i486</p></li><li class="listitem"><p>m48k</p></li><li class="listitem"><p>mips</p></li><li class="listitem"><p>sparc</p></li></ul></div><p>And for the rest, a simulated atomic lock via pthreads.
15127-</p><p> Detailed information about compiler intrinsics for atomic operations can be found in the GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html"> documentation</a>.
15128+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>cris</p></li><li class="listitem"><p>hppa</p></li><li class="listitem"><p>i386</p></li><li class="listitem"><p>i486</p></li><li class="listitem"><p>m48k</p></li><li class="listitem"><p>mips</p></li><li class="listitem"><p>sparc</p></li></ul></div><p>And for the rest, a simulated atomic lock via pthreads.
15129+</p><p> Detailed information about compiler intrinsics for atomic operations can be found in the GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html" target="_top"> documentation</a>.
15130 </p><p> More details on the library fallbacks from the porting <a class="link" href="internals.html#internals.thread_safety" title="Thread Safety">section</a>.
15131-</p></div><div class="section" title="Thread Abstraction"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.impl.thread"/>Thread Abstraction</h3></div></div></div><p>A thin layer above IEEE 1003.1 (i.e. pthreads) is used to abstract
15132+</p></div><div class="section" title="Thread Abstraction"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.impl.thread"></a>Thread Abstraction</h3></div></div></div><p>A thin layer above IEEE 1003.1 (i.e. pthreads) is used to abstract
15133 the thread interface for GCC. This layer is called "gthread," and is
15134 comprised of one header file that wraps the host's default thread layer with
15135 a POSIX-like interface.
15136@@ -37,9 +37,9 @@
15137 the current host. In libstdc++ implementation files,
15138 &lt;bits/gthr.h&gt; is used to select the proper gthreads file.
15139 </p><p>Within libstdc++ sources, all calls to underlying thread functionality
15140-use this layer. More detail as to the specific interface can be found in the source <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00883_source.html">documentation</a>.
15141+use this layer. More detail as to the specific interface can be found in the source <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00883_source.html" target="_top">documentation</a>.
15142 </p><p>By design, the gthread layer is interoperable with the types,
15143 functions, and usage found in the usual &lt;pthread.h&gt; file,
15144 including <code class="code">pthread_t</code>, <code class="code">pthread_once_t</code>, <code class="code">pthread_create</code>,
15145 etc.
15146-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><td align="center"><a accesskey="u" href="ext_concurrency.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch30s03.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 30. Concurrency </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Use</td></tr></table></div></body></html>
15147+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ext_concurrency.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch30s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 30. Concurrency </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Use</td></tr></table></div></body></html>
15148Index: libstdc++-v3/doc/html/manual/bk01pt03ch20s03.html
15149===================================================================
9f95000d
AM
15150--- libstdc++-v3/doc/html/manual/bk01pt03ch20s03.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15151+++ libstdc++-v3/doc/html/manual/bk01pt03ch20s03.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15152@@ -1,9 +1,9 @@
15153 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15154-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15155-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Implementation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator"/><link rel="prev" href="bk01pt03ch20s02.html" title="Design Issues"/><link rel="next" href="bk01pt03ch20s04.html" title="Single Thread Example"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s02.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td align="right"> <a accesskey="n" href="bk01pt03ch20s04.html">Next</a></td></tr></table><hr/></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.mt.impl"/>Implementation</h2></div></div></div><div class="section" title="Tunable Parameters"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.tune"/>Tunable Parameters</h3></div></div></div><p>Certain allocation parameters can be modified, or tuned. There
15156+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15157+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Implementation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="bk01pt03ch20s02.html" title="Design Issues" /><link rel="next" href="bk01pt03ch20s04.html" title="Single Thread Example" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch20s02.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch20s04.html">Next</a></td></tr></table><hr /></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.impl"></a>Implementation</h2></div></div></div><div class="section" title="Tunable Parameters"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.tune"></a>Tunable Parameters</h3></div></div></div><p>Certain allocation parameters can be modified, or tuned. There
15158 exists a nested <code class="code">struct __pool_base::_Tune</code> that contains all
15159 these parameters, which include settings for
15160-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>Alignment</p></li><li class="listitem"><p>Maximum bytes before calling <code class="code">::operator new</code> directly</p></li><li class="listitem"><p>Minimum bytes</p></li><li class="listitem"><p>Size of underlying global allocations</p></li><li class="listitem"><p>Maximum number of supported threads</p></li><li class="listitem"><p>Migration of deallocations to the global free list</p></li><li class="listitem"><p>Shunt for global <code class="code">new</code> and <code class="code">delete</code></p></li></ul></div><p>Adjusting parameters for a given instance of an allocator can only
15161+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Alignment</p></li><li class="listitem"><p>Maximum bytes before calling <code class="code">::operator new</code> directly</p></li><li class="listitem"><p>Minimum bytes</p></li><li class="listitem"><p>Size of underlying global allocations</p></li><li class="listitem"><p>Maximum number of supported threads</p></li><li class="listitem"><p>Migration of deallocations to the global free list</p></li><li class="listitem"><p>Shunt for global <code class="code">new</code> and <code class="code">delete</code></p></li></ul></div><p>Adjusting parameters for a given instance of an allocator can only
15162 happen before any allocations take place, when the allocator itself is
15163 initialized. For instance:
15164 </p><pre class="programlisting">
15165@@ -39,7 +39,7 @@
15166
15167 return 0;
15168 }
15169-</pre></div><div class="section" title="Initialization"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.init"/>Initialization</h3></div></div></div><p>
15170+</pre></div><div class="section" title="Initialization"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.init"></a>Initialization</h3></div></div></div><p>
15171 The static variables (pointers to freelists, tuning parameters etc)
15172 are initialized as above, or are set to the global defaults.
15173 </p><p>
15174@@ -131,7 +131,7 @@
15175 for this specific bin. This only occurs when a number of blocks
15176 are grabbed from the global list to a thread specific list or when
15177 a thread decides to return some blocks to the global freelist.
15178-</p></div><div class="section" title="Deallocation Notes"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.deallocation"/>Deallocation Notes</h3></div></div></div><p> Notes about deallocation. This allocator does not explicitly
15179+</p></div><div class="section" title="Deallocation Notes"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.deallocation"></a>Deallocation Notes</h3></div></div></div><p> Notes about deallocation. This allocator does not explicitly
15180 release memory. Because of this, memory debugging programs like
15181 valgrind or purify may notice leaks: sorry about this
15182 inconvenience. Operating systems will reclaim allocated memory at
15183@@ -156,6 +156,6 @@
15184 as part of a container's constructor. However, this assumption is
15185 implementation-specific, and subject to change. For an example of a
15186 pool that frees memory, see the following
15187- <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc?view=markup">
15188+ <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc?view=markup" target="_top">
15189 example.</a>
15190-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch20s04.html">Next</a></td></tr><tr><td align="left" valign="top">Design Issues </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Single Thread Example</td></tr></table></div></body></html>
15191+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch20s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch20s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Design Issues </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Single Thread Example</td></tr></table></div></body></html>
15192Index: libstdc++-v3/doc/html/manual/appendix_free.html
15193===================================================================
9f95000d
AM
15194--- libstdc++-v3/doc/html/manual/appendix_free.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15195+++ libstdc++-v3/doc/html/manual/appendix_free.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15196@@ -1,13 +1,13 @@
15197 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15198-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15199-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Appendix C.  Free Software Needs Free Documentation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices"/><link rel="prev" href="backwards.html" title="Backwards Compatibility"/><link rel="next" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix C. 
15200+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15201+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix C.  Free Software Needs Free Documentation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices" /><link rel="prev" href="backwards.html" title="Backwards Compatibility" /><link rel="next" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix C. 
15202 Free Software Needs Free Documentation
15203
15204-</th></tr><tr><td align="left"><a accesskey="p" href="backwards.html">Prev</a> </td><th width="60%" align="center">Part IV. 
15205+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="backwards.html">Prev</a> </td><th width="60%" align="center">Part IV. 
15206 Appendices
15207-</th><td align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr></table><hr/></div><div class="appendix" title="Appendix C.  Free Software Needs Free Documentation"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.free"/>
15208+</th><td width="20%" align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix C.  Free Software Needs Free Documentation"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.free"></a>
15209 Free Software Needs Free Documentation
15210- <a id="id564125" class="indexterm"/>
15211+ <a id="id742628" class="indexterm"></a>
15212 </h1></div></div></div><p>
15213 The biggest deficiency in free operating systems is not in the
15214 software--it is the lack of good free manuals that we can include in
15215@@ -41,7 +41,7 @@
15216 Free documentation, like free software, is a matter of freedom,
15217 not price. The problem with these manuals was not that O'Reilly
15218 Associates charged a price for printed copies--that in itself is fine.
15219-(The Free Software Foundation <a class="link" href="http://www.gnu.org/doc/doc.html">sells printed copies</a> of
15220+(The Free Software Foundation <a class="link" href="http://www.gnu.org/doc/doc.html" target="_top">sells printed copies</a> of
15221 free GNU manuals, too.) But GNU manuals are available in source code
15222 form, while these manuals are available only on paper. GNU manuals
15223 come with permission to copy and modify; the Perl manuals do not.
15224@@ -117,10 +117,10 @@
15225 check the distribution terms of a manual before you buy it, and
15226 prefer copylefted manuals to non-copylefted ones.
15227 </p><p>
15228-[Note: We now maintain a <a class="link" href="http://www.fsf.org/licensing/doc/other-free-books.html">web page
15229+[Note: We now maintain a <a class="link" href="http://www.fsf.org/licensing/doc/other-free-books.html" target="_top">web page
15230 that lists free books available from other publishers</a>].
15231 </p><p>Copyright © 2004, 2005, 2006, 2007 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA</p><p>Verbatim copying and distribution of this entire article are
15232 permitted worldwide, without royalty, in any medium, provided this
15233-notice is preserved.</p><p>Report any problems or suggestions to <code class="email">&lt;<a class="email" href="mailto:webmaster@fsf.org">webmaster@fsf.org</a>&gt;</code>.</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="backwards.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr><tr><td align="left" valign="top">Backwards Compatibility </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Appendix D. 
15234+notice is preserved.</p><p>Report any problems or suggestions to <code class="email">&lt;<a class="email" href="mailto:webmaster@fsf.org">webmaster@fsf.org</a>&gt;</code>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="backwards.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Backwards Compatibility </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix D. 
15235 <acronym class="acronym">GNU</acronym> General Public License version 3
15236 </td></tr></table></div></body></html>
15237Index: libstdc++-v3/doc/html/manual/algorithms.html
15238===================================================================
9f95000d
AM
15239--- libstdc++-v3/doc/html/manual/algorithms.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15240+++ libstdc++-v3/doc/html/manual/algorithms.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15241@@ -1,18 +1,18 @@
15242 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15243-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15244-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 11.  Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; , &#10; algorithm&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="iterators.html" title="Chapter 10.  Iterators"/><link rel="next" href="numerics.html" title="Chapter 12.  Numerics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. 
15245+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15246+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 11.  Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; , &#10; algorithm&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="iterators.html" title="Chapter 10.  Iterators" /><link rel="next" href="numerics.html" title="Chapter 12.  Numerics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. 
15247 Algorithms
15248
15249-</th></tr><tr><td align="left"><a accesskey="p" href="iterators.html">Prev</a> </td><th width="60%" align="center">Part II. 
15250+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="iterators.html">Prev</a> </td><th width="60%" align="center">Part II. 
15251 Standard Contents
15252- </th><td align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 11.  Algorithms"><div class="titlepage"><div><div><h2 class="title"><a id="std.algorithms"/>Chapter 11. 
15253+ </th><td width="20%" align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 11.  Algorithms"><div class="titlepage"><div><div><h2 class="title"><a id="std.algorithms"></a>Chapter 11. 
15254 Algorithms
15255- <a id="id504394" class="indexterm"/>
15256+ <a id="id682880" class="indexterm"></a>
15257 </h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="algorithms.html#std.algorithms.mutating">Mutating</a></span></dt><dd><dl><dt><span class="section"><a href="algorithms.html#algorithms.mutating.swap"><code class="function">swap</code></a></span></dt><dd><dl><dt><span class="section"><a href="algorithms.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></dd></dl></div><p>
15258 The neatest accomplishment of the algorithms section is that all the
15259 work is done via iterators, not containers directly. This means two
15260 important things:
15261-</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
15262+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
15263 Anything that behaves like an iterator can be used in one of
15264 these algorithms. Raw pointers make great candidates, thus
15265 built-in arrays are fine containers, as well as your own
15266@@ -42,7 +42,7 @@
15267 to cause so much confusion. Once you
15268 get <span class="emphasis"><em>range</em></span> into your head (it's not that hard,
15269 honest!), then the algorithms are a cakewalk.
15270-</p><div class="section" title="Mutating"><div class="titlepage"><div><div><h2 class="title"><a id="std.algorithms.mutating"/>Mutating</h2></div></div></div><div class="section" title="swap"><div class="titlepage"><div><div><h3 class="title"><a id="algorithms.mutating.swap"/><code class="function">swap</code></h3></div></div></div><div class="section" title="Specializations"><div class="titlepage"><div><div><h4 class="title"><a id="algorithms.swap.specializations"/>Specializations</h4></div></div></div><p>If you call <code class="code"> std::swap(x,y); </code> where x and y are standard
15271+</p><div class="section" title="Mutating"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.algorithms.mutating"></a>Mutating</h2></div></div></div><div class="section" title="swap"><div class="titlepage"><div><div><h3 class="title"><a id="algorithms.mutating.swap"></a><code class="function">swap</code></h3></div></div></div><div class="section" title="Specializations"><div class="titlepage"><div><div><h4 class="title"><a id="algorithms.swap.specializations"></a>Specializations</h4></div></div></div><p>If you call <code class="code"> std::swap(x,y); </code> where x and y are standard
15272 containers, then the call will automatically be replaced by a call to
15273 <code class="code"> x.swap(y); </code> instead.
15274 </p><p>This allows member functions of each container class to take over, and
15275@@ -52,10 +52,10 @@
15276 fact use constant-time swaps.) This should not be surprising, since
15277 for two containers of the same type to swap contents, only some
15278 internal pointers to storage need to be exchanged.
15279- </p></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="iterators.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 10. 
15280+ </p></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="iterators.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 10. 
15281 Iterators
15282
15283- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 12. 
15284+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 12. 
15285 Numerics
15286
15287 </td></tr></table></div></body></html>
15288Index: libstdc++-v3/doc/html/manual/appendix_porting.html
15289===================================================================
9f95000d
AM
15290--- libstdc++-v3/doc/html/manual/appendix_porting.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15291+++ libstdc++-v3/doc/html/manual/appendix_porting.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15292@@ -1,13 +1,13 @@
15293 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15294-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15295-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Appendix B.  Porting and Maintenance</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices"/><link rel="prev" href="source_design_notes.html" title="Design Notes"/><link rel="next" href="documentation_hacking.html" title="Writing and Generating Documentation"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. 
15296+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15297+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix B.  Porting and Maintenance</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices" /><link rel="prev" href="source_design_notes.html" title="Design Notes" /><link rel="next" href="documentation_hacking.html" title="Writing and Generating Documentation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. 
15298 Porting and Maintenance
15299
15300-</th></tr><tr><td align="left"><a accesskey="p" href="source_design_notes.html">Prev</a> </td><th width="60%" align="center">Part IV. 
15301+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_design_notes.html">Prev</a> </td><th width="60%" align="center">Part IV. 
15302 Appendices
15303-</th><td align="right"> <a accesskey="n" href="documentation_hacking.html">Next</a></td></tr></table><hr/></div><div class="appendix" title="Appendix B.  Porting and Maintenance"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.porting"/>
15304+</th><td width="20%" align="right"> <a accesskey="n" href="documentation_hacking.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix B.  Porting and Maintenance"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.porting"></a>
15305 Porting and Maintenance
15306- <a id="id552847" class="indexterm"/>
15307+ <a id="id731334" class="indexterm"></a>
15308 </h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.map">Overview: What Comes from Where</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.enable"><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html">Writing and Generating Documentation</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doc.intro">Introduction</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.generation">Generating Documentation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.doxygen">Doxygen</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doxygen.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.rules">Generating the Doxygen Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.markup">Markup</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html#doc.docbook">Docbook</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#docbook.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.rules">Generating the DocBook Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.validation">Editing and Validation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.examples">File Organization and Basics</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.markup">Markup By Example</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="section"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="section"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="section"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="section"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="section"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="section"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization">Organization</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization.layout">Directory Layout</a></span></dt><dt><span class="section"><a href="test.html#test.organization.naming">Naming Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.run.basic">Basic</a></span></dt><dt><span class="section"><a href="test.html#test.run.variations">Variations</a></span></dt><dt><span class="section"><a href="test.html#test.run.permutations">Permutations</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="section"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.harness.dejagnu">Dejagnu Harness Details</a></span></dt><dt><span class="section"><a href="test.html#test.harness.utils">Utilities</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.special">Special Topics</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.exception.safety">
15309 Qualifying Exception Safety Guarantees
15310
15311@@ -30,8 +30,8 @@
15312 Support for C++11 dialect.
15313 </a></span></dt><dt><span class="section"><a href="backwards.html#backwards.third.iterator_type">
15314 <code class="code">Container::iterator_type</code> is not necessarily <code class="code">Container::value_type*</code>
15315-</a></span></dt></dl></dd></dl></dd></dl></div><div class="section" title="Configure and Build Hacking"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.porting.build_hacking"/>Configure and Build Hacking</h2></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.prereq"/>Prerequisites</h3></div></div></div><p>
15316- As noted <a class="link" href="http://gcc.gnu.org/install/prerequisites.html">previously</a>,
15317+</a></span></dt></dl></dd></dl></dd></dl></div><div class="section" title="Configure and Build Hacking"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.build_hacking"></a>Configure and Build Hacking</h2></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.prereq"></a>Prerequisites</h3></div></div></div><p>
15318+ As noted <a class="link" href="http://gcc.gnu.org/install/prerequisites.html" target="_top">previously</a>,
15319 certain other tools are necessary for hacking on files that
15320 control configure (<code class="code">configure.ac</code>,
15321 <code class="code">acinclude.m4</code>) and make
15322@@ -41,17 +41,17 @@
15323 in GCC try to stay in sync with each other in terms of versions of
15324 the auto-tools used, so please try to play nicely with the
15325 neighbors.
15326- </p></div><div class="section" title="Overview: What Comes from Where"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.map"/>Overview: What Comes from Where</h3></div></div></div><div class="figure"><a id="id552980"/><p class="title"><strong>Figure B.1. Configure and Build File Dependencies</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/confdeps.png" style="text-align: middle" alt="Dependency Graph for Configure and Build Files"/></div></div></div><br class="figure-break"/><p>
15327+ </p></div><div class="section" title="Overview: What Comes from Where"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.map"></a>Overview: What Comes from Where</h3></div></div></div><div class="figure"><a id="id731466"></a><p class="title"><strong>Figure B.1. Configure and Build File Dependencies</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/confdeps.png" align="middle" alt="Dependency Graph for Configure and Build Files" /></div></div></div><br class="figure-break" /><p>
15328 Regenerate all generated files by using the command sequence
15329 <code class="code">"autoreconf"</code> at the top level of the libstdc++ source
15330 directory. The following will also work, but is much more complex:
15331 <code class="code">"aclocal-1.11 &amp;&amp; autoconf-2.64 &amp;&amp;
15332 autoheader-2.64 &amp;&amp; automake-1.11"</code> The version
15333 numbers may be absent entirely or otherwise vary depending on
15334- <a class="link" href="http://gcc.gnu.org/install/prerequisites.html">the
15335+ <a class="link" href="http://gcc.gnu.org/install/prerequisites.html" target="_top">the
15336 current requirements</a> and your vendor's choice of
15337 installation names.
15338- </p></div><div class="section" title="Storing Information in non-AC files (like configure.host)"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.scripts"/>Storing Information in non-AC files (like configure.host)</h3></div></div></div><p>
15339+ </p></div><div class="section" title="Storing Information in non-AC files (like configure.host)"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.scripts"></a>Storing Information in non-AC files (like configure.host)</h3></div></div></div><p>
15340 Until that glorious day when we can use AC_TRY_LINK with a
15341 cross-compiler, we have to hardcode the results of what the tests
15342 would have shown if they could be run. So we have an inflexible
15343@@ -73,7 +73,7 @@
15344 for instance, but then we would need arguments to aclocal/autoconf
15345 to properly find them all when generating configure. I would
15346 discourage that.
15347-</p></div><div class="section" title="Coding and Commenting Conventions"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.conventions"/>Coding and Commenting Conventions</h3></div></div></div><p>
15348+</p></div><div class="section" title="Coding and Commenting Conventions"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.conventions"></a>Coding and Commenting Conventions</h3></div></div></div><p>
15349 Most comments should use {octothorpes, shibboleths, hash marks,
15350 pound signs, whatever} rather than "dnl". Nearly all comments in
15351 configure.ac should. Comments inside macros written in ancilliary
15352@@ -90,7 +90,7 @@
15353 Do not use any <code class="code">$target*</code> variables, such as
15354 <code class="code">$target_alias</code>. The single exception is in
15355 configure.ac, for automake+dejagnu's sake.
15356- </p></div><div class="section" title="The acinclude.m4 layout"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.acinclude"/>The acinclude.m4 layout</h3></div></div></div><p>
15357+ </p></div><div class="section" title="The acinclude.m4 layout"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.acinclude"></a>The acinclude.m4 layout</h3></div></div></div><p>
15358 The nice thing about acinclude.m4/aclocal.m4 is that macros aren't
15359 actually performed/called/expanded/whatever here, just loaded. So
15360 we can arrange the contents however we like. As of this writing,
15361@@ -161,11 +161,11 @@
15362 </pre><p>
15363 Things which we don't seem to use directly, but just has to be
15364 present otherwise stuff magically goes wonky.
15365-</p></div><div class="section" title="GLIBCXX_ENABLE, the --enable maker"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.enable"/><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</h3></div></div></div><p>
15366+</p></div><div class="section" title="GLIBCXX_ENABLE, the --enable maker"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.enable"></a><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</h3></div></div></div><p>
15367 All the GLIBCXX_ENABLE_FOO macros use a common helper,
15368 GLIBCXX_ENABLE. (You don't have to use it, but it's easy.) The
15369 helper does two things for us:
15370- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
15371+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
15372 Builds the call to the AC_ARG_ENABLE macro, with --help text
15373 properly quoted and aligned. (Death to changequote!)
15374 </p></li><li class="listitem"><p>
15375@@ -190,7 +190,7 @@
15376 GLIBCXX_ENABLE (FEATURE, DEFAULT, HELP-ARG, HELP-STRING)
15377 GLIBCXX_ENABLE (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, permit a|b|c)
15378 GLIBCXX_ENABLE (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, SHELL-CODE-HANDLER)
15379-</pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
15380+</pre><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
15381 FEATURE is the string that follows --enable. The results of the
15382 test (such as it is) will be in the variable $enable_FEATURE,
15383 where FEATURE has been squashed. Example:
15384@@ -218,7 +218,7 @@
15385 </p><p>
15386 If you're wondering what that line noise in the last example was,
15387 that's how you embed autoconf special characters in output text.
15388- They're called <a class="link" href="http://www.gnu.org/software/autoconf/manual/autoconf.html#Quadrigraphs"><span class="emphasis"><em>quadrigraphs</em></span></a>
15389+ They're called <a class="link" href="http://www.gnu.org/software/autoconf/manual/autoconf.html#Quadrigraphs" target="_top"><span class="emphasis"><em>quadrigraphs</em></span></a>
15390 and you should use them whenever necessary.
15391 </p></li><li class="listitem"><p>HELP-STRING is what you think it is. Do not include the
15392 "default" text like we used to do; it will be done for you by
15393@@ -249,4 +249,4 @@
15394 argument checking at all is done in this signature. See
15395 GLIBCXX_ENABLE_CXX_FLAGS for an example of handling, and an error
15396 message.
15397-</p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="source_design_notes.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td align="right"> <a accesskey="n" href="documentation_hacking.html">Next</a></td></tr><tr><td align="left" valign="top">Design Notes </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Writing and Generating Documentation</td></tr></table></div></body></html>
15398+</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="source_design_notes.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="documentation_hacking.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Design Notes </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Writing and Generating Documentation</td></tr></table></div></body></html>
15399Index: libstdc++-v3/doc/html/manual/make.html
15400===================================================================
9f95000d
AM
15401--- libstdc++-v3/doc/html/manual/make.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15402+++ libstdc++-v3/doc/html/manual/make.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15403@@ -1,9 +1,9 @@
15404 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15405-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15406-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="setup.html" title="Chapter 2. Setup"/><link rel="prev" href="configure.html" title="Configure"/><link rel="next" href="using.html" title="Chapter 3. Using"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Make</th></tr><tr><td align="left"><a accesskey="p" href="configure.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td align="right"> <a accesskey="n" href="using.html">Next</a></td></tr></table><hr/></div><div class="section" title="Make"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup.make"/>Make</h2></div></div></div><p>If you have never done this before, you should read the basic
15407- <a class="link" href="http://gcc.gnu.org/install/">GCC Installation
15408+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15409+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Make</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="setup.html" title="Chapter 2. Setup" /><link rel="prev" href="configure.html" title="Configure" /><link rel="next" href="using.html" title="Chapter 3. Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Make</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="configure.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td width="20%" align="right"> <a accesskey="n" href="using.html">Next</a></td></tr></table><hr /></div><div class="section" title="Make"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.make"></a>Make</h2></div></div></div><p>If you have never done this before, you should read the basic
15410+ <a class="link" href="http://gcc.gnu.org/install/" target="_top">GCC Installation
15411 Instructions</a> first. Read <span class="emphasis"><em>all of them</em></span>.
15412 <span class="emphasis"><em>Twice.</em></span>
15413 </p><p>Then type: <span class="command"><strong>make</strong></span>, and congratulations, you've
15414 started to build.
15415-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="configure.html">Prev</a> </td><td align="center"><a accesskey="u" href="setup.html">Up</a></td><td align="right"> <a accesskey="n" href="using.html">Next</a></td></tr><tr><td align="left" valign="top">Configure </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 3. Using</td></tr></table></div></body></html>
15416+</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="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 3. Using</td></tr></table></div></body></html>
15417Index: libstdc++-v3/doc/html/manual/bk01pt03ch17s04.html
15418===================================================================
9f95000d
AM
15419--- libstdc++-v3/doc/html/manual/bk01pt03ch17s04.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15420+++ libstdc++-v3/doc/html/manual/bk01pt03ch17s04.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15421@@ -1,11 +1,11 @@
15422 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15423-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15424-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; debug&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode"/><link rel="prev" href="bk01pt03ch17s03.html" title="Using"/><link rel="next" href="parallel_mode.html" title="Chapter 18. Parallel Mode"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch17s03.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td align="right"> <a accesskey="n" href="parallel_mode.html">Next</a></td></tr></table><hr/></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode.design"/>Design</h2></div></div></div><p>
15425- </p><div class="section" title="Goals"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.goals"/>Goals</h3></div></div></div><p>
15426+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15427+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; debug&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="prev" href="bk01pt03ch17s03.html" title="Using" /><link rel="next" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch17s03.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode.html">Next</a></td></tr></table><hr /></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.design"></a>Design</h2></div></div></div><p>
15428+ </p><div class="section" title="Goals"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.goals"></a>Goals</h3></div></div></div><p>
15429 </p><p> The libstdc++ debug mode replaces unsafe (but efficient) standard
15430 containers and iterators with semantically equivalent safe standard
15431 containers and iterators to aid in debugging user programs. The
15432- following goals directed the design of the libstdc++ debug mode:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Correctness</em></span>: the libstdc++ debug mode must not change
15433+ following goals directed the design of the libstdc++ debug mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Correctness</em></span>: the libstdc++ debug mode must not change
15434 the semantics of the standard library for all cases specified in
15435 the ANSI/ISO C++ standard. The essence of this constraint is that
15436 any valid C++ program should behave in the same manner regardless
15437@@ -39,7 +39,7 @@
15438 higher-numbered conformance levels are more usable (i.e., require
15439 less recompilation) but are more complicated to implement than
15440 the lower-numbered conformance levels.
15441- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><span class="emphasis"><em>Full recompilation</em></span>: The user must recompile his or
15442+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><span class="emphasis"><em>Full recompilation</em></span>: The user must recompile his or
15443 her entire application and all C++ libraries it depends on,
15444 including the C++ standard library that ships with the
15445 compiler. This must be done even if only a small part of the
15446@@ -89,10 +89,10 @@
15447 (performance regression) or allocating extra memory associated
15448 with each iterator with <code class="code">new</code> (changes the program
15449 semantics).</p></li></ol></div><p>
15450- </p></li></ul></div></div><div class="section" title="Methods"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.methods"/>Methods</h3></div></div></div><p>
15451+ </p></li></ul></div></div><div class="section" title="Methods"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.methods"></a>Methods</h3></div></div></div><p>
15452 </p><p>This section provides an overall view of the design of the
15453 libstdc++ debug mode and details the relationship between design
15454- decisions and the stated design goals.</p><div class="section" title="The Wrapper Model"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.wrappers"/>The Wrapper Model</h4></div></div></div><p>The libstdc++ debug mode uses a wrapper model where the
15455+ decisions and the stated design goals.</p><div class="section" title="The Wrapper Model"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.wrappers"></a>The Wrapper Model</h4></div></div></div><p>The libstdc++ debug mode uses a wrapper model where the
15456 debugging versions of library components (e.g., iterators and
15457 containers) form a layer on top of the release versions of the
15458 library components. The debugging components first verify that the
15459@@ -109,19 +109,19 @@
15460 their associated containers, which are necessary to detect certain
15461 types of standard library usage errors such as dereferencing
15462 past-the-end iterators or inserting into a container using an
15463- iterator from a different container.</p><div class="section" title="Safe Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="debug_mode.design.methods.safe_iter"/>Safe Iterators</h5></div></div></div><p>Iterator wrappers provide a debugging layer over any iterator that
15464+ iterator from a different container.</p><div class="section" title="Safe Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="debug_mode.design.methods.safe_iter"></a>Safe Iterators</h5></div></div></div><p>Iterator wrappers provide a debugging layer over any iterator that
15465 is attached to a particular container, and will manage the
15466 information detailing the iterator's state (singular,
15467 dereferenceable, etc.) and tracking the container to which the
15468 iterator is attached. Because iterators have a well-defined, common
15469 interface the iterator wrapper is implemented with the iterator
15470 adaptor class template <code class="code">__gnu_debug::_Safe_iterator</code>,
15471- which takes two template parameters:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">Iterator</code>: The underlying iterator type, which must
15472+ which takes two template parameters:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">Iterator</code>: The underlying iterator type, which must
15473 be either the <code class="code">iterator</code> or <code class="code">const_iterator</code>
15474 typedef from the sequence type this iterator can reference.</p></li><li class="listitem"><p><code class="code">Sequence</code>: The type of sequence that this iterator
15475 references. This sequence must be a safe sequence (discussed below)
15476 whose <code class="code">iterator</code> or <code class="code">const_iterator</code> typedef
15477- is the type of the safe iterator.</p></li></ul></div></div><div class="section" title="Safe Sequences (Containers)"><div class="titlepage"><div><div><h5 class="title"><a id="debug_mode.design.methods.safe_seq"/>Safe Sequences (Containers)</h5></div></div></div><p>Container wrappers provide a debugging layer over a particular
15478+ is the type of the safe iterator.</p></li></ul></div></div><div class="section" title="Safe Sequences (Containers)"><div class="titlepage"><div><div><h5 class="title"><a id="debug_mode.design.methods.safe_seq"></a>Safe Sequences (Containers)</h5></div></div></div><p>Container wrappers provide a debugging layer over a particular
15479 container type. Because containers vary greatly in the member
15480 functions they support and the semantics of those member functions
15481 (especially in the area of iterator invalidation), container
15482@@ -157,7 +157,7 @@
15483
15484 // duplicate std::list interface with debugging semantics
15485 };
15486-</pre></div></div><div class="section" title="Precondition Checking"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.precond"/>Precondition Checking</h4></div></div></div><p>The debug mode operates primarily by checking the preconditions of
15487+</pre></div></div><div class="section" title="Precondition Checking"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.precond"></a>Precondition Checking</h4></div></div></div><p>The debug mode operates primarily by checking the preconditions of
15488 all standard library operations that it supports. Preconditions that
15489 are always checked (regardless of whether or not we are in debug
15490 mode) are checked via the <code class="code">__check_xxx</code> macros defined
15491@@ -184,7 +184,7 @@
15492 cousin <code class="code">_GLIBCXX_DEBUG_PEDASSERT</code>, or the assertion
15493 check macro that supports more advance formulation of error
15494 messages, <code class="code">_GLIBCXX_DEBUG_VERIFY</code>. These macros are
15495- documented more thoroughly in the debug mode source code.</p></div><div class="section" title="Release- and debug-mode coexistence"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.coexistence"/>Release- and debug-mode coexistence</h4></div></div></div><p>The libstdc++ debug mode is the first debug mode we know of that
15496+ documented more thoroughly in the debug mode source code.</p></div><div class="section" title="Release- and debug-mode coexistence"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.coexistence"></a>Release- and debug-mode coexistence</h4></div></div></div><p>The libstdc++ debug mode is the first debug mode we know of that
15497 is able to provide the "Per-use recompilation" (4) guarantee, that
15498 allows release-compiled and debug-compiled code to be linked and
15499 executed together without causing unpredictable behavior. This
15500@@ -194,13 +194,13 @@
15501 environments by minimizing dependencies.</p><p>Achieving link- and run-time coexistence is not a trivial
15502 implementation task. To achieve this goal we required a small
15503 extension to the GNU C++ compiler (since incorporated into the C++11 language specification, described in the GCC Manual for the C++ language as
15504- <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Namespace-Association.html#Namespace-Association">namespace
15505+ <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Namespace-Association.html#Namespace-Association" target="_top">namespace
15506 association</a>), and a complex organization of debug- and
15507 release-modes. The end result is that we have achieved per-use
15508 recompilation but have had to give up some checking of the
15509 <code class="code">std::basic_string</code> class template (namely, safe
15510 iterators).
15511-</p><div class="section" title="Compile-time coexistence of release- and debug-mode components"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.compile"/>Compile-time coexistence of release- and debug-mode components</h5></div></div></div><p>Both the release-mode components and the debug-mode
15512+</p><div class="section" title="Compile-time coexistence of release- and debug-mode components"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.compile"></a>Compile-time coexistence of release- and debug-mode components</h5></div></div></div><p>Both the release-mode components and the debug-mode
15513 components need to exist within a single translation unit so that
15514 the debug versions can wrap the release versions. However, only one
15515 of these components should be user-visible at any particular
15516@@ -254,7 +254,7 @@
15517 // namespace __debug __attribute__ ((strong));
15518 inline namespace __debug { }
15519 }
15520-</pre></div><div class="section" title="Link- and run-time coexistence of release- and debug-mode components"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.link"/>Link- and run-time coexistence of release- and
15521+</pre></div><div class="section" title="Link- and run-time coexistence of release- and debug-mode components"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.link"></a>Link- and run-time coexistence of release- and
15522 debug-mode components</h5></div></div></div><p>Because each component has a distinct and separate release and
15523 debug implementation, there is no issue with link-time
15524 coexistence: the separate namespaces result in different mangled
15525@@ -301,7 +301,7 @@
15526 release-mode <code class="code">basic_string</code>? While the answer could be
15527 "both", and the difference hidden via renaming a la the
15528 debug/release containers, we must note two things about locale
15529- facets:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>They exist as shared state: one can create a facet in one
15530+ facets:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>They exist as shared state: one can create a facet in one
15531 translation unit and access the facet via the same type name in a
15532 different translation unit. This means that we cannot have two
15533 different versions of locale facets, because the types would not be
15534@@ -316,10 +316,10 @@
15535 changes. The effect on users is expected to be minimal, as there are
15536 simple alternatives (e.g., <code class="code">__gnu_debug::basic_string</code>),
15537 and the usability benefit we gain from the ability to mix debug- and
15538- release-compiled translation units is enormous.</p></div><div class="section" title="Alternatives for Coexistence"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.alt"/>Alternatives for Coexistence</h5></div></div></div><p>The coexistence scheme above was chosen over many alternatives,
15539+ release-compiled translation units is enormous.</p></div><div class="section" title="Alternatives for Coexistence"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.alt"></a>Alternatives for Coexistence</h5></div></div></div><p>The coexistence scheme above was chosen over many alternatives,
15540 including language-only solutions and solutions that also required
15541 extensions to the C++ front end. The following is a partial list of
15542- solutions, with justifications for our rejection of each.</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Completely separate debug/release libraries</em></span>: This is by
15543+ solutions, with justifications for our rejection of each.</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Completely separate debug/release libraries</em></span>: This is by
15544 far the simplest implementation option, where we do not allow any
15545 coexistence of debug- and release-compiled translation units in a
15546 program. This solution has an extreme negative affect on usability,
15547@@ -353,7 +353,7 @@
15548 declarations disallow specialization. This method fails
15549 the <span class="emphasis"><em>correctness</em></span> criteria.</p></li><li class="listitem"><p><span class="emphasis"><em> Use implementation-specific properties of anonymous
15550 namespaces. </em></span>
15551- See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00004.html"> this post
15552+ See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00004.html" target="_top"> this post
15553 </a>
15554 This method fails the <span class="emphasis"><em>correctness</em></span> criteria.</p></li><li class="listitem"><p><span class="emphasis"><em>Extension: allow reopening on namespaces</em></span>: This would
15555 allow the debug mode to effectively alias the
15556@@ -376,7 +376,7 @@
15557 functions taking no arguments in mixed-mode settings resulting in
15558 equivalent link names, <code class="code"> vector::push_back() </code> being
15559 one example.
15560- See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00177.html">link
15561+ See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00177.html" target="_top">link
15562 name</a> </p></li></ul></div><p>Other options may exist for implementing the debug mode, many of
15563 which have probably been considered and others that may still be
15564 lurking. This list may be expanded over time to include other
15565@@ -388,17 +388,17 @@
15566 that breaks user specialization), and additional testcases will be
15567 added as we are able to identify other typical problem cases. These
15568 test cases will serve as a benchmark by which we can compare debug
15569- mode implementations.</p></div></div></div><div class="section" title="Other Implementations"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.other"/>Other Implementations</h3></div></div></div><p>
15570+ mode implementations.</p></div></div></div><div class="section" title="Other Implementations"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.other"></a>Other Implementations</h3></div></div></div><p>
15571 </p><p> There are several existing implementations of debug modes for C++
15572 standard library implementations, although none of them directly
15573 supports debugging for programs using libstdc++. The existing
15574- implementations include:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><a class="link" href="http://www.mathcs.sjsu.edu/faculty/horstman/safestl.html">SafeSTL</a>:
15575+ implementations include:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="link" href="http://www.mathcs.sjsu.edu/faculty/horstman/safestl.html" target="_top">SafeSTL</a>:
15576 SafeSTL was the original debugging version of the Standard Template
15577 Library (STL), implemented by Cay S. Horstmann on top of the
15578 Hewlett-Packard STL. Though it inspired much work in this area, it
15579 has not been kept up-to-date for use with modern compilers or C++
15580- standard library implementations.</p></li><li class="listitem"><p><a class="link" href="http://www.stlport.org/">STLport</a>: STLport is a free
15581- implementation of the C++ standard library derived from the <a class="link" href="http://www.sgi.com/tech/stl/">SGI implementation</a>, and
15582+ standard library implementations.</p></li><li class="listitem"><p><a class="link" href="http://www.stlport.org/" target="_top">STLport</a>: STLport is a free
15583+ implementation of the C++ standard library derived from the <a class="link" href="http://www.sgi.com/tech/stl/" target="_top">SGI implementation</a>, and
15584 ported to many other platforms. It includes a debug mode that uses a
15585 wrapper model (that in some ways inspired the libstdc++ debug mode
15586 design), although at the time of this writing the debug mode is
15587@@ -409,4 +409,4 @@
15588 a full debug-mode implementation (including debugging for
15589 CodeWarrior extensions) and is easy to use, although it meets only
15590 the "Full recompilation" (1) recompilation
15591- guarantee.</p></li></ul></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch17s03.html">Prev</a> </td><td align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="parallel_mode.html">Next</a></td></tr><tr><td align="left" valign="top">Using </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 18. Parallel Mode</td></tr></table></div></body></html>
15592+ guarantee.</p></li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch17s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="parallel_mode.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Using </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 18. Parallel Mode</td></tr></table></div></body></html>
15593Index: libstdc++-v3/doc/html/manual/pairs.html
15594===================================================================
9f95000d
AM
15595--- libstdc++-v3/doc/html/manual/pairs.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15596+++ libstdc++-v3/doc/html/manual/pairs.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15597@@ -1,9 +1,9 @@
15598 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15599-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15600-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Pairs</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="utilities.html" title="Chapter 6.  Utilities"/><link rel="prev" href="utilities.html" title="Chapter 6.  Utilities"/><link rel="next" href="memory.html" title="Memory"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Pairs</th></tr><tr><td align="left"><a accesskey="p" href="utilities.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
15601+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15602+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Pairs</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="prev" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="next" href="memory.html" title="Memory" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Pairs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="utilities.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
15603 Utilities
15604
15605-</th><td align="right"> <a accesskey="n" href="memory.html">Next</a></td></tr></table><hr/></div><div class="section" title="Pairs"><div class="titlepage"><div><div><h2 class="title"><a id="std.util.pairs"/>Pairs</h2></div></div></div><p>The <code class="code">pair&lt;T1,T2&gt;</code> is a simple and handy way to
15606+</th><td width="20%" align="right"> <a accesskey="n" href="memory.html">Next</a></td></tr></table><hr /></div><div class="section" title="Pairs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.pairs"></a>Pairs</h2></div></div></div><p>The <code class="code">pair&lt;T1,T2&gt;</code> is a simple and handy way to
15607 carry around a pair of objects. One is of type T1, and another of
15608 type T2; they may be the same type, but you don't get anything
15609 extra if they are. The two members can be accessed directly, as
15610@@ -38,7 +38,7 @@
15611 instance of a pair instantiated on their respective types:
15612 </p><pre class="programlisting">
15613 pair&lt;int,MyClass&gt; p = make_pair(4,myobject);
15614- </pre></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="utilities.html">Prev</a> </td><td align="center"><a accesskey="u" href="utilities.html">Up</a></td><td align="right"> <a accesskey="n" href="memory.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 6. 
15615+ </pre></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="utilities.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="utilities.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="memory.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 6. 
15616 Utilities
15617
15618- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Memory</td></tr></table></div></body></html>
15619+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Memory</td></tr></table></div></body></html>
15620Index: libstdc++-v3/doc/html/manual/bk01pt03ch18s04.html
15621===================================================================
9f95000d
AM
15622--- libstdc++-v3/doc/html/manual/bk01pt03ch18s04.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15623+++ libstdc++-v3/doc/html/manual/bk01pt03ch18s04.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15624@@ -1,7 +1,7 @@
15625 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15626-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15627-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode"/><link rel="prev" href="bk01pt03ch18s03.html" title="Using"/><link rel="next" href="bk01pt03ch18s05.html" title="Testing"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s03.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch18s05.html">Next</a></td></tr></table><hr/></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode.design"/>Design</h2></div></div></div><p>
15628- </p><div class="section" title="Interface Basics"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.intro"/>Interface Basics</h3></div></div></div><p>
15629+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15630+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="bk01pt03ch18s03.html" title="Using" /><link rel="next" href="bk01pt03ch18s05.html" title="Testing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch18s03.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch18s05.html">Next</a></td></tr></table><hr /></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.design"></a>Design</h2></div></div></div><p>
15631+ </p><div class="section" title="Interface Basics"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.intro"></a>Interface Basics</h3></div></div></div><p>
15632 All parallel algorithms are intended to have signatures that are
15633 equivalent to the ISO C++ algorithms replaced. For instance, the
15634 <code class="function">std::adjacent_find</code> function is declared as:
15635@@ -36,13 +36,13 @@
15636 compile-time or run-time conditions.
15637 </p><p> The available signature options are specific for the different
15638 algorithms/algorithm classes.</p><p> The general view of overloads for the parallel algorithms look like this:
15639-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>ISO C++ signature</p></li><li class="listitem"><p>ISO C++ signature + sequential_tag argument</p></li><li class="listitem"><p>ISO C++ signature + algorithm-specific tag type
15640+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>ISO C++ signature</p></li><li class="listitem"><p>ISO C++ signature + sequential_tag argument</p></li><li class="listitem"><p>ISO C++ signature + algorithm-specific tag type
15641 (several signatures)</p></li></ul></div><p> Please note that the implementation may use additional functions
15642 (designated with the <code class="code">_switch</code> suffix) to dispatch from the
15643 ISO C++ signature to the correct parallel version. Also, some of the
15644 algorithms do not have support for run-time conditions, so the last
15645 overload is therefore missing.
15646-</p></div><div class="section" title="Configuration and Tuning"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.tuning"/>Configuration and Tuning</h3></div></div></div><div class="section" title="Setting up the OpenMP Environment"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.omp"/>Setting up the OpenMP Environment</h4></div></div></div><p>
15647+</p></div><div class="section" title="Configuration and Tuning"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.tuning"></a>Configuration and Tuning</h3></div></div></div><div class="section" title="Setting up the OpenMP Environment"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.omp"></a>Setting up the OpenMP Environment</h4></div></div></div><p>
15648 Several aspects of the overall runtime environment can be manipulated
15649 by standard OpenMP function calls.
15650 </p><p>
15651@@ -72,7 +72,7 @@
15652 nested parallelism (<code class="function">omp_set_nested</code>), schedule kind
15653 (<code class="function">omp_set_schedule</code>), and others. See the OpenMP
15654 documentation for more information.
15655-</p></div><div class="section" title="Compile Time Switches"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.compile"/>Compile Time Switches</h4></div></div></div><p>
15656+</p></div><div class="section" title="Compile Time Switches"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.compile"></a>Compile Time Switches</h4></div></div></div><p>
15657 To force an algorithm to execute sequentially, even though parallelism
15658 is switched on in general via the macro <code class="constant">_GLIBCXX_PARALLEL</code>,
15659 add <code class="classname">__gnu_parallel::sequential_tag()</code> to the end
15660@@ -126,7 +126,7 @@
15661 <code class="code">__gnu_parallel::balanced_quicksort_tag</code>.
15662 Multiway mergesort comes with the two splitting strategies for multi-way
15663 merging. The quicksort options cannot be used for <code class="code">stable_sort</code>.
15664-</p></div><div class="section" title="Run Time Settings and Defaults"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.settings"/>Run Time Settings and Defaults</h4></div></div></div><p>
15665+</p></div><div class="section" title="Run Time Settings and Defaults"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.settings"></a>Run Time Settings and Defaults</h4></div></div></div><p>
15666 The default parallelization strategy, the choice of specific algorithm
15667 strategy, the minimum threshold limits for individual parallel
15668 algorithms, and aspects of the underlying hardware can be specified as
15669@@ -175,7 +175,7 @@
15670 <code class="code">__gnu_parallel::_Settings::set</code>, respectively.
15671 Please note that the first call return a const object, so direct manipulation
15672 is forbidden.
15673-See <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01005.html">
15674+See <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01005.html" target="_top">
15675 <code class="filename">settings.h</code></a>
15676 for complete details.
15677 </p><p>
15678@@ -194,7 +194,7 @@
15679
15680 return 0;
15681 }
15682-</pre></div></div><div class="section" title="Implementation Namespaces"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.impl"/>Implementation Namespaces</h3></div></div></div><p> One namespace contain versions of code that are always
15683+</pre></div></div><div class="section" title="Implementation Namespaces"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.impl"></a>Implementation Namespaces</h3></div></div></div><p> One namespace contain versions of code that are always
15684 explicitly sequential:
15685 <code class="code">__gnu_serial</code>.
15686 </p><p> Two namespaces contain the parallel mode:
15687@@ -210,4 +210,4 @@
15688 </p><p> More information, and an organized index of types and functions
15689 related to the parallel mode on a per-namespace basis, can be found in
15690 the generated source documentation.
15691-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s03.html">Prev</a> </td><td align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch18s05.html">Next</a></td></tr><tr><td align="left" valign="top">Using </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Testing</td></tr></table></div></body></html>
15692+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch18s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch18s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Using </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Testing</td></tr></table></div></body></html>
15693Index: libstdc++-v3/doc/html/manual/test.html
15694===================================================================
9f95000d
AM
15695--- libstdc++-v3/doc/html/manual/test.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15696+++ libstdc++-v3/doc/html/manual/test.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15697@@ -1,12 +1,12 @@
15698 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15699-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15700-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Test</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; test&#10; , &#10; testsuite&#10; , &#10; performance&#10; , &#10; conformance&#10; , &#10; ABI&#10; , &#10; exception safety&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="prev" href="internals.html" title="Porting to New Hardware or Operating Systems"/><link rel="next" href="abi.html" title="ABI Policy and Guidelines"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Test</th></tr><tr><td align="left"><a accesskey="p" href="internals.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
15701+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15702+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; test&#10; , &#10; testsuite&#10; , &#10; performance&#10; , &#10; conformance&#10; , &#10; ABI&#10; , &#10; exception safety&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="internals.html" title="Porting to New Hardware or Operating Systems" /><link rel="next" href="abi.html" title="ABI Policy and Guidelines" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Test</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="internals.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
15703 Porting and Maintenance
15704
15705-</th><td align="right"> <a accesskey="n" href="abi.html">Next</a></td></tr></table><hr/></div><div class="section" title="Test"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup.test"/>Test</h2></div></div></div><p>
15706+</th><td width="20%" align="right"> <a accesskey="n" href="abi.html">Next</a></td></tr></table><hr /></div><div class="section" title="Test"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.test"></a>Test</h2></div></div></div><p>
15707 The libstdc++ testsuite includes testing for standard conformance,
15708 regressions, ABI, and performance.
15709-</p><div class="section" title="Organization"><div class="titlepage"><div><div><h3 class="title"><a id="test.organization"/>Organization</h3></div></div></div><div class="section" title="Directory Layout"><div class="titlepage"><div><div><h4 class="title"><a id="test.organization.layout"/>Directory Layout</h4></div></div></div><p>
15710+</p><div class="section" title="Organization"><div class="titlepage"><div><div><h3 class="title"><a id="test.organization"></a>Organization</h3></div></div></div><div class="section" title="Directory Layout"><div class="titlepage"><div><div><h4 class="title"><a id="test.organization.layout"></a>Directory Layout</h4></div></div></div><p>
15711 The directory <span class="emphasis"><em>libsrcdir/testsuite</em></span> contains the
15712 individual test cases organized in sub-directories corresponding to
15713 chapters of the C++ standard (detailed below), the dejagnu test
15714@@ -77,11 +77,11 @@
15715 </pre><p>
15716 All new tests should be written with the policy of one test
15717 case, one file in mind.
15718- </p></div><div class="section" title="Naming Conventions"><div class="titlepage"><div><div><h4 class="title"><a id="test.organization.naming"/>Naming Conventions</h4></div></div></div><p>
15719+ </p></div><div class="section" title="Naming Conventions"><div class="titlepage"><div><div><h4 class="title"><a id="test.organization.naming"></a>Naming Conventions</h4></div></div></div><p>
15720 In addition, there are some special names and suffixes that are
15721 used within the testsuite to designate particular kinds of
15722 tests.
15723- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
15724+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
15725 <span class="emphasis"><em>_xin.cc</em></span>
15726 </p><p>
15727 This test case expects some kind of interactive input in order
15728@@ -131,7 +131,7 @@
15729 analyze runtime performance, for performance regression testing,
15730 or for other optimization related analysis. At the moment, these
15731 test cases are not run by default.
15732- </p></li></ul></div></div></div><div class="section" title="Running the Testsuite"><div class="titlepage"><div><div><h3 class="title"><a id="test.run"/>Running the Testsuite</h3></div></div></div><div class="section" title="Basic"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.basic"/>Basic</h4></div></div></div><p>
15733+ </p></li></ul></div></div></div><div class="section" title="Running the Testsuite"><div class="titlepage"><div><div><h3 class="title"><a id="test.run"></a>Running the Testsuite</h3></div></div></div><div class="section" title="Basic"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.basic"></a>Basic</h4></div></div></div><p>
15734 You can check the status of the build without installing it
15735 using the dejagnu harness, much like the rest of the gcc
15736 tools.</p><pre class="programlisting"> make check</pre><p>in the <span class="emphasis"><em>libbuilddir</em></span> directory.</p><p>or</p><pre class="programlisting"> make check-target-libstdc++-v3</pre><p>in the <span class="emphasis"><em>gccbuilddir</em></span> directory.
15737@@ -146,12 +146,12 @@
15738 output, and the executable output (if any).
15739 </p><p>
15740 Archives of test results for various versions and platforms are
15741- available on the GCC website in the <a class="link" href="http://gcc.gnu.org/gcc-4.3/buildstat.html">build
15742+ available on the GCC website in the <a class="link" href="http://gcc.gnu.org/gcc-4.3/buildstat.html" target="_top">build
15743 status</a> section of each individual release, and are also
15744- archived on a daily basis on the <a class="link" href="http://gcc.gnu.org/ml/gcc-testresults/current">gcc-testresults</a>
15745+ archived on a daily basis on the <a class="link" href="http://gcc.gnu.org/ml/gcc-testresults/current" target="_top">gcc-testresults</a>
15746 mailing list. Please check either of these places for a similar
15747 combination of source version, operating system, and host CPU.
15748- </p></div><div class="section" title="Variations"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.variations"/>Variations</h4></div></div></div><p>
15749+ </p></div><div class="section" title="Variations"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.variations"></a>Variations</h4></div></div></div><p>
15750 There are several options for running tests, including testing
15751 the regression tests, testing a subset of the regression tests,
15752 testing the performance tests, testing just compilation, testing
15753@@ -222,7 +222,7 @@
15754 </pre><p>
15755 Five files are generated that determine what test files
15756 are run. These files are:
15757- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
15758+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
15759 <span class="emphasis"><em>testsuite_files</em></span>
15760 </p><p>
15761 This is a list of all the test cases that will be run. Each
15762@@ -277,7 +277,7 @@
15763 We are interested in any strange failures of the testsuite;
15764 please email the main libstdc++ mailing list if you see
15765 something odd or have questions.
15766- </p></div><div class="section" title="Permutations"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.permutations"/>Permutations</h4></div></div></div><p>
15767+ </p></div><div class="section" title="Permutations"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.permutations"></a>Permutations</h4></div></div></div><p>
15768 To run the libstdc++ test suite under the <a class="link" href="debug_mode.html" title="Chapter 17. Debug Mode">debug mode</a>, edit
15769 <code class="filename">libstdc++-v3/scripts/testsuite_flags</code> to add the
15770 compile-time flag <code class="constant">-D_GLIBCXX_DEBUG</code> to the
15771@@ -297,7 +297,7 @@
15772 Or, just run the testsuites with <code class="constant">CXXFLAGS</code>
15773 set to <code class="constant">-D_GLIBCXX_DEBUG</code> or
15774 <code class="constant">-D_GLIBCXX_PARALLEL</code>.
15775- </p></div></div><div class="section" title="Writing a new test case"><div class="titlepage"><div><div><h3 class="title"><a id="test.new_tests"/>Writing a new test case</h3></div></div></div><p>
15776+ </p></div></div><div class="section" title="Writing a new test case"><div class="titlepage"><div><div><h3 class="title"><a id="test.new_tests"></a>Writing a new test case</h3></div></div></div><p>
15777 The first step in making a new test case is to choose the correct
15778 directory and file name, given the organization as previously
15779 described.
15780@@ -408,7 +408,7 @@
15781 // { dg-options "-O0" { target *-*-* } }
15782 </pre><p>
15783 More examples can be found in the libstdc++-v3/testsuite/*/*.cc files.
15784- </p></div><div class="section" title="Test Harness and Utilities"><div class="titlepage"><div><div><h3 class="title"><a id="test.harness"/>Test Harness and Utilities</h3></div></div></div><div class="section" title="Dejagnu Harness Details"><div class="titlepage"><div><div><h4 class="title"><a id="test.harness.dejagnu"/>Dejagnu Harness Details</h4></div></div></div><p>
15785+ </p></div><div class="section" title="Test Harness and Utilities"><div class="titlepage"><div><div><h3 class="title"><a id="test.harness"></a>Test Harness and Utilities</h3></div></div></div><div class="section" title="Dejagnu Harness Details"><div class="titlepage"><div><div><h4 class="title"><a id="test.harness.dejagnu"></a>Dejagnu Harness Details</h4></div></div></div><p>
15786 Underlying details of testing for conformance and regressions are
15787 abstracted via the GNU Dejagnu package. This is similar to the
15788 rest of GCC.
15789@@ -435,7 +435,7 @@
15790 </p><p>The <code class="code">config</code> directory is searched for any particular "target
15791 board" information unique to this library. This is currently unused and sets
15792 only default variables.
15793-</p></div><div class="section" title="Utilities"><div class="titlepage"><div><div><h4 class="title"><a id="test.harness.utils"/>Utilities</h4></div></div></div><p>
15794+</p></div><div class="section" title="Utilities"><div class="titlepage"><div><div><h4 class="title"><a id="test.harness.utils"></a>Utilities</h4></div></div></div><p>
15795 </p><p>
15796 The testsuite directory also contains some files that implement
15797 functionality that is intended to make writing test cases easier,
15798@@ -447,7 +447,7 @@
15799 during testing.
15800 </p><p>
15801 These files include the following functionality:
15802- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
15803+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
15804 <span class="emphasis"><em>testsuite_abi.h</em></span>,
15805 <span class="emphasis"><em>testsuite_abi.cc</em></span>,
15806 <span class="emphasis"><em>testsuite_abi_check.cc</em></span>
15807@@ -477,7 +477,7 @@
15808 <span class="emphasis"><em>testsuite_hooks.cc</em></span>
15809 </p><p>
15810 A large number of utilities, including:
15811- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>VERIFY</p></li><li class="listitem"><p>set_memory_limits</p></li><li class="listitem"><p>verify_demangle</p></li><li class="listitem"><p>run_tests_wrapped_locale</p></li><li class="listitem"><p>run_tests_wrapped_env</p></li><li class="listitem"><p>try_named_locale</p></li><li class="listitem"><p>try_mkfifo</p></li><li class="listitem"><p>func_callback</p></li><li class="listitem"><p>counter</p></li><li class="listitem"><p>copy_tracker</p></li><li class="listitem"><p>copy_constructor</p></li><li class="listitem"><p>assignment_operator</p></li><li class="listitem"><p>destructor</p></li><li class="listitem"><p>pod_char, pod_int and associated char_traits specializations</p></li></ul></div></li><li class="listitem"><p>
15812+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>VERIFY</p></li><li class="listitem"><p>set_memory_limits</p></li><li class="listitem"><p>verify_demangle</p></li><li class="listitem"><p>run_tests_wrapped_locale</p></li><li class="listitem"><p>run_tests_wrapped_env</p></li><li class="listitem"><p>try_named_locale</p></li><li class="listitem"><p>try_mkfifo</p></li><li class="listitem"><p>func_callback</p></li><li class="listitem"><p>counter</p></li><li class="listitem"><p>copy_tracker</p></li><li class="listitem"><p>copy_constructor</p></li><li class="listitem"><p>assignment_operator</p></li><li class="listitem"><p>destructor</p></li><li class="listitem"><p>pod_char, pod_int and associated char_traits specializations</p></li></ul></div></li><li class="listitem"><p>
15813 <span class="emphasis"><em>testsuite_io.h</em></span>
15814 </p><p>
15815 Error, exception, and constraint checking for
15816@@ -491,10 +491,10 @@
15817 </p><p>
15818 A number of class abstractions for performance counters, and
15819 reporting functions including:
15820- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>time_counter</p></li><li class="listitem"><p>resource_counter</p></li><li class="listitem"><p>report_performance</p></li></ul></div></li></ul></div></div></div><div class="section" title="Special Topics"><div class="titlepage"><div><div><h3 class="title"><a id="test.special"/>Special Topics</h3></div></div></div><div class="section" title="Qualifying Exception Safety Guarantees"><div class="titlepage"><div><div><h4 class="title"><a id="test.exception.safety"/>
15821+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>time_counter</p></li><li class="listitem"><p>resource_counter</p></li><li class="listitem"><p>report_performance</p></li></ul></div></li></ul></div></div></div><div class="section" title="Special Topics"><div class="titlepage"><div><div><h3 class="title"><a id="test.special"></a>Special Topics</h3></div></div></div><div class="section" title="Qualifying Exception Safety Guarantees"><div class="titlepage"><div><div><h4 class="title"><a id="test.exception.safety"></a>
15822 Qualifying Exception Safety Guarantees
15823- <a id="id557519" class="indexterm"/>
15824-</h4></div></div></div><div class="section" title="Overview"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.overview"/>Overview</h5></div></div></div><p>
15825+ <a id="id736022" class="indexterm"></a>
15826+</h4></div></div></div><div class="section" title="Overview"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.overview"></a>Overview</h5></div></div></div><p>
15827 Testing is composed of running a particular test sequence,
15828 and looking at what happens to the surrounding code when
15829 exceptions are thrown. Each test is composed of measuring
15830@@ -524,9 +524,9 @@
15831 completes without an exception being thrown, assume all
15832 potential error paths have been exercised in a sequential
15833 manner.
15834- </p></div><div class="section" title="Existing tests"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.status"/>
15835+ </p></div><div class="section" title="Existing tests"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.status"></a>
15836 Existing tests
15837-</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
15838+</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
15839 Ad Hoc
15840 </p><p>
15841 For example,
15842@@ -563,9 +563,9 @@
15843 instrumentation to <code class="classname">iterator</code>
15844 and <code class="classname">const_iterator</code> types that throw
15845 conditionally on iterator operations.
15846- </p></li></ul></div></div><div class="section" title="C++11 Requirements Test Sequence Descriptions"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.containers"/>
15847+ </p></li></ul></div></div><div class="section" title="C++11 Requirements Test Sequence Descriptions"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.containers"></a>
15848 C++11 Requirements Test Sequence Descriptions
15849-</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
15850+</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
15851 Basic
15852 </p><p>
15853 Basic consistency on exception propagation tests. For
15854@@ -636,4 +636,4 @@
15855 The general form demonstrated in
15856 <code class="filename">testsuite/23_containers/list/requirements/exception/propagation_coherent.cc
15857 </code>. The instantiating test object is <code class="classname">__gnu_test::propagation_coherent</code> and is detailed in <code class="filename">testsuite/util/exception/safety.h</code>.
15858- </p></li></ul></div></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="internals.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td align="right"> <a accesskey="n" href="abi.html">Next</a></td></tr><tr><td align="left" valign="top">Porting to New Hardware or Operating Systems </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> ABI Policy and Guidelines</td></tr></table></div></body></html>
15859+ </p></li></ul></div></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="internals.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="abi.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Porting to New Hardware or Operating Systems </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> ABI Policy and Guidelines</td></tr></table></div></body></html>
15860Index: libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html
15861===================================================================
9f95000d
AM
15862--- libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15863+++ libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15864@@ -1,10 +1,10 @@
15865 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15866-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15867-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Linking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using_namespaces.html" title="Namespaces"/><link rel="next" href="using_concurrency.html" title="Concurrency"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Linking</th></tr><tr><td align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr></table><hr/></div><div class="section" title="Linking"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.linkage"/>Linking</h2></div></div></div><div class="section" title="Almost Nothing"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.linkage.freestanding"/>Almost Nothing</h3></div></div></div><p>
15868+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15869+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Linking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_namespaces.html" title="Namespaces" /><link rel="next" href="using_concurrency.html" title="Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Linking</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr></table><hr /></div><div class="section" title="Linking"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.linkage"></a>Linking</h2></div></div></div><div class="section" title="Almost Nothing"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.linkage.freestanding"></a>Almost Nothing</h3></div></div></div><p>
15870 Or as close as it gets: freestanding. This is a minimal
15871 configuration, with only partial support for the standard
15872 library. Assume only the following header files can be used:
15873- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
15874+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
15875 <code class="filename">cstdarg</code>
15876 </p></li><li class="listitem"><p>
15877 <code class="filename">cstddef</code>
15878@@ -22,12 +22,12 @@
15879 <code class="filename">typeinfo</code>
15880 </p></li></ul></div><p>
15881 In addition, throw in
15882- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
15883+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
15884 <code class="filename">cxxabi.h</code>.
15885 </p></li></ul></div><p>
15886 In the
15887 C++11 <a class="link" href="using.html#manual.intro.using.flags" title="Command Options">dialect</a> add
15888- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
15889+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
15890 <code class="filename">initializer_list</code>
15891 </p></li><li class="listitem"><p>
15892 <code class="filename">type_traits</code>
15893@@ -40,7 +40,7 @@
15894 No attempt is made to verify that only the minimal subset
15895 identified above is actually used at compile time. Violations
15896 are diagnosed as undefined symbols at link time.
15897- </p></div><div class="section" title="Finding Dynamic or Shared Libraries"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.linkage.dynamic"/>Finding Dynamic or Shared Libraries</h3></div></div></div><p>
15898+ </p></div><div class="section" title="Finding Dynamic or Shared Libraries"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.linkage.dynamic"></a>Finding Dynamic or Shared Libraries</h3></div></div></div><p>
15899 If the only library built is the static library
15900 (<code class="filename">libstdc++.a</code>), or if
15901 specifying static linking, this section is can be skipped. But
15902@@ -51,10 +51,10 @@
15903 But how?
15904 </p><p>
15905 A quick read of the relevant part of the GCC
15906- manual, <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html#Invoking-G_002b_002b">Compiling
15907+ manual, <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html#Invoking-G_002b_002b" target="_top">Compiling
15908 C++ Programs</a>, specifies linking against a C++
15909 library. More details from the
15910- GCC <a class="link" href="http://gcc.gnu.org/faq.html#rpath">FAQ</a>,
15911+ GCC <a class="link" href="http://gcc.gnu.org/faq.html#rpath" target="_top">FAQ</a>,
15912 which states <span class="emphasis"><em>GCC does not, by default, specify a
15913 location so that the dynamic linker can find dynamic libraries at
15914 runtime.</em></span>
15915@@ -63,7 +63,7 @@
15916 </p><p>
15917 Methods vary for different platforms and different styles, and
15918 are printed to the screen during installation. To summarize:
15919- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
15920+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
15921 At runtime set <code class="literal">LD_LIBRARY_PATH</code> in your
15922 environment correctly, so that the shared library for
15923 libstdc++ can be found and loaded. Be certain that you
15924@@ -75,7 +75,7 @@
15925 <span class="command"><strong>g++</strong></span>, which will in turn pass them on to
15926 the linker. The exact format of the options is dependent on
15927 which linker you use:
15928- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
15929+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
15930 GNU ld (default on GNU/Linux):
15931 <code class="literal">-Wl,-rpath,</code><code class="filename">destdir/lib</code>
15932 </p></li><li class="listitem"><p>
15933@@ -106,4 +106,4 @@
15934 also installed, for use with Libtool. If you use Libtool to
15935 create your executables, these details are taken care of for
15936 you.
15937- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr><tr><td align="left" valign="top">Namespaces </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Concurrency</td></tr></table></div></body></html>
15938+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Namespaces </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Concurrency</td></tr></table></div></body></html>
15939Index: libstdc++-v3/doc/html/manual/bk01pt03ch19s04.html
15940===================================================================
9f95000d
AM
15941--- libstdc++-v3/doc/html/manual/bk01pt03ch19s04.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15942+++ libstdc++-v3/doc/html/manual/bk01pt03ch19s04.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15943@@ -1,6 +1,6 @@
15944 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15945-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15946-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Empirical Cost Model</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="prev" href="bk01pt03ch19s03.html" title="Extensions for Custom Containers"/><link rel="next" href="bk01pt03ch19s05.html" title="Implementation Issues"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Empirical Cost Model</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s03.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch19s05.html">Next</a></td></tr></table><hr/></div><div class="section" title="Empirical Cost Model"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.cost_model"/>Empirical Cost Model</h2></div></div></div><p>
15947+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15948+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Empirical Cost Model</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="bk01pt03ch19s03.html" title="Extensions for Custom Containers" /><link rel="next" href="bk01pt03ch19s05.html" title="Implementation Issues" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Empirical Cost Model</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch19s03.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s05.html">Next</a></td></tr></table><hr /></div><div class="section" title="Empirical Cost Model"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.cost_model"></a>Empirical Cost Model</h2></div></div></div><p>
15949 Currently, the cost model uses formulas with predefined relative weights
15950 for alternative containers or container implementations. For instance,
15951 iterating through a vector is X times faster than iterating through a list.
15952@@ -15,4 +15,4 @@
15953 filled in either by hand or by an automated training mechanism.
15954 The analysis module will then use this database instead of the built in.
15955 generic parameters.
15956- </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s03.html">Prev</a> </td><td align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch19s05.html">Next</a></td></tr><tr><td align="left" valign="top">Extensions for Custom Containers </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Implementation Issues</td></tr></table></div></body></html>
15957+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch19s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch19s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Extensions for Custom Containers </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Implementation Issues</td></tr></table></div></body></html>
15958Index: libstdc++-v3/doc/html/manual/using_headers.html
15959===================================================================
9f95000d
AM
15960--- libstdc++-v3/doc/html/manual/using_headers.html (.../tags/gcc_4_7_2_release) (wersja 192468)
15961+++ libstdc++-v3/doc/html/manual/using_headers.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
15962@@ -1,6 +1,6 @@
15963 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
15964-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
15965-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Headers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using.html" title="Chapter 3. Using"/><link rel="next" href="using_macros.html" title="Macros"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Headers</th></tr><tr><td align="left"><a accesskey="p" href="using.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="using_macros.html">Next</a></td></tr></table><hr/></div><div class="section" title="Headers"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.headers"/>Headers</h2></div></div></div><div class="section" title="Header Files"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.all"/>Header Files</h3></div></div></div><p>
15966+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15967+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Headers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using.html" title="Chapter 3. Using" /><link rel="next" href="using_macros.html" title="Macros" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Headers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_macros.html">Next</a></td></tr></table><hr /></div><div class="section" title="Headers"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.headers"></a>Headers</h2></div></div></div><div class="section" title="Header Files"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.all"></a>Header Files</h3></div></div></div><p>
15968 The C++ standard specifies the entire set of header files that
15969 must be available to all hosted implementations. Actually, the
15970 word "files" is a misnomer, since the contents of the
15971@@ -19,19 +19,19 @@
15972 the 1998 standard as updated for 2003, and the current 2011 standard.
15973 </p><p>
15974 C++98/03 include files. These are available in the default compilation mode, i.e. <code class="code">-std=c++98</code> or <code class="code">-std=gnu++98</code>.
15975- </p><div class="table"><a id="id478273"/><p class="title"><strong>Table 3.2. C++ 1998 Library Headers</strong></p><div class="table-contents"><table summary="C++ 1998 Library Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="filename">bitset</code></td><td style="text-align: left"><code class="filename">complex</code></td><td style="text-align: left"><code class="filename">deque</code></td><td style="text-align: left"><code class="filename">exception</code></td></tr><tr><td style="text-align: left"><code class="filename">fstream</code></td><td style="text-align: left"><code class="filename">functional</code></td><td style="text-align: left"><code class="filename">iomanip</code></td><td style="text-align: left"><code class="filename">ios</code></td><td style="text-align: left"><code class="filename">iosfwd</code></td></tr><tr><td style="text-align: left"><code class="filename">iostream</code></td><td style="text-align: left"><code class="filename">istream</code></td><td style="text-align: left"><code class="filename">iterator</code></td><td style="text-align: left"><code class="filename">limits</code></td><td style="text-align: left"><code class="filename">list</code></td></tr><tr><td style="text-align: left"><code class="filename">locale</code></td><td style="text-align: left"><code class="filename">map</code></td><td style="text-align: left"><code class="filename">memory</code></td><td style="text-align: left"><code class="filename">new</code></td><td style="text-align: left"><code class="filename">numeric</code></td></tr><tr><td style="text-align: left"><code class="filename">ostream</code></td><td style="text-align: left"><code class="filename">queue</code></td><td style="text-align: left"><code class="filename">set</code></td><td style="text-align: left"><code class="filename">sstream</code></td><td style="text-align: left"><code class="filename">stack</code></td></tr><tr><td style="text-align: left"><code class="filename">stdexcept</code></td><td style="text-align: left"><code class="filename">streambuf</code></td><td style="text-align: left"><code class="filename">string</code></td><td style="text-align: left"><code class="filename">utility</code></td><td style="text-align: left"><code class="filename">typeinfo</code></td></tr><tr><td style="text-align: left"><code class="filename">valarray</code></td><td style="text-align: left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"/><p/><div class="table"><a id="id478577"/><p class="title"><strong>Table 3.3. C++ 1998 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ 1998 Library Headers for C Library Facilities" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">cassert</code></td><td style="text-align: left"><code class="filename">cerrno</code></td><td style="text-align: left"><code class="filename">cctype</code></td><td style="text-align: left"><code class="filename">cfloat</code></td><td style="text-align: left"><code class="filename">ciso646</code></td></tr><tr><td style="text-align: left"><code class="filename">climits</code></td><td style="text-align: left"><code class="filename">clocale</code></td><td style="text-align: left"><code class="filename">cmath</code></td><td style="text-align: left"><code class="filename">csetjmp</code></td><td style="text-align: left"><code class="filename">csignal</code></td></tr><tr><td style="text-align: left"><code class="filename">cstdarg</code></td><td style="text-align: left"><code class="filename">cstddef</code></td><td style="text-align: left"><code class="filename">cstdio</code></td><td style="text-align: left"><code class="filename">cstdlib</code></td><td style="text-align: left"><code class="filename">cstring</code></td></tr><tr><td style="text-align: left"><code class="filename">ctime</code></td><td style="text-align: left"><code class="filename">cwchar</code></td><td style="text-align: left"><code class="filename">cwctype</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"/><p>
15976+ </p><div class="table"><a id="id656761"></a><p class="title"><strong>Table 3.2. C++ 1998 Library Headers</strong></p><div class="table-contents"><table summary="C++ 1998 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">complex</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td></tr><tr><td align="left"><code class="filename">fstream</code></td><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td><td align="left"><code class="filename">iosfwd</code></td></tr><tr><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td><td align="left"><code class="filename">list</code></td></tr><tr><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td></tr><tr><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">typeinfo</code></td></tr><tr><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id657065"></a><p class="title"><strong>Table 3.3. C++ 1998 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ 1998 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">ciso646</code></td></tr><tr><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td></tr><tr><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
15977 C++11 include files. These are only available in C++11 compilation
15978 mode, i.e. <code class="literal">-std=c++11</code> or <code class="literal">-std=gnu++11</code>.
15979-</p><p/><div class="table"><a id="id478783"/><p class="title"><strong>Table 3.4. C++ 2011 Library Headers</strong></p><div class="table-contents"><table summary="C++ 2011 Library Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="filename">array</code></td><td style="text-align: left"><code class="filename">bitset</code></td><td style="text-align: left"><code class="filename">chrono</code></td><td style="text-align: left"><code class="filename">complex</code></td></tr><tr><td style="text-align: left"><code class="filename">condition_variable</code></td><td style="text-align: left"><code class="filename">deque</code></td><td style="text-align: left"><code class="filename">exception</code></td><td style="text-align: left"><code class="filename">forward_list</code></td><td style="text-align: left"><code class="filename">fstream</code></td></tr><tr><td style="text-align: left"><code class="filename">functional</code></td><td style="text-align: left"><code class="filename">future</code></td><td style="text-align: left"><code class="filename">initalizer_list</code></td><td style="text-align: left"><code class="filename">iomanip</code></td><td style="text-align: left"><code class="filename">ios</code></td></tr><tr><td style="text-align: left"><code class="filename">iosfwd</code></td><td style="text-align: left"><code class="filename">iostream</code></td><td style="text-align: left"><code class="filename">istream</code></td><td style="text-align: left"><code class="filename">iterator</code></td><td style="text-align: left"><code class="filename">limits</code></td></tr><tr><td style="text-align: left"><code class="filename">list</code></td><td style="text-align: left"><code class="filename">locale</code></td><td style="text-align: left"><code class="filename">map</code></td><td style="text-align: left"><code class="filename">memory</code></td><td style="text-align: left"><code class="filename">mutex</code></td></tr><tr><td style="text-align: left"><code class="filename">new</code></td><td style="text-align: left"><code class="filename">numeric</code></td><td style="text-align: left"><code class="filename">ostream</code></td><td style="text-align: left"><code class="filename">queue</code></td><td style="text-align: left"><code class="filename">random</code></td></tr><tr><td style="text-align: left"><code class="filename">ratio</code></td><td style="text-align: left"><code class="filename">regex</code></td><td style="text-align: left"><code class="filename">set</code></td><td style="text-align: left"><code class="filename">sstream</code></td><td style="text-align: left"><code class="filename">stack</code></td></tr><tr><td style="text-align: left"><code class="filename">stdexcept</code></td><td style="text-align: left"><code class="filename">streambuf</code></td><td style="text-align: left"><code class="filename">string</code></td><td style="text-align: left"><code class="filename">system_error</code></td><td style="text-align: left"><code class="filename">thread</code></td></tr><tr><td style="text-align: left"><code class="filename">tuple</code></td><td style="text-align: left"><code class="filename">type_traits</code></td><td style="text-align: left"><code class="filename">typeinfo</code></td><td style="text-align: left"><code class="filename">unordered_map</code></td><td style="text-align: left"><code class="filename">unordered_set</code></td></tr><tr><td style="text-align: left"><code class="filename">utility</code></td><td style="text-align: left"><code class="filename">valarray</code></td><td style="text-align: left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"/><p/><div class="table"><a id="id479212"/><p class="title"><strong>Table 3.5. C++ 2011 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ 2011 Library Headers for C Library Facilities" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">cassert</code></td><td style="text-align: left"><code class="filename">ccomplex</code></td><td style="text-align: left"><code class="filename">cctype</code></td><td style="text-align: left"><code class="filename">cerrno</code></td><td style="text-align: left"><code class="filename">cfenv</code></td></tr><tr><td style="text-align: left"><code class="filename">cfloat</code></td><td style="text-align: left"><code class="filename">cinttypes</code></td><td style="text-align: left"><code class="filename">ciso646</code></td><td style="text-align: left"><code class="filename">climits</code></td><td style="text-align: left"><code class="filename">clocale</code></td></tr><tr><td style="text-align: left"><code class="filename">cmath</code></td><td style="text-align: left"><code class="filename">csetjmp</code></td><td style="text-align: left"><code class="filename">csignal</code></td><td style="text-align: left"><code class="filename">cstdarg</code></td><td style="text-align: left"><code class="filename">cstdbool</code></td></tr><tr><td style="text-align: left"><code class="filename">cstddef</code></td><td style="text-align: left"><code class="filename">cstdint</code></td><td style="text-align: left"><code class="filename">cstdlib</code></td><td style="text-align: left"><code class="filename">cstdio</code></td><td style="text-align: left"><code class="filename">cstring</code></td></tr><tr><td style="text-align: left"><code class="filename">ctgmath</code></td><td style="text-align: left"><code class="filename">ctime</code></td><td style="text-align: left"><code class="filename">cuchar</code></td><td style="text-align: left"><code class="filename">cwchar</code></td><td style="text-align: left"><code class="filename">cwctype</code></td></tr></tbody></table></div></div><br class="table-break"/><p>
15980+</p><p></p><div class="table"><a id="id657271"></a><p class="title"><strong>Table 3.4. C++ 2011 Library Headers</strong></p><div class="table-contents"><table summary="C++ 2011 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">array</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">chrono</code></td><td align="left"><code class="filename">complex</code></td></tr><tr><td align="left"><code class="filename">condition_variable</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td><td align="left"><code class="filename">forward_list</code></td><td align="left"><code class="filename">fstream</code></td></tr><tr><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">future</code></td><td align="left"><code class="filename">initalizer_list</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td></tr><tr><td align="left"><code class="filename">iosfwd</code></td><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td></tr><tr><td align="left"><code class="filename">list</code></td><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">mutex</code></td></tr><tr><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">random</code></td></tr><tr><td align="left"><code class="filename">ratio</code></td><td align="left"><code class="filename">regex</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">system_error</code></td><td align="left"><code class="filename">thread</code></td></tr><tr><td align="left"><code class="filename">tuple</code></td><td align="left"><code class="filename">type_traits</code></td><td align="left"><code class="filename">typeinfo</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="filename">unordered_set</code></td></tr><tr><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id657700"></a><p class="title"><strong>Table 3.5. C++ 2011 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ 2011 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">ccomplex</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cfenv</code></td></tr><tr><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">cinttypes</code></td><td align="left"><code class="filename">ciso646</code></td><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td></tr><tr><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstdbool</code></td></tr><tr><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdint</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctgmath</code></td><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cuchar</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
15981 In addition, TR1 includes as:
15982-</p><div class="table"><a id="id479461"/><p class="title"><strong>Table 3.6. C++ TR 1 Library Headers</strong></p><div class="table-contents"><table summary="C++ TR 1 Library Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">tr1/array</code></td><td style="text-align: left"><code class="filename">tr1/complex</code></td><td style="text-align: left"><code class="filename">tr1/memory</code></td><td style="text-align: left"><code class="filename">tr1/functional</code></td><td style="text-align: left"><code class="filename">tr1/random</code></td></tr><tr><td style="text-align: left"><code class="filename">tr1/regex</code></td><td style="text-align: left"><code class="filename">tr1/tuple</code></td><td style="text-align: left"><code class="filename">tr1/type_traits</code></td><td style="text-align: left"><code class="filename">tr1/unordered_map</code></td><td style="text-align: left"><code class="filename">tr1/unordered_set</code></td></tr><tr><td style="text-align: left"><code class="filename">tr1/utility</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"/><p/><div class="table"><a id="id479602"/><p class="title"><strong>Table 3.7. C++ TR 1 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ TR 1 Library Headers for C Library Facilities" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">tr1/ccomplex</code></td><td style="text-align: left"><code class="filename">tr1/cfenv</code></td><td style="text-align: left"><code class="filename">tr1/cfloat</code></td><td style="text-align: left"><code class="filename">tr1/cmath</code></td><td style="text-align: left"><code class="filename">tr1/cinttypes</code></td></tr><tr><td style="text-align: left"><code class="filename">tr1/climits</code></td><td style="text-align: left"><code class="filename">tr1/cstdarg</code></td><td style="text-align: left"><code class="filename">tr1/cstdbool</code></td><td style="text-align: left"><code class="filename">tr1/cstdint</code></td><td style="text-align: left"><code class="filename">tr1/cstdio</code></td></tr><tr><td style="text-align: left"><code class="filename">tr1/cstdlib</code></td><td style="text-align: left"><code class="filename">tr1/ctgmath</code></td><td style="text-align: left"><code class="filename">tr1/ctime</code></td><td style="text-align: left"><code class="filename">tr1/cwchar</code></td><td style="text-align: left"><code class="filename">tr1/cwctype</code></td></tr></tbody></table></div></div><br class="table-break"/><p>Decimal floating-point arithmetic is available if the C++
15983+</p><div class="table"><a id="id657949"></a><p class="title"><strong>Table 3.6. C++ TR 1 Library Headers</strong></p><div class="table-contents"><table summary="C++ TR 1 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/array</code></td><td align="left"><code class="filename">tr1/complex</code></td><td align="left"><code class="filename">tr1/memory</code></td><td align="left"><code class="filename">tr1/functional</code></td><td align="left"><code class="filename">tr1/random</code></td></tr><tr><td align="left"><code class="filename">tr1/regex</code></td><td align="left"><code class="filename">tr1/tuple</code></td><td align="left"><code class="filename">tr1/type_traits</code></td><td align="left"><code class="filename">tr1/unordered_map</code></td><td align="left"><code class="filename">tr1/unordered_set</code></td></tr><tr><td align="left"><code class="filename">tr1/utility</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id658090"></a><p class="title"><strong>Table 3.7. C++ TR 1 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ TR 1 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/ccomplex</code></td><td align="left"><code class="filename">tr1/cfenv</code></td><td align="left"><code class="filename">tr1/cfloat</code></td><td align="left"><code class="filename">tr1/cmath</code></td><td align="left"><code class="filename">tr1/cinttypes</code></td></tr><tr><td align="left"><code class="filename">tr1/climits</code></td><td align="left"><code class="filename">tr1/cstdarg</code></td><td align="left"><code class="filename">tr1/cstdbool</code></td><td align="left"><code class="filename">tr1/cstdint</code></td><td align="left"><code class="filename">tr1/cstdio</code></td></tr><tr><td align="left"><code class="filename">tr1/cstdlib</code></td><td align="left"><code class="filename">tr1/ctgmath</code></td><td align="left"><code class="filename">tr1/ctime</code></td><td align="left"><code class="filename">tr1/cwchar</code></td><td align="left"><code class="filename">tr1/cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>Decimal floating-point arithmetic is available if the C++
15984 compiler supports scalar decimal floating-point types defined via
15985 <code class="code">__attribute__((mode(SD|DD|LD)))</code>.
15986-</p><div class="table"><a id="id479778"/><p class="title"><strong>Table 3.8. C++ TR 24733 Decimal Floating-Point Header</strong></p><div class="table-contents"><table summary="C++ TR 24733 Decimal Floating-Point Header" border="1"><colgroup><col style="text-align: left" class="c1"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">decimal/decimal</code></td></tr></tbody></table></div></div><br class="table-break"/><p>
15987+</p><div class="table"><a id="id658266"></a><p class="title"><strong>Table 3.8. C++ TR 24733 Decimal Floating-Point Header</strong></p><div class="table-contents"><table summary="C++ TR 24733 Decimal Floating-Point Header" border="1"><colgroup><col align="left" class="c1" /></colgroup><tbody><tr><td align="left"><code class="filename">decimal/decimal</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
15988 Also included are files for the C++ ABI interface:
15989-</p><div class="table"><a id="id479824"/><p class="title"><strong>Table 3.9. C++ ABI Headers</strong></p><div class="table-contents"><table summary="C++ ABI Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">cxxabi.h</code></td><td style="text-align: left"><code class="filename">cxxabi_forced.h</code></td></tr></tbody></table></div></div><br class="table-break"/><p>
15990+</p><div class="table"><a id="id658312"></a><p class="title"><strong>Table 3.9. C++ ABI Headers</strong></p><div class="table-contents"><table summary="C++ ABI Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><tbody><tr><td align="left"><code class="filename">cxxabi.h</code></td><td align="left"><code class="filename">cxxabi_forced.h</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
15991 And a large variety of extensions.
15992-</p><div class="table"><a id="id479877"/><p class="title"><strong>Table 3.10. Extension Headers</strong></p><div class="table-contents"><table summary="Extension Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">ext/algorithm</code></td><td style="text-align: left"><code class="filename">ext/atomicity.h</code></td><td style="text-align: left"><code class="filename">ext/array_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/bitmap_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/cast.h</code></td></tr><tr><td style="text-align: left"><code class="filename">ext/codecvt_specializations.h</code></td><td style="text-align: left"><code class="filename">ext/concurrence.h</code></td><td style="text-align: left"><code class="filename">ext/debug_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/enc_filebuf.h</code></td><td style="text-align: left"><code class="filename">ext/extptr_allocator.h</code></td></tr><tr><td style="text-align: left"><code class="filename">ext/functional</code></td><td style="text-align: left"><code class="filename">ext/iterator</code></td><td style="text-align: left"><code class="filename">ext/malloc_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/memory</code></td><td style="text-align: left"><code class="filename">ext/mt_allocator.h</code></td></tr><tr><td style="text-align: left"><code class="filename">ext/new_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/numeric</code></td><td style="text-align: left"><code class="filename">ext/numeric_traits.h</code></td><td style="text-align: left"><code class="filename">ext/pb_ds/assoc_container.h</code></td><td style="text-align: left"><code class="filename">ext/pb_ds/priority_queue.h</code></td></tr><tr><td style="text-align: left"><code class="filename">ext/pod_char_traits.h</code></td><td style="text-align: left"><code class="filename">ext/pool_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/rb_tree</code></td><td style="text-align: left"><code class="filename">ext/rope</code></td><td style="text-align: left"><code class="filename">ext/slist</code></td></tr><tr><td style="text-align: left"><code class="filename">ext/stdio_filebuf.h</code></td><td style="text-align: left"><code class="filename">ext/stdio_sync_filebuf.h</code></td><td style="text-align: left"><code class="filename">ext/throw_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/typelist.h</code></td><td style="text-align: left"><code class="filename">ext/type_traits.h</code></td></tr><tr><td style="text-align: left"><code class="filename">ext/vstring.h</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"/><p/><div class="table"><a id="id480175"/><p class="title"><strong>Table 3.11. Extension Debug Headers</strong></p><div class="table-contents"><table summary="Extension Debug Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">debug/bitset</code></td><td style="text-align: left"><code class="filename">debug/deque</code></td><td style="text-align: left"><code class="filename">debug/list</code></td><td style="text-align: left"><code class="filename">debug/map</code></td><td style="text-align: left"><code class="filename">debug/set</code></td></tr><tr><td style="text-align: left"><code class="filename">debug/string</code></td><td style="text-align: left"><code class="filename">debug/unordered_map</code></td><td style="text-align: left"><code class="filename">debug/unordered_set</code></td><td style="text-align: left"><code class="filename">debug/vector</code></td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"/><p/><div class="table"><a id="id480298"/><p class="title"><strong>Table 3.12. Extension Profile Headers</strong></p><div class="table-contents"><table summary="Extension Profile Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">profile/bitset</code></td><td style="text-align: left"><code class="filename">profile/deque</code></td><td style="text-align: left"><code class="filename">profile/list</code></td><td style="text-align: left"><code class="filename">profile/map</code></td></tr><tr><td style="text-align: left"><code class="filename">profile/set</code></td><td style="text-align: left"><code class="filename">profile/unordered_map</code></td><td style="text-align: left"><code class="filename">profile/unordered_set</code></td><td style="text-align: left"><code class="filename">profile/vector</code></td></tr></tbody></table></div></div><br class="table-break"/><p/><div class="table"><a id="id480409"/><p class="title"><strong>Table 3.13. Extension Parallel Headers</strong></p><div class="table-contents"><table summary="Extension Parallel Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">parallel/algorithm</code></td><td style="text-align: left"><code class="filename">parallel/numeric</code></td></tr></tbody></table></div></div><br class="table-break"/></div><div class="section" title="Mixing Headers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.mixing"/>Mixing Headers</h3></div></div></div><p> A few simple rules.
15993+</p><div class="table"><a id="id658365"></a><p class="title"><strong>Table 3.10. Extension Headers</strong></p><div class="table-contents"><table summary="Extension Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">ext/algorithm</code></td><td align="left"><code class="filename">ext/atomicity.h</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"><code class="filename">ext/cast.h</code></td></tr><tr><td align="left"><code class="filename">ext/codecvt_specializations.h</code></td><td align="left"><code class="filename">ext/concurrence.h</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="filename">ext/enc_filebuf.h</code></td><td align="left"><code class="filename">ext/extptr_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/functional</code></td><td align="left"><code class="filename">ext/iterator</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="filename">ext/memory</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="filename">ext/numeric</code></td><td align="left"><code class="filename">ext/numeric_traits.h</code></td><td align="left"><code class="filename">ext/pb_ds/assoc_container.h</code></td><td align="left"><code class="filename">ext/pb_ds/priority_queue.h</code></td></tr><tr><td align="left"><code class="filename">ext/pod_char_traits.h</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="filename">ext/rb_tree</code></td><td align="left"><code class="filename">ext/rope</code></td><td align="left"><code class="filename">ext/slist</code></td></tr><tr><td align="left"><code class="filename">ext/stdio_filebuf.h</code></td><td align="left"><code class="filename">ext/stdio_sync_filebuf.h</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left"><code class="filename">ext/typelist.h</code></td><td align="left"><code class="filename">ext/type_traits.h</code></td></tr><tr><td align="left"><code class="filename">ext/vstring.h</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id658663"></a><p class="title"><strong>Table 3.11. Extension Debug Headers</strong></p><div class="table-contents"><table summary="Extension Debug Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">debug/bitset</code></td><td align="left"><code class="filename">debug/deque</code></td><td align="left"><code class="filename">debug/list</code></td><td align="left"><code class="filename">debug/map</code></td><td align="left"><code class="filename">debug/set</code></td></tr><tr><td align="left"><code class="filename">debug/string</code></td><td align="left"><code class="filename">debug/unordered_map</code></td><td align="left"><code class="filename">debug/unordered_set</code></td><td align="left"><code class="filename">debug/vector</code></td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id658786"></a><p class="title"><strong>Table 3.12. Extension Profile Headers</strong></p><div class="table-contents"><table summary="Extension Profile Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><tbody><tr><td align="left"><code class="filename">profile/bitset</code></td><td align="left"><code class="filename">profile/deque</code></td><td align="left"><code class="filename">profile/list</code></td><td align="left"><code class="filename">profile/map</code></td></tr><tr><td align="left"><code class="filename">profile/set</code></td><td align="left"><code class="filename">profile/unordered_map</code></td><td align="left"><code class="filename">profile/unordered_set</code></td><td align="left"><code class="filename">profile/vector</code></td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id658897"></a><p class="title"><strong>Table 3.13. Extension Parallel Headers</strong></p><div class="table-contents"><table summary="Extension Parallel Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><tbody><tr><td align="left"><code class="filename">parallel/algorithm</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section" title="Mixing Headers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.mixing"></a>Mixing Headers</h3></div></div></div><p> A few simple rules.
15994 </p><p>First, mixing different dialects of the standard headers is not
15995 possible. It's an all-or-nothing affair. Thus, code like
15996 </p><pre class="programlisting">
15997@@ -54,7 +54,7 @@
15998 #include &lt;tr1/type_traits&gt;
15999 #include &lt;type_traits&gt;
16000 </pre><p> Several parts of C++11 diverge quite substantially from TR1 predecessors.
16001-</p></div><div class="section" title="The C Headers and namespace std"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.cheaders"/>The C Headers and <code class="code">namespace std</code></h3></div></div></div><p>
16002+</p></div><div class="section" title="The C Headers and namespace std"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.cheaders"></a>The C Headers and <code class="code">namespace std</code></h3></div></div></div><p>
16003 The standard specifies that if one includes the C-style header
16004 (&lt;math.h&gt; in this case), the symbols will be available
16005 in the global namespace and perhaps in
16006@@ -73,10 +73,10 @@
16007 used uniformly, instead of a combination
16008 of <code class="code">std::sinf</code>, <code class="code">std::sin</code>,
16009 and <code class="code">std::sinl</code>.
16010-</p></div><div class="section" title="Precompiled Headers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.pre"/>Precompiled Headers</h3></div></div></div><p>There are three base header files that are provided. They can be
16011+</p></div><div class="section" title="Precompiled Headers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.pre"></a>Precompiled Headers</h3></div></div></div><p>There are three base header files that are provided. They can be
16012 used to precompile the standard headers and extensions into binary
16013 files that may the be used to speed compiles that use these headers.
16014-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>stdc++.h</p><p>Includes all standard headers. Actual content varies depending on
16015+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>stdc++.h</p><p>Includes all standard headers. Actual content varies depending on
16016 language dialect.
16017 </p></li><li class="listitem"><p>stdtr1c++.h</p><p>Includes all of &lt;stdc++.h&gt;, and adds all the TR1 headers.
16018 </p></li><li class="listitem"><p>extc++.h</p><p>Includes all of &lt;stdtr1c++.h&gt;, and adds all the Extension headers.
16019@@ -99,5 +99,5 @@
16020 ! ./stdc++.h.gch
16021 . /mnt/share/bld/H-x86-gcc.20071201/include/c++/4.3.0/iostream
16022 . /mnt/share/bld/H-x86-gcc.20071201include/c++/4.3.0/string
16023-</pre><p>The exclamation point to the left of the <code class="code">stdc++.h.gch</code> listing means that the generated PCH file was used, and thus the </p><p/><p> Detailed information about creating precompiled header files can be found in the GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html">documentation</a>.
16024-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="using_macros.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 3. Using </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Macros</td></tr></table></div></body></html>
16025+</pre><p>The exclamation point to the left of the <code class="code">stdc++.h.gch</code> listing means that the generated PCH file was used, and thus the </p><p></p><p> Detailed information about creating precompiled header files can be found in the GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html" target="_top">documentation</a>.
16026+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_macros.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 3. Using </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Macros</td></tr></table></div></body></html>
16027Index: libstdc++-v3/doc/html/manual/using_namespaces.html
16028===================================================================
9f95000d
AM
16029--- libstdc++-v3/doc/html/manual/using_namespaces.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16030+++ libstdc++-v3/doc/html/manual/using_namespaces.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16031@@ -1,7 +1,7 @@
16032 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16033-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16034-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Namespaces</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using_macros.html" title="Macros"/><link rel="next" href="using_dynamic_or_shared.html" title="Linking"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Namespaces</th></tr><tr><td align="left"><a accesskey="p" href="using_macros.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="using_dynamic_or_shared.html">Next</a></td></tr></table><hr/></div><div class="section" title="Namespaces"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.namespaces"/>Namespaces</h2></div></div></div><div class="section" title="Available Namespaces"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.all"/>Available Namespaces</h3></div></div></div><p> There are three main namespaces.
16035-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>std</p><p>The ISO C++ standards specify that "all library entities are defined
16036+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16037+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Namespaces</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_macros.html" title="Macros" /><link rel="next" href="using_dynamic_or_shared.html" title="Linking" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Namespaces</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_macros.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_dynamic_or_shared.html">Next</a></td></tr></table><hr /></div><div class="section" title="Namespaces"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.namespaces"></a>Namespaces</h2></div></div></div><div class="section" title="Available Namespaces"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.all"></a>Available Namespaces</h3></div></div></div><p> There are three main namespaces.
16038+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>std</p><p>The ISO C++ standards specify that "all library entities are defined
16039 within namespace std." This includes namespaces nested
16040 within <code class="code">namespace std</code>, such as <code class="code">namespace
16041 std::tr1</code>.
16042@@ -11,12 +11,12 @@
16043 </p></li><li class="listitem"><p>__gnu_</p><p>Indicating one of several GNU extensions. Choices
16044 include <code class="code">__gnu_cxx</code>, <code class="code">__gnu_debug</code>, <code class="code">__gnu_parallel</code>,
16045 and <code class="code">__gnu_pbds</code>.
16046-</p></li></ul></div><p> A complete list of implementation namespaces (including namespace contents) is available in the generated source <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html">documentation</a>.
16047-</p></div><div class="section" title="namespace std"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.std"/>namespace std</h3></div></div></div><p>
16048+</p></li></ul></div><p> A complete list of implementation namespaces (including namespace contents) is available in the generated source <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html" target="_top">documentation</a>.
16049+</p></div><div class="section" title="namespace std"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.std"></a>namespace std</h3></div></div></div><p>
16050 One standard requirement is that the library components are defined
16051 in <code class="code">namespace std::</code>. Thus, in order to use these types or
16052 functions, one must do one of two things:
16053-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>put a kind of <span class="emphasis"><em>using-declaration</em></span> in your source
16054+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>put a kind of <span class="emphasis"><em>using-declaration</em></span> in your source
16055 (either <code class="code">using namespace std;</code> or i.e. <code class="code">using
16056 std::string;</code>) This approach works well for individual source files, but
16057 should not be used in a global context, like header files.
16058@@ -25,7 +25,7 @@
16059 (i.e. <code class="code">std::string</code>, <code class="code">std::cout</code>) Always can be
16060 used, and usually enhanced, by strategic use of typedefs. (In the
16061 cases where the qualified verbiage becomes unwieldy.)
16062- </p></li></ul></div></div><div class="section" title="Using Namespace Composition"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.comp"/>Using Namespace Composition</h3></div></div></div><p>
16063+ </p></li></ul></div></div><div class="section" title="Using Namespace Composition"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.comp"></a>Using Namespace Composition</h3></div></div></div><p>
16064 Best practice in programming suggests sequestering new data or
16065 functionality in a sanely-named, unique namespace whenever
16066 possible. This is considered an advantage over dumping everything in
16067@@ -58,4 +58,4 @@
16068 std::string;</code> (depending on whether the system has
16069 libstdc++ in <code class="code">std::</code> or not). (ideas from
16070 Llewelly and Karl Nelson)
16071-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using_macros.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="using_dynamic_or_shared.html">Next</a></td></tr><tr><td align="left" valign="top">Macros </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Linking</td></tr></table></div></body></html>
16072+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_macros.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_dynamic_or_shared.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Macros </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Linking</td></tr></table></div></body></html>
16073Index: libstdc++-v3/doc/html/manual/debug.html
16074===================================================================
9f95000d
AM
16075--- libstdc++-v3/doc/html/manual/debug.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16076+++ libstdc++-v3/doc/html/manual/debug.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16077@@ -1,10 +1,10 @@
16078 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16079-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16080-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Debugging Support</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; debug&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using_exceptions.html" title="Exceptions"/><link rel="next" href="bk01pt02.html" title="Part II.  Standard Contents"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Debugging Support</th></tr><tr><td align="left"><a accesskey="p" href="using_exceptions.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="bk01pt02.html">Next</a></td></tr></table><hr/></div><div class="section" title="Debugging Support"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.debug"/>Debugging Support</h2></div></div></div><p>
16081+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16082+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Debugging Support</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; debug&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_exceptions.html" title="Exceptions" /><link rel="next" href="bk01pt02.html" title="Part II.  Standard Contents" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Debugging Support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_exceptions.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt02.html">Next</a></td></tr></table><hr /></div><div class="section" title="Debugging Support"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.debug"></a>Debugging Support</h2></div></div></div><p>
16083 There are numerous things that can be done to improve the ease with
16084 which C++ binaries are debugged when using the GNU tool chain. Here
16085 are some of them.
16086-</p><div class="section" title="Using g++"><div class="titlepage"><div><div><h3 class="title"><a id="debug.compiler"/>Using <span class="command"><strong>g++</strong></span></h3></div></div></div><p>
16087+</p><div class="section" title="Using g++"><div class="titlepage"><div><div><h3 class="title"><a id="debug.compiler"></a>Using <span class="command"><strong>g++</strong></span></h3></div></div></div><p>
16088 Compiler flags determine how debug information is transmitted
16089 between compilation and debug or analysis tools.
16090 </p><p>
16091@@ -28,10 +28,10 @@
16092 platform can be identified via the value set by the
16093 PREFERRED_DEBUGGING_TYPE macro in the gcc sources.
16094 </p><p>
16095- Many other options are available: please see <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options">"Options
16096+ Many other options are available: please see <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options" target="_top">"Options
16097 for Debugging Your Program"</a> in Using the GNU Compiler
16098 Collection (GCC) for a complete list.
16099-</p></div><div class="section" title="Debug Versions of Library Binary Files"><div class="titlepage"><div><div><h3 class="title"><a id="debug.req"/>Debug Versions of Library Binary Files</h3></div></div></div><p>
16100+</p></div><div class="section" title="Debug Versions of Library Binary Files"><div class="titlepage"><div><div><h3 class="title"><a id="debug.req"></a>Debug Versions of Library Binary Files</h3></div></div></div><p>
16101 If you would like debug symbols in libstdc++, there are two ways to
16102 build libstdc++ with debug flags. The first is to run make from the
16103 toplevel in a freshly-configured tree with
16104@@ -52,7 +52,7 @@
16105 </pre><p>
16106 This quick and dirty approach is often sufficient for quick
16107 debugging tasks, when you cannot or don't want to recompile your
16108- application to use the <a class="link" href="debug_mode.html" title="Chapter 17. Debug Mode">debug mode</a>.</p></div><div class="section" title="Memory Leak Hunting"><div class="titlepage"><div><div><h3 class="title"><a id="debug.memory"/>Memory Leak Hunting</h3></div></div></div><p>
16109+ application to use the <a class="link" href="debug_mode.html" title="Chapter 17. Debug Mode">debug mode</a>.</p></div><div class="section" title="Memory Leak Hunting"><div class="titlepage"><div><div><h3 class="title"><a id="debug.memory"></a>Memory Leak Hunting</h3></div></div></div><p>
16110 There are various third party memory tracing and debug utilities
16111 that can be used to provide detailed memory allocation information
16112 about C++ code. An exhaustive list of tools is not going to be
16113@@ -121,7 +121,7 @@
16114 up the runtime environment, library, and test file, might be:
16115 </p><pre class="programlisting">
16116 valgrind -v --num-callers=20 --leak-check=yes --leak-resolution=high --show-reachable=yes a.out
16117-</pre></div><div class="section" title="Data Race Hunting"><div class="titlepage"><div><div><h3 class="title"><a id="debug.races"/>Data Race Hunting</h3></div></div></div><p>
16118+</pre></div><div class="section" title="Data Race Hunting"><div class="titlepage"><div><div><h3 class="title"><a id="debug.races"></a>Data Race Hunting</h3></div></div></div><p>
16119 All synchronization primitives used in the library internals need to be
16120 understood by race detectors so that they do not produce false reports.
16121 </p><p>
16122@@ -157,11 +157,11 @@
16123 </p><p>
16124 The approach described above is known to work with the following race
16125 detection tools:
16126- <a class="link" href="http://valgrind.org/docs/manual/drd-manual.html">
16127+ <a class="link" href="http://valgrind.org/docs/manual/drd-manual.html" target="_top">
16128 DRD</a>,
16129- <a class="link" href="http://valgrind.org/docs/manual/hg-manual.html">
16130+ <a class="link" href="http://valgrind.org/docs/manual/hg-manual.html" target="_top">
16131 Helgrind</a>, and
16132- <a class="link" href="http://code.google.com/p/data-race-test">
16133+ <a class="link" href="http://code.google.com/p/data-race-test" target="_top">
16134 ThreadSanitizer</a>.
16135 </p><p>
16136 With DRD, Helgrind and ThreadSanitizer you will need to define
16137@@ -171,9 +171,9 @@
16138 #define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) ANNOTATE_HAPPENS_AFTER(A)
16139 </pre><p>
16140 Refer to the documentation of each particular tool for details.
16141-</p></div><div class="section" title="Using gdb"><div class="titlepage"><div><div><h3 class="title"><a id="debug.gdb"/>Using <span class="command"><strong>gdb</strong></span></h3></div></div></div><p>
16142+</p></div><div class="section" title="Using gdb"><div class="titlepage"><div><div><h3 class="title"><a id="debug.gdb"></a>Using <span class="command"><strong>gdb</strong></span></h3></div></div></div><p>
16143 </p><p>
16144- Many options are available for GDB itself: please see <a class="link" href="http://sources.redhat.com/gdb/current/onlinedocs/gdb/">
16145+ Many options are available for GDB itself: please see <a class="link" href="http://sources.redhat.com/gdb/current/onlinedocs/gdb/" target="_top">
16146 "GDB features for C++" </a> in the GDB documentation. Also
16147 recommended: the other parts of this manual.
16148 </p><p>
16149@@ -217,25 +217,25 @@
16150 pretty-printers were not loaded.
16151 </p><p>
16152 For additional information on STL support and GDB please visit:
16153- <a class="link" href="http://sourceware.org/gdb/wiki/STLSupport"> "GDB Support
16154+ <a class="link" href="http://sourceware.org/gdb/wiki/STLSupport" target="_top"> "GDB Support
16155 for STL" </a> in the GDB wiki. Additionally, in-depth
16156 documentation and discussion of the pretty printing feature can be
16157 found in "Pretty Printing" node in the GDB manual. You can find
16158 on-line versions of the GDB user manual in GDB's homepage, at
16159- <a class="link" href="http://sourceware.org/gdb/"> "GDB: The GNU Project
16160+ <a class="link" href="http://sourceware.org/gdb/" target="_top"> "GDB: The GNU Project
16161 Debugger" </a>.
16162-</p></div><div class="section" title="Tracking uncaught exceptions"><div class="titlepage"><div><div><h3 class="title"><a id="debug.exceptions"/>Tracking uncaught exceptions</h3></div></div></div><p>
16163+</p></div><div class="section" title="Tracking uncaught exceptions"><div class="titlepage"><div><div><h3 class="title"><a id="debug.exceptions"></a>Tracking uncaught exceptions</h3></div></div></div><p>
16164 The <a class="link" href="termination.html#support.termination.verbose" title="Verbose Terminate Handler">verbose
16165 termination handler</a> gives information about uncaught
16166 exceptions which are killing the program. It is described in the
16167 linked-to page.
16168-</p></div><div class="section" title="Debug Mode"><div class="titlepage"><div><div><h3 class="title"><a id="debug.debug_mode"/>Debug Mode</h3></div></div></div><p> The <a class="link" href="debug_mode.html" title="Chapter 17. Debug Mode">Debug Mode</a>
16169+</p></div><div class="section" title="Debug Mode"><div class="titlepage"><div><div><h3 class="title"><a id="debug.debug_mode"></a>Debug Mode</h3></div></div></div><p> The <a class="link" href="debug_mode.html" title="Chapter 17. Debug Mode">Debug Mode</a>
16170 has compile and run-time checks for many containers.
16171- </p></div><div class="section" title="Compile Time Checking"><div class="titlepage"><div><div><h3 class="title"><a id="debug.compile_time_checks"/>Compile Time Checking</h3></div></div></div><p> The <a class="link" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks">Compile-Time
16172+ </p></div><div class="section" title="Compile Time Checking"><div class="titlepage"><div><div><h3 class="title"><a id="debug.compile_time_checks"></a>Compile Time Checking</h3></div></div></div><p> The <a class="link" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks">Compile-Time
16173 Checks</a> Extension has compile-time checks for many algorithms.
16174- </p></div><div class="section" title="Profile-based Performance Analysis"><div class="titlepage"><div><div><h3 class="title"><a id="debug.profile_mode"/>Profile-based Performance Analysis</h3></div></div></div><p> The <a class="link" href="profile_mode.html" title="Chapter 19. Profile Mode">Profile-based
16175+ </p></div><div class="section" title="Profile-based Performance Analysis"><div class="titlepage"><div><div><h3 class="title"><a id="debug.profile_mode"></a>Profile-based Performance Analysis</h3></div></div></div><p> The <a class="link" href="profile_mode.html" title="Chapter 19. Profile Mode">Profile-based
16176 Performance Analysis</a> Extension has performance checks for many
16177 algorithms.
16178- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using_exceptions.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt02.html">Next</a></td></tr><tr><td align="left" valign="top">Exceptions </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Part II. 
16179+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_exceptions.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Exceptions </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Part II. 
16180 Standard Contents
16181 </td></tr></table></div></body></html>
16182Index: libstdc++-v3/doc/html/manual/localization.html
16183===================================================================
9f95000d
AM
16184--- libstdc++-v3/doc/html/manual/localization.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16185+++ libstdc++-v3/doc/html/manual/localization.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16186@@ -1,18 +1,18 @@
16187 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16188-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16189-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 8.  Localization</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="strings.html" title="Chapter 7.  Strings"/><link rel="next" href="facets.html" title="Facets"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. 
16190+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16191+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 8.  Localization</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="strings.html" title="Chapter 7.  Strings" /><link rel="next" href="facets.html" title="Facets" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. 
16192 Localization
16193
16194-</th></tr><tr><td align="left"><a accesskey="p" href="strings.html">Prev</a> </td><th width="60%" align="center">Part II. 
16195+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="strings.html">Prev</a> </td><th width="60%" align="center">Part II. 
16196 Standard Contents
16197- </th><td align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 8.  Localization"><div class="titlepage"><div><div><h2 class="title"><a id="std.localization"/>Chapter 8. 
16198+ </th><td width="20%" align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 8.  Localization"><div class="titlepage"><div><div><h2 class="title"><a id="std.localization"></a>Chapter 8. 
16199 Localization
16200- <a id="id500383" class="indexterm"/>
16201-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#id501036">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></div><div class="section" title="Locales"><div class="titlepage"><div><div><h2 class="title"><a id="std.localization.locales"/>Locales</h2></div></div></div><div class="section" title="locale"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.locales.locale"/>locale</h3></div></div></div><p>
16202+ <a id="id678869" class="indexterm"></a>
16203+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#id679521">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></div><div class="section" title="Locales"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.locales"></a>Locales</h2></div></div></div><div class="section" title="locale"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.locales.locale"></a>locale</h3></div></div></div><p>
16204 Describes the basic locale object, including nested
16205 classes id, facet, and the reference-counted implementation object,
16206 class _Impl.
16207-</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.req"/>Requirements</h4></div></div></div><p>
16208+</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.req"></a>Requirements</h4></div></div></div><p>
16209 Class locale is non-templatized and has two distinct types nested
16210 inside of it:
16211 </p><div class="blockquote"><blockquote class="blockquote"><p>
16212@@ -26,7 +26,7 @@
16213 thousands separator in the locale.
16214 </p><p>
16215 Literally, a facet is strictly defined:
16216-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
16217+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
16218 Containing the following public data member:
16219 </p><p>
16220 <code class="code">static locale::id id;</code>
16221@@ -48,14 +48,14 @@
16222 </em></span>
16223 </p></blockquote></div><p>
16224 Provides an index for looking up specific facets.
16225-</p></div><div class="section" title="Design"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.design"/>Design</h4></div></div></div><p>
16226+</p></div><div class="section" title="Design"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.design"></a>Design</h4></div></div></div><p>
16227 The major design challenge is fitting an object-orientated and
16228 non-global locale design on top of POSIX and other relevant standards,
16229 which include the Single Unix (nee X/Open.)
16230 </p><p>
16231 Because C and earlier versions of POSIX fall down so completely,
16232 portability is an issue.
16233-</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.impl"/>Implementation</h4></div></div></div><div class="section" title="Interacting with &quot;C&quot; locales"><div class="titlepage"><div><div><h5 class="title"><a id="locale.impl.c"/>Interacting with "C" locales</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
16234+</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.impl"></a>Implementation</h4></div></div></div><div class="section" title="Interacting with &quot;C&quot; locales"><div class="titlepage"><div><div><h5 class="title"><a id="locale.impl.c"></a>Interacting with "C" locales</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
16235 <code class="code">`locale -a`</code> displays available locales.
16236 </p><div class="blockquote"><blockquote class="blockquote"><pre class="programlisting">
16237 af_ZA
16238@@ -385,7 +385,7 @@
16239 particular on the working of locale(""), which constructs the locale
16240 object from the environment of the running program, that is, in
16241 practice, the set of LC_ALL, LANG, etc. variable of the shell.
16242-</p></div></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.future"/>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
16243+</p></div></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.future"></a>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
16244 Locale initialization: at what point does _S_classic, _S_global
16245 get initialized? Can named locales assume this initialization
16246 has already taken place?
16247@@ -403,35 +403,35 @@
16248 What should non-required facet instantiations do? If the
16249 generic implementation is provided, then how to end-users
16250 provide specializations?
16251- </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.biblio"/>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id500746"/><p><span class="citetitle"><em class="citetitle">
16252+ </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id679232"></a><p><span class="citetitle"><em class="citetitle">
16253 The GNU C Library
16254 </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">
16255 Chapters 6 Character Set Handling and 7 Locales and
16256 Internationalization
16257- . </span></p></div><div class="biblioentry"><a id="id500786"/><p><span class="citetitle"><em class="citetitle">
16258+ . </span></p></div><div class="biblioentry"><a id="id679272"></a><p><span class="citetitle"><em class="citetitle">
16259 Correspondence
16260- </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="id500811"/><p><span class="citetitle"><em class="citetitle">
16261+ </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="id679298"></a><p><span class="citetitle"><em class="citetitle">
16262 ISO/IEC 14882:1998 Programming languages - C++
16263- </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id500830"/><p><span class="citetitle"><em class="citetitle">
16264+ </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id679317"></a><p><span class="citetitle"><em class="citetitle">
16265 ISO/IEC 9899:1999 Programming languages - C
16266- </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="id500849"/><p><span class="title"><em>
16267- <a class="link" href="http://www.opengroup.org/austin/">
16268+ </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="id679336"></a><p><span class="title"><em>
16269+ <a class="link" href="http://www.opengroup.org/austin/" target="_top">
16270 System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
16271 </a>
16272 </em>. </span><span class="copyright">Copyright © 2008
16273 The Open Group/The Institute of Electrical and Electronics
16274 Engineers, Inc.
16275- . </span></p></div><div class="biblioentry"><a id="id500876"/><p><span class="citetitle"><em class="citetitle">
16276+ . </span></p></div><div class="biblioentry"><a id="id679362"></a><p><span class="citetitle"><em class="citetitle">
16277 The C++ Programming Language, Special Edition
16278 </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
16279 Addison Wesley
16280- . </span></span></p></div><div class="biblioentry"><a id="id500915"/><p><span class="citetitle"><em class="citetitle">
16281+ . </span></span></p></div><div class="biblioentry"><a id="id679401"></a><p><span class="citetitle"><em class="citetitle">
16282 Standard C++ IOStreams and Locales
16283 </em>. </span><span class="subtitle">
16284 Advanced Programmer's Guide and Reference
16285 . </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
16286 Addison Wesley Longman
16287- . </span></span></p></div></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="strings.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 7. 
16288+ . </span></span></p></div></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="strings.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 7. 
16289 Strings
16290
16291- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Facets</td></tr></table></div></body></html>
16292+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Facets</td></tr></table></div></body></html>
16293Index: libstdc++-v3/doc/html/manual/ext_algorithms.html
16294===================================================================
9f95000d
AM
16295--- libstdc++-v3/doc/html/manual/ext_algorithms.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16296+++ libstdc++-v3/doc/html/manual/ext_algorithms.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16297@@ -1,9 +1,9 @@
16298 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16299-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16300-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 25. Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_utilities.html" title="Chapter 24. Utilities"/><link rel="next" href="ext_numerics.html" title="Chapter 26. Numerics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 25. Algorithms</th></tr><tr><td align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><th width="60%" align="center">Part III. 
16301+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16302+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 25. Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_utilities.html" title="Chapter 24. Utilities" /><link rel="next" href="ext_numerics.html" title="Chapter 26. Numerics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 25. Algorithms</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><th width="60%" align="center">Part III. 
16303 Extensions
16304
16305-</th><td align="right"> <a accesskey="n" href="ext_numerics.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 25. Algorithms"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.algorithms"/>Chapter 25. Algorithms</h2></div></div></div><p>25.1.6 (count, count_if) is extended with two more versions of count
16306+</th><td width="20%" align="right"> <a accesskey="n" href="ext_numerics.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 25. Algorithms"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.algorithms"></a>Chapter 25. Algorithms</h2></div></div></div><p>25.1.6 (count, count_if) is extended with two more versions of count
16307 and count_if. The standard versions return their results. The
16308 additional signatures return void, but take a final parameter by
16309 reference to which they assign their results, e.g.,
16310@@ -15,9 +15,9 @@
16311 copy_n (_InputIter first, _Size count, _OutputIter result);</pre><p>which copies the first 'count' elements at 'first' into 'result'.
16312 </p><p>25.3 (sorting 'n' heaps 'n' stuff) is extended with some helper
16313 predicates. Look in the doxygen-generated pages for notes on these.
16314-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">is_heap</code> tests whether or not a range is a heap.</p></li><li class="listitem"><p><code class="code">is_sorted</code> tests whether or not a range is sorted in
16315+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">is_heap</code> tests whether or not a range is a heap.</p></li><li class="listitem"><p><code class="code">is_sorted</code> tests whether or not a range is sorted in
16316 nondescending order.</p></li></ul></div><p>25.3.8 (lexicographical_compare) is extended with
16317 </p><pre class="programlisting">
16318 lexicographical_compare_3way(_InputIter1 first1, _InputIter1 last1,
16319 _InputIter2 first2, _InputIter2 last2)</pre><p>which does... what?
16320-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_numerics.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 24. Utilities </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 26. Numerics</td></tr></table></div></body></html>
16321+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_numerics.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 24. Utilities </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 26. Numerics</td></tr></table></div></body></html>
16322Index: libstdc++-v3/doc/html/manual/debug_mode.html
16323===================================================================
9f95000d
AM
16324--- libstdc++-v3/doc/html/manual/debug_mode.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16325+++ libstdc++-v3/doc/html/manual/debug_mode.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16326@@ -1,10 +1,10 @@
16327 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16328-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16329-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 17. Debug Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; debug&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks"/><link rel="next" href="bk01pt03ch17s02.html" title="Semantics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 17. Debug Mode</th></tr><tr><td align="left"><a accesskey="p" href="ext_compile_checks.html">Prev</a> </td><th width="60%" align="center">Part III. 
16330+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16331+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 17. Debug Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; debug&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks" /><link rel="next" href="bk01pt03ch17s02.html" title="Semantics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 17. Debug Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_compile_checks.html">Prev</a> </td><th width="60%" align="center">Part III. 
16332 Extensions
16333
16334-</th><td align="right"> <a accesskey="n" href="bk01pt03ch17s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 17. Debug Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode"/>Chapter 17. Debug Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
16335- debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.alt">Alternatives for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></div><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode.intro"/>Intro</h2></div></div></div><p>
16336+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch17s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 17. Debug Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode"></a>Chapter 17. Debug Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
16337+ debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.alt">Alternatives for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></div><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.intro"></a>Intro</h2></div></div></div><p>
16338 By default, libstdc++ is built with efficiency in mind, and
16339 therefore performs little or no error checking that is not
16340 required by the C++ standard. This means that programs that
16341@@ -21,7 +21,7 @@
16342 The libstdc++ debug mode performs checking for many areas of the
16343 C++ standard, but the focus is on checking interactions among
16344 standard iterators, containers, and algorithms, including:
16345- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Safe iterators</em></span>: Iterators keep track of the
16346+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Safe iterators</em></span>: Iterators keep track of the
16347 container whose elements they reference, so errors such as
16348 incrementing a past-the-end iterator or dereferencing an iterator
16349 that points to a container that has been destructed are diagnosed
16350@@ -35,4 +35,4 @@
16351 the same predicate that was passed
16352 to <code class="code">set_intersection</code>; the libstdc++ debug mode will
16353 detect an error if the sequence is not sorted or was sorted by a
16354- different predicate.</p></li></ul></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_compile_checks.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch17s02.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 16. Compile Time Checks </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Semantics</td></tr></table></div></body></html>
16355+ different predicate.</p></li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_compile_checks.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch17s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 16. Compile Time Checks </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Semantics</td></tr></table></div></body></html>
16356Index: libstdc++-v3/doc/html/manual/using_concurrency.html
16357===================================================================
9f95000d
AM
16358--- libstdc++-v3/doc/html/manual/using_concurrency.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16359+++ libstdc++-v3/doc/html/manual/using_concurrency.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16360@@ -1,10 +1,10 @@
16361 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16362-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16363-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using_dynamic_or_shared.html" title="Linking"/><link rel="next" href="using_exceptions.html" title="Exceptions"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concurrency</th></tr><tr><td align="left"><a accesskey="p" href="using_dynamic_or_shared.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="using_exceptions.html">Next</a></td></tr></table><hr/></div><div class="section" title="Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.concurrency"/>Concurrency</h2></div></div></div><p>This section discusses issues surrounding the proper compilation
16364+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16365+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_dynamic_or_shared.html" title="Linking" /><link rel="next" href="using_exceptions.html" title="Exceptions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concurrency</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_dynamic_or_shared.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_exceptions.html">Next</a></td></tr></table><hr /></div><div class="section" title="Concurrency"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.concurrency"></a>Concurrency</h2></div></div></div><p>This section discusses issues surrounding the proper compilation
16366 of multithreaded applications which use the Standard C++
16367 library. This information is GCC-specific since the C++
16368 standard does not address matters of multithreaded applications.
16369- </p><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.prereq"/>Prerequisites</h3></div></div></div><p>All normal disclaimers aside, multithreaded C++ application are
16370+ </p><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.prereq"></a>Prerequisites</h3></div></div></div><p>All normal disclaimers aside, multithreaded C++ application are
16371 only supported when libstdc++ and all user code was built with
16372 compilers which report (via <code class="code"> gcc/g++ -v </code>) the same thread
16373 model and that model is not <span class="emphasis"><em>single</em></span>. As long as your
16374@@ -33,7 +33,7 @@
16375 -pthread is honored. Some other ports use other switches.
16376 AFAIK, none of this is properly documented anywhere other than
16377 in ``gcc -dumpspecs'' (look at lib and cpp entries).
16378- </p></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.thread_safety"/>Thread Safety</h3></div></div></div><p>
16379+ </p></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.thread_safety"></a>Thread Safety</h3></div></div></div><p>
16380 In the terms of the 2011 C++ standard a thread-safe program is one which
16381 does not perform any conflicting non-atomic operations on memory locations
16382 and so does not contain any data races.
16383@@ -41,11 +41,11 @@
16384 races are caused by the library itself or by programs which use the
16385 library correctly (as described below).
16386 The C++11 memory model and library requirements are a more formal version
16387-of the <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html">SGI STL</a> definition of thread safety, which the library used
16388+of the <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html" target="_top">SGI STL</a> definition of thread safety, which the library used
16389 prior to the 2011 standard.
16390 </p><p>The library strives to be thread-safe when all of the following
16391 conditions are met:
16392- </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>The system's libc is itself thread-safe,
16393+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>The system's libc is itself thread-safe,
16394 </p></li><li class="listitem"><p>
16395 The compiler in use reports a thread model other than
16396 'single'. This can be tested via output from <code class="code">gcc
16397@@ -61,7 +61,7 @@
16398 Requisite command-line flags are used for atomic operations
16399 and threading. Examples of this include <code class="code">-pthread</code>
16400 and <code class="code">-march=native</code>, although specifics vary
16401- depending on the host environment. See <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html">Machine
16402+ depending on the host environment. See <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html" target="_top">Machine
16403 Dependent Options</a>.
16404 </p></li><li class="listitem"><p>
16405 An implementation of atomicity.h functions
16406@@ -153,12 +153,12 @@
16407 t2.join();
16408 }
16409 </pre><p>For further details of the C++11 memory model see Hans-J. Boehm's
16410- <a class="link" href="http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/user-faq.html">Threads
16411- and memory model for C++</a> pages, particularly the <a class="link" href="http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/threadsintro.html">introduction</a>
16412- and <a class="link" href="http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/user-faq.html">FAQ</a>.
16413- </p></div><div class="section" title="Atomics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.atomics"/>Atomics</h3></div></div></div><p>
16414- </p></div><div class="section" title="IO"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.io"/>IO</h3></div></div></div><p>This gets a bit tricky. Please read carefully, and bear with me.
16415- </p><div class="section" title="Structure"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.structure"/>Structure</h4></div></div></div><p>A wrapper
16416+ <a class="link" href="http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/user-faq.html" target="_top">Threads
16417+ and memory model for C++</a> pages, particularly the <a class="link" href="http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/threadsintro.html" target="_top">introduction</a>
16418+ and <a class="link" href="http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/user-faq.html" target="_top">FAQ</a>.
16419+ </p></div><div class="section" title="Atomics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.atomics"></a>Atomics</h3></div></div></div><p>
16420+ </p></div><div class="section" title="IO"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.io"></a>IO</h3></div></div></div><p>This gets a bit tricky. Please read carefully, and bear with me.
16421+ </p><div class="section" title="Structure"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.structure"></a>Structure</h4></div></div></div><p>A wrapper
16422 type called <code class="code">__basic_file</code> provides our abstraction layer
16423 for the <code class="code">std::filebuf</code> classes. Nearly all decisions dealing
16424 with actual input and output must be made in <code class="code">__basic_file</code>.
16425@@ -166,7 +166,7 @@
16426 but is not used in the current code. Providing locking at any higher
16427 level is akin to providing locking within containers, and is not done
16428 for the same reasons (see the links above).
16429- </p></div><div class="section" title="Defaults"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.defaults"/>Defaults</h4></div></div></div><p>The __basic_file type is simply a collection of small wrappers around
16430+ </p></div><div class="section" title="Defaults"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.defaults"></a>Defaults</h4></div></div></div><p>The __basic_file type is simply a collection of small wrappers around
16431 the C stdio layer (again, see the link under Structure). We do no
16432 locking ourselves, but simply pass through to calls to <code class="code">fopen</code>,
16433 <code class="code">fwrite</code>, and so forth.
16434@@ -188,7 +188,7 @@
16435 contained in the stream formatting classes (e.g., setting up callbacks
16436 inside an <code class="code">std::ofstream</code>), you need to guard such accesses
16437 like any other critical shared resource.
16438- </p></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.future"/>Future</h4></div></div></div><p> A
16439+ </p></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.future"></a>Future</h4></div></div></div><p> A
16440 second choice may be available for I/O implementations: libio. This is
16441 disabled by default, and in fact will not currently work due to other
16442 issues. It will be revisited, however.
16443@@ -213,10 +213,10 @@
16444 version will see calls from libstdc++ directly into the glibc already
16445 installed. For other platforms, a copy of the libio subsection will
16446 be built and included in libstdc++.
16447- </p></div><div class="section" title="Alternatives"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.alt"/>Alternatives</h4></div></div></div><p>Don't forget that other cstdio implementations are possible. You could
16448+ </p></div><div class="section" title="Alternatives"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.alt"></a>Alternatives</h4></div></div></div><p>Don't forget that other cstdio implementations are possible. You could
16449 easily write one to perform your own forms of locking, to solve your
16450 "interesting" problems.
16451- </p></div></div><div class="section" title="Containers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.containers"/>Containers</h3></div></div></div><p>This section discusses issues surrounding the design of
16452+ </p></div></div><div class="section" title="Containers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.containers"></a>Containers</h3></div></div></div><p>This section discusses issues surrounding the design of
16453 multithreaded applications which use Standard C++ containers.
16454 All information in this section is current as of the gcc 3.0
16455 release and all later point releases. Although earlier gcc
16456@@ -228,9 +228,9 @@
16457 threaded and non-threaded code), see Chapter 17.
16458 </p><p>Two excellent pages to read when working with the Standard C++
16459 containers and threads are
16460- <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html">SGI's
16461+ <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html" target="_top">SGI's
16462 http://www.sgi.com/tech/stl/thread_safety.html</a> and
16463- <a class="link" href="http://www.sgi.com/tech/stl/Allocators.html">SGI's
16464+ <a class="link" href="http://www.sgi.com/tech/stl/Allocators.html" target="_top">SGI's
16465 http://www.sgi.com/tech/stl/Allocators.html</a>.
16466 </p><p><span class="emphasis"><em>However, please ignore all discussions about the user-level
16467 configuration of the lock implementation inside the STL
16468@@ -269,4 +269,4 @@
16469 useful are details
16470 on <a class="link" href="memory.html#std.util.memory.allocator" title="Allocators">allocator</a>
16471 options and capabilities.
16472- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using_dynamic_or_shared.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="using_exceptions.html">Next</a></td></tr><tr><td align="left" valign="top">Linking </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Exceptions</td></tr></table></div></body></html>
16473+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_dynamic_or_shared.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_exceptions.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Linking </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Exceptions</td></tr></table></div></body></html>
16474Index: libstdc++-v3/doc/html/manual/bk01pt02.html
16475===================================================================
9f95000d
AM
16476--- libstdc++-v3/doc/html/manual/bk01pt02.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16477+++ libstdc++-v3/doc/html/manual/bk01pt02.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16478@@ -1,8 +1,8 @@
16479 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16480-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16481-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Part II.  Standard Contents</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="index.html" title="The GNU C++ Library Manual"/><link rel="prev" href="debug.html" title="Debugging Support"/><link rel="next" href="support.html" title="Chapter 4.  Support"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. 
16482+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16483+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part II.  Standard Contents</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="debug.html" title="Debugging Support" /><link rel="next" href="support.html" title="Chapter 4.  Support" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. 
16484 Standard Contents
16485- </th></tr><tr><td align="left"><a accesskey="p" href="debug.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td align="right"> <a accesskey="n" href="support.html">Next</a></td></tr></table><hr/></div><div class="part" title="Part II.  Standard Contents"><div class="titlepage"><div><div><h1 class="title"><a id="manual.std"/>Part II. 
16486+ </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" href="support.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part II.  Standard Contents"><div class="titlepage"><div><div><h1 class="title"><a id="manual.std"></a>Part II. 
16487 Standard Contents
16488 </h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="chapter"><a href="support.html">4.
16489 Support
16490@@ -13,13 +13,13 @@
16491 </a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></dd><dt><span class="chapter"><a href="utilities.html">6.
16492 Utilities
16493
16494-</a></span></dt><dd><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id485345">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#id485374">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#id485485">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id486484">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#id486672">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#id486733">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#id486854">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id499306">Examples</a></span></dt><dt><span class="section"><a href="memory.html#id499336">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="strings.html">7.
16495+</a></span></dt><dd><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id663833">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#id663862">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#id663973">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id664972">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#id665160">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#id665221">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#id665342">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id677792">Examples</a></span></dt><dt><span class="section"><a href="memory.html#id677822">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="strings.html">7.
16496 Strings
16497
16498 </a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="localization.html">8.
16499 Localization
16500
16501-</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#id501036">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="containers.html">9.
16502+</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#id679521">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="containers.html">9.
16503 Containers
16504
16505 </a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="iterators.html">10.
16506@@ -40,7 +40,7 @@
16507 </a></span></dt><dd><dl><dt><span class="section"><a href="atomics.html#std.atomics.api">API Reference</a></span></dt></dl></dd><dt><span class="chapter"><a href="concurrency.html">15.
16508 Concurrency
16509
16510-</a></span></dt><dd><dl><dt><span class="section"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="debug.html">Prev</a> </td><td align="center"><a accesskey="u" href="index.html">Up</a></td><td align="right"> <a accesskey="n" href="support.html">Next</a></td></tr><tr><td align="left" valign="top">Debugging Support </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 4. 
16511+</a></span></dt><dd><dl><dt><span class="section"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="debug.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="support.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Debugging Support </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 4. 
16512 Support
16513
16514 </td></tr></table></div></body></html>
16515Index: libstdc++-v3/doc/html/manual/appendix_gfdl.html
16516===================================================================
9f95000d
AM
16517--- libstdc++-v3/doc/html/manual/appendix_gfdl.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16518+++ libstdc++-v3/doc/html/manual/appendix_gfdl.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16519@@ -1,14 +1,14 @@
16520 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16521-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16522-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Appendix E. GNU Free Documentation License</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices"/><link rel="prev" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3"/><link rel="next" href="../bk02.html" title=""/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix E. GNU Free Documentation License</th></tr><tr><td align="left"><a accesskey="p" href="appendix_gpl.html">Prev</a> </td><th width="60%" align="center">Part IV. 
16523+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16524+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix E. GNU Free Documentation License</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices" /><link rel="prev" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3" /><link rel="next" href="../bk02.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix E. GNU Free Documentation License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_gpl.html">Prev</a> </td><th width="60%" align="center">Part IV. 
16525 Appendices
16526-</th><td align="right"> <a accesskey="n" href="../bk02.html">Next</a></td></tr></table><hr/></div><div class="appendix" title="Appendix E. GNU Free Documentation License"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.gfdl-1.3"/>GNU Free Documentation License</h1></div></div></div><p>Version 1.3, 3 November 2008</p><p>
16527+</th><td width="20%" align="right"> <a accesskey="n" href="../bk02.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix E. GNU Free Documentation License"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.gfdl-1.3"></a>GNU Free Documentation License</h1></div></div></div><p>Version 1.3, 3 November 2008</p><p>
16528 Copyright © 2000, 2001, 2002, 2007, 2008
16529- <a class="link" href="http://www.fsf.org/">Free Software Foundation, Inc.</a>
16530+ <a class="link" href="http://www.fsf.org/" target="_top">Free Software Foundation, Inc.</a>
16531 </p><p>
16532 Everyone is permitted to copy and distribute verbatim copies of this
16533 license document, but changing it is not allowed.
16534- </p><h3><a id="fdl-1-section0"/>
16535+ </p><h3><a id="fdl-1-section0"></a>
16536 0. PREAMBLE
16537 </h3><p>
16538 The purpose of this License is to make a manual, textbook, or other
16539@@ -31,7 +31,7 @@
16540 for any textual work, regardless of subject matter or whether it is
16541 published as a printed book. We recommend this License principally for
16542 works whose purpose is instruction or reference.
16543- </p><h3><a id="fdl-1-section1"/>
16544+ </p><h3><a id="fdl-1-section1"></a>
16545 1. APPLICABILITY AND DEFINITIONS
16546 </h3><p>
16547 This License applies to any manual or other work, in any medium, that
16548@@ -120,7 +120,7 @@
16549 but only as regards disclaiming warranties: any other implication that
16550 these Warranty Disclaimers may have is void and has no effect on the
16551 meaning of this License.
16552- </p><h3><a id="fdl-1-section2"/>
16553+ </p><h3><a id="fdl-1-section2"></a>
16554 2. VERBATIM COPYING
16555 </h3><p>
16556 You may copy and distribute the Document in any medium, either
16557@@ -135,7 +135,7 @@
16558 </p><p>
16559 You may also lend copies, under the same conditions stated above, and you
16560 may publicly display copies.
16561- </p><h3><a id="fdl-1-section3"/>
16562+ </p><h3><a id="fdl-1-section3"></a>
16563 3. COPYING IN QUANTITY
16564 </h3><p>
16565 If you publish printed copies (or copies in media that commonly have
16566@@ -169,7 +169,7 @@
16567 It is requested, but not required, that you contact the authors of the
16568 Document well before redistributing any large number of copies, to give
16569 them a chance to provide you with an updated version of the Document.
16570- </p><h3><a id="fdl-1-section4"/>
16571+ </p><h3><a id="fdl-1-section4"></a>
16572 4. MODIFICATIONS
16573 </h3><p>
16574 You may copy and distribute a Modified Version of the Document under the
16575@@ -178,7 +178,7 @@
16576 filling the role of the Document, thus licensing distribution and
16577 modification of the Modified Version to whoever possesses a copy of it. In
16578 addition, you must do these things in the Modified Version:
16579- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem">
16580+ </p><div class="orderedlist"><ol class="orderedlist" type="A"><li class="listitem">
16581 Use in the Title Page (and on the covers, if any) a title distinct
16582 from that of the Document, and from those of previous versions (which
16583 should, if there were any, be listed in the History section of the
16584@@ -269,7 +269,7 @@
16585 The author(s) and publisher(s) of the Document do not by this License give
16586 permission to use their names for publicity for or to assert or imply
16587 endorsement of any Modified Version.
16588- </p><h3><a id="fdl-1-section5"/>
16589+ </p><h3><a id="fdl-1-section5"></a>
16590 5. COMBINING DOCUMENTS
16591 </h3><p>
16592 You may combine the Document with other documents released under this
16593@@ -294,7 +294,7 @@
16594 Entitled “Acknowledgements”, and any sections Entitled
16595 “Dedications”. You must delete all sections Entitled
16596 “Endorsements”.
16597- </p><h3><a id="fdl-1-section6"/>
16598+ </p><h3><a id="fdl-1-section6"></a>
16599 6. COLLECTIONS OF DOCUMENTS
16600 </h3><p>
16601 You may make a collection consisting of the Document and other documents
16602@@ -307,7 +307,7 @@
16603 it individually under this License, provided you insert a copy of this
16604 License into the extracted document, and follow this License in all other
16605 respects regarding verbatim copying of that document.
16606- </p><h3><a id="fdl-1-section7"/>
16607+ </p><h3><a id="fdl-1-section7"></a>
16608 7. AGGREGATION WITH INDEPENDENT WORKS
16609 </h3><p>
16610 A compilation of the Document or its derivatives with other separate and
16611@@ -325,7 +325,7 @@
16612 bracket the Document within the aggregate, or the electronic equivalent of
16613 covers if the Document is in electronic form. Otherwise they must appear
16614 on printed covers that bracket the whole aggregate.
16615- </p><h3><a id="fdl-1-section8"/>
16616+ </p><h3><a id="fdl-1-section8"></a>
16617 8. TRANSLATION
16618 </h3><p>
16619 Translation is considered a kind of modification, so you may distribute
16620@@ -344,7 +344,7 @@
16621 “Dedications”, or “History”, the requirement
16622 (section 4) to Preserve its Title (section 1) will typically require
16623 changing the actual title.
16624- </p><h3><a id="fdl-1-section9"/>
16625+ </p><h3><a id="fdl-1-section9"></a>
16626 9. TERMINATION
16627 </h3><p>
16628 You may not copy, modify, sublicense, or distribute the Document except as
16629@@ -370,14 +370,14 @@
16630 License. If your rights have been terminated and not permanently
16631 reinstated, receipt of a copy of some or all of the same material does not
16632 give you any rights to use it.
16633- </p><h3><a id="fdl-1-section10"/>
16634+ </p><h3><a id="fdl-1-section10"></a>
16635 10. FUTURE REVISIONS OF THIS LICENSE
16636 </h3><p>
16637 The Free Software Foundation may publish new, revised versions of the GNU
16638 Free Documentation License from time to time. Such new versions will be
16639 similar in spirit to the present version, but may differ in detail to
16640 address new problems or concerns. See
16641- <a class="link" href="http://www.gnu.org/copyleft/">Copyleft</a>.
16642+ <a class="link" href="http://www.gnu.org/copyleft/" target="_top">Copyleft</a>.
16643 </p><p>
16644 Each version of the License is given a distinguishing version number. If
16645 the Document specifies that a particular numbered version of this License
16646@@ -390,7 +390,7 @@
16647 can decide which future versions of this License can be used, that
16648 proxy’s public statement of acceptance of a version permanently
16649 authorizes you to choose that version for the Document.
16650- </p><h3><a id="fdl-1-section11"/>
16651+ </p><h3><a id="fdl-1-section11"></a>
16652 11. RELICENSING
16653 </h3><p>
16654 “Massive Multiauthor Collaboration Site” (or “MMC
16655@@ -419,7 +419,7 @@
16656 The operator of an MMC Site may republish an MMC contained in the site
16657 under CC-BY-SA on the same site at any time before August 1, 2009,
16658 provided the MMC is eligible for relicensing.
16659- </p><h3><a id="fdl-1-addendum"/>
16660+ </p><h3><a id="fdl-1-addendum"></a>
16661 ADDENDUM: How to use this License for your documents
16662 </h3><p>
16663 To use this License in a document you have written, include a copy of the
16664@@ -444,6 +444,6 @@
16665 recommend releasing these examples in parallel under your choice of free
16666 software license, such as the GNU General Public License, to permit their
16667 use in free software.
16668- </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="appendix_gpl.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td align="right"> <a accesskey="n" href="../bk02.html">Next</a></td></tr><tr><td align="left" valign="top">Appendix D. 
16669+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="appendix_gpl.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="../bk02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix D. 
16670 <acronym class="acronym">GNU</acronym> General Public License version 3
16671-  </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> </td></tr></table></div></body></html>
16672+  </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
16673Index: libstdc++-v3/doc/html/manual/containers.html
16674===================================================================
9f95000d
AM
16675--- libstdc++-v3/doc/html/manual/containers.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16676+++ libstdc++-v3/doc/html/manual/containers.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16677@@ -1,17 +1,17 @@
16678 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16679-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16680-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 9.  Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="facets.html" title="Facets"/><link rel="next" href="associative.html" title="Associative"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 9. 
16681+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16682+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 9.  Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="facets.html" title="Facets" /><link rel="next" href="associative.html" title="Associative" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 9. 
16683 Containers
16684
16685-</th></tr><tr><td align="left"><a accesskey="p" href="facets.html">Prev</a> </td><th width="60%" align="center">Part II. 
16686+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="facets.html">Prev</a> </td><th width="60%" align="center">Part II. 
16687 Standard Contents
16688- </th><td align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 9.  Containers"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers"/>Chapter 9. 
16689+ </th><td width="20%" align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 9.  Containers"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers"></a>Chapter 9. 
16690 Containers
16691- <a id="id503211" class="indexterm"/>
16692-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></div><div class="section" title="Sequences"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers.sequences"/>Sequences</h2></div></div></div><div class="section" title="list"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.list"/>list</h3></div></div></div><div class="section" title="list::size() is O(n)"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.list.size"/>list::size() is O(n)</h4></div></div></div><p>
16693+ <a id="id681698" class="indexterm"></a>
16694+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></div><div class="section" title="Sequences"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.sequences"></a>Sequences</h2></div></div></div><div class="section" title="list"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.list"></a>list</h3></div></div></div><div class="section" title="list::size() is O(n)"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.list.size"></a>list::size() is O(n)</h4></div></div></div><p>
16695 Yes it is, and that's okay. This is a decision that we preserved
16696 when we imported SGI's STL implementation. The following is
16697- quoted from <a class="link" href="http://www.sgi.com/tech/stl/FAQ.html">their FAQ</a>:
16698+ quoted from <a class="link" href="http://www.sgi.com/tech/stl/FAQ.html" target="_top">their FAQ</a>:
16699 </p><div class="blockquote"><blockquote class="blockquote"><p>
16700 The size() member function, for list and slist, takes time
16701 proportional to the number of elements in the list. This was a
16702@@ -42,14 +42,14 @@
16703 </p><pre class="programlisting">
16704 if (L.empty())
16705 ...
16706- </pre></blockquote></div></div></div><div class="section" title="vector"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.vector"/>vector</h3></div></div></div><p>
16707- </p><div class="section" title="Space Overhead Management"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.vector.management"/>Space Overhead Management</h4></div></div></div><p>
16708- In <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-04/msg00105.html">this
16709+ </pre></blockquote></div></div></div><div class="section" title="vector"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.vector"></a>vector</h3></div></div></div><p>
16710+ </p><div class="section" title="Space Overhead Management"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.vector.management"></a>Space Overhead Management</h4></div></div></div><p>
16711+ In <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-04/msg00105.html" target="_top">this
16712 message to the list</a>, Daniel Kostecky announced work on an
16713 alternate form of <code class="code">std::vector</code> that would support
16714 hints on the number of elements to be over-allocated. The design
16715 was also described, along with possible implementation choices.
16716 </p><p>
16717- The first two alpha releases were announced <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00048.html">here</a>
16718- and <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00111.html">here</a>.
16719- </p></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="facets.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr><tr><td align="left" valign="top">Facets </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Associative</td></tr></table></div></body></html>
16720+ The first two alpha releases were announced <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00048.html" target="_top">here</a>
16721+ and <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00111.html" target="_top">here</a>.
16722+ </p></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="facets.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Facets </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Associative</td></tr></table></div></body></html>
16723Index: libstdc++-v3/doc/html/manual/io.html
16724===================================================================
9f95000d
AM
16725--- libstdc++-v3/doc/html/manual/io.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16726+++ libstdc++-v3/doc/html/manual/io.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16727@@ -1,14 +1,14 @@
16728 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16729-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16730-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 13.  Input and Output</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="numerics_and_c.html" title="Interacting with C"/><link rel="next" href="streambufs.html" title="Stream Buffers"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 13. 
16731+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16732+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 13.  Input and Output</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="numerics_and_c.html" title="Interacting with C" /><link rel="next" href="streambufs.html" title="Stream Buffers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 13. 
16733 Input and Output
16734
16735-</th></tr><tr><td align="left"><a accesskey="p" href="numerics_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
16736+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="numerics_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
16737 Standard Contents
16738- </th><td align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 13.  Input and Output"><div class="titlepage"><div><div><h2 class="title"><a id="std.io"/>Chapter 13. 
16739+ </th><td width="20%" align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 13.  Input and Output"><div class="titlepage"><div><div><h2 class="title"><a id="std.io"></a>Chapter 13. 
16740 Input and Output
16741- <a id="id504933" class="indexterm"/>
16742-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span class="section"><a href="streambufs.html">Stream Buffers</a></span></dt><dd><dl><dt><span class="section"><a href="streambufs.html#io.streambuf.derived">Derived streambuf Classes</a></span></dt><dt><span class="section"><a href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span class="section"><a href="stringstreams.html">Memory Based Streams</a></span></dt><dd><dl><dt><span class="section"><a href="stringstreams.html#std.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></dd><dt><span class="section"><a href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span class="section"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying a File</a></span></dt><dt><span class="section"><a href="fstreams.html#std.io.filestreams.binary">Binary Input and Output</a></span></dt></dl></dd><dt><span class="section"><a href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file descriptors</a></span></dt><dt><span class="section"><a href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></div><div class="section" title="Iostream Objects"><div class="titlepage"><div><div><h2 class="title"><a id="std.io.objects"/>Iostream Objects</h2></div></div></div><p>To minimize the time you have to wait on the compiler, it's good to
16743+ <a id="id683420" class="indexterm"></a>
16744+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span class="section"><a href="streambufs.html">Stream Buffers</a></span></dt><dd><dl><dt><span class="section"><a href="streambufs.html#io.streambuf.derived">Derived streambuf Classes</a></span></dt><dt><span class="section"><a href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span class="section"><a href="stringstreams.html">Memory Based Streams</a></span></dt><dd><dl><dt><span class="section"><a href="stringstreams.html#std.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></dd><dt><span class="section"><a href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span class="section"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying a File</a></span></dt><dt><span class="section"><a href="fstreams.html#std.io.filestreams.binary">Binary Input and Output</a></span></dt></dl></dd><dt><span class="section"><a href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file descriptors</a></span></dt><dt><span class="section"><a href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></div><div class="section" title="Iostream Objects"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.objects"></a>Iostream Objects</h2></div></div></div><p>To minimize the time you have to wait on the compiler, it's good to
16745 only include the headers you really need. Many people simply include
16746 &lt;iostream&gt; when they don't need to -- and that can <span class="emphasis"><em>penalize
16747 your runtime as well.</em></span> Here are some tips on which header to use
16748@@ -118,4 +118,4 @@
16749 the standard objects in that source file; you'll pay less startup
16750 time. Only include the header files you need to in general; your
16751 compile times will go down when there's less parsing work to do.
16752- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="numerics_and_c.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr><tr><td align="left" valign="top">Interacting with C </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Stream Buffers</td></tr></table></div></body></html>
16753+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="numerics_and_c.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Interacting with C </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Stream Buffers</td></tr></table></div></body></html>
16754Index: libstdc++-v3/doc/html/manual/index.html
16755===================================================================
9f95000d
AM
16756--- libstdc++-v3/doc/html/manual/index.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16757+++ libstdc++-v3/doc/html/manual/index.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16758@@ -1,8 +1,8 @@
16759 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16760-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16761-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>The GNU C++ Library Manual</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="../index.html" title="The GNU C++ Library"/><link rel="prev" href="../index.html" title="The GNU C++ Library"/><link rel="next" href="intro.html" title="Part I.  Introduction"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library Manual</th></tr><tr><td align="left"><a accesskey="p" href="../index.html">Prev</a> </td><th width="60%" align="center"> </th><td align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr></table><hr/></div><div class="book" title="The GNU C++ Library Manual"><div class="titlepage"><div><div><h1 class="title"><a id="manual"/>The GNU C++ Library Manual</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"/> <span class="surname"/></h3></div><div class="author"><h3 class="author"><span class="firstname">Paolo</span> <span class="surname">Carlini</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Phil</span> <span class="surname">Edwards</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Doug</span> <span class="surname">Gregor</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Dhruv</span> <span class="surname">Matani</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jason</span> <span class="surname">Merrill</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Mark</span> <span class="surname">Mitchell</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Nathan</span> <span class="surname">Myers</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Felix</span> <span class="surname">Natter</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Stefan</span> <span class="surname">Olsson</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Ami</span> <span class="surname">Tavory</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jonathan</span> <span class="surname">Wakely</span></h3></div></div></div><div><p class="copyright">Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
16762- <a class="link" href="http://www.fsf.org">FSF</a>
16763- </p></div></div><hr/></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="part"><a href="intro.html">I.
16764+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16765+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The GNU C++ Library Manual</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="../index.html" title="The GNU C++ Library" /><link rel="prev" href="../index.html" title="The GNU C++ Library" /><link rel="next" href="intro.html" title="Part I.  Introduction" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library Manual</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="../index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr></table><hr /></div><div class="book" title="The GNU C++ Library Manual"><div class="titlepage"><div><div><h1 class="title"><a id="manual"></a>The GNU C++ Library Manual</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"></span> <span class="surname"></span></h3></div><div class="author"><h3 class="author"><span class="firstname">Paolo</span> <span class="surname">Carlini</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Phil</span> <span class="surname">Edwards</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Doug</span> <span class="surname">Gregor</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Dhruv</span> <span class="surname">Matani</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jason</span> <span class="surname">Merrill</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Mark</span> <span class="surname">Mitchell</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Nathan</span> <span class="surname">Myers</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Felix</span> <span class="surname">Natter</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Stefan</span> <span class="surname">Olsson</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Ami</span> <span class="surname">Tavory</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jonathan</span> <span class="surname">Wakely</span></h3></div></div></div><div><p class="copyright">Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
16766+ <a class="link" href="http://www.fsf.org" target="_top">FSF</a>
16767+ </p></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="part"><a href="intro.html">I.
16768 Introduction
16769
16770 </a></span></dt><dd><dl><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="bk01pt02.html">II.
16771@@ -16,13 +16,13 @@
16772 </a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></dd><dt><span class="chapter"><a href="utilities.html">6.
16773 Utilities
16774
16775-</a></span></dt><dd><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id485345">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#id485374">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#id485485">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id486484">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#id486672">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#id486733">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#id486854">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id499306">Examples</a></span></dt><dt><span class="section"><a href="memory.html#id499336">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="strings.html">7.
16776+</a></span></dt><dd><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id663833">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#id663862">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#id663973">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id664972">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#id665160">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#id665221">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#id665342">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id677792">Examples</a></span></dt><dt><span class="section"><a href="memory.html#id677822">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="strings.html">7.
16777 Strings
16778
16779 </a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="localization.html">8.
16780 Localization
16781
16782-</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#id501036">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="containers.html">9.
16783+</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#id679521">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="containers.html">9.
16784 Containers
16785
16786 </a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="iterators.html">10.
16787@@ -46,7 +46,7 @@
16788 </a></span></dt><dd><dl><dt><span class="section"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="extensions.html">III.
16789 Extensions
16790
16791-</a></span></dt><dd><dl><dt><span class="preface"><a href="bk01pt03pr01.html"/></span></dt><dt><span class="chapter"><a href="ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
16792+</a></span></dt><dd><dl><dt><span class="preface"><a href="bk01pt03pr01.html"></a></span></dt><dt><span class="chapter"><a href="ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
16793 debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.alt">Alternatives for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="parallel_mode.html">18. Parallel Mode</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s05.html">Testing</a></span></dt><dt><span class="bibliography"><a href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="profile_mode.html">19. Profile Mode</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s02.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s04.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="mt_allocator.html">20. The mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s02.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s02.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s03.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s04.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s05.html">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="chapter"><a href="bitmap_allocator.html">21. The bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="policy_data_structures.html">22. Policy-Based Data Structures</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.configuring">
16794 Configuring via Template Parameters
16795 </a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.traits">
16796@@ -146,21 +146,21 @@
16797
16798 </a></span></dt><dt><span class="appendix"><a href="appendix_gpl.html">D.
16799 <acronym class="acronym">GNU</acronym> General Public License version 3
16800- </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></div><div class="list-of-figures"><p><strong>List of Figures</strong></p><dl><dt>22.1. <a href="policy_data_structures.html#id516222">Node Invariants</a></dt><dt>22.2. <a href="policy_data_structures.html#id516278">Underlying Associative Data Structures</a></dt><dt>22.3. <a href="policy_data_structures.html#id516541">Range Iteration in Different Data Structures</a></dt><dt>22.4. <a href="policy_data_structures.html#id516665">Point Iteration in Hash Data Structures</a></dt><dt>22.5. <a href="policy_data_structures.html#id516742">Effect of erase in different underlying data structures</a></dt><dt>22.6. <a href="policy_data_structures.html#id517306">Underlying Priority Queue Data Structures</a></dt><dt>22.7. <a href="policy_data_structures_using.html#id517828">Exception Hierarchy</a></dt><dt>22.8. <a href="policy_data_structures_design.html#id519449">Non-unique Mapping Standard Containers</a></dt><dt>22.9. <a href="policy_data_structures_design.html#fig.pbds_embedded_lists_2">
16801+ </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></div><div class="list-of-figures"><p><strong>List of Figures</strong></p><dl><dt>22.1. <a href="policy_data_structures.html#id694708">Node Invariants</a></dt><dt>22.2. <a href="policy_data_structures.html#id694764">Underlying Associative Data Structures</a></dt><dt>22.3. <a href="policy_data_structures.html#id695027">Range Iteration in Different Data Structures</a></dt><dt>22.4. <a href="policy_data_structures.html#id695152">Point Iteration in Hash Data Structures</a></dt><dt>22.5. <a href="policy_data_structures.html#id695229">Effect of erase in different underlying data structures</a></dt><dt>22.6. <a href="policy_data_structures.html#id695792">Underlying Priority Queue Data Structures</a></dt><dt>22.7. <a href="policy_data_structures_using.html#id696315">Exception Hierarchy</a></dt><dt>22.8. <a href="policy_data_structures_design.html#id697936">Non-unique Mapping Standard Containers</a></dt><dt>22.9. <a href="policy_data_structures_design.html#fig.pbds_embedded_lists_2">
16802 Effect of embedded lists in
16803 <code class="classname">std::multimap</code>
16804- </a></dt><dt>22.10. <a href="policy_data_structures_design.html#id519645">Non-unique Mapping Containers</a></dt><dt>22.11. <a href="policy_data_structures_design.html#id519810">Point Iterator Hierarchy</a></dt><dt>22.12. <a href="policy_data_structures_design.html#id519922">Invalidation Guarantee Tags Hierarchy</a></dt><dt>22.13. <a href="policy_data_structures_design.html#id520174">Container Tag Hierarchy</a></dt><dt>22.14. <a href="policy_data_structures_design.html#id520506">Hash functions, ranged-hash functions, and
16805- range-hashing functions</a></dt><dt>22.15. <a href="policy_data_structures_design.html#id521043">Insert hash sequence diagram</a></dt><dt>22.16. <a href="policy_data_structures_design.html#id521102">Insert hash sequence diagram with a null policy</a></dt><dt>22.17. <a href="policy_data_structures_design.html#id521241">Hash policy class diagram</a></dt><dt>22.18. <a href="policy_data_structures_design.html#id521400">Balls and bins</a></dt><dt>22.19. <a href="policy_data_structures_design.html#id521656">Insert resize sequence diagram</a></dt><dt>22.20. <a href="policy_data_structures_design.html#id521721">Standard resize policy trigger sequence
16806- diagram</a></dt><dt>22.21. <a href="policy_data_structures_design.html#id521756">Standard resize policy size sequence
16807- diagram</a></dt><dt>22.22. <a href="policy_data_structures_design.html#id522406">Tree node invariants</a></dt><dt>22.23. <a href="policy_data_structures_design.html#id522484">Tree node invalidation</a></dt><dt>22.24. <a href="policy_data_structures_design.html#id522594">A tree and its update policy</a></dt><dt>22.25. <a href="policy_data_structures_design.html#id522691">Restoring node invariants</a></dt><dt>22.26. <a href="policy_data_structures_design.html#id522759">Insert update sequence</a></dt><dt>22.27. <a href="policy_data_structures_design.html#id522945">Useless update path</a></dt><dt>22.28. <a href="policy_data_structures_design.html#id523317">A PATRICIA trie</a></dt><dt>22.29. <a href="policy_data_structures_design.html#id523405">A trie and its update policy</a></dt><dt>22.30. <a href="policy_data_structures_design.html#id523660">A simple list</a></dt><dt>22.31. <a href="policy_data_structures_design.html#id523706">The counter algorithm</a></dt><dt>22.32. <a href="policy_data_structures_design.html#id524238">Underlying Priority-Queue Data-Structures.</a></dt><dt>22.33. <a href="policy_data_structures_design.html#id524529">Priority-Queue Data-Structure Tags.</a></dt><dt>B.1. <a href="appendix_porting.html#id552980">Configure and Build File Dependencies</a></dt></dl></div><div class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>1.1. <a href="status.html#id399802">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#id431070">C++ 2011 Implementation Status</a></dt><dt>1.3. <a href="status.html#id433760">C++ TR1 Implementation Status</a></dt><dt>1.4. <a href="status.html#id473964">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using.html#id478045">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#id478273">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#id478577">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#id478783">C++ 2011 Library Headers</a></dt><dt>3.5. <a href="using_headers.html#id479212">C++ 2011 Library Headers for C Library Facilities</a></dt><dt>3.6. <a href="using_headers.html#id479461">C++ TR 1 Library Headers</a></dt><dt>3.7. <a href="using_headers.html#id479602">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.8. <a href="using_headers.html#id479778">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.9. <a href="using_headers.html#id479824">C++ ABI Headers</a></dt><dt>3.10. <a href="using_headers.html#id479877">Extension Headers</a></dt><dt>3.11. <a href="using_headers.html#id480175">Extension Debug Headers</a></dt><dt>3.12. <a href="using_headers.html#id480298">Extension Profile Headers</a></dt><dt>3.13. <a href="using_headers.html#id480409">Extension Parallel Headers</a></dt><dt>17.1. <a href="bk01pt03ch17s03.html#id506882">Debugging Containers</a></dt><dt>17.2. <a href="bk01pt03ch17s03.html#id507256">Debugging Containers C++11</a></dt><dt>18.1. <a href="bk01pt03ch18s03.html#id508844">Parallel Algorithms</a></dt><dt>19.1. <a href="bk01pt03ch19s02.html#id510967">Profile Code Location</a></dt><dt>19.2. <a href="bk01pt03ch19s07.html#id511849">Profile Diagnostics</a></dt><dt>21.1. <a href="bk01pt03ch21s02.html#id515279">Bitmap Allocator Memory Map</a></dt><dt>B.1. <a href="documentation_hacking.html#id553885">Doxygen Prerequisites</a></dt><dt>B.2. <a href="documentation_hacking.html#id554388">HTML to Doxygen Markup Comparison</a></dt><dt>B.3. <a href="documentation_hacking.html#id554550">Docbook Prerequisites</a></dt><dt>B.4. <a href="documentation_hacking.html#id555059">HTML to Docbook XML Markup Comparison</a></dt><dt>B.5. <a href="documentation_hacking.html#id555261">Docbook XML Element Use</a></dt><dt>B.6. <a href="api.html#id560820">Extension Allocators</a></dt><dt>B.7. <a href="api.html#id561050">Extension Allocators Continued</a></dt></dl></div><div class="list-of-equations"><p><strong>List of Equations</strong></p><dl><dt>22.1. <a href="policy_data_structures_design.html#id520621">Ranged Hash Function</a></dt><dt>22.2. <a href="policy_data_structures_design.html#id520670">Range-Hashing, Division Method</a></dt><dt>22.3. <a href="policy_data_structures_design.html#id520708">Division via Prime Modulo</a></dt><dt>22.4. <a href="policy_data_structures_design.html#id520723">Division via Bit Mask</a></dt><dt>22.5. <a href="policy_data_structures_design.html#id520803">
16808+ </a></dt><dt>22.10. <a href="policy_data_structures_design.html#id698132">Non-unique Mapping Containers</a></dt><dt>22.11. <a href="policy_data_structures_design.html#id698297">Point Iterator Hierarchy</a></dt><dt>22.12. <a href="policy_data_structures_design.html#id698408">Invalidation Guarantee Tags Hierarchy</a></dt><dt>22.13. <a href="policy_data_structures_design.html#id698660">Container Tag Hierarchy</a></dt><dt>22.14. <a href="policy_data_structures_design.html#id698993">Hash functions, ranged-hash functions, and
16809+ range-hashing functions</a></dt><dt>22.15. <a href="policy_data_structures_design.html#id699530">Insert hash sequence diagram</a></dt><dt>22.16. <a href="policy_data_structures_design.html#id699588">Insert hash sequence diagram with a null policy</a></dt><dt>22.17. <a href="policy_data_structures_design.html#id699728">Hash policy class diagram</a></dt><dt>22.18. <a href="policy_data_structures_design.html#id699887">Balls and bins</a></dt><dt>22.19. <a href="policy_data_structures_design.html#id700143">Insert resize sequence diagram</a></dt><dt>22.20. <a href="policy_data_structures_design.html#id700208">Standard resize policy trigger sequence
16810+ diagram</a></dt><dt>22.21. <a href="policy_data_structures_design.html#id700243">Standard resize policy size sequence
16811+ diagram</a></dt><dt>22.22. <a href="policy_data_structures_design.html#id700892">Tree node invariants</a></dt><dt>22.23. <a href="policy_data_structures_design.html#id700971">Tree node invalidation</a></dt><dt>22.24. <a href="policy_data_structures_design.html#id701081">A tree and its update policy</a></dt><dt>22.25. <a href="policy_data_structures_design.html#id701178">Restoring node invariants</a></dt><dt>22.26. <a href="policy_data_structures_design.html#id701246">Insert update sequence</a></dt><dt>22.27. <a href="policy_data_structures_design.html#id701432">Useless update path</a></dt><dt>22.28. <a href="policy_data_structures_design.html#id701804">A PATRICIA trie</a></dt><dt>22.29. <a href="policy_data_structures_design.html#id701891">A trie and its update policy</a></dt><dt>22.30. <a href="policy_data_structures_design.html#id702146">A simple list</a></dt><dt>22.31. <a href="policy_data_structures_design.html#id702193">The counter algorithm</a></dt><dt>22.32. <a href="policy_data_structures_design.html#id702724">Underlying Priority-Queue Data-Structures.</a></dt><dt>22.33. <a href="policy_data_structures_design.html#id703016">Priority-Queue Data-Structure Tags.</a></dt><dt>B.1. <a href="appendix_porting.html#id731466">Configure and Build File Dependencies</a></dt></dl></div><div class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>1.1. <a href="status.html#id582573">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#id629236">C++ 2011 Implementation Status</a></dt><dt>1.3. <a href="status.html#id612238">C++ TR1 Implementation Status</a></dt><dt>1.4. <a href="status.html#id652443">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using.html#id656533">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#id656761">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#id657065">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#id657271">C++ 2011 Library Headers</a></dt><dt>3.5. <a href="using_headers.html#id657700">C++ 2011 Library Headers for C Library Facilities</a></dt><dt>3.6. <a href="using_headers.html#id657949">C++ TR 1 Library Headers</a></dt><dt>3.7. <a href="using_headers.html#id658090">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.8. <a href="using_headers.html#id658266">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.9. <a href="using_headers.html#id658312">C++ ABI Headers</a></dt><dt>3.10. <a href="using_headers.html#id658365">Extension Headers</a></dt><dt>3.11. <a href="using_headers.html#id658663">Extension Debug Headers</a></dt><dt>3.12. <a href="using_headers.html#id658786">Extension Profile Headers</a></dt><dt>3.13. <a href="using_headers.html#id658897">Extension Parallel Headers</a></dt><dt>17.1. <a href="bk01pt03ch17s03.html#id685368">Debugging Containers</a></dt><dt>17.2. <a href="bk01pt03ch17s03.html#id685742">Debugging Containers C++11</a></dt><dt>18.1. <a href="bk01pt03ch18s03.html#id687330">Parallel Algorithms</a></dt><dt>19.1. <a href="bk01pt03ch19s02.html#id689453">Profile Code Location</a></dt><dt>19.2. <a href="bk01pt03ch19s07.html#id690335">Profile Diagnostics</a></dt><dt>21.1. <a href="bk01pt03ch21s02.html#id693765">Bitmap Allocator Memory Map</a></dt><dt>B.1. <a href="documentation_hacking.html#id732372">Doxygen Prerequisites</a></dt><dt>B.2. <a href="documentation_hacking.html#id732889">HTML to Doxygen Markup Comparison</a></dt><dt>B.3. <a href="documentation_hacking.html#id733051">Docbook Prerequisites</a></dt><dt>B.4. <a href="documentation_hacking.html#id733562">HTML to Docbook XML Markup Comparison</a></dt><dt>B.5. <a href="documentation_hacking.html#id733764">Docbook XML Element Use</a></dt><dt>B.6. <a href="api.html#id739323">Extension Allocators</a></dt><dt>B.7. <a href="api.html#id739553">Extension Allocators Continued</a></dt></dl></div><div class="list-of-equations"><p><strong>List of Equations</strong></p><dl><dt>22.1. <a href="policy_data_structures_design.html#id699108">Ranged Hash Function</a></dt><dt>22.2. <a href="policy_data_structures_design.html#id699157">Range-Hashing, Division Method</a></dt><dt>22.3. <a href="policy_data_structures_design.html#id699194">Division via Prime Modulo</a></dt><dt>22.4. <a href="policy_data_structures_design.html#id699210">Division via Bit Mask</a></dt><dt>22.5. <a href="policy_data_structures_design.html#id699290">
16812 A Standard String Hash Function
16813- </a></dt><dt>22.6. <a href="policy_data_structures_design.html#id520854">
16814+ </a></dt><dt>22.6. <a href="policy_data_structures_design.html#id699341">
16815 Only k String DNA Hash
16816- </a></dt><dt>22.7. <a href="policy_data_structures_design.html#id521446">
16817+ </a></dt><dt>22.7. <a href="policy_data_structures_design.html#id699932">
16818 Probability of Probe Sequence of Length k
16819- </a></dt><dt>22.8. <a href="policy_data_structures_design.html#id521502">
16820+ </a></dt><dt>22.8. <a href="policy_data_structures_design.html#id699989">
16821 Probability Probe Sequence in Some Bin
16822- </a></dt></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="../index.html">Prev</a> </td><td align="center"> </td><td align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr><tr><td align="left" valign="top">The GNU C++ Library </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Part I. 
16823+ </a></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="../index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Part I. 
16824 Introduction
16825
16826 </td></tr></table></div></body></html>
16827Index: libstdc++-v3/doc/html/manual/bk01pt03ch30s03.html
16828===================================================================
9f95000d
AM
16829--- libstdc++-v3/doc/html/manual/bk01pt03ch30s03.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16830+++ libstdc++-v3/doc/html/manual/bk01pt03ch30s03.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16831@@ -1,6 +1,6 @@
16832 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16833-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16834-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Use</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="ext_concurrency.html" title="Chapter 30. Concurrency"/><link rel="prev" href="bk01pt03ch30s02.html" title="Implementation"/><link rel="next" href="bk01pt04.html" title="Part IV.  Appendices"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Use</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch30s02.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Concurrency</th><td align="right"> <a accesskey="n" href="bk01pt04.html">Next</a></td></tr></table><hr/></div><div class="section" title="Use"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency.use"/>Use</h2></div></div></div><p>Typical usage of the last two constructs is demonstrated as follows:
16835+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16836+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Use</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="ext_concurrency.html" title="Chapter 30. Concurrency" /><link rel="prev" href="bk01pt03ch30s02.html" title="Implementation" /><link rel="next" href="bk01pt04.html" title="Part IV.  Appendices" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Use</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch30s02.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Concurrency</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt04.html">Next</a></td></tr></table><hr /></div><div class="section" title="Use"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.use"></a>Use</h2></div></div></div><p>Typical usage of the last two constructs is demonstrated as follows:
16837 </p><pre class="programlisting">
16838 #include &lt;ext/concurrence.h&gt;
16839
16840@@ -31,6 +31,6 @@
16841 concurrence-related errors. These classes
16842 are: <code class="code">__concurrence_lock_error</code>, <code class="code">__concurrence_unlock_error</code>, <code class="code">__concurrence_wait_error</code>,
16843 and <code class="code">__concurrence_broadcast_error</code>.
16844-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch30s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="ext_concurrency.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt04.html">Next</a></td></tr><tr><td align="left" valign="top">Implementation </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Part IV. 
16845+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch30s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ext_concurrency.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Implementation </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Part IV. 
16846 Appendices
16847 </td></tr></table></div></body></html>
16848Index: libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html
16849===================================================================
9f95000d
AM
16850--- libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16851+++ libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16852@@ -1,9 +1,9 @@
16853 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16854-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16855-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Concept Checking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="diagnostics.html" title="Chapter 5.  Diagnostics"/><link rel="prev" href="diagnostics.html" title="Chapter 5.  Diagnostics"/><link rel="next" href="utilities.html" title="Chapter 6.  Utilities"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concept Checking</th></tr><tr><td align="left"><a accesskey="p" href="diagnostics.html">Prev</a> </td><th width="60%" align="center">Chapter 5. 
16856+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16857+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Concept Checking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="diagnostics.html" title="Chapter 5.  Diagnostics" /><link rel="prev" href="diagnostics.html" title="Chapter 5.  Diagnostics" /><link rel="next" href="utilities.html" title="Chapter 6.  Utilities" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concept Checking</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="diagnostics.html">Prev</a> </td><th width="60%" align="center">Chapter 5. 
16858 Diagnostics
16859
16860-</th><td align="right"> <a accesskey="n" href="utilities.html">Next</a></td></tr></table><hr/></div><div class="section" title="Concept Checking"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics.concept_checking"/>Concept Checking</h2></div></div></div><p>
16861+</th><td width="20%" align="right"> <a accesskey="n" href="utilities.html">Next</a></td></tr></table><hr /></div><div class="section" title="Concept Checking"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.diagnostics.concept_checking"></a>Concept Checking</h2></div></div></div><p>
16862 In 1999, SGI added <span class="quote">“<span class="quote">concept checkers</span>”</span> to their
16863 implementation of the STL: code which checked the template
16864 parameters of instantiated pieces of the STL, in order to insure
16865@@ -21,7 +21,7 @@
16866 The primary author of the checking code, Jeremy Siek, had already
16867 started work on a replacement implementation. The new code was
16868 formally reviewed and accepted into
16869- <a class="link" href="http://www.boost.org/libs/concept_check/concept_check.htm">the
16870+ <a class="link" href="http://www.boost.org/libs/concept_check/concept_check.htm" target="_top">the
16871 Boost libraries</a>, and we are pleased to incorporate it into the
16872 GNU C++ library.
16873 </p><p>
16874@@ -41,10 +41,10 @@
16875 for example template argument types may need to be complete when used in
16876 a template definition, rather than at the point of instantiation.
16877 There are no plans to address these shortcomings.
16878- </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="diagnostics.html">Prev</a> </td><td align="center"><a accesskey="u" href="diagnostics.html">Up</a></td><td align="right"> <a accesskey="n" href="utilities.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 5. 
16879+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="diagnostics.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="diagnostics.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="utilities.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 5. 
16880 Diagnostics
16881
16882- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 6. 
16883+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 6. 
16884 Utilities
16885
16886 </td></tr></table></div></body></html>
16887Index: libstdc++-v3/doc/html/manual/bk01pt03ch20s04.html
16888===================================================================
9f95000d
AM
16889--- libstdc++-v3/doc/html/manual/bk01pt03ch20s04.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16890+++ libstdc++-v3/doc/html/manual/bk01pt03ch20s04.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16891@@ -1,6 +1,6 @@
16892 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16893-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16894-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Single Thread Example</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator"/><link rel="prev" href="bk01pt03ch20s03.html" title="Implementation"/><link rel="next" href="bk01pt03ch20s05.html" title="Multiple Thread Example"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Single Thread Example</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s03.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td align="right"> <a accesskey="n" href="bk01pt03ch20s05.html">Next</a></td></tr></table><hr/></div><div class="section" title="Single Thread Example"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.mt.example_single"/>Single Thread Example</h2></div></div></div><p>
16895+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16896+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Single Thread Example</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="bk01pt03ch20s03.html" title="Implementation" /><link rel="next" href="bk01pt03ch20s05.html" title="Multiple Thread Example" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Single Thread Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch20s03.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch20s05.html">Next</a></td></tr></table><hr /></div><div class="section" title="Single Thread Example"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.example_single"></a>Single Thread Example</h2></div></div></div><p>
16897 Let's start by describing how the data on a freelist is laid out in memory.
16898 This is the first two blocks in freelist for thread id 3 in bin 3 (8 bytes):
16899 </p><pre class="programlisting">
16900@@ -76,4 +76,4 @@
16901 The decision to add deallocated blocks to the front of the freelist was made
16902 after a set of performance measurements that showed that this is roughly 10%
16903 faster than maintaining a set of "last pointers" as well.
16904-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s03.html">Prev</a> </td><td align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch20s05.html">Next</a></td></tr><tr><td align="left" valign="top">Implementation </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Multiple Thread Example</td></tr></table></div></body></html>
16905+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch20s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch20s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Implementation </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Multiple Thread Example</td></tr></table></div></body></html>
16906Index: libstdc++-v3/doc/html/manual/numerics_and_c.html
16907===================================================================
9f95000d
AM
16908--- libstdc++-v3/doc/html/manual/numerics_and_c.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16909+++ libstdc++-v3/doc/html/manual/numerics_and_c.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16910@@ -1,9 +1,9 @@
16911 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16912-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16913-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="numerics.html" title="Chapter 12.  Numerics"/><link rel="prev" href="generalized_numeric_operations.html" title="Generalized Operations"/><link rel="next" href="io.html" title="Chapter 13.  Input and Output"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td align="left"><a accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><th width="60%" align="center">Chapter 12. 
16914+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16915+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="numerics.html" title="Chapter 12.  Numerics" /><link rel="prev" href="generalized_numeric_operations.html" title="Generalized Operations" /><link rel="next" href="io.html" title="Chapter 13.  Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><th width="60%" align="center">Chapter 12. 
16916 Numerics
16917
16918-</th><td align="right"> <a accesskey="n" href="io.html">Next</a></td></tr></table><hr/></div><div class="section" title="Interacting with C"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics.c"/>Interacting with C</h2></div></div></div><div class="section" title="Numerics vs. Arrays"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.c.array"/>Numerics vs. Arrays</h3></div></div></div><p>One of the major reasons why FORTRAN can chew through numbers so well
16919+</th><td width="20%" align="right"> <a accesskey="n" href="io.html">Next</a></td></tr></table><hr /></div><div class="section" title="Interacting with C"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.numerics.c"></a>Interacting with C</h2></div></div></div><div class="section" title="Numerics vs. Arrays"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.c.array"></a>Numerics vs. Arrays</h3></div></div></div><p>One of the major reasons why FORTRAN can chew through numbers so well
16920 is that it is defined to be free of pointer aliasing, an assumption
16921 that C89 is not allowed to make, and neither is C++98. C99 adds a new
16922 keyword, <code class="code">restrict</code>, to apply to individual pointers. The
16923@@ -18,7 +18,7 @@
16924 speaking this is only one of the five template classes, and they are
16925 designed to be familiar to people who have worked with the BLAS
16926 libraries before.
16927- </p></div><div class="section" title="C99"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.c.c99"/>C99</h3></div></div></div><p>In addition to the other topics on this page, we'll note here some
16928+ </p></div><div class="section" title="C99"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.c.c99"></a>C99</h3></div></div></div><p>In addition to the other topics on this page, we'll note here some
16929 of the C99 features that appear in libstdc++.
16930 </p><p>The C99 features depend on the <code class="code">--enable-c99</code> configure flag.
16931 This flag is already on by default, but it can be disabled by the
16932@@ -31,7 +31,7 @@
16933 are supported, as is the <code class="code">lldiv_t</code> typedef. Also supported
16934 are the wide character functions using 'long long', like
16935 <code class="code">wcstoll</code>.
16936- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><td align="center"><a accesskey="u" href="numerics.html">Up</a></td><td align="right"> <a accesskey="n" href="io.html">Next</a></td></tr><tr><td align="left" valign="top">Generalized Operations </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 13. 
16937+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="numerics.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="io.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Generalized Operations </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 13. 
16938 Input and Output
16939
16940 </td></tr></table></div></body></html>
16941Index: libstdc++-v3/doc/html/manual/appendix_gpl.html
16942===================================================================
9f95000d
AM
16943--- libstdc++-v3/doc/html/manual/appendix_gpl.html (.../tags/gcc_4_7_2_release) (wersja 192468)
16944+++ libstdc++-v3/doc/html/manual/appendix_gpl.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
16945@@ -1,20 +1,20 @@
16946 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
16947-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
16948-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Appendix D.  GNU General Public License version 3</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices"/><link rel="prev" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation"/><link rel="next" href="appendix_gfdl.html" title="Appendix E. GNU Free Documentation License"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix D. 
16949+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16950+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix D.  GNU General Public License version 3</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices" /><link rel="prev" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation" /><link rel="next" href="appendix_gfdl.html" title="Appendix E. GNU Free Documentation License" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix D. 
16951 <acronym class="acronym">GNU</acronym> General Public License version 3
16952- </th></tr><tr><td align="left"><a accesskey="p" href="appendix_free.html">Prev</a> </td><th width="60%" align="center">Part IV. 
16953+ </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_free.html">Prev</a> </td><th width="60%" align="center">Part IV. 
16954 Appendices
16955-</th><td align="right"> <a accesskey="n" href="appendix_gfdl.html">Next</a></td></tr></table><hr/></div><div class="appendix" title="Appendix D.  GNU General Public License version 3"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.gpl-3.0"/>
16956+</th><td width="20%" align="right"> <a accesskey="n" href="appendix_gfdl.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix D.  GNU General Public License version 3"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.gpl-3.0"></a>
16957 <acronym class="acronym">GNU</acronym> General Public License version 3
16958 </h1></div></div></div><p>
16959 Version 3, 29 June 2007
16960 </p><p>
16961 Copyright © 2007 Free Software Foundation, Inc.
16962- <a class="link" href="http://www.fsf.org/">http://www.fsf.org/</a>
16963+ <a class="link" href="http://www.fsf.org/" target="_top">http://www.fsf.org/</a>
16964 </p><p>
16965 Everyone is permitted to copy and distribute verbatim copies of this license
16966 document, but changing it is not allowed.
16967- </p><h2><a id="gpl-3-preamble"/>
16968+ </p><h2><a id="gpl-3-preamble"></a>
16969 Preamble
16970 </h2><p>
16971 The <acronym class="acronym">GNU</acronym> General Public License is a free, copyleft
16972@@ -78,9 +78,9 @@
16973 </p><p>
16974 The precise terms and conditions for copying, distribution and modification
16975 follow.
16976- </p><h2><a id="id564464"/>
16977+ </p><h2><a id="id742968"></a>
16978 TERMS AND CONDITIONS
16979- </h2><h2><a id="gpl-3-definitions"/>
16980+ </h2><h2><a id="gpl-3-definitions"></a>
16981 0. Definitions.
16982 </h2><p>
16983 “This License” refers to version 3 of the <acronym class="acronym">GNU</acronym>
16984@@ -122,7 +122,7 @@
16985 License, and how to view a copy of this License. If the interface presents
16986 a list of user commands or options, such as a menu, a prominent item in the
16987 list meets this criterion.
16988- </p><h2><a id="SourceCode"/>
16989+ </p><h2><a id="SourceCode"></a>
16990 1. Source Code.
16991 </h2><p>
16992 The “source code” for a work means the preferred form of the
16993@@ -162,7 +162,7 @@
16994 automatically from other parts of the Corresponding Source.
16995 </p><p>
16996 The Corresponding Source for a work in source code form is that same work.
16997- </p><h2><a id="BasicPermissions"/>
16998+ </p><h2><a id="BasicPermissions"></a>
16999 2. Basic Permissions.
17000 </h2><p>
17001 All rights granted under this License are granted for the term of copyright
17002@@ -187,7 +187,7 @@
17003 Conveying under any other circumstances is permitted solely under the
17004 conditions stated below. Sublicensing is not allowed; section 10 makes it
17005 unnecessary.
17006- </p><h2><a id="Protecting"/>
17007+ </p><h2><a id="Protecting"></a>
17008 3. Protecting Users’ Legal Rights From Anti-Circumvention Law.
17009 </h2><p>
17010 No covered work shall be deemed part of an effective technological measure
17011@@ -202,7 +202,7 @@
17012 the work as a means of enforcing, against the work’s users, your or
17013 third parties’ legal rights to forbid circumvention of technological
17014 measures.
17015- </p><h2><a id="ConveyingVerbatim"/>
17016+ </p><h2><a id="ConveyingVerbatim"></a>
17017 4. Conveying Verbatim Copies.
17018 </h2><p>
17019 You may convey verbatim copies of the Program’s source code as you
17020@@ -215,13 +215,13 @@
17021 </p><p>
17022 You may charge any price or no price for each copy that you convey, and you
17023 may offer support or warranty protection for a fee.
17024- </p><h2><a id="ConveyingModified"/>
17025+ </p><h2><a id="ConveyingModified"></a>
17026 5. Conveying Modified Source Versions.
17027 </h2><p>
17028 You may convey a work based on the Program, or the modifications to produce
17029 it from the Program, in the form of source code under the terms of section
17030 4, provided that you also meet all of these conditions:
17031- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
17032+ </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
17033 The work must carry prominent notices stating that you modified it, and
17034 giving a relevant date.
17035 </p></li><li class="listitem"><p>
17036@@ -251,13 +251,13 @@
17037 or legal rights of the compilation’s users beyond what the individual works
17038 permit. Inclusion of a covered work in an aggregate does not cause
17039 this License to apply to the other parts of the aggregate.
17040- </p><h2><a id="ConveyingNonSource"/>
17041+ </p><h2><a id="ConveyingNonSource"></a>
17042 6. Conveying Non-Source Forms.
17043 </h2><p>
17044 You may convey a covered work in object code form under the terms of
17045 sections 4 and 5, provided that you also convey the machine-readable
17046 Corresponding Source under the terms of this License, in one of these ways:
17047- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
17048+ </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
17049 Convey the object code in, or embodied in, a physical product (including
17050 a physical distribution medium), accompanied by the Corresponding Source
17051 fixed on a durable physical medium customarily used for software
17052@@ -346,7 +346,7 @@
17053 (and with an implementation available to the public in source code form),
17054 and must require no special password or key for unpacking, reading or
17055 copying.
17056- </p><h2><a id="AdditionalTerms"/>
17057+ </p><h2><a id="AdditionalTerms"></a>
17058 7. Additional Terms.
17059 </h2><p>
17060 “Additional permissions” are terms that supplement the terms of
17061@@ -368,7 +368,7 @@
17062 Notwithstanding any other provision of this License, for material you add
17063 to a covered work, you may (if authorized by the copyright holders of that
17064 material) supplement the terms of this License with terms:
17065- </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
17066+ </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
17067 Disclaiming warranty or limiting liability differently from the terms
17068 of sections 15 and 16 of this License; or
17069 </p></li><li class="listitem"><p>
17070@@ -410,7 +410,7 @@
17071 Additional terms, permissive or non-permissive, may be stated in the form
17072 of a separately written license, or stated as exceptions; the above
17073 requirements apply either way.
17074- </p><h2><a id="gpl-3-termination"/>
17075+ </p><h2><a id="gpl-3-termination"></a>
17076 8. Termination.
17077 </h2><p>
17078 You may not propagate or modify a covered work except as expressly provided
17079@@ -436,7 +436,7 @@
17080 License. If your rights have been terminated and not permanently
17081 reinstated, you do not qualify to receive new licenses for the same
17082 material under section 10.
17083- </p><h2><a id="AcceptanceNotRequired"/>
17084+ </p><h2><a id="AcceptanceNotRequired"></a>
17085 9. Acceptance Not Required for Having Copies.
17086 </h2><p>
17087 You are not required to accept this License in order to receive or run a
17088@@ -447,7 +447,7 @@
17089 These actions infringe copyright if you do not accept this License.
17090 Therefore, by modifying or propagating a covered work, you indicate your
17091 acceptance of this License to do so.
17092- </p><h2><a id="AutomaticDownstream"/>
17093+ </p><h2><a id="AutomaticDownstream"></a>
17094 10. Automatic Licensing of Downstream Recipients.
17095 </h2><p>
17096 Each time you convey a covered work, the recipient automatically receives a
17097@@ -472,7 +472,7 @@
17098 or counterclaim in a lawsuit) alleging that any patent claim is infringed
17099 by making, using, selling, offering for sale, or importing the Program or
17100 any portion of it.
17101- </p><h2><a id="Patents"/>
17102+ </p><h2><a id="Patents"></a>
17103 11. Patents.
17104 </h2><p>
17105 A “contributor” is a copyright holder who authorizes use under
17106@@ -539,7 +539,7 @@
17107 Nothing in this License shall be construed as excluding or limiting any
17108 implied license or other defenses to infringement that may otherwise be
17109 available to you under applicable patent law.
17110- </p><h2><a id="NoSurrender"/>
17111+ </p><h2><a id="NoSurrender"></a>
17112 12. No Surrender of Others’ Freedom.
17113 </h2><p>
17114 If conditions are imposed on you (whether by court order, agreement or
17115@@ -551,7 +551,7 @@
17116 to collect a royalty for further conveying from those to whom you convey the
17117 Program, the only way you could satisfy both those terms and this License
17118 would be to refrain entirely from conveying the Program.
17119- </p><h2><a id="UsedWithAGPL"/>
17120+ </p><h2><a id="UsedWithAGPL"></a>
17121 13. Use with the <acronym class="acronym">GNU</acronym> Affero General Public License.
17122 </h2><p>
17123 Notwithstanding any other provision of this License, you have permission to
17124@@ -562,7 +562,7 @@
17125 requirements of the <acronym class="acronym">GNU</acronym> Affero General Public License,
17126 section 13, concerning interaction through a network will apply to the
17127 combination as such.
17128- </p><h2><a id="RevisedVersions"/>
17129+ </p><h2><a id="RevisedVersions"></a>
17130 14. Revised Versions of this License.
17131 </h2><p>
17132 The Free Software Foundation may publish revised and/or new versions of the
17133@@ -587,7 +587,7 @@
17134 Later license versions may give you additional or different permissions.
17135 However, no additional obligations are imposed on any author or copyright
17136 holder as a result of your choosing to follow a later version.
17137- </p><h2><a id="WarrantyDisclaimer"/>
17138+ </p><h2><a id="WarrantyDisclaimer"></a>
17139 15. Disclaimer of Warranty.
17140 </h2><p>
17141 THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
17142@@ -598,7 +598,7 @@
17143 THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
17144 YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
17145 NECESSARY SERVICING, REPAIR OR CORRECTION.
17146- </p><h2><a id="LiabilityLimitation"/>
17147+ </p><h2><a id="LiabilityLimitation"></a>
17148 16. Limitation of Liability.
17149 </h2><p>
17150 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
17151@@ -610,7 +610,7 @@
17152 PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
17153 EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
17154 SUCH DAMAGES.
17155- </p><h2><a id="InterpretationSecs1516"/>
17156+ </p><h2><a id="InterpretationSecs1516"></a>
17157 17. Interpretation of Sections 15 and 16.
17158 </h2><p>
17159 If the disclaimer of warranty and limitation of liability provided above
17160@@ -619,9 +619,9 @@
17161 waiver of all civil liability in connection with the Program, unless a
17162 warranty or assumption of liability accompanies a copy of the Program in
17163 return for a fee.
17164- </p><h2><a id="id565288"/>
17165+ </p><h2><a id="id743791"></a>
17166 END OF TERMS AND CONDITIONS
17167- </h2><h2><a id="HowToApply"/>
17168+ </h2><h2><a id="HowToApply"></a>
17169 How to Apply These Terms to Your New Programs
17170 </h2><p>
17171 If you develop a new program, and you want it to be of the greatest possible
17172@@ -648,7 +648,7 @@
17173 <acronym class="acronym">GNU</acronym> General Public License for more details.
17174
17175 You should have received a copy of the <acronym class="acronym">GNU</acronym> General Public License
17176-along with this program. If not, see <a class="link" href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>.
17177+along with this program. If not, see <a class="link" href="http://www.gnu.org/licenses/" target="_top">http://www.gnu.org/licenses/</a>.
17178 </pre><p>
17179 Also add information on how to contact you by electronic and paper mail.
17180 </p><p>
17181@@ -669,15 +669,15 @@
17182 if any, to sign a “copyright disclaimer” for the program, if
17183 necessary. For more information on this, and how to apply and follow the
17184 <acronym class="acronym">GNU</acronym> <acronym class="acronym">GPL</acronym>, see
17185- <a class="link" href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>.
17186+ <a class="link" href="http://www.gnu.org/licenses/" target="_top">http://www.gnu.org/licenses/</a>.
17187 </p><p>
17188 The <acronym class="acronym">GNU</acronym> General Public License does not permit
17189 incorporating your program into proprietary programs. If your program is a
17190 subroutine library, you may consider it more useful to permit linking
17191 proprietary applications with the library. If this is what you want to do,
17192 use the <acronym class="acronym">GNU</acronym> Lesser General Public License instead of this
17193- License. But first, please read <a class="link" href="http://www.gnu.org/philosophy/why-not-lgpl.html">http://www.gnu.org/philosophy/why-not-lgpl.html</a>.
17194- </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="appendix_free.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td align="right"> <a accesskey="n" href="appendix_gfdl.html">Next</a></td></tr><tr><td align="left" valign="top">Appendix C. 
17195+ License. But first, please read <a class="link" href="http://www.gnu.org/philosophy/why-not-lgpl.html" target="_top">http://www.gnu.org/philosophy/why-not-lgpl.html</a>.
17196+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="appendix_free.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="appendix_gfdl.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix C. 
17197 Free Software Needs Free Documentation
17198
17199- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Appendix E. GNU Free Documentation License</td></tr></table></div></body></html>
17200+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix E. GNU Free Documentation License</td></tr></table></div></body></html>
17201Index: libstdc++-v3/doc/html/manual/source_code_style.html
17202===================================================================
9f95000d
AM
17203--- libstdc++-v3/doc/html/manual/source_code_style.html (.../tags/gcc_4_7_2_release) (wersja 192468)
17204+++ libstdc++-v3/doc/html/manual/source_code_style.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
17205@@ -1,620 +1,620 @@
17206 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
17207-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
17208-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Coding Style</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing"/><link rel="prev" href="source_organization.html" title="Directory Layout and Source Conventions"/><link rel="next" href="source_design_notes.html" title="Design Notes"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Coding Style</th></tr><tr><td align="left"><a accesskey="p" href="source_organization.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
17209+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
17210+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Coding Style</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="source_organization.html" title="Directory Layout and Source Conventions" /><link rel="next" href="source_design_notes.html" title="Design Notes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Coding Style</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_organization.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
17211 Contributing
17212
17213-</th><td align="right"> <a accesskey="n" href="source_design_notes.html">Next</a></td></tr></table><hr/></div><div class="section" title="Coding Style"><div class="titlepage"><div><div><h2 class="title"><a id="contrib.coding_style"/>Coding Style</h2></div></div></div><p>
17214- </p><div class="section" title="Bad Identifiers"><div class="titlepage"><div><div><h3 class="title"><a id="coding_style.bad_identifiers"/>Bad Identifiers</h3></div></div></div><p>
17215+</th><td width="20%" align="right"> <a accesskey="n" href="source_design_notes.html">Next</a></td></tr></table><hr /></div><div class="section" title="Coding Style"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.coding_style"></a>Coding Style</h2></div></div></div><p>
17216+ </p><div class="section" title="Bad Identifiers"><div class="titlepage"><div><div><h3 class="title"><a id="coding_style.bad_identifiers"></a>Bad Identifiers</h3></div></div></div><p>
17217 Identifiers that conflict and should be avoided.
17218- </p><div class="literallayout"><p><br/>
17219-      This is the list of names <span class="quote">“<span class="quote">reserved to the<br/>
17220-      implementation</span>”</span> that have been claimed by certain<br/>
17221-      compilers and system headers of interest, and should not be used<br/>
17222-      in the library. It will grow, of course.  We generally are<br/>
17223-      interested in names that are not all-caps, except for those like<br/>
17224-      "_T"<br/>
17225-<br/>
17226-      For Solaris:<br/>
17227-      _B<br/>
17228-      _C<br/>
17229-      _L<br/>
17230-      _N<br/>
17231-      _P<br/>
17232-      _S<br/>
17233-      _U<br/>
17234-      _X<br/>
17235-      _E1<br/>
17236-      ..<br/>
17237-      _E24<br/>
17238-<br/>
17239-      Irix adds:<br/>
17240-      _A<br/>
17241-      _G<br/>
17242-<br/>
17243-      MS adds:<br/>
17244-      _T<br/>
17245-<br/>
17246-      BSD adds:<br/>
17247-      __used<br/>
17248-      __unused<br/>
17249-      __inline<br/>
17250-      _Complex<br/>
17251-      __istype<br/>
17252-      __maskrune<br/>
17253-      __tolower<br/>
17254-      __toupper<br/>
17255-      __wchar_t<br/>
17256-      __wint_t<br/>
17257-      _res<br/>
17258-      _res_ext<br/>
17259-      __tg_*<br/>
17260-<br/>
17261-      SPU adds:<br/>
17262-      __ea<br/>
17263-<br/>
17264-      For GCC:<br/>
17265-<br/>
17266-      [Note that this list is out of date. It applies to the old<br/>
17267-      name-mangling; in G++ 3.0 and higher a different name-mangling is<br/>
17268-      used. In addition, many of the bugs relating to G++ interpreting<br/>
17269-      these names as operators have been fixed.]<br/>
17270-<br/>
17271-      The full set of __* identifiers (combined from gcc/cp/lex.c and<br/>
17272-      gcc/cplus-dem.c) that are either old or new, but are definitely<br/>
17273-      recognized by the demangler, is:<br/>
17274-<br/>
17275-      __aa<br/>
17276-      __aad<br/>
17277-      __ad<br/>
17278-      __addr<br/>
17279-      __adv<br/>
17280-      __aer<br/>
17281-      __als<br/>
17282-      __alshift<br/>
17283-      __amd<br/>
17284-      __ami<br/>
17285-      __aml<br/>
17286-      __amu<br/>
17287-      __aor<br/>
17288-      __apl<br/>
17289-      __array<br/>
17290-      __ars<br/>
17291-      __arshift<br/>
17292-      __as<br/>
17293-      __bit_and<br/>
17294-      __bit_ior<br/>
17295-      __bit_not<br/>
17296-      __bit_xor<br/>
17297-      __call<br/>
17298-      __cl<br/>
17299-      __cm<br/>
17300-      __cn<br/>
17301-      __co<br/>
17302-      __component<br/>
17303-      __compound<br/>
17304-      __cond<br/>
17305-      __convert<br/>
17306-      __delete<br/>
17307-      __dl<br/>
17308-      __dv<br/>
17309-      __eq<br/>
17310-      __er<br/>
17311-      __ge<br/>
17312-      __gt<br/>
17313-      __indirect<br/>
17314-      __le<br/>
17315-      __ls<br/>
17316-      __lt<br/>
17317-      __max<br/>
17318-      __md<br/>
17319-      __method_call<br/>
17320-      __mi<br/>
17321-      __min<br/>
17322-      __minus<br/>
17323-      __ml<br/>
17324-      __mm<br/>
17325-      __mn<br/>
17326-      __mult<br/>
17327-      __mx<br/>
17328-      __ne<br/>
17329-      __negate<br/>
17330-      __new<br/>
17331-      __nop<br/>
17332-      __nt<br/>
17333-      __nw<br/>
17334-      __oo<br/>
17335-      __op<br/>
17336-      __or<br/>
17337-      __pl<br/>
17338-      __plus<br/>
17339-      __postdecrement<br/>
17340-      __postincrement<br/>
17341-      __pp<br/>
17342-      __pt<br/>
17343-      __rf<br/>
17344-      __rm<br/>
17345-      __rs<br/>
17346-      __sz<br/>
17347-      __trunc_div<br/>
17348-      __trunc_mod<br/>
17349-      __truth_andif<br/>
17350-      __truth_not<br/>
17351-      __truth_orif<br/>
17352-      __vc<br/>
17353-      __vd<br/>
17354-      __vn<br/>
17355-<br/>
17356-      SGI badnames:<br/>
17357-      __builtin_alloca<br/>
17358-      __builtin_fsqrt<br/>
17359-      __builtin_sqrt<br/>
17360-      __builtin_fabs<br/>
17361-      __builtin_dabs<br/>
17362-      __builtin_cast_f2i<br/>
17363-      __builtin_cast_i2f<br/>
17364-      __builtin_cast_d2ll<br/>
17365-      __builtin_cast_ll2d<br/>
17366-      __builtin_copy_dhi2i<br/>
17367-      __builtin_copy_i2dhi<br/>
17368-      __builtin_copy_dlo2i<br/>
17369-      __builtin_copy_i2dlo<br/>
17370-      __add_and_fetch<br/>
17371-      __sub_and_fetch<br/>
17372-      __or_and_fetch<br/>
17373-      __xor_and_fetch<br/>
17374-      __and_and_fetch<br/>
17375-      __nand_and_fetch<br/>
17376-      __mpy_and_fetch<br/>
17377-      __min_and_fetch<br/>
17378-      __max_and_fetch<br/>
17379-      __fetch_and_add<br/>
17380-      __fetch_and_sub<br/>
17381-      __fetch_and_or<br/>
17382-      __fetch_and_xor<br/>
17383-      __fetch_and_and<br/>
17384-      __fetch_and_nand<br/>
17385-      __fetch_and_mpy<br/>
17386-      __fetch_and_min<br/>
17387-      __fetch_and_max<br/>
17388-      __lock_test_and_set<br/>
17389-      __lock_release<br/>
17390-      __lock_acquire<br/>
17391-      __compare_and_swap<br/>
17392-      __synchronize<br/>
17393-      __high_multiply<br/>
17394-      __unix<br/>
17395-      __sgi<br/>
17396-      __linux__<br/>
17397-      __i386__<br/>
17398-      __i486__<br/>
17399-      __cplusplus<br/>
17400-      __embedded_cplusplus<br/>
17401-      // long double conversion members mangled as __opr<br/>
17402-      // http://gcc.gnu.org/ml/libstdc++/1999-q4/msg00060.html<br/>
17403-      __opr<br/>
17404-    </p></div></div><div class="section" title="By Example"><div class="titlepage"><div><div><h3 class="title"><a id="coding_style.example"/>By Example</h3></div></div></div><div class="literallayout"><p><br/>
17405-      This library is written to appropriate C++ coding standards. As such,<br/>
17406-      it is intended to precede the recommendations of the GNU Coding<br/>
17407-      Standard, which can be referenced in full here:<br/>
17408-<br/>
17409-      <a class="link" href="http://www.gnu.org/prep/standards/standards.html#Formatting">http://www.gnu.org/prep/standards/standards.html#Formatting</a><br/>
17410-<br/>
17411-      The rest of this is also interesting reading, but skip the "Design<br/>
17412-      Advice" part.<br/>
17413-<br/>
17414-      The GCC coding conventions are here, and are also useful:<br/>
17415-      <a class="link" href="http://gcc.gnu.org/codingconventions.html">http://gcc.gnu.org/codingconventions.html</a><br/>
17416-<br/>
17417-      In addition, because it doesn't seem to be stated explicitly anywhere<br/>
17418-      else, there is an 80 column source limit.<br/>
17419-<br/>
17420-      <code class="filename">ChangeLog</code> entries for member functions should use the<br/>
17421-      classname::member function name syntax as follows:<br/>
17422-<br/>
17423-<code class="code"><br/>
17424-1999-04-15  Dennis Ritchie  &lt;dr@att.com&gt;<br/>
17425-<br/>
17426-      * src/basic_file.cc (__basic_file::open): Fix thinko in<br/>
17427-      _G_HAVE_IO_FILE_OPEN bits.<br/>
17428-</code><br/>
17429-<br/>
17430-      Notable areas of divergence from what may be previous local practice<br/>
17431-      (particularly for GNU C) include:<br/>
17432-<br/>
17433-      01. Pointers and references<br/>
17434-      <code class="code"><br/>
17435-        char* p = "flop";<br/>
17436-        char&amp; c = *p;<br/>
17437-          -NOT-<br/>
17438-        char *p = "flop";  // wrong<br/>
17439-        char &amp;c = *p;      // wrong<br/>
17440-      </code><br/>
17441-<br/>
17442-      Reason: In C++, definitions are mixed with executable code. Here,<br/>
17443-      <code class="code">p</code> is being initialized, not <code class="code">*p</code>.  This is near-universal<br/>
17444-      practice among C++ programmers; it is normal for C hackers<br/>
17445-      to switch spontaneously as they gain experience.<br/>
17446-<br/>
17447-      02. Operator names and parentheses<br/>
17448-      <code class="code"><br/>
17449-        operator==(type)<br/>
17450-          -NOT-<br/>
17451-        operator == (type)  // wrong<br/>
17452-      </code><br/>
17453-<br/>
17454-      Reason: The <code class="code">==</code> is part of the function name. Separating<br/>
17455-      it makes the declaration look like an expression.<br/>
17456-<br/>
17457-      03. Function names and parentheses<br/>
17458-      <code class="code"><br/>
17459-        void mangle()<br/>
17460-          -NOT-<br/>
17461-        void mangle ()  // wrong<br/>
17462-      </code><br/>
17463-<br/>
17464-      Reason: no space before parentheses (except after a control-flow<br/>
17465-      keyword) is near-universal practice for C++. It identifies the<br/>
17466-      parentheses as the function-call operator or declarator, as<br/>
17467-      opposed to an expression or other overloaded use of parentheses.<br/>
17468-<br/>
17469-      04. Template function indentation<br/>
17470-      <code class="code"><br/>
17471-        template&lt;typename T&gt;<br/>
17472-          void<br/>
17473-          template_function(args)<br/>
17474-          { }<br/>
17475-          -NOT-<br/>
17476-        template&lt;class T&gt;<br/>
17477-        void template_function(args) {};<br/>
17478-      </code><br/>
17479-<br/>
17480-      Reason: In class definitions, without indentation whitespace is<br/>
17481-      needed both above and below the declaration to distinguish<br/>
17482-      it visually from other members. (Also, re: "typename"<br/>
17483-      rather than "class".)  <code class="code">T</code> often could be <code class="code">int</code>, which is<br/>
17484-      not a class. ("class", here, is an anachronism.)<br/>
17485-<br/>
17486-      05. Template class indentation<br/>
17487-      <code class="code"><br/>
17488-        template&lt;typename _CharT, typename _Traits&gt;<br/>
17489-          class basic_ios : public ios_base<br/>
17490-          {<br/>
17491-          public:<br/>
17492-            // Types:<br/>
17493-          };<br/>
17494-          -NOT-<br/>
17495-        template&lt;class _CharT, class _Traits&gt;<br/>
17496-        class basic_ios : public ios_base<br/>
17497-          {<br/>
17498-          public:<br/>
17499-            // Types:<br/>
17500-          };<br/>
17501-          -NOT-<br/>
17502-        template&lt;class _CharT, class _Traits&gt;<br/>
17503-          class basic_ios : public ios_base<br/>
17504-        {<br/>
17505-          public:<br/>
17506-            // Types:<br/>
17507-        };<br/>
17508-      </code><br/>
17509-<br/>
17510-      06. Enumerators<br/>
17511-      <code class="code"><br/>
17512-        enum<br/>
17513-        {<br/>
17514-          space = _ISspace,<br/>
17515-          print = _ISprint,<br/>
17516-          cntrl = _IScntrl<br/>
17517-        };<br/>
17518-          -NOT-<br/>
17519-        enum { space = _ISspace, print = _ISprint, cntrl = _IScntrl };<br/>
17520-      </code><br/>
17521-<br/>
17522-      07. Member initialization lists<br/>
17523-      All one line, separate from class name.<br/>
17524-<br/>
17525-      <code class="code"><br/>
17526-        gribble::gribble()<br/>
17527-        : _M_private_data(0), _M_more_stuff(0), _M_helper(0)<br/>
17528-        { }<br/>
17529-          -NOT-<br/>
17530-        gribble::gribble() : _M_private_data(0), _M_more_stuff(0), _M_helper(0)<br/>
17531-        { }<br/>
17532-      </code><br/>
17533-<br/>
17534-      08. Try/Catch blocks<br/>
17535-      <code class="code"><br/>
17536-        try<br/>
17537-          {<br/>
17538-            //<br/>
17539-          }<br/>
17540-        catch (...)<br/>
17541-          {<br/>
17542-            //<br/>
17543-          }<br/>
17544-          -NOT-<br/>
17545-        try {<br/>
17546-          //<br/>
17547-        } catch(...) {<br/>
17548-          //<br/>
17549-        }<br/>
17550-      </code><br/>
17551-<br/>
17552-      09. Member functions declarations and definitions<br/>
17553-      Keywords such as extern, static, export, explicit, inline, etc<br/>
17554-      go on the line above the function name. Thus<br/>
17555-<br/>
17556-      <code class="code"><br/>
17557-      virtual int<br/>
17558-      foo()<br/>
17559-      -NOT-<br/>
17560-      virtual int foo()<br/>
17561-      </code><br/>
17562-<br/>
17563-      Reason: GNU coding conventions dictate return types for functions<br/>
17564-      are on a separate line than the function name and parameter list<br/>
17565-      for definitions. For C++, where we have member functions that can<br/>
17566-      be either inline definitions or declarations, keeping to this<br/>
17567-      standard allows all member function names for a given class to be<br/>
17568-      aligned to the same margin, increasing readability.<br/>
17569-<br/>
17570-<br/>
17571-      10. Invocation of member functions with "this-&gt;"<br/>
17572-      For non-uglified names, use <code class="code">this-&gt;name</code> to call the function.<br/>
17573-<br/>
17574-      <code class="code"><br/>
17575-      this-&gt;sync()<br/>
17576-      -NOT-<br/>
17577-      sync()<br/>
17578-      </code><br/>
17579-<br/>
17580-      Reason: Koenig lookup.<br/>
17581-<br/>
17582-      11. Namespaces<br/>
17583-      <code class="code"><br/>
17584-      namespace std<br/>
17585-      {<br/>
17586-        blah blah blah;<br/>
17587-      } // namespace std<br/>
17588-<br/>
17589-      -NOT-<br/>
17590-<br/>
17591-      namespace std {<br/>
17592-        blah blah blah;<br/>
17593-      } // namespace std<br/>
17594-      </code><br/>
17595-<br/>
17596-      12. Spacing under protected and private in class declarations:<br/>
17597-      space above, none below<br/>
17598-      i.e.<br/>
17599-<br/>
17600-      <code class="code"><br/>
17601-      public:<br/>
17602-        int foo;<br/>
17603-<br/>
17604-      -NOT-<br/>
17605-      public:<br/>
17606-<br/>
17607-        int foo;<br/>
17608-      </code><br/>
17609-<br/>
17610-      13. Spacing WRT return statements.<br/>
17611-      no extra spacing before returns, no parenthesis<br/>
17612-      i.e.<br/>
17613-<br/>
17614-      <code class="code"><br/>
17615-      }<br/>
17616-      return __ret;<br/>
17617-<br/>
17618-      -NOT-<br/>
17619-      }<br/>
17620-<br/>
17621-      return __ret;<br/>
17622-<br/>
17623-      -NOT-<br/>
17624-<br/>
17625-      }<br/>
17626-      return (__ret);<br/>
17627-      </code><br/>
17628-<br/>
17629-<br/>
17630-      14. Location of global variables.<br/>
17631-      All global variables of class type, whether in the "user visible"<br/>
17632-      space (e.g., <code class="code">cin</code>) or the implementation namespace, must be defined<br/>
17633-      as a character array with the appropriate alignment and then later<br/>
17634-      re-initialized to the correct value.<br/>
17635-<br/>
17636-      This is due to startup issues on certain platforms, such as AIX.<br/>
17637-      For more explanation and examples, see <code class="filename">src/globals.cc</code>. All such<br/>
17638-      variables should be contained in that file, for simplicity.<br/>
17639-<br/>
17640-      15. Exception abstractions<br/>
17641-      Use the exception abstractions found in <code class="filename">functexcept.h</code>, which allow<br/>
17642-      C++ programmers to use this library with <code class="literal">-fno-exceptions</code>.  (Even if<br/>
17643-      that is rarely advisable, it's a necessary evil for backwards<br/>
17644-      compatibility.)<br/>
17645-<br/>
17646-      16. Exception error messages<br/>
17647-      All start with the name of the function where the exception is<br/>
17648-      thrown, and then (optional) descriptive text is added. Example:<br/>
17649-<br/>
17650-      <code class="code"><br/>
17651-      __throw_logic_error(__N("basic_string::_S_construct NULL not valid"));<br/>
17652-      </code><br/>
17653-<br/>
17654-      Reason: The verbose terminate handler prints out <code class="code">exception::what()</code>,<br/>
17655-      as well as the typeinfo for the thrown exception. As this is the<br/>
17656-      default terminate handler, by putting location info into the<br/>
17657-      exception string, a very useful error message is printed out for<br/>
17658-      uncaught exceptions. So useful, in fact, that non-programmers can<br/>
17659-      give useful error messages, and programmers can intelligently<br/>
17660-      speculate what went wrong without even using a debugger.<br/>
17661-<br/>
17662-      17. The doxygen style guide to comments is a separate document,<br/>
17663-      see index.<br/>
17664-<br/>
17665-      The library currently has a mixture of GNU-C and modern C++ coding<br/>
17666-      styles. The GNU C usages will be combed out gradually.<br/>
17667-<br/>
17668-      Name patterns:<br/>
17669-<br/>
17670-      For nonstandard names appearing in Standard headers, we are constrained<br/>
17671-      to use names that begin with underscores. This is called "uglification".<br/>
17672-      The convention is:<br/>
17673-<br/>
17674-      Local and argument names:  <code class="literal">__[a-z].*</code><br/>
17675-<br/>
17676-      Examples:  <code class="code">__count  __ix  __s1</code><br/>
17677-<br/>
17678-      Type names and template formal-argument names: <code class="literal">_[A-Z][^_].*</code><br/>
17679-<br/>
17680-      Examples:  <code class="code">_Helper  _CharT  _N</code><br/>
17681-<br/>
17682-      Member data and function names: <code class="literal">_M_.*</code><br/>
17683-<br/>
17684-      Examples:  <code class="code">_M_num_elements  _M_initialize ()</code><br/>
17685-<br/>
17686-      Static data members, constants, and enumerations: <code class="literal">_S_.*</code><br/>
17687-<br/>
17688-      Examples: <code class="code">_S_max_elements  _S_default_value</code><br/>
17689-<br/>
17690-      Don't use names in the same scope that differ only in the prefix,<br/>
17691-      e.g. _S_top and _M_top. See BADNAMES for a list of forbidden names.<br/>
17692-      (The most tempting of these seem to be and "_T" and "__sz".)<br/>
17693-<br/>
17694-      Names must never have "__" internally; it would confuse name<br/>
17695-      unmanglers on some targets. Also, never use "__[0-9]", same reason.<br/>
17696-<br/>
17697-      --------------------------<br/>
17698-<br/>
17699-      [BY EXAMPLE]<br/>
17700-      <code class="code"><br/>
17701-<br/>
17702-      #ifndef  _HEADER_<br/>
17703-      #define  _HEADER_ 1<br/>
17704-<br/>
17705-      namespace std<br/>
17706-      {<br/>
17707-        class gribble<br/>
17708-        {<br/>
17709-        public:<br/>
17710-          gribble() throw();<br/>
17711-<br/>
17712-          gribble(const gribble&amp;);<br/>
17713-<br/>
17714-          explicit<br/>
17715-          gribble(int __howmany);<br/>
17716-<br/>
17717-          gribble&amp;<br/>
17718-          operator=(const gribble&amp;);<br/>
17719-<br/>
17720-          virtual<br/>
17721-          ~gribble() throw ();<br/>
17722-<br/>
17723-          // Start with a capital letter, end with a period.<br/>
17724-          inline void<br/>
17725-          public_member(const char* __arg) const;<br/>
17726-<br/>
17727-          // In-class function definitions should be restricted to one-liners.<br/>
17728-          int<br/>
17729-          one_line() { return 0 }<br/>
17730-<br/>
17731-          int<br/>
17732-          two_lines(const char* arg)<br/>
17733-          { return strchr(arg, 'a'); }<br/>
17734-<br/>
17735-          inline int<br/>
17736-          three_lines();  // inline, but defined below.<br/>
17737-<br/>
17738-          // Note indentation.<br/>
17739-          template&lt;typename _Formal_argument&gt;<br/>
17740-            void<br/>
17741-            public_template() const throw();<br/>
17742-<br/>
17743-          template&lt;typename _Iterator&gt;<br/>
17744-            void<br/>
17745-            other_template();<br/>
17746-<br/>
17747-        private:<br/>
17748-          class _Helper;<br/>
17749-<br/>
17750-          int _M_private_data;<br/>
17751-          int _M_more_stuff;<br/>
17752-          _Helper* _M_helper;<br/>
17753-          int _M_private_function();<br/>
17754-<br/>
17755-          enum _Enum<br/>
17756-            {<br/>
17757-              _S_one,<br/>
17758-              _S_two<br/>
17759-            };<br/>
17760-<br/>
17761-          static void<br/>
17762-          _S_initialize_library();<br/>
17763-        };<br/>
17764-<br/>
17765-        // More-or-less-standard language features described by lack, not presence.<br/>
17766-      # ifndef _G_NO_LONGLONG<br/>
17767-        extern long long _G_global_with_a_good_long_name;  // avoid globals!<br/>
17768-      # endif<br/>
17769-<br/>
17770-        // Avoid in-class inline definitions, define separately;<br/>
17771-        // likewise for member class definitions:<br/>
17772-        inline int<br/>
17773-        gribble::public_member() const<br/>
17774-        { int __local = 0; return __local; }<br/>
17775-<br/>
17776-        class gribble::_Helper<br/>
17777-        {<br/>
17778-          int _M_stuff;<br/>
17779-<br/>
17780-          friend class gribble;<br/>
17781-        };<br/>
17782-      }<br/>
17783-<br/>
17784-      // Names beginning with "__": only for arguments and<br/>
17785-      //   local variables; never use "__" in a type name, or<br/>
17786-      //   within any name; never use "__[0-9]".<br/>
17787-<br/>
17788-      #endif /* _HEADER_ */<br/>
17789-<br/>
17790-<br/>
17791-      namespace std<br/>
17792-      {<br/>
17793-        template&lt;typename T&gt;  // notice: "typename", not "class", no space<br/>
17794-          long_return_value_type&lt;with_many, args&gt;<br/>
17795-          function_name(char* pointer,               // "char *pointer" is wrong.<br/>
17796-                        char* argument,<br/>
17797-                        const Reference&amp; ref)<br/>
17798-          {<br/>
17799-            // int a_local;  /* wrong; see below. */<br/>
17800-            if (test)<br/>
17801-            {<br/>
17802-              nested code<br/>
17803-            }<br/>
17804-<br/>
17805-            int a_local = 0;  // declare variable at first use.<br/>
17806-<br/>
17807-            //  char a, b, *p;   /* wrong */<br/>
17808-            char a = 'a';<br/>
17809-            char b = a + 1;<br/>
17810-            char* c = "abc";  // each variable goes on its own line, always.<br/>
17811-<br/>
17812-            // except maybe here...<br/>
17813-            for (unsigned i = 0, mask = 1; mask; ++i, mask &lt;&lt;= 1) {<br/>
17814-              // ...<br/>
17815-            }<br/>
17816-          }<br/>
17817-<br/>
17818-        gribble::gribble()<br/>
17819-        : _M_private_data(0), _M_more_stuff(0), _M_helper(0)<br/>
17820-        { }<br/>
17821-<br/>
17822-        int<br/>
17823-        gribble::three_lines()<br/>
17824-        {<br/>
17825-          // doesn't fit in one line.<br/>
17826-        }<br/>
17827-      } // namespace std<br/>
17828-      </code><br/>
17829-    </p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="source_organization.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_contributing.html">Up</a></td><td align="right"> <a accesskey="n" href="source_design_notes.html">Next</a></td></tr><tr><td align="left" valign="top">Directory Layout and Source Conventions </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Design Notes</td></tr></table></div></body></html>
17830+ </p><div class="literallayout"><p><br />
17831+      This is the list of names <span class="quote">“<span class="quote">reserved to the<br />
17832+      implementation</span>”</span> that have been claimed by certain<br />
17833+      compilers and system headers of interest, and should not be used<br />
17834+      in the library. It will grow, of course.  We generally are<br />
17835+      interested in names that are not all-caps, except for those like<br />
17836+      "_T"<br />
17837+<br />
17838+      For Solaris:<br />
17839+      _B<br />
17840+      _C<br />
17841+      _L<br />
17842+      _N<br />
17843+      _P<br />
17844+      _S<br />
17845+      _U<br />
17846+      _X<br />
17847+      _E1<br />
17848+      ..<br />
17849+      _E24<br />
17850+<br />
17851+      Irix adds:<br />
17852+      _A<br />
17853+      _G<br />
17854+<br />
17855+      MS adds:<br />
17856+      _T<br />
17857+<br />
17858+      BSD adds:<br />
17859+      __used<br />
17860+      __unused<br />
17861+      __inline<br />
17862+      _Complex<br />
17863+      __istype<br />
17864+      __maskrune<br />
17865+      __tolower<br />
17866+      __toupper<br />
17867+      __wchar_t<br />
17868+      __wint_t<br />
17869+      _res<br />
17870+      _res_ext<br />
17871+      __tg_*<br />
17872+<br />
17873+      SPU adds:<br />
17874+      __ea<br />
17875+<br />
17876+      For GCC:<br />
17877+<br />
17878+      [Note that this list is out of date. It applies to the old<br />
17879+      name-mangling; in G++ 3.0 and higher a different name-mangling is<br />
17880+      used. In addition, many of the bugs relating to G++ interpreting<br />
17881+      these names as operators have been fixed.]<br />
17882+<br />
17883+      The full set of __* identifiers (combined from gcc/cp/lex.c and<br />
17884+      gcc/cplus-dem.c) that are either old or new, but are definitely<br />
17885+      recognized by the demangler, is:<br />
17886+<br />
17887+      __aa<br />
17888+      __aad<br />
17889+      __ad<br />
17890+      __addr<br />
17891+      __adv<br />
17892+      __aer<br />
17893+      __als<br />
17894+      __alshift<br />
17895+      __amd<br />
17896+      __ami<br />
17897+      __aml<br />
17898+      __amu<br />
17899+      __aor<br />
17900+      __apl<br />
17901+      __array<br />
17902+      __ars<br />
17903+      __arshift<br />
17904+      __as<br />
17905+      __bit_and<br />
17906+      __bit_ior<br />
17907+      __bit_not<br />
17908+      __bit_xor<br />
17909+      __call<br />
17910+      __cl<br />
17911+      __cm<br />
17912+      __cn<br />
17913+      __co<br />
17914+      __component<br />
17915+      __compound<br />
17916+      __cond<br />
17917+      __convert<br />
17918+      __delete<br />
17919+      __dl<br />
17920+      __dv<br />
17921+      __eq<br />
17922+      __er<br />
17923+      __ge<br />
17924+      __gt<br />
17925+      __indirect<br />
17926+      __le<br />
17927+      __ls<br />
17928+      __lt<br />
17929+      __max<br />
17930+      __md<br />
17931+      __method_call<br />
17932+      __mi<br />
17933+      __min<br />
17934+      __minus<br />
17935+      __ml<br />
17936+      __mm<br />
17937+      __mn<br />
17938+      __mult<br />
17939+      __mx<br />
17940+      __ne<br />
17941+      __negate<br />
17942+      __new<br />
17943+      __nop<br />
17944+      __nt<br />
17945+      __nw<br />
17946+      __oo<br />
17947+      __op<br />
17948+      __or<br />
17949+      __pl<br />
17950+      __plus<br />
17951+      __postdecrement<br />
17952+      __postincrement<br />
17953+      __pp<br />
17954+      __pt<br />
17955+      __rf<br />
17956+      __rm<br />
17957+      __rs<br />
17958+      __sz<br />
17959+      __trunc_div<br />
17960+      __trunc_mod<br />
17961+      __truth_andif<br />
17962+      __truth_not<br />
17963+      __truth_orif<br />
17964+      __vc<br />
17965+      __vd<br />
17966+      __vn<br />
17967+<br />
17968+      SGI badnames:<br />
17969+      __builtin_alloca<br />
17970+      __builtin_fsqrt<br />
17971+      __builtin_sqrt<br />
17972+      __builtin_fabs<br />
17973+      __builtin_dabs<br />
17974+      __builtin_cast_f2i<br />
17975+      __builtin_cast_i2f<br />
17976+      __builtin_cast_d2ll<br />
17977+      __builtin_cast_ll2d<br />
17978+      __builtin_copy_dhi2i<br />
17979+      __builtin_copy_i2dhi<br />
17980+      __builtin_copy_dlo2i<br />
17981+      __builtin_copy_i2dlo<br />
17982+      __add_and_fetch<br />
17983+      __sub_and_fetch<br />
17984+      __or_and_fetch<br />
17985+      __xor_and_fetch<br />
17986+      __and_and_fetch<br />
17987+      __nand_and_fetch<br />
17988+      __mpy_and_fetch<br />
17989+      __min_and_fetch<br />
17990+      __max_and_fetch<br />
17991+      __fetch_and_add<br />
17992+      __fetch_and_sub<br />
17993+      __fetch_and_or<br />
17994+      __fetch_and_xor<br />
17995+      __fetch_and_and<br />
17996+      __fetch_and_nand<br />
17997+      __fetch_and_mpy<br />
17998+      __fetch_and_min<br />
17999+      __fetch_and_max<br />
18000+      __lock_test_and_set<br />
18001+      __lock_release<br />
18002+      __lock_acquire<br />
18003+      __compare_and_swap<br />
18004+      __synchronize<br />
18005+      __high_multiply<br />
18006+      __unix<br />
18007+      __sgi<br />
18008+      __linux__<br />
18009+      __i386__<br />
18010+      __i486__<br />
18011+      __cplusplus<br />
18012+      __embedded_cplusplus<br />
18013+      // long double conversion members mangled as __opr<br />
18014+      // http://gcc.gnu.org/ml/libstdc++/1999-q4/msg00060.html<br />
18015+      __opr<br />
18016+    </p></div></div><div class="section" title="By Example"><div class="titlepage"><div><div><h3 class="title"><a id="coding_style.example"></a>By Example</h3></div></div></div><div class="literallayout"><p><br />
18017+      This library is written to appropriate C++ coding standards. As such,<br />
18018+      it is intended to precede the recommendations of the GNU Coding<br />
18019+      Standard, which can be referenced in full here:<br />
18020+<br />
18021+      <a class="link" href="http://www.gnu.org/prep/standards/standards.html#Formatting" target="_top">http://www.gnu.org/prep/standards/standards.html#Formatting</a><br />
18022+<br />
18023+      The rest of this is also interesting reading, but skip the "Design<br />
18024+      Advice" part.<br />
18025+<br />
18026+      The GCC coding conventions are here, and are also useful:<br />
18027+      <a class="link" href="http://gcc.gnu.org/codingconventions.html" target="_top">http://gcc.gnu.org/codingconventions.html</a><br />
18028+<br />
18029+      In addition, because it doesn't seem to be stated explicitly anywhere<br />
18030+      else, there is an 80 column source limit.<br />
18031+<br />
18032+      <code class="filename">ChangeLog</code> entries for member functions should use the<br />
18033+      classname::member function name syntax as follows:<br />
18034+<br />
18035+<code class="code"><br />
18036+1999-04-15  Dennis Ritchie  &lt;dr@att.com&gt;<br />
18037+<br />
18038+      * src/basic_file.cc (__basic_file::open): Fix thinko in<br />
18039+      _G_HAVE_IO_FILE_OPEN bits.<br />
18040+</code><br />
18041+<br />
18042+      Notable areas of divergence from what may be previous local practice<br />
18043+      (particularly for GNU C) include:<br />
18044+<br />
18045+      01. Pointers and references<br />
18046+      <code class="code"><br />
18047+        char* p = "flop";<br />
18048+        char&amp; c = *p;<br />
18049+          -NOT-<br />
18050+        char *p = "flop";  // wrong<br />
18051+        char &amp;c = *p;      // wrong<br />
18052+      </code><br />
18053+<br />
18054+      Reason: In C++, definitions are mixed with executable code. Here,<br />
18055+      <code class="code">p</code> is being initialized, not <code class="code">*p</code>.  This is near-universal<br />
18056+      practice among C++ programmers; it is normal for C hackers<br />
18057+      to switch spontaneously as they gain experience.<br />
18058+<br />
18059+      02. Operator names and parentheses<br />
18060+      <code class="code"><br />
18061+        operator==(type)<br />
18062+          -NOT-<br />
18063+        operator == (type)  // wrong<br />
18064+      </code><br />
18065+<br />
18066+      Reason: The <code class="code">==</code> is part of the function name. Separating<br />
18067+      it makes the declaration look like an expression.<br />
18068+<br />
18069+      03. Function names and parentheses<br />
18070+      <code class="code"><br />
18071+        void mangle()<br />
18072+          -NOT-<br />
18073+        void mangle ()  // wrong<br />
18074+      </code><br />
18075+<br />
18076+      Reason: no space before parentheses (except after a control-flow<br />
18077+      keyword) is near-universal practice for C++. It identifies the<br />
18078+      parentheses as the function-call operator or declarator, as<br />
18079+      opposed to an expression or other overloaded use of parentheses.<br />
18080+<br />
18081+      04. Template function indentation<br />
18082+      <code class="code"><br />
18083+        template&lt;typename T&gt;<br />
18084+          void<br />
18085+          template_function(args)<br />
18086+          { }<br />
18087+          -NOT-<br />
18088+        template&lt;class T&gt;<br />
18089+        void template_function(args) {};<br />
18090+      </code><br />
18091+<br />
18092+      Reason: In class definitions, without indentation whitespace is<br />
18093+      needed both above and below the declaration to distinguish<br />
18094+      it visually from other members. (Also, re: "typename"<br />
18095+      rather than "class".)  <code class="code">T</code> often could be <code class="code">int</code>, which is<br />
18096+      not a class. ("class", here, is an anachronism.)<br />
18097+<br />
18098+      05. Template class indentation<br />
18099+      <code class="code"><br />
18100+        template&lt;typename _CharT, typename _Traits&gt;<br />
18101+          class basic_ios : public ios_base<br />
18102+          {<br />
18103+          public:<br />
18104+            // Types:<br />
18105+          };<br />
18106+          -NOT-<br />
18107+        template&lt;class _CharT, class _Traits&gt;<br />
18108+        class basic_ios : public ios_base<br />
18109+          {<br />
18110+          public:<br />
18111+            // Types:<br />
18112+          };<br />
18113+          -NOT-<br />
18114+        template&lt;class _CharT, class _Traits&gt;<br />
18115+          class basic_ios : public ios_base<br />
18116+        {<br />
18117+          public:<br />
18118+            // Types:<br />
18119+        };<br />
18120+      </code><br />
18121+<br />
18122+      06. Enumerators<br />
18123+      <code class="code"><br />
18124+        enum<br />
18125+        {<br />
18126+          space = _ISspace,<br />
18127+          print = _ISprint,<br />
18128+          cntrl = _IScntrl<br />
18129+        };<br />
18130+          -NOT-<br />
18131+        enum { space = _ISspace, print = _ISprint, cntrl = _IScntrl };<br />
18132+      </code><br />
18133+<br />
18134+      07. Member initialization lists<br />
18135+      All one line, separate from class name.<br />
18136+<br />
18137+      <code class="code"><br />
18138+        gribble::gribble()<br />
18139+        : _M_private_data(0), _M_more_stuff(0), _M_helper(0)<br />
18140+        { }<br />
18141+          -NOT-<br />
18142+        gribble::gribble() : _M_private_data(0), _M_more_stuff(0), _M_helper(0)<br />
18143+        { }<br />
18144+      </code><br />
18145+<br />
18146+      08. Try/Catch blocks<br />
18147+      <code class="code"><br />
18148+        try<br />
18149+          {<br />
18150+            //<br />
18151+          }<br />
18152+        catch (...)<br />
18153+          {<br />
18154+            //<br />
18155+          }<br />
18156+          -NOT-<br />
18157+        try {<br />
18158+          //<br />
18159+        } catch(...) {<br />
18160+          //<br />
18161+        }<br />
18162+      </code><br />
18163+<br />
18164+      09. Member functions declarations and definitions<br />
18165+      Keywords such as extern, static, export, explicit, inline, etc<br />
18166+      go on the line above the function name. Thus<br />
18167+<br />
18168+      <code class="code"><br />
18169+      virtual int<br />
18170+      foo()<br />
18171+      -NOT-<br />
18172+      virtual int foo()<br />
18173+      </code><br />
18174+<br />
18175+      Reason: GNU coding conventions dictate return types for functions<br />
18176+      are on a separate line than the function name and parameter list<br />
18177+      for definitions. For C++, where we have member functions that can<br />
18178+      be either inline definitions or declarations, keeping to this<br />
18179+      standard allows all member function names for a given class to be<br />
18180+      aligned to the same margin, increasing readability.<br />
18181+<br />
18182+<br />
18183+      10. Invocation of member functions with "this-&gt;"<br />
18184+      For non-uglified names, use <code class="code">this-&gt;name</code> to call the function.<br />
18185+<br />
18186+      <code class="code"><br />
18187+      this-&gt;sync()<br />
18188+      -NOT-<br />
18189+      sync()<br />
18190+      </code><br />
18191+<br />
18192+      Reason: Koenig lookup.<br />
18193+<br />
18194+      11. Namespaces<br />
18195+      <code class="code"><br />
18196+      namespace std<br />
18197+      {<br />
18198+        blah blah blah;<br />
18199+      } // namespace std<br />
18200+<br />
18201+      -NOT-<br />
18202+<br />
18203+      namespace std {<br />
18204+        blah blah blah;<br />
18205+      } // namespace std<br />
18206+      </code><br />
18207+<br />
18208+      12. Spacing under protected and private in class declarations:<br />
18209+      space above, none below<br />
18210+      i.e.<br />
18211+<br />
18212+      <code class="code"><br />
18213+      public:<br />
18214+        int foo;<br />
18215+<br />
18216+      -NOT-<br />
18217+      public:<br />
18218+<br />
18219+        int foo;<br />
18220+      </code><br />
18221+<br />
18222+      13. Spacing WRT return statements.<br />
18223+      no extra spacing before returns, no parenthesis<br />
18224+      i.e.<br />
18225+<br />
18226+      <code class="code"><br />
18227+      }<br />
18228+      return __ret;<br />
18229+<br />
18230+      -NOT-<br />
18231+      }<br />
18232+<br />
18233+      return __ret;<br />
18234+<br />
18235+      -NOT-<br />
18236+<br />
18237+      }<br />
18238+      return (__ret);<br />
18239+      </code><br />
18240+<br />
18241+<br />
18242+      14. Location of global variables.<br />
18243+      All global variables of class type, whether in the "user visible"<br />
18244+      space (e.g., <code class="code">cin</code>) or the implementation namespace, must be defined<br />
18245+      as a character array with the appropriate alignment and then later<br />
18246+      re-initialized to the correct value.<br />
18247+<br />
18248+      This is due to startup issues on certain platforms, such as AIX.<br />
18249+      For more explanation and examples, see <code class="filename">src/globals.cc</code>. All such<br />
18250+      variables should be contained in that file, for simplicity.<br />
18251+<br />
18252+      15. Exception abstractions<br />
18253+      Use the exception abstractions found in <code class="filename">functexcept.h</code>, which allow<br />
18254+      C++ programmers to use this library with <code class="literal">-fno-exceptions</code>.  (Even if<br />
18255+      that is rarely advisable, it's a necessary evil for backwards<br />
18256+      compatibility.)<br />
18257+<br />
18258+      16. Exception error messages<br />
18259+      All start with the name of the function where the exception is<br />
18260+      thrown, and then (optional) descriptive text is added. Example:<br />
18261+<br />
18262+      <code class="code"><br />
18263+      __throw_logic_error(__N("basic_string::_S_construct NULL not valid"));<br />
18264+      </code><br />
18265+<br />
18266+      Reason: The verbose terminate handler prints out <code class="code">exception::what()</code>,<br />
18267+      as well as the typeinfo for the thrown exception. As this is the<br />
18268+      default terminate handler, by putting location info into the<br />
18269+      exception string, a very useful error message is printed out for<br />
18270+      uncaught exceptions. So useful, in fact, that non-programmers can<br />
18271+      give useful error messages, and programmers can intelligently<br />
18272+      speculate what went wrong without even using a debugger.<br />
18273+<br />
18274+      17. The doxygen style guide to comments is a separate document,<br />
18275+      see index.<br />
18276+<br />
18277+      The library currently has a mixture of GNU-C and modern C++ coding<br />
18278+      styles. The GNU C usages will be combed out gradually.<br />
18279+<br />
18280+      Name patterns:<br />
18281+<br />
18282+      For nonstandard names appearing in Standard headers, we are constrained<br />
18283+      to use names that begin with underscores. This is called "uglification".<br />
18284+      The convention is:<br />
18285+<br />
18286+      Local and argument names:  <code class="literal">__[a-z].*</code><br />
18287+<br />
18288+      Examples:  <code class="code">__count  __ix  __s1</code><br />
18289+<br />
18290+      Type names and template formal-argument names: <code class="literal">_[A-Z][^_].*</code><br />
18291+<br />
18292+      Examples:  <code class="code">_Helper  _CharT  _N</code><br />
18293+<br />
18294+      Member data and function names: <code class="literal">_M_.*</code><br />
18295+<br />
18296+      Examples:  <code class="code">_M_num_elements  _M_initialize ()</code><br />
18297+<br />
18298+      Static data members, constants, and enumerations: <code class="literal">_S_.*</code><br />
18299+<br />
18300+      Examples: <code class="code">_S_max_elements  _S_default_value</code><br />
18301+<br />
18302+      Don't use names in the same scope that differ only in the prefix,<br />
18303+      e.g. _S_top and _M_top. See BADNAMES for a list of forbidden names.<br />
18304+      (The most tempting of these seem to be and "_T" and "__sz".)<br />
18305+<br />
18306+      Names must never have "__" internally; it would confuse name<br />
18307+      unmanglers on some targets. Also, never use "__[0-9]", same reason.<br />
18308+<br />
18309+      --------------------------<br />
18310+<br />
18311+      [BY EXAMPLE]<br />
18312+      <code class="code"><br />
18313+<br />
18314+      #ifndef  _HEADER_<br />
18315+      #define  _HEADER_ 1<br />
18316+<br />
18317+      namespace std<br />
18318+      {<br />
18319+        class gribble<br />
18320+        {<br />
18321+        public:<br />
18322+          gribble() throw();<br />
18323+<br />
18324+          gribble(const gribble&amp;);<br />
18325+<br />
18326+          explicit<br />
18327+          gribble(int __howmany);<br />
18328+<br />
18329+          gribble&amp;<br />
18330+          operator=(const gribble&amp;);<br />
18331+<br />
18332+          virtual<br />
18333+          ~gribble() throw ();<br />
18334+<br />
18335+          // Start with a capital letter, end with a period.<br />
18336+          inline void<br />
18337+          public_member(const char* __arg) const;<br />
18338+<br />
18339+          // In-class function definitions should be restricted to one-liners.<br />
18340+          int<br />
18341+          one_line() { return 0 }<br />
18342+<br />
18343+          int<br />
18344+          two_lines(const char* arg)<br />
18345+          { return strchr(arg, 'a'); }<br />
18346+<br />
18347+          inline int<br />
18348+          three_lines();  // inline, but defined below.<br />
18349+<br />
18350+          // Note indentation.<br />
18351+          template&lt;typename _Formal_argument&gt;<br />
18352+            void<br />
18353+            public_template() const throw();<br />
18354+<br />
18355+          template&lt;typename _Iterator&gt;<br />
18356+            void<br />
18357+            other_template();<br />
18358+<br />
18359+        private:<br />
18360+          class _Helper;<br />
18361+<br />
18362+          int _M_private_data;<br />
18363+          int _M_more_stuff;<br />
18364+          _Helper* _M_helper;<br />
18365+          int _M_private_function();<br />
18366+<br />
18367+          enum _Enum<br />
18368+            {<br />
18369+              _S_one,<br />
18370+              _S_two<br />
18371+            };<br />
18372+<br />
18373+          static void<br />
18374+          _S_initialize_library();<br />
18375+        };<br />
18376+<br />
18377+        // More-or-less-standard language features described by lack, not presence.<br />
18378+      # ifndef _G_NO_LONGLONG<br />
18379+        extern long long _G_global_with_a_good_long_name;  // avoid globals!<br />
18380+      # endif<br />
18381+<br />
18382+        // Avoid in-class inline definitions, define separately;<br />
18383+        // likewise for member class definitions:<br />
18384+        inline int<br />
18385+        gribble::public_member() const<br />
18386+        { int __local = 0; return __local; }<br />
18387+<br />
18388+        class gribble::_Helper<br />
18389+        {<br />
18390+          int _M_stuff;<br />
18391+<br />
18392+          friend class gribble;<br />
18393+        };<br />
18394+      }<br />
18395+<br />
18396+      // Names beginning with "__": only for arguments and<br />
18397+      //   local variables; never use "__" in a type name, or<br />
18398+      //   within any name; never use "__[0-9]".<br />
18399+<br />
18400+      #endif /* _HEADER_ */<br />
18401+<br />
18402+<br />
18403+      namespace std<br />
18404+      {<br />
18405+        template&lt;typename T&gt;  // notice: "typename", not "class", no space<br />
18406+          long_return_value_type&lt;with_many, args&gt;<br />
18407+          function_name(char* pointer,               // "char *pointer" is wrong.<br />
18408+                        char* argument,<br />
18409+                        const Reference&amp; ref)<br />
18410+          {<br />
18411+            // int a_local;  /* wrong; see below. */<br />
18412+            if (test)<br />
18413+            {<br />
18414+              nested code<br />
18415+            }<br />
18416+<br />
18417+            int a_local = 0;  // declare variable at first use.<br />
18418+<br />
18419+            //  char a, b, *p;   /* wrong */<br />
18420+            char a = 'a';<br />
18421+            char b = a + 1;<br />
18422+            char* c = "abc";  // each variable goes on its own line, always.<br />
18423+<br />
18424+            // except maybe here...<br />
18425+            for (unsigned i = 0, mask = 1; mask; ++i, mask &lt;&lt;= 1) {<br />
18426+              // ...<br />
18427+            }<br />
18428+          }<br />
18429+<br />
18430+        gribble::gribble()<br />
18431+        : _M_private_data(0), _M_more_stuff(0), _M_helper(0)<br />
18432+        { }<br />
18433+<br />
18434+        int<br />
18435+        gribble::three_lines()<br />
18436+        {<br />
18437+          // doesn't fit in one line.<br />
18438+        }<br />
18439+      } // namespace std<br />
18440+      </code><br />
18441+    </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="source_organization.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_contributing.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="source_design_notes.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Directory Layout and Source Conventions </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design Notes</td></tr></table></div></body></html>
18442Index: libstdc++-v3/doc/html/manual/streambufs.html
18443===================================================================
9f95000d
AM
18444--- libstdc++-v3/doc/html/manual/streambufs.html (.../tags/gcc_4_7_2_release) (wersja 192468)
18445+++ libstdc++-v3/doc/html/manual/streambufs.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
18446@@ -1,15 +1,15 @@
18447 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
18448-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
18449-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Stream Buffers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="io.html" title="Chapter 13.  Input and Output"/><link rel="prev" href="io.html" title="Chapter 13.  Input and Output"/><link rel="next" href="stringstreams.html" title="Memory Based Streams"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Stream Buffers</th></tr><tr><td align="left"><a accesskey="p" href="io.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
18450+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
18451+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Stream Buffers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="io.html" title="Chapter 13.  Input and Output" /><link rel="next" href="stringstreams.html" title="Memory Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Stream Buffers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
18452 Input and Output
18453
18454-</th><td align="right"> <a accesskey="n" href="stringstreams.html">Next</a></td></tr></table><hr/></div><div class="section" title="Stream Buffers"><div class="titlepage"><div><div><h2 class="title"><a id="std.io.streambufs"/>Stream Buffers</h2></div></div></div><div class="section" title="Derived streambuf Classes"><div class="titlepage"><div><div><h3 class="title"><a id="io.streambuf.derived"/>Derived streambuf Classes</h3></div></div></div><p>
18455+</th><td width="20%" align="right"> <a accesskey="n" href="stringstreams.html">Next</a></td></tr></table><hr /></div><div class="section" title="Stream Buffers"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.streambufs"></a>Stream Buffers</h2></div></div></div><div class="section" title="Derived streambuf Classes"><div class="titlepage"><div><div><h3 class="title"><a id="io.streambuf.derived"></a>Derived streambuf Classes</h3></div></div></div><p>
18456 </p><p>Creating your own stream buffers for I/O can be remarkably easy.
18457 If you are interested in doing so, we highly recommend two very
18458 excellent books:
18459- <a class="link" href="http://www.angelikalanger.com/iostreams.html">Standard C++
18460+ <a class="link" href="http://www.angelikalanger.com/iostreams.html" target="_top">Standard C++
18461 IOStreams and Locales</a> by Langer and Kreft, ISBN 0-201-18395-1, and
18462- <a class="link" href="http://www.josuttis.com/libbook/">The C++ Standard Library</a>
18463+ <a class="link" href="http://www.josuttis.com/libbook/" target="_top">The C++ Standard Library</a>
18464 by Nicolai Josuttis, ISBN 0-201-37926-0. Both are published by
18465 Addison-Wesley, who isn't paying us a cent for saying that, honest.
18466 </p><p>Here is a simple example, io/outbuf1, from the Josuttis text. It
18467@@ -55,9 +55,9 @@
18468 }
18469 </pre><p>Try it yourself! More examples can be found in 3.1.x code, in
18470 <code class="code">include/ext/*_filebuf.h</code>, and in this article by James Kanze:
18471- <a class="link" href="http://kanze.james.neuf.fr/articles/fltrsbf1.html">Filtering
18472+ <a class="link" href="http://kanze.james.neuf.fr/articles/fltrsbf1.html" target="_top">Filtering
18473 Streambufs</a>.
18474- </p></div><div class="section" title="Buffering"><div class="titlepage"><div><div><h3 class="title"><a id="io.streambuf.buffering"/>Buffering</h3></div></div></div><p>First, are you sure that you understand buffering? Particularly
18475+ </p></div><div class="section" title="Buffering"><div class="titlepage"><div><div><h3 class="title"><a id="io.streambuf.buffering"></a>Buffering</h3></div></div></div><p>First, are you sure that you understand buffering? Particularly
18476 the fact that C++ may not, in fact, have anything to do with it?
18477 </p><p>The rules for buffering can be a little odd, but they aren't any
18478 different from those of C. (Maybe that's why they can be a bit
18479@@ -131,7 +131,7 @@
18480 just those at the language/library level. Kernel buffers, disk
18481 buffers, and the like will also have an effect. Inspecting and
18482 changing those are system-dependent.
18483- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="io.html">Prev</a> </td><td align="center"><a accesskey="u" href="io.html">Up</a></td><td align="right"> <a accesskey="n" href="stringstreams.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 13. 
18484+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="io.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="io.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="stringstreams.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 13. 
18485 Input and Output
18486
18487- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Memory Based Streams</td></tr></table></div></body></html>
18488+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Memory Based Streams</td></tr></table></div></body></html>
18489Index: libstdc++-v3/doc/html/manual/utilities.html
18490===================================================================
9f95000d
AM
18491--- libstdc++-v3/doc/html/manual/utilities.html (.../tags/gcc_4_7_2_release) (wersja 192468)
18492+++ libstdc++-v3/doc/html/manual/utilities.html (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
18493@@ -1,17 +1,17 @@
18494 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
18495-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
18496-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 6.  Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="bk01pt02ch05s02.html" title="Concept Checking"/><link rel="next" href="pairs.html" title="Pairs"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 6. 
18497+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
18498+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 6.  Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; runtime&#10; , &#10; library&#10; " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="bk01pt02ch05s02.html" title="Concept Checking" /><link rel="next" href="pairs.html" title="Pairs" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 6. 
18499 Utilities
18500
18501-</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt02ch05s02.html">Prev</a> </td><th width="60%" align="center">Part II. 
18502+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt02ch05s02.html">Prev</a> </td><th width="60%" align="center">Part II. 
18503 Standard Contents
18504- </th><td align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 6.  Utilities"><div class="titlepage"><div><div><h2 class="title"><a id="std.util"/>Chapter 6. 
18505+ </th><td width="20%" align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 6.  Utilities"><div class="titlepage"><div><div><h2 class="title"><a id="std.util"></a>Chapter 6. 
18506 Utilities
18507- <a id="id484854" class="indexterm"/>
18508-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id485345">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#id485374">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#id485485">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id486484">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#id486672">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#id486733">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#id486854">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id499306">Examples</a></span></dt><dt><span class="section"><a href="memory.html#id499336">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></div><div class="section" title="Functors"><div class="titlepage"><div><div><h2 class="title"><a id="std.util.functors"/>Functors</h2></div></div></div><p>If you don't know what functors are, you're not alone. Many people
18509+ <a id="id663342" class="indexterm"></a>
18510+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id663833">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#id663862">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#id663973">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id664972">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#id665160">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#id665221">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#id665342">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id677792">Examples</a></span></dt><dt><span class="section"><a href="memory.html#id677822">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></div><div class="section" title="Functors"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.functors"></a>Functors</h2></div></div></div><p>If you don't know what functors are, you're not alone. Many people
18511 get slightly the wrong idea. In the interest of not reinventing
18512 the wheel, we will refer you to the introduction to the functor
18513 concept written by SGI as part of their STL, in
18514- <a class="link" href="http://www.sgi.com/tech/stl/functors.html">their
18515+ <a class="link" href="http://www.sgi.com/tech/stl/functors.html" target="_top">their
18516 http://www.sgi.com/tech/stl/functors.html</a>.
18517- </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt02ch05s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr><tr><td align="left" valign="top">Concept Checking </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Pairs</td></tr></table></div></body></html>
18518+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt02ch05s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Concept Checking </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Pairs</td></tr></table></div></body></html>
18519Index: libstdc++-v3/doc/xsl/customization.xsl.in
18520===================================================================
9f95000d
AM
18521--- libstdc++-v3/doc/xsl/customization.xsl.in (.../tags/gcc_4_7_2_release) (wersja 0)
18522+++ libstdc++-v3/doc/xsl/customization.xsl.in (.../branches/gcc-4_7-branch) (wersja 192468)
18523@@ -0,0 +1,16 @@
18524+<?xml version='1.0'?>
18525+
18526+<!--
18527+ Specialization/customization layer for libstdc++.
18528+ To output both chunked/single page HTML in UTF-8 charset
18529+
18530+ XSL_STYLE_DIR is set in acinclude.m4
18531+
18532+<xsl:import html="@XSL_STYLE_DIR@/html/docbook.xsl"/>
18533+-->
18534+
18535+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
18536+ version="1.0">
18537+<xsl:import href="@XSL_STYLE_DIR@/html/docbook.xsl"/>
18538+<xsl:output method="html" encoding="UTF-8" indent="no"/>
18539+</xsl:stylesheet>
5a87b929
AM
18540
18541Zmiany atrybutów dla: libstdc++-v3/doc/xsl/customization.xsl.in
18542___________________________________________________________________
18543Added: svn:mime-type
18544## -0,0 +1 ##
18545+application/xml
18546\ No newline at end of property
18547Index: libstdc++-v3/doc/Makefile.am
18548===================================================================
9f95000d
AM
18549--- libstdc++-v3/doc/Makefile.am (.../tags/gcc_4_7_2_release) (wersja 192468)
18550+++ libstdc++-v3/doc/Makefile.am (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
18551@@ -465,9 +465,10 @@
18552 #XSL_STYLE_DIR = /usr/share/xml/docbook/stylesheet/docbook-xsl-ns
18553 #XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-ns-stylesheets
18554 XSL_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl
18555-XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml-1_1/chunk.xsl
18556-XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml-1_1/docbook.xsl
18557+XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml/chunk.xsl
18558+XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/html/docbook.xsl
18559 XSL_EPUB_STYLE = $(XSL_STYLE_DIR)/epub3/chunk.xsl
18560+XSL_LOCAL_STYLE = ${glibcxx_builddir}/doc/xsl/customization.xsl
18561
18562 ${docbook_outdir}/epub:
18563 mkdir -p ${docbook_outdir}/epub
18564@@ -529,21 +530,25 @@
18565 stamp-html-docbook-data: stamp-html-docbook-images stamp-html-docbook-lwg
18566 $(STAMP) stamp-html-docbook-data
18567
18568-# HTML, index plus chapters
18569+# HTML, "chunked" into index plus chapters as separate pages
18570 stamp-html-docbook: $(xml_sources) ${docbook_outdir}/html
18571 @echo "Generating html files..."
18572 $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${docbook_outdir}/html/ \
18573- $(XSL_HTML_STYLE) ${top_srcdir}/doc/xml/spine.xml
18574+ --stringparam chunker.output.encoding UTF-8 \
18575+ $(XSL_HTML_STYLE) \
18576+ ${top_srcdir}/doc/xml/spine.xml
18577 $(STAMP) stamp-html-docbook
18578
18579 doc-html-docbook: stamp-html-docbook-data
18580
18581 # HTML, all one page
18582+# NB: Have to generate customization XSL for UTF-8 output.
18583 manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html
18584 stamp-html-single-docbook: $(xml_sources) ${docbook_outdir}/html
18585 @echo "Generating html single file..."
18586 $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${manual_html} \
18587- $(XSL_HTML_SINGLE_STYLE) ${top_srcdir}/doc/xml/spine.xml
18588+ ${XSL_LOCAL_STYLE} \
18589+ ${top_srcdir}/doc/xml/spine.xml
18590 $(STAMP) stamp-html-single-docbook
18591
18592 doc-html-single-docbook: stamp-html-single-docbook
18593Index: libstdc++-v3/include/bits/atomic_base.h
18594===================================================================
9f95000d
AM
18595--- libstdc++-v3/include/bits/atomic_base.h (.../tags/gcc_4_7_2_release) (wersja 192468)
18596+++ libstdc++-v3/include/bits/atomic_base.h (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
18597@@ -73,7 +73,7 @@
18598
18599 inline void
18600 atomic_signal_fence(memory_order __m) noexcept
18601- { __atomic_thread_fence(__m); }
18602+ { __atomic_signal_fence(__m); }
18603
18604 /// kill_dependency
18605 template<typename _Tp>
18606Index: libstdc++-v3/ChangeLog
18607===================================================================
9f95000d
AM
18608--- libstdc++-v3/ChangeLog (.../tags/gcc_4_7_2_release) (wersja 192468)
18609+++ libstdc++-v3/ChangeLog (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
18610@@ -1,3 +1,31 @@
18611+2012-10-10 Andrew MacLeod <amacleod@redhat.com>
18612+
18613+ PR libstdc++/54861
18614+ * include/bits/atomic_base.h (atomic_signal_fence): Call
18615+ __atomic_signal_fence instead of __atomic_thread_fence.
18616+
18617+2012-09-20 Benjamin Kosnik <bkoz@redhat.com>
18618+
18619+ PR libstdc++/54102, part 2
18620+ * doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
18621+ * doc/Makefile.in: Regenerate.
18622+ * doc/html/*: Same.
18623+
18624+2012-09-20 Benjamin Kosnik <bkoz@redhat.com>
18625+
18626+ * doc/html/*: Regenerate.
18627+
18628+2012-09-20 Benjamin Kosnik <bkoz@redhat.com>
18629+
18630+ PR libstdc++/54102
18631+ * doc/xsl/customization.xsl.in: New.
18632+ * configure.ac: Output local copy of customization xsl.
18633+ * doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.
18634+ (stamp-html-docbook): Set stringparam to UTF-8.
18635+ * Makefile.in: Regenerated.
18636+ * configure: Same.
18637+ * doc/Makefile.in: Same.
18638+
18639 2012-09-20 Release Manager
18640
18641 * GCC 4.7.2 released.
18642Index: boehm-gc/Makefile.in
18643===================================================================
9f95000d
AM
18644--- boehm-gc/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
18645+++ boehm-gc/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
18646@@ -36,13 +36,10 @@
18647 host_triplet = @host@
18648 target_triplet = @target@
18649 subdir = .
18650-DIST_COMMON = $(am__configure_deps) $(srcdir)/../compile \
18651- $(srcdir)/../config.guess $(srcdir)/../config.sub \
18652- $(srcdir)/../depcomp $(srcdir)/../install-sh \
18653- $(srcdir)/../ltmain.sh $(srcdir)/../missing \
18654- $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
18655- $(srcdir)/Makefile.in $(srcdir)/threads.mk.in \
18656- $(top_srcdir)/configure ChangeLog depcomp
18657+DIST_COMMON = ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
18658+ $(top_srcdir)/configure $(am__configure_deps) \
18659+ $(srcdir)/../mkinstalldirs $(srcdir)/threads.mk.in \
18660+ $(srcdir)/../depcomp
18661 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
18662 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
18663 $(top_srcdir)/../config/depstand.m4 \
18664@@ -63,14 +60,6 @@
18665 CONFIG_CLEAN_VPATH_FILES =
18666 LTLIBRARIES = $(noinst_LTLIBRARIES)
18667 am__DEPENDENCIES_1 =
18668-am__libgcjgc_la_SOURCES_DIST = allchblk.c alloc.c blacklst.c \
18669- checksums.c dbg_mlc.c dyn_load.c finalize.c gc_dlopen.c \
18670- gcj_mlc.c headers.c malloc.c mallocx.c mark.c mark_rts.c \
18671- misc.c new_hblk.c obj_map.c os_dep.c pcr_interface.c \
18672- ptr_chck.c real_malloc.c reclaim.c specific.c stubborn.c \
18673- typd_mlc.c backgraph.c win32_threads.c pthread_support.c \
18674- pthread_stop_world.c darwin_stop_world.c \
18675- powerpc_darwin_mach_dep.s
18676 @POWERPC_DARWIN_TRUE@am__objects_1 = powerpc_darwin_mach_dep.lo
18677 am_libgcjgc_la_OBJECTS = allchblk.lo alloc.lo blacklst.lo checksums.lo \
18678 dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo \
18679@@ -80,14 +69,6 @@
18680 backgraph.lo win32_threads.lo pthread_support.lo \
18681 pthread_stop_world.lo darwin_stop_world.lo $(am__objects_1)
18682 libgcjgc_la_OBJECTS = $(am_libgcjgc_la_OBJECTS)
18683-am__libgcjgc_convenience_la_SOURCES_DIST = allchblk.c alloc.c \
18684- blacklst.c checksums.c dbg_mlc.c dyn_load.c finalize.c \
18685- gc_dlopen.c gcj_mlc.c headers.c malloc.c mallocx.c mark.c \
18686- mark_rts.c misc.c new_hblk.c obj_map.c os_dep.c \
18687- pcr_interface.c ptr_chck.c real_malloc.c reclaim.c specific.c \
18688- stubborn.c typd_mlc.c backgraph.c win32_threads.c \
18689- pthread_support.c pthread_stop_world.c darwin_stop_world.c \
18690- powerpc_darwin_mach_dep.s
18691 am__objects_2 = allchblk.lo alloc.lo blacklst.lo checksums.lo \
18692 dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo \
18693 headers.lo malloc.lo mallocx.lo mark.lo mark_rts.lo misc.lo \
18694@@ -115,8 +96,6 @@
18695 LTCCASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
18696 --mode=compile $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)
18697 SOURCES = $(libgcjgc_la_SOURCES) $(libgcjgc_convenience_la_SOURCES)
18698-DIST_SOURCES = $(am__libgcjgc_la_SOURCES_DIST) \
18699- $(am__libgcjgc_convenience_la_SOURCES_DIST)
18700 MULTISRCTOP =
18701 MULTIBUILDTOP =
18702 MULTIDIRS =
18703@@ -133,47 +112,10 @@
18704 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
18705 distclean-recursive maintainer-clean-recursive
18706 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
18707- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
18708- distdir dist dist-all distcheck
18709+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
18710 ETAGS = etags
18711 CTAGS = ctags
18712 DIST_SUBDIRS = $(SUBDIRS)
18713-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
18714-distdir = $(PACKAGE)-$(VERSION)
18715-top_distdir = $(distdir)
18716-am__remove_distdir = \
18717- { test ! -d "$(distdir)" \
18718- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
18719- && rm -fr "$(distdir)"; }; }
18720-am__relativize = \
18721- dir0=`pwd`; \
18722- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
18723- sed_rest='s,^[^/]*/*,,'; \
18724- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
18725- sed_butlast='s,/*[^/]*$$,,'; \
18726- while test -n "$$dir1"; do \
18727- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
18728- if test "$$first" != "."; then \
18729- if test "$$first" = ".."; then \
18730- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
18731- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
18732- else \
18733- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
18734- if test "$$first2" = "$$first"; then \
18735- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
18736- else \
18737- dir2="../$$dir2"; \
18738- fi; \
18739- dir0="$$dir0"/"$$first"; \
18740- fi; \
18741- fi; \
18742- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
18743- done; \
18744- reldir="$$dir2"
18745-DIST_ARCHIVES = $(distdir).tar.gz
18746-GZIP_ENV = --best
18747-distuninstallcheck_listfiles = find . -type f -print
18748-distcleancheck_listfiles = find . -type f -print
18749 ACLOCAL = @ACLOCAL@
18750 AMTAR = @AMTAR@
18751 AM_CPPFLAGS = @AM_CPPFLAGS@
18752@@ -314,7 +256,7 @@
18753 top_build_prefix = @top_build_prefix@
18754 top_builddir = @top_builddir@
18755 top_srcdir = @top_srcdir@
18756-AUTOMAKE_OPTIONS = foreign subdir-objects
18757+AUTOMAKE_OPTIONS = foreign subdir-objects no-dist
18758 ACLOCAL_AMFLAGS = -I .. -I ../config
18759 SUBDIRS = include testsuite
18760 noinst_LTLIBRARIES = libgcjgc.la libgcjgc_convenience.la
18761@@ -672,182 +614,6 @@
18762
18763 distclean-tags:
18764 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
18765-
18766-distdir: $(DISTFILES)
18767- $(am__remove_distdir)
18768- test -d "$(distdir)" || mkdir "$(distdir)"
18769- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
18770- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
18771- list='$(DISTFILES)'; \
18772- dist_files=`for file in $$list; do echo $$file; done | \
18773- sed -e "s|^$$srcdirstrip/||;t" \
18774- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
18775- case $$dist_files in \
18776- */*) $(MKDIR_P) `echo "$$dist_files" | \
18777- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
18778- sort -u` ;; \
18779- esac; \
18780- for file in $$dist_files; do \
18781- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
18782- if test -d $$d/$$file; then \
18783- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
18784- if test -d "$(distdir)/$$file"; then \
18785- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
18786- fi; \
18787- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
18788- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
18789- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
18790- fi; \
18791- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
18792- else \
18793- test -f "$(distdir)/$$file" \
18794- || cp -p $$d/$$file "$(distdir)/$$file" \
18795- || exit 1; \
18796- fi; \
18797- done
18798- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
18799- if test "$$subdir" = .; then :; else \
18800- test -d "$(distdir)/$$subdir" \
18801- || $(MKDIR_P) "$(distdir)/$$subdir" \
18802- || exit 1; \
18803- fi; \
18804- done
18805- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
18806- if test "$$subdir" = .; then :; else \
18807- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
18808- $(am__relativize); \
18809- new_distdir=$$reldir; \
18810- dir1=$$subdir; dir2="$(top_distdir)"; \
18811- $(am__relativize); \
18812- new_top_distdir=$$reldir; \
18813- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
18814- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
18815- ($(am__cd) $$subdir && \
18816- $(MAKE) $(AM_MAKEFLAGS) \
18817- top_distdir="$$new_top_distdir" \
18818- distdir="$$new_distdir" \
18819- am__remove_distdir=: \
18820- am__skip_length_check=: \
18821- am__skip_mode_fix=: \
18822- distdir) \
18823- || exit 1; \
18824- fi; \
18825- done
18826- -test -n "$(am__skip_mode_fix)" \
18827- || find "$(distdir)" -type d ! -perm -755 \
18828- -exec chmod u+rwx,go+rx {} \; -o \
18829- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
18830- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
18831- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
18832- || chmod -R a+r "$(distdir)"
18833-dist-gzip: distdir
18834- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
18835- $(am__remove_distdir)
18836-
18837-dist-bzip2: distdir
18838- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
18839- $(am__remove_distdir)
18840-
18841-dist-lzma: distdir
18842- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
18843- $(am__remove_distdir)
18844-
18845-dist-xz: distdir
18846- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
18847- $(am__remove_distdir)
18848-
18849-dist-tarZ: distdir
18850- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
18851- $(am__remove_distdir)
18852-
18853-dist-shar: distdir
18854- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
18855- $(am__remove_distdir)
18856-
18857-dist-zip: distdir
18858- -rm -f $(distdir).zip
18859- zip -rq $(distdir).zip $(distdir)
18860- $(am__remove_distdir)
18861-
18862-dist dist-all: distdir
18863- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
18864- $(am__remove_distdir)
18865-
18866-# This target untars the dist file and tries a VPATH configuration. Then
18867-# it guarantees that the distribution is self-contained by making another
18868-# tarfile.
18869-distcheck: dist
18870- case '$(DIST_ARCHIVES)' in \
18871- *.tar.gz*) \
18872- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
18873- *.tar.bz2*) \
18874- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
18875- *.tar.lzma*) \
18876- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
18877- *.tar.xz*) \
18878- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
18879- *.tar.Z*) \
18880- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
18881- *.shar.gz*) \
18882- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
18883- *.zip*) \
18884- unzip $(distdir).zip ;;\
18885- esac
18886- chmod -R a-w $(distdir); chmod a+w $(distdir)
18887- mkdir $(distdir)/_build
18888- mkdir $(distdir)/_inst
18889- chmod a-w $(distdir)
18890- test -d $(distdir)/_build || exit 0; \
18891- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
18892- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
18893- && am__cwd=`pwd` \
18894- && $(am__cd) $(distdir)/_build \
18895- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
18896- $(DISTCHECK_CONFIGURE_FLAGS) \
18897- && $(MAKE) $(AM_MAKEFLAGS) \
18898- && $(MAKE) $(AM_MAKEFLAGS) dvi \
18899- && $(MAKE) $(AM_MAKEFLAGS) check \
18900- && $(MAKE) $(AM_MAKEFLAGS) install \
18901- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
18902- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
18903- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
18904- distuninstallcheck \
18905- && chmod -R a-w "$$dc_install_base" \
18906- && ({ \
18907- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
18908- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
18909- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
18910- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
18911- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
18912- } || { rm -rf "$$dc_destdir"; exit 1; }) \
18913- && rm -rf "$$dc_destdir" \
18914- && $(MAKE) $(AM_MAKEFLAGS) dist \
18915- && rm -rf $(DIST_ARCHIVES) \
18916- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
18917- && cd "$$am__cwd" \
18918- || exit 1
18919- $(am__remove_distdir)
18920- @(echo "$(distdir) archives ready for distribution: "; \
18921- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
18922- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
18923-distuninstallcheck:
18924- @$(am__cd) '$(distuninstallcheck_dir)' \
18925- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
18926- || { echo "ERROR: files left after uninstall:" ; \
18927- if test -n "$(DESTDIR)"; then \
18928- echo " (check DESTDIR support)"; \
18929- fi ; \
18930- $(distuninstallcheck_listfiles) ; \
18931- exit 1; } >&2
18932-distcleancheck: distclean
18933- @if test '$(srcdir)' = . ; then \
18934- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
18935- exit 1 ; \
18936- fi
18937- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
18938- || { echo "ERROR: files left in build directory after distclean:" ; \
18939- $(distcleancheck_listfiles) ; \
18940- exit 1; } >&2
18941 check-am: all-am
18942 check: check-recursive
18943 all-am: Makefile $(LTLIBRARIES) all-multi
18944@@ -960,21 +726,19 @@
18945 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
18946 all all-am all-multi am--refresh check check-am clean \
18947 clean-generic clean-libtool clean-multi \
18948- clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
18949- dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ dist-xz \
18950- dist-zip distcheck distclean distclean-compile \
18951- distclean-generic distclean-libtool distclean-multi \
18952- distclean-tags distcleancheck distdir distuninstallcheck dvi \
18953- dvi-am html html-am info info-am install install-am \
18954- install-data install-data-am install-dvi install-dvi-am \
18955- install-exec install-exec-am install-html install-html-am \
18956- install-info install-info-am install-man install-multi \
18957- install-pdf install-pdf-am install-ps install-ps-am \
18958- install-strip installcheck installcheck-am installdirs \
18959- installdirs-am maintainer-clean maintainer-clean-generic \
18960- maintainer-clean-multi mostlyclean mostlyclean-compile \
18961- mostlyclean-generic mostlyclean-libtool mostlyclean-multi pdf \
18962- pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
18963+ clean-noinstLTLIBRARIES ctags ctags-recursive distclean \
18964+ distclean-compile distclean-generic distclean-libtool \
18965+ distclean-multi distclean-tags dvi dvi-am html html-am info \
18966+ info-am install install-am install-data install-data-am \
18967+ install-dvi install-dvi-am install-exec install-exec-am \
18968+ install-html install-html-am install-info install-info-am \
18969+ install-man install-multi install-pdf install-pdf-am \
18970+ install-ps install-ps-am install-strip installcheck \
18971+ installcheck-am installdirs installdirs-am maintainer-clean \
18972+ maintainer-clean-generic maintainer-clean-multi mostlyclean \
18973+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
18974+ mostlyclean-multi pdf pdf-am ps ps-am tags tags-recursive \
18975+ uninstall uninstall-am
18976
18977 override CFLAGS := $(filter-out $(O0_CFLAGS), $(CFLAGS)) $(O0_CFLAGS)
18978
18979Index: boehm-gc/include/Makefile.in
18980===================================================================
9f95000d
AM
18981--- boehm-gc/include/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
18982+++ boehm-gc/include/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
18983@@ -36,9 +36,9 @@
18984 host_triplet = @host@
18985 target_triplet = @target@
18986 subdir = include
18987-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
18988- $(srcdir)/Makefile.in $(srcdir)/gc_config.h.in \
18989- $(srcdir)/gc_ext_config.h.in
18990+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
18991+ $(srcdir)/gc_config.h.in $(srcdir)/gc_ext_config.h.in \
18992+ $(noinst_HEADERS)
18993 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
18994 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
18995 $(top_srcdir)/../config/depstand.m4 \
18996@@ -55,11 +55,9 @@
18997 CONFIG_CLEAN_FILES =
18998 CONFIG_CLEAN_VPATH_FILES =
18999 SOURCES =
19000-DIST_SOURCES =
19001 HEADERS = $(noinst_HEADERS)
19002 ETAGS = etags
19003 CTAGS = ctags
19004-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
19005 ACLOCAL = @ACLOCAL@
19006 AMTAR = @AMTAR@
19007 AM_CPPFLAGS = @AM_CPPFLAGS@
19008@@ -323,37 +321,6 @@
19009
19010 distclean-tags:
19011 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
19012-
19013-distdir: $(DISTFILES)
19014- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19015- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19016- list='$(DISTFILES)'; \
19017- dist_files=`for file in $$list; do echo $$file; done | \
19018- sed -e "s|^$$srcdirstrip/||;t" \
19019- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
19020- case $$dist_files in \
19021- */*) $(MKDIR_P) `echo "$$dist_files" | \
19022- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
19023- sort -u` ;; \
19024- esac; \
19025- for file in $$dist_files; do \
19026- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
19027- if test -d $$d/$$file; then \
19028- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
19029- if test -d "$(distdir)/$$file"; then \
19030- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19031- fi; \
19032- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
19033- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
19034- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19035- fi; \
19036- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
19037- else \
19038- test -f "$(distdir)/$$file" \
19039- || cp -p $$d/$$file "$(distdir)/$$file" \
19040- || exit 1; \
19041- fi; \
19042- done
19043 check-am: all-am
19044 check: check-am
19045 all-am: Makefile $(HEADERS) gc_config.h gc_ext_config.h
19046@@ -453,16 +420,15 @@
19047
19048 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
19049 clean-libtool ctags distclean distclean-generic distclean-hdr \
19050- distclean-libtool distclean-tags distdir dvi dvi-am html \
19051- html-am info info-am install install-am install-data \
19052- install-data-am install-dvi install-dvi-am install-exec \
19053- install-exec-am install-html install-html-am install-info \
19054- install-info-am install-man install-pdf install-pdf-am \
19055- install-ps install-ps-am install-strip installcheck \
19056- installcheck-am installdirs maintainer-clean \
19057- maintainer-clean-generic mostlyclean mostlyclean-generic \
19058- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
19059- uninstall-am
19060+ distclean-libtool distclean-tags dvi dvi-am html html-am info \
19061+ info-am install install-am install-data install-data-am \
19062+ install-dvi install-dvi-am install-exec install-exec-am \
19063+ install-html install-html-am install-info install-info-am \
19064+ install-man install-pdf install-pdf-am install-ps \
19065+ install-ps-am install-strip installcheck installcheck-am \
19066+ installdirs maintainer-clean maintainer-clean-generic \
19067+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
19068+ ps ps-am tags uninstall uninstall-am
19069
19070
19071 # Tell versions [3.59,3.63) of GNU make to not export all variables.
19072Index: boehm-gc/ChangeLog
19073===================================================================
9f95000d
AM
19074--- boehm-gc/ChangeLog (.../tags/gcc_4_7_2_release) (wersja 192468)
19075+++ boehm-gc/ChangeLog (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
19076@@ -1,3 +1,11 @@
19077+2012-09-20 Jakub Jelinek <jakub@redhat.com>
19078+
19079+ PR other/43620
19080+ * Makefile.am (AUTOMAKE_OPTIONS): Add no-dist.
19081+ * Makefile.in: Regenerated.
19082+ * include/Makefile.in: Regenerated.
19083+ * testsuite/Makefile.in: Regenerated.
19084+
19085 2012-09-20 Release Manager
19086
19087 * GCC 4.7.2 released.
19088Index: boehm-gc/testsuite/Makefile.in
19089===================================================================
9f95000d
AM
19090--- boehm-gc/testsuite/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
19091+++ boehm-gc/testsuite/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
19092@@ -35,7 +35,7 @@
19093 host_triplet = @host@
19094 target_triplet = @target@
19095 subdir = testsuite
19096-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
19097+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
19098 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
19099 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
19100 $(top_srcdir)/../config/depstand.m4 \
19101@@ -53,10 +53,8 @@
19102 CONFIG_CLEAN_FILES =
19103 CONFIG_CLEAN_VPATH_FILES =
19104 SOURCES =
19105-DIST_SOURCES =
19106 RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
19107 RUNTEST = runtest
19108-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
19109 ACLOCAL = @ACLOCAL@
19110 AMTAR = @AMTAR@
19111 AM_CPPFLAGS = @AM_CPPFLAGS@
19112@@ -267,37 +265,6 @@
19113 -l='$(DEJATOOL)'; for tool in $$l; do \
19114 rm -f $$tool.sum $$tool.log; \
19115 done
19116-
19117-distdir: $(DISTFILES)
19118- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19119- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19120- list='$(DISTFILES)'; \
19121- dist_files=`for file in $$list; do echo $$file; done | \
19122- sed -e "s|^$$srcdirstrip/||;t" \
19123- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
19124- case $$dist_files in \
19125- */*) $(MKDIR_P) `echo "$$dist_files" | \
19126- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
19127- sort -u` ;; \
19128- esac; \
19129- for file in $$dist_files; do \
19130- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
19131- if test -d $$d/$$file; then \
19132- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
19133- if test -d "$(distdir)/$$file"; then \
19134- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19135- fi; \
19136- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
19137- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
19138- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19139- fi; \
19140- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
19141- else \
19142- test -f "$(distdir)/$$file" \
19143- || cp -p $$d/$$file "$(distdir)/$$file" \
19144- || exit 1; \
19145- fi; \
19146- done
19147 check-am: all-am
19148 $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
19149 check: check-am
19150@@ -399,8 +366,8 @@
19151
19152 .PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \
19153 clean-libtool distclean distclean-DEJAGNU distclean-generic \
19154- distclean-libtool distdir dvi dvi-am html html-am info info-am \
19155- install install-am install-data install-data-am install-dvi \
19156+ distclean-libtool dvi dvi-am html html-am info info-am install \
19157+ install-am install-data install-data-am install-dvi \
19158 install-dvi-am install-exec install-exec-am install-html \
19159 install-html-am install-info install-info-am install-man \
19160 install-pdf install-pdf-am install-ps install-ps-am \
19161Index: boehm-gc/Makefile.am
19162===================================================================
9f95000d
AM
19163--- boehm-gc/Makefile.am (.../tags/gcc_4_7_2_release) (wersja 192468)
19164+++ boehm-gc/Makefile.am (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
19165@@ -4,7 +4,7 @@
19166 ## files that should be in the distribution are not mentioned in this
19167 ## Makefile.am.
19168
19169-AUTOMAKE_OPTIONS = foreign subdir-objects
19170+AUTOMAKE_OPTIONS = foreign subdir-objects no-dist
19171 ACLOCAL_AMFLAGS = -I .. -I ../config
19172
19173 SUBDIRS = include testsuite
19174Index: libjava/classpath/Makefile.in
19175===================================================================
9f95000d
AM
19176--- libjava/classpath/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
19177+++ libjava/classpath/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
19178@@ -35,25 +35,15 @@
19179 host_triplet = @host@
19180 target_triplet = @target@
19181 subdir = .
19182-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../../compile \
19183- $(srcdir)/../../config.guess $(srcdir)/../../config.sub \
19184- $(srcdir)/../../install-sh $(srcdir)/../../ltmain.sh \
19185- $(srcdir)/../../missing $(srcdir)/../../mkinstalldirs \
19186- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
19187- $(top_srcdir)/configure \
19188+DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
19189+ $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
19190+ $(top_srcdir)/configure $(am__configure_deps) \
19191+ $(srcdir)/../../mkinstalldirs \
19192 $(top_srcdir)/gnu/classpath/Configuration.java.in \
19193 $(top_srcdir)/gnu/java/security/Configuration.java.in \
19194 $(top_srcdir)/resource/META-INF/services/java.util.prefs.PreferencesFactory.in \
19195 $(top_srcdir)/resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader.in \
19196- $(top_srcdir)/resource/META-INF/services/javax.sound.sampled.spi.MixerProvider.in \
19197- ../../ABOUT-NLS ../../COPYING ../../COPYING.LIB \
19198- ../../ChangeLog ../../README ../../compile ../../config.guess \
19199- ../../config.rpath ../../config.sub ../../depcomp \
19200- ../../install-sh ../../ltmain.sh ../../missing \
19201- ../../mkinstalldirs ../../ylwrap AUTHORS COPYING ChangeLog \
19202- INSTALL NEWS TODO compile config.guess config.rpath config.sub \
19203- depcomp install-sh ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh ltconfig \
19204- ltmain.sh missing mkinstalldirs
19205+ $(top_srcdir)/resource/META-INF/services/javax.sound.sampled.spi.MixerProvider.in
19206 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
19207 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
19208 $(top_srcdir)/../../config/lead-dot.m4 \
19209@@ -92,7 +82,6 @@
19210 resource/META-INF/services/javax.sound.sampled.spi.MixerProvider
19211 CONFIG_CLEAN_VPATH_FILES =
19212 SOURCES =
19213-DIST_SOURCES =
19214 MULTISRCTOP =
19215 MULTIBUILDTOP =
19216 MULTIDIRS =
19217@@ -109,46 +98,9 @@
19218 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
19219 distclean-recursive maintainer-clean-recursive
19220 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
19221- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
19222- distdir dist dist-all distcheck
19223+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
19224 ETAGS = etags
19225 CTAGS = ctags
19226-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
19227-distdir = $(PACKAGE)-$(VERSION)
19228-top_distdir = $(distdir)
19229-am__remove_distdir = \
19230- { test ! -d "$(distdir)" \
19231- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
19232- && rm -fr "$(distdir)"; }; }
19233-am__relativize = \
19234- dir0=`pwd`; \
19235- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
19236- sed_rest='s,^[^/]*/*,,'; \
19237- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
19238- sed_butlast='s,/*[^/]*$$,,'; \
19239- while test -n "$$dir1"; do \
19240- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
19241- if test "$$first" != "."; then \
19242- if test "$$first" = ".."; then \
19243- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
19244- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
19245- else \
19246- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
19247- if test "$$first2" = "$$first"; then \
19248- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
19249- else \
19250- dir2="../$$dir2"; \
19251- fi; \
19252- dir0="$$dir0"/"$$first"; \
19253- fi; \
19254- fi; \
19255- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
19256- done; \
19257- reldir="$$dir2"
19258-DIST_ARCHIVES = $(distdir).tar.gz
19259-GZIP_ENV = --best
19260-distuninstallcheck_listfiles = find . -type f -print
19261-distcleancheck_listfiles = find . -type f -print
19262 ACLOCAL = @ACLOCAL@
19263 AMTAR = @AMTAR@
19264 ANTLR = @ANTLR@
19265@@ -582,185 +534,6 @@
19266
19267 distclean-tags:
19268 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
19269-
19270-distdir: $(DISTFILES)
19271- $(am__remove_distdir)
19272- test -d "$(distdir)" || mkdir "$(distdir)"
19273- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19274- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19275- list='$(DISTFILES)'; \
19276- dist_files=`for file in $$list; do echo $$file; done | \
19277- sed -e "s|^$$srcdirstrip/||;t" \
19278- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
19279- case $$dist_files in \
19280- */*) $(MKDIR_P) `echo "$$dist_files" | \
19281- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
19282- sort -u` ;; \
19283- esac; \
19284- for file in $$dist_files; do \
19285- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
19286- if test -d $$d/$$file; then \
19287- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
19288- if test -d "$(distdir)/$$file"; then \
19289- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19290- fi; \
19291- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
19292- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
19293- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19294- fi; \
19295- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
19296- else \
19297- test -f "$(distdir)/$$file" \
19298- || cp -p $$d/$$file "$(distdir)/$$file" \
19299- || exit 1; \
19300- fi; \
19301- done
19302- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
19303- if test "$$subdir" = .; then :; else \
19304- test -d "$(distdir)/$$subdir" \
19305- || $(MKDIR_P) "$(distdir)/$$subdir" \
19306- || exit 1; \
19307- fi; \
19308- done
19309- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
19310- if test "$$subdir" = .; then :; else \
19311- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
19312- $(am__relativize); \
19313- new_distdir=$$reldir; \
19314- dir1=$$subdir; dir2="$(top_distdir)"; \
19315- $(am__relativize); \
19316- new_top_distdir=$$reldir; \
19317- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
19318- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
19319- ($(am__cd) $$subdir && \
19320- $(MAKE) $(AM_MAKEFLAGS) \
19321- top_distdir="$$new_top_distdir" \
19322- distdir="$$new_distdir" \
19323- am__remove_distdir=: \
19324- am__skip_length_check=: \
19325- am__skip_mode_fix=: \
19326- distdir) \
19327- || exit 1; \
19328- fi; \
19329- done
19330- $(MAKE) $(AM_MAKEFLAGS) \
19331- top_distdir="$(top_distdir)" distdir="$(distdir)" \
19332- dist-hook
19333- -test -n "$(am__skip_mode_fix)" \
19334- || find "$(distdir)" -type d ! -perm -755 \
19335- -exec chmod u+rwx,go+rx {} \; -o \
19336- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
19337- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
19338- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
19339- || chmod -R a+r "$(distdir)"
19340-dist-gzip: distdir
19341- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
19342- $(am__remove_distdir)
19343-
19344-dist-bzip2: distdir
19345- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
19346- $(am__remove_distdir)
19347-
19348-dist-lzma: distdir
19349- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
19350- $(am__remove_distdir)
19351-
19352-dist-xz: distdir
19353- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
19354- $(am__remove_distdir)
19355-
19356-dist-tarZ: distdir
19357- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
19358- $(am__remove_distdir)
19359-
19360-dist-shar: distdir
19361- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
19362- $(am__remove_distdir)
19363-
19364-dist-zip: distdir
19365- -rm -f $(distdir).zip
19366- zip -rq $(distdir).zip $(distdir)
19367- $(am__remove_distdir)
19368-
19369-dist dist-all: distdir
19370- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
19371- $(am__remove_distdir)
19372-
19373-# This target untars the dist file and tries a VPATH configuration. Then
19374-# it guarantees that the distribution is self-contained by making another
19375-# tarfile.
19376-distcheck: dist
19377- case '$(DIST_ARCHIVES)' in \
19378- *.tar.gz*) \
19379- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
19380- *.tar.bz2*) \
19381- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
19382- *.tar.lzma*) \
19383- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
19384- *.tar.xz*) \
19385- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
19386- *.tar.Z*) \
19387- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
19388- *.shar.gz*) \
19389- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
19390- *.zip*) \
19391- unzip $(distdir).zip ;;\
19392- esac
19393- chmod -R a-w $(distdir); chmod a+w $(distdir)
19394- mkdir $(distdir)/_build
19395- mkdir $(distdir)/_inst
19396- chmod a-w $(distdir)
19397- test -d $(distdir)/_build || exit 0; \
19398- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
19399- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
19400- && am__cwd=`pwd` \
19401- && $(am__cd) $(distdir)/_build \
19402- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
19403- $(DISTCHECK_CONFIGURE_FLAGS) \
19404- && $(MAKE) $(AM_MAKEFLAGS) \
19405- && $(MAKE) $(AM_MAKEFLAGS) dvi \
19406- && $(MAKE) $(AM_MAKEFLAGS) check \
19407- && $(MAKE) $(AM_MAKEFLAGS) install \
19408- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
19409- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
19410- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
19411- distuninstallcheck \
19412- && chmod -R a-w "$$dc_install_base" \
19413- && ({ \
19414- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
19415- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
19416- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
19417- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
19418- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
19419- } || { rm -rf "$$dc_destdir"; exit 1; }) \
19420- && rm -rf "$$dc_destdir" \
19421- && $(MAKE) $(AM_MAKEFLAGS) dist \
19422- && rm -rf $(DIST_ARCHIVES) \
19423- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
19424- && cd "$$am__cwd" \
19425- || exit 1
19426- $(am__remove_distdir)
19427- @(echo "$(distdir) archives ready for distribution: "; \
19428- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
19429- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
19430-distuninstallcheck:
19431- @$(am__cd) '$(distuninstallcheck_dir)' \
19432- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
19433- || { echo "ERROR: files left after uninstall:" ; \
19434- if test -n "$(DESTDIR)"; then \
19435- echo " (check DESTDIR support)"; \
19436- fi ; \
19437- $(distuninstallcheck_listfiles) ; \
19438- exit 1; } >&2
19439-distcleancheck: distclean
19440- @if test '$(srcdir)' = . ; then \
19441- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
19442- exit 1 ; \
19443- fi
19444- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
19445- || { echo "ERROR: files left in build directory after distclean:" ; \
19446- $(distcleancheck_listfiles) ; \
19447- exit 1; } >&2
19448 check-am: all-am
19449 check: check-recursive
19450 all-am: Makefile all-multi
19451@@ -869,20 +642,17 @@
19452 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
19453 all all-am all-multi am--refresh check check-am clean \
19454 clean-generic clean-libtool clean-multi ctags ctags-recursive \
19455- dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzma \
19456- dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
19457- distclean-generic distclean-libtool distclean-multi \
19458- distclean-tags distcleancheck distdir distuninstallcheck dvi \
19459- dvi-am html html-am info info-am install install-am \
19460- install-data install-data-am install-dvi install-dvi-am \
19461- install-exec install-exec-am install-html install-html-am \
19462- install-info install-info-am install-man install-multi \
19463- install-pdf install-pdf-am install-ps install-ps-am \
19464- install-strip installcheck installcheck-am installdirs \
19465- installdirs-am maintainer-clean maintainer-clean-generic \
19466- maintainer-clean-multi mostlyclean mostlyclean-generic \
19467- mostlyclean-libtool mostlyclean-multi pdf pdf-am ps ps-am tags \
19468- tags-recursive uninstall uninstall-am
19469+ distclean distclean-generic distclean-libtool distclean-multi \
19470+ distclean-tags dvi dvi-am html html-am info info-am install \
19471+ install-am install-data install-data-am install-dvi \
19472+ install-dvi-am install-exec install-exec-am install-html \
19473+ install-html-am install-info install-info-am install-man \
19474+ install-multi install-pdf install-pdf-am install-ps \
19475+ install-ps-am install-strip installcheck installcheck-am \
19476+ installdirs installdirs-am maintainer-clean \
19477+ maintainer-clean-generic maintainer-clean-multi mostlyclean \
19478+ mostlyclean-generic mostlyclean-libtool mostlyclean-multi pdf \
19479+ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
19480
19481
19482 native: lib
19483Index: libjava/classpath/scripts/Makefile.in
19484===================================================================
9f95000d
AM
19485--- libjava/classpath/scripts/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
19486+++ libjava/classpath/scripts/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
19487@@ -35,8 +35,8 @@
19488 host_triplet = @host@
19489 target_triplet = @target@
19490 subdir = scripts
19491-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
19492- $(srcdir)/check_jni_methods.sh.in $(srcdir)/classpath.spec.in
19493+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
19494+ $(srcdir)/classpath.spec.in $(srcdir)/check_jni_methods.sh.in
19495 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
19496 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
19497 $(top_srcdir)/../../config/lead-dot.m4 \
19498@@ -69,8 +69,6 @@
19499 CONFIG_CLEAN_FILES = classpath.spec check_jni_methods.sh
19500 CONFIG_CLEAN_VPATH_FILES =
19501 SOURCES =
19502-DIST_SOURCES =
19503-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
19504 ACLOCAL = @ACLOCAL@
19505 AMTAR = @AMTAR@
19506 ANTLR = @ANTLR@
19507@@ -331,37 +329,6 @@
19508 ctags: CTAGS
19509 CTAGS:
19510
19511-
19512-distdir: $(DISTFILES)
19513- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19514- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19515- list='$(DISTFILES)'; \
19516- dist_files=`for file in $$list; do echo $$file; done | \
19517- sed -e "s|^$$srcdirstrip/||;t" \
19518- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
19519- case $$dist_files in \
19520- */*) $(MKDIR_P) `echo "$$dist_files" | \
19521- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
19522- sort -u` ;; \
19523- esac; \
19524- for file in $$dist_files; do \
19525- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
19526- if test -d $$d/$$file; then \
19527- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
19528- if test -d "$(distdir)/$$file"; then \
19529- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19530- fi; \
19531- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
19532- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
19533- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19534- fi; \
19535- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
19536- else \
19537- test -f "$(distdir)/$$file" \
19538- || cp -p $$d/$$file "$(distdir)/$$file" \
19539- || exit 1; \
19540- fi; \
19541- done
19542 check-am: all-am
19543 check: check-am
19544 all-am: Makefile
19545@@ -460,13 +427,13 @@
19546 .MAKE: install-am install-strip
19547
19548 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
19549- distclean distclean-generic distclean-libtool distdir dvi \
19550- dvi-am html html-am info info-am install install-am \
19551- install-data install-data-am install-dvi install-dvi-am \
19552- install-exec install-exec-am install-html install-html-am \
19553- install-info install-info-am install-man install-pdf \
19554- install-pdf-am install-ps install-ps-am install-strip \
19555- installcheck installcheck-am installdirs maintainer-clean \
19556+ distclean distclean-generic distclean-libtool dvi dvi-am html \
19557+ html-am info info-am install install-am install-data \
19558+ install-data-am install-dvi install-dvi-am install-exec \
19559+ install-exec-am install-html install-html-am install-info \
19560+ install-info-am install-man install-pdf install-pdf-am \
19561+ install-ps install-ps-am install-strip installcheck \
19562+ installcheck-am installdirs maintainer-clean \
19563 maintainer-clean-generic mostlyclean mostlyclean-generic \
19564 mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
19565
19566Index: libjava/classpath/resource/Makefile.in
19567===================================================================
9f95000d
AM
19568--- libjava/classpath/resource/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
19569+++ libjava/classpath/resource/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
19570@@ -36,7 +36,7 @@
19571 host_triplet = @host@
19572 target_triplet = @target@
19573 subdir = resource
19574-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
19575+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
19576 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
19577 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
19578 $(top_srcdir)/../../config/lead-dot.m4 \
19579@@ -69,7 +69,6 @@
19580 CONFIG_CLEAN_FILES =
19581 CONFIG_CLEAN_VPATH_FILES =
19582 SOURCES =
19583-DIST_SOURCES =
19584 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
19585 am__vpath_adj = case $$p in \
19586 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
19587@@ -93,7 +92,6 @@
19588 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
19589 am__installdirs = "$(DESTDIR)$(loggingdir)" "$(DESTDIR)$(securitydir)"
19590 DATA = $(logging_DATA) $(security_DATA)
19591-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
19592 ACLOCAL = @ACLOCAL@
19593 AMTAR = @AMTAR@
19594 ANTLR = @ANTLR@
19595@@ -393,37 +391,6 @@
19596 ctags: CTAGS
19597 CTAGS:
19598
19599-
19600-distdir: $(DISTFILES)
19601- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19602- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19603- list='$(DISTFILES)'; \
19604- dist_files=`for file in $$list; do echo $$file; done | \
19605- sed -e "s|^$$srcdirstrip/||;t" \
19606- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
19607- case $$dist_files in \
19608- */*) $(MKDIR_P) `echo "$$dist_files" | \
19609- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
19610- sort -u` ;; \
19611- esac; \
19612- for file in $$dist_files; do \
19613- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
19614- if test -d $$d/$$file; then \
19615- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
19616- if test -d "$(distdir)/$$file"; then \
19617- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19618- fi; \
19619- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
19620- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
19621- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19622- fi; \
19623- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
19624- else \
19625- test -f "$(distdir)/$$file" \
19626- || cp -p $$d/$$file "$(distdir)/$$file" \
19627- || exit 1; \
19628- fi; \
19629- done
19630 check-am: all-am
19631 check: check-am
19632 all-am: Makefile $(DATA)
19633@@ -525,17 +492,17 @@
19634 .MAKE: install-am install-strip
19635
19636 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
19637- distclean distclean-generic distclean-libtool distdir dvi \
19638- dvi-am html html-am info info-am install install-am \
19639- install-data install-data-am install-dvi install-dvi-am \
19640- install-exec install-exec-am install-html install-html-am \
19641- install-info install-info-am install-loggingDATA install-man \
19642- install-pdf install-pdf-am install-ps install-ps-am \
19643- install-securityDATA install-strip installcheck \
19644- installcheck-am installdirs maintainer-clean \
19645- maintainer-clean-generic mostlyclean mostlyclean-generic \
19646- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
19647- uninstall-loggingDATA uninstall-securityDATA
19648+ distclean distclean-generic distclean-libtool dvi dvi-am html \
19649+ html-am info info-am install install-am install-data \
19650+ install-data-am install-dvi install-dvi-am install-exec \
19651+ install-exec-am install-html install-html-am install-info \
19652+ install-info-am install-loggingDATA install-man install-pdf \
19653+ install-pdf-am install-ps install-ps-am install-securityDATA \
19654+ install-strip installcheck installcheck-am installdirs \
19655+ maintainer-clean maintainer-clean-generic mostlyclean \
19656+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
19657+ uninstall uninstall-am uninstall-loggingDATA \
19658+ uninstall-securityDATA
19659
19660
19661 # Tell versions [3.59,3.63) of GNU make to not export all variables.
19662Index: libjava/classpath/tools/Makefile.in
19663===================================================================
9f95000d
AM
19664--- libjava/classpath/tools/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
19665+++ libjava/classpath/tools/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
19666@@ -44,13 +44,13 @@
19667 @CREATE_WRAPPERS_TRUE@@INSTALL_BINARIES_FALSE@ $(am__EXEEXT_2)
19668 @CREATE_GJDOC_TRUE@@CREATE_WRAPPERS_FALSE@am__append_2 = gjdoc
19669 subdir = tools
19670-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
19671- $(srcdir)/gappletviewer.in $(srcdir)/gjar.in \
19672- $(srcdir)/gjarsigner.in $(srcdir)/gjavah.in $(srcdir)/gjdoc.in \
19673- $(srcdir)/gkeytool.in $(srcdir)/gnative2ascii.in \
19674- $(srcdir)/gorbd.in $(srcdir)/grmic.in $(srcdir)/grmid.in \
19675- $(srcdir)/grmiregistry.in $(srcdir)/gserialver.in \
19676- $(srcdir)/gtnameserv.in
19677+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
19678+ $(srcdir)/gappletviewer.in $(srcdir)/gjarsigner.in \
19679+ $(srcdir)/gkeytool.in $(srcdir)/gjar.in \
19680+ $(srcdir)/gnative2ascii.in $(srcdir)/gserialver.in \
19681+ $(srcdir)/grmiregistry.in $(srcdir)/gtnameserv.in \
19682+ $(srcdir)/gorbd.in $(srcdir)/grmid.in $(srcdir)/grmic.in \
19683+ $(srcdir)/gjavah.in $(srcdir)/gjdoc.in
19684 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
19685 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
19686 $(top_srcdir)/../../config/lead-dot.m4 \
19687@@ -96,7 +96,6 @@
19688 @CREATE_WRAPPERS_TRUE@ $(am__EXEEXT_1)
19689 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
19690 PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
19691-am__gappletviewer_SOURCES_DIST = toolwrapper.c
19692 @CREATE_WRAPPERS_TRUE@am_gappletviewer_OBJECTS = \
19693 @CREATE_WRAPPERS_TRUE@ gappletviewer-toolwrapper.$(OBJEXT)
19694 gappletviewer_OBJECTS = $(am_gappletviewer_OBJECTS)
19695@@ -104,14 +103,12 @@
19696 gappletviewer_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
19697 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gappletviewer_CFLAGS) \
19698 $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
19699-am__gjar_SOURCES_DIST = toolwrapper.c
19700 @CREATE_WRAPPERS_TRUE@am_gjar_OBJECTS = gjar-toolwrapper.$(OBJEXT)
19701 gjar_OBJECTS = $(am_gjar_OBJECTS)
19702 gjar_LDADD = $(LDADD)
19703 gjar_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
19704 --mode=link $(CCLD) $(gjar_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
19705 $(LDFLAGS) -o $@
19706-am__gjarsigner_SOURCES_DIST = toolwrapper.c
19707 @CREATE_WRAPPERS_TRUE@am_gjarsigner_OBJECTS = \
19708 @CREATE_WRAPPERS_TRUE@ gjarsigner-toolwrapper.$(OBJEXT)
19709 gjarsigner_OBJECTS = $(am_gjarsigner_OBJECTS)
19710@@ -119,7 +116,6 @@
19711 gjarsigner_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
19712 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gjarsigner_CFLAGS) \
19713 $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
19714-am__gjavah_SOURCES_DIST = toolwrapper.c
19715 @CREATE_WRAPPERS_TRUE@am_gjavah_OBJECTS = \
19716 @CREATE_WRAPPERS_TRUE@ gjavah-toolwrapper.$(OBJEXT)
19717 gjavah_OBJECTS = $(am_gjavah_OBJECTS)
19718@@ -127,14 +123,12 @@
19719 gjavah_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
19720 --mode=link $(CCLD) $(gjavah_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
19721 $(LDFLAGS) -o $@
19722-am__gjdoc_SOURCES_DIST = toolwrapper.c
19723 @CREATE_WRAPPERS_TRUE@am_gjdoc_OBJECTS = gjdoc-toolwrapper.$(OBJEXT)
19724 gjdoc_OBJECTS = $(am_gjdoc_OBJECTS)
19725 gjdoc_LDADD = $(LDADD)
19726 gjdoc_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
19727 --mode=link $(CCLD) $(gjdoc_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
19728 $(LDFLAGS) -o $@
19729-am__gkeytool_SOURCES_DIST = toolwrapper.c
19730 @CREATE_WRAPPERS_TRUE@am_gkeytool_OBJECTS = \
19731 @CREATE_WRAPPERS_TRUE@ gkeytool-toolwrapper.$(OBJEXT)
19732 gkeytool_OBJECTS = $(am_gkeytool_OBJECTS)
19733@@ -142,7 +136,6 @@
19734 gkeytool_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
19735 --mode=link $(CCLD) $(gkeytool_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
19736 $(LDFLAGS) -o $@
19737-am__gnative2ascii_SOURCES_DIST = toolwrapper.c
19738 @CREATE_WRAPPERS_TRUE@am_gnative2ascii_OBJECTS = \
19739 @CREATE_WRAPPERS_TRUE@ gnative2ascii-toolwrapper.$(OBJEXT)
19740 gnative2ascii_OBJECTS = $(am_gnative2ascii_OBJECTS)
19741@@ -150,28 +143,24 @@
19742 gnative2ascii_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
19743 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gnative2ascii_CFLAGS) \
19744 $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
19745-am__gorbd_SOURCES_DIST = toolwrapper.c
19746 @CREATE_WRAPPERS_TRUE@am_gorbd_OBJECTS = gorbd-toolwrapper.$(OBJEXT)
19747 gorbd_OBJECTS = $(am_gorbd_OBJECTS)
19748 gorbd_LDADD = $(LDADD)
19749 gorbd_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
19750 --mode=link $(CCLD) $(gorbd_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
19751 $(LDFLAGS) -o $@
19752-am__grmic_SOURCES_DIST = toolwrapper.c
19753 @CREATE_WRAPPERS_TRUE@am_grmic_OBJECTS = grmic-toolwrapper.$(OBJEXT)
19754 grmic_OBJECTS = $(am_grmic_OBJECTS)
19755 grmic_LDADD = $(LDADD)
19756 grmic_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
19757 --mode=link $(CCLD) $(grmic_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
19758 $(LDFLAGS) -o $@
19759-am__grmid_SOURCES_DIST = toolwrapper.c
19760 @CREATE_WRAPPERS_TRUE@am_grmid_OBJECTS = grmid-toolwrapper.$(OBJEXT)
19761 grmid_OBJECTS = $(am_grmid_OBJECTS)
19762 grmid_LDADD = $(LDADD)
19763 grmid_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
19764 --mode=link $(CCLD) $(grmid_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
19765 $(LDFLAGS) -o $@
19766-am__grmiregistry_SOURCES_DIST = toolwrapper.c
19767 @CREATE_WRAPPERS_TRUE@am_grmiregistry_OBJECTS = \
19768 @CREATE_WRAPPERS_TRUE@ grmiregistry-toolwrapper.$(OBJEXT)
19769 grmiregistry_OBJECTS = $(am_grmiregistry_OBJECTS)
19770@@ -179,7 +168,6 @@
19771 grmiregistry_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
19772 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(grmiregistry_CFLAGS) \
19773 $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
19774-am__gserialver_SOURCES_DIST = toolwrapper.c
19775 @CREATE_WRAPPERS_TRUE@am_gserialver_OBJECTS = \
19776 @CREATE_WRAPPERS_TRUE@ gserialver-toolwrapper.$(OBJEXT)
19777 gserialver_OBJECTS = $(am_gserialver_OBJECTS)
19778@@ -187,7 +175,6 @@
19779 gserialver_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
19780 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gserialver_CFLAGS) \
19781 $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
19782-am__gtnameserv_SOURCES_DIST = toolwrapper.c
19783 @CREATE_WRAPPERS_TRUE@am_gtnameserv_OBJECTS = \
19784 @CREATE_WRAPPERS_TRUE@ gtnameserv-toolwrapper.$(OBJEXT)
19785 gtnameserv_OBJECTS = $(am_gtnameserv_OBJECTS)
19786@@ -235,17 +222,9 @@
19787 $(gkeytool_SOURCES) $(gnative2ascii_SOURCES) $(gorbd_SOURCES) \
19788 $(grmic_SOURCES) $(grmid_SOURCES) $(grmiregistry_SOURCES) \
19789 $(gserialver_SOURCES) $(gtnameserv_SOURCES)
19790-DIST_SOURCES = $(am__gappletviewer_SOURCES_DIST) \
19791- $(am__gjar_SOURCES_DIST) $(am__gjarsigner_SOURCES_DIST) \
19792- $(am__gjavah_SOURCES_DIST) $(am__gjdoc_SOURCES_DIST) \
19793- $(am__gkeytool_SOURCES_DIST) $(am__gnative2ascii_SOURCES_DIST) \
19794- $(am__gorbd_SOURCES_DIST) $(am__grmic_SOURCES_DIST) \
19795- $(am__grmid_SOURCES_DIST) $(am__grmiregistry_SOURCES_DIST) \
19796- $(am__gserialver_SOURCES_DIST) $(am__gtnameserv_SOURCES_DIST)
19797 DATA = $(noinst_DATA)
19798 ETAGS = etags
19799 CTAGS = ctags
19800-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
19801 ACLOCAL = @ACLOCAL@
19802 AMTAR = @AMTAR@
19803 ANTLR = @ANTLR@
19804@@ -1199,40 +1178,6 @@
19805
19806 distclean-tags:
19807 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
19808-
19809-distdir: $(DISTFILES)
19810- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19811- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19812- list='$(DISTFILES)'; \
19813- dist_files=`for file in $$list; do echo $$file; done | \
19814- sed -e "s|^$$srcdirstrip/||;t" \
19815- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
19816- case $$dist_files in \
19817- */*) $(MKDIR_P) `echo "$$dist_files" | \
19818- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
19819- sort -u` ;; \
19820- esac; \
19821- for file in $$dist_files; do \
19822- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
19823- if test -d $$d/$$file; then \
19824- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
19825- if test -d "$(distdir)/$$file"; then \
19826- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19827- fi; \
19828- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
19829- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
19830- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19831- fi; \
19832- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
19833- else \
19834- test -f "$(distdir)/$$file" \
19835- || cp -p $$d/$$file "$(distdir)/$$file" \
19836- || exit 1; \
19837- fi; \
19838- done
19839- $(MAKE) $(AM_MAKEFLAGS) \
19840- top_distdir="$(top_distdir)" distdir="$(distdir)" \
19841- dist-hook
19842 check-am: all-am
19843 check: $(BUILT_SOURCES)
19844 $(MAKE) $(AM_MAKEFLAGS) check-am
19845@@ -1343,9 +1288,9 @@
19846
19847 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
19848 clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
19849- ctags dist-hook distclean distclean-compile distclean-generic \
19850- distclean-libtool distclean-tags distdir dvi dvi-am html \
19851- html-am info info-am install install-am install-binPROGRAMS \
19852+ ctags distclean distclean-compile distclean-generic \
19853+ distclean-libtool distclean-tags dvi dvi-am html html-am info \
19854+ info-am install install-am install-binPROGRAMS \
19855 install-binSCRIPTS install-data install-data-am install-dvi \
19856 install-dvi-am install-exec install-exec-am install-html \
19857 install-html-am install-info install-info-am install-man \
19858Index: libjava/classpath/configure.ac
19859===================================================================
9f95000d
AM
19860--- libjava/classpath/configure.ac (.../tags/gcc_4_7_2_release) (wersja 192468)
19861+++ libjava/classpath/configure.ac (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
19862@@ -75,7 +75,7 @@
19863 AC_SUBST(CLASSPATH_CONVENIENCE)
19864
19865 AC_PREREQ(2.64)
19866-AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar -Wno-portability])
19867+AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar no-dist -Wno-portability])
19868 AC_CONFIG_HEADERS([include/config.h])
19869 AC_PREFIX_DEFAULT(/usr/local/classpath)
19870
19871Index: libjava/classpath/doc/Makefile.in
19872===================================================================
9f95000d
AM
19873--- libjava/classpath/doc/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
19874+++ libjava/classpath/doc/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
19875@@ -35,7 +35,7 @@
19876 host_triplet = @host@
19877 target_triplet = @target@
19878 subdir = doc
19879-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex
19880+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
19881 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
19882 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
19883 $(top_srcdir)/../../config/lead-dot.m4 \
19884@@ -68,7 +68,6 @@
19885 CONFIG_CLEAN_FILES =
19886 CONFIG_CLEAN_VPATH_FILES =
19887 SOURCES =
19888-DIST_SOURCES =
19889 INFO_DEPS = cp-tools.info
19890 am__TEXINFO_TEX_DIR = $(srcdir)/../../gcc/doc/include
19891 DVIS = cp-tools.dvi
19892@@ -116,37 +115,10 @@
19893 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
19894 distclean-recursive maintainer-clean-recursive
19895 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
19896- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
19897- distdir
19898+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
19899 ETAGS = etags
19900 CTAGS = ctags
19901 DIST_SUBDIRS = $(SUBDIRS)
19902-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
19903-am__relativize = \
19904- dir0=`pwd`; \
19905- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
19906- sed_rest='s,^[^/]*/*,,'; \
19907- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
19908- sed_butlast='s,/*[^/]*$$,,'; \
19909- while test -n "$$dir1"; do \
19910- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
19911- if test "$$first" != "."; then \
19912- if test "$$first" = ".."; then \
19913- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
19914- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
19915- else \
19916- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
19917- if test "$$first2" = "$$first"; then \
19918- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
19919- else \
19920- dir2="../$$dir2"; \
19921- fi; \
19922- dir0="$$dir0"/"$$first"; \
19923- fi; \
19924- fi; \
19925- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
19926- done; \
19927- reldir="$$dir2"
19928 ACLOCAL = @ACLOCAL@
19929 AMTAR = @AMTAR@
19930 ANTLR = @ANTLR@
19931@@ -756,81 +728,6 @@
19932
19933 distclean-tags:
19934 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
19935-
19936-distdir: $(DISTFILES)
19937- @list='$(MANS)'; if test -n "$$list"; then \
19938- list=`for p in $$list; do \
19939- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
19940- if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
19941- if test -n "$$list" && \
19942- grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
19943- echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
19944- grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
19945- echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
19946- echo " typically \`make maintainer-clean' will remove them" >&2; \
19947- exit 1; \
19948- else :; fi; \
19949- else :; fi
19950- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19951- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
19952- list='$(DISTFILES)'; \
19953- dist_files=`for file in $$list; do echo $$file; done | \
19954- sed -e "s|^$$srcdirstrip/||;t" \
19955- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
19956- case $$dist_files in \
19957- */*) $(MKDIR_P) `echo "$$dist_files" | \
19958- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
19959- sort -u` ;; \
19960- esac; \
19961- for file in $$dist_files; do \
19962- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
19963- if test -d $$d/$$file; then \
19964- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
19965- if test -d "$(distdir)/$$file"; then \
19966- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19967- fi; \
19968- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
19969- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
19970- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
19971- fi; \
19972- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
19973- else \
19974- test -f "$(distdir)/$$file" \
19975- || cp -p $$d/$$file "$(distdir)/$$file" \
19976- || exit 1; \
19977- fi; \
19978- done
19979- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
19980- if test "$$subdir" = .; then :; else \
19981- test -d "$(distdir)/$$subdir" \
19982- || $(MKDIR_P) "$(distdir)/$$subdir" \
19983- || exit 1; \
19984- fi; \
19985- done
19986- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
19987- if test "$$subdir" = .; then :; else \
19988- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
19989- $(am__relativize); \
19990- new_distdir=$$reldir; \
19991- dir1=$$subdir; dir2="$(top_distdir)"; \
19992- $(am__relativize); \
19993- new_top_distdir=$$reldir; \
19994- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
19995- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
19996- ($(am__cd) $$subdir && \
19997- $(MAKE) $(AM_MAKEFLAGS) \
19998- top_distdir="$$new_top_distdir" \
19999- distdir="$$new_distdir" \
20000- am__remove_distdir=: \
20001- am__skip_length_check=: \
20002- am__skip_mode_fix=: \
20003- distdir) \
20004- || exit 1; \
20005- fi; \
20006- done
20007- $(MAKE) $(AM_MAKEFLAGS) \
20008- top_distdir="$(top_distdir)" distdir="$(distdir)" \
20009- dist-info
20010 check-am: all-am
20011 check: check-recursive
20012 all-am: Makefile $(INFO_DEPS) $(MANS) all-local
20013@@ -1020,18 +917,18 @@
20014 all all-am all-local check check-am clean clean-aminfo \
20015 clean-generic clean-libtool ctags ctags-recursive dist-info \
20016 distclean distclean-generic distclean-libtool distclean-tags \
20017- distdir dvi dvi-am html html-am info info-am install \
20018- install-am install-data install-data-am install-dvi \
20019- install-dvi-am install-exec install-exec-am install-html \
20020- install-html-am install-info install-info-am install-man \
20021- install-man1 install-pdf install-pdf-am install-ps \
20022- install-ps-am install-strip installcheck installcheck-am \
20023- installdirs installdirs-am maintainer-clean \
20024- maintainer-clean-aminfo maintainer-clean-generic mostlyclean \
20025- mostlyclean-aminfo mostlyclean-generic mostlyclean-libtool pdf \
20026- pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
20027- uninstall-dvi-am uninstall-html-am uninstall-info-am \
20028- uninstall-man uninstall-man1 uninstall-pdf-am uninstall-ps-am
20029+ dvi dvi-am html html-am info info-am install install-am \
20030+ install-data install-data-am install-dvi install-dvi-am \
20031+ install-exec install-exec-am install-html install-html-am \
20032+ install-info install-info-am install-man install-man1 \
20033+ install-pdf install-pdf-am install-ps install-ps-am \
20034+ install-strip installcheck installcheck-am installdirs \
20035+ installdirs-am maintainer-clean maintainer-clean-aminfo \
20036+ maintainer-clean-generic mostlyclean mostlyclean-aminfo \
20037+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
20038+ tags tags-recursive uninstall uninstall-am uninstall-dvi-am \
20039+ uninstall-html-am uninstall-info-am uninstall-man \
20040+ uninstall-man1 uninstall-pdf-am uninstall-ps-am
20041
20042
20043 .texinfo.dvi:
20044Index: libjava/classpath/doc/api/Makefile.in
20045===================================================================
9f95000d
AM
20046--- libjava/classpath/doc/api/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
20047+++ libjava/classpath/doc/api/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
20048@@ -36,7 +36,7 @@
20049 host_triplet = @host@
20050 target_triplet = @target@
20051 subdir = doc/api
20052-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
20053+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
20054 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
20055 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
20056 $(top_srcdir)/../../config/lead-dot.m4 \
20057@@ -69,9 +69,7 @@
20058 CONFIG_CLEAN_FILES =
20059 CONFIG_CLEAN_VPATH_FILES =
20060 SOURCES =
20061-DIST_SOURCES =
20062 DATA = $(noinst_DATA)
20063-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
20064 ACLOCAL = @ACLOCAL@
20065 AMTAR = @AMTAR@
20066 ANTLR = @ANTLR@
20067@@ -330,37 +328,6 @@
20068 ctags: CTAGS
20069 CTAGS:
20070
20071-
20072-distdir: $(DISTFILES)
20073- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20074- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20075- list='$(DISTFILES)'; \
20076- dist_files=`for file in $$list; do echo $$file; done | \
20077- sed -e "s|^$$srcdirstrip/||;t" \
20078- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
20079- case $$dist_files in \
20080- */*) $(MKDIR_P) `echo "$$dist_files" | \
20081- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
20082- sort -u` ;; \
20083- esac; \
20084- for file in $$dist_files; do \
20085- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
20086- if test -d $$d/$$file; then \
20087- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
20088- if test -d "$(distdir)/$$file"; then \
20089- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20090- fi; \
20091- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
20092- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
20093- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20094- fi; \
20095- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
20096- else \
20097- test -f "$(distdir)/$$file" \
20098- || cp -p $$d/$$file "$(distdir)/$$file" \
20099- || exit 1; \
20100- fi; \
20101- done
20102 check-am: all-am
20103 check: check-am
20104 all-am: Makefile $(DATA)
20105@@ -459,16 +426,16 @@
20106 .MAKE: install-am install-strip
20107
20108 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
20109- clean-local distclean distclean-generic distclean-libtool \
20110- distdir dvi dvi-am html html-am info info-am install \
20111- install-am install-data install-data-am install-data-local \
20112- install-dvi install-dvi-am install-exec install-exec-am \
20113- install-html install-html-am install-info install-info-am \
20114- install-man install-pdf install-pdf-am install-ps \
20115- install-ps-am install-strip installcheck installcheck-am \
20116- installdirs maintainer-clean maintainer-clean-generic \
20117- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
20118- ps ps-am uninstall uninstall-am uninstall-local
20119+ clean-local distclean distclean-generic distclean-libtool dvi \
20120+ dvi-am html html-am info info-am install install-am \
20121+ install-data install-data-am install-data-local install-dvi \
20122+ install-dvi-am install-exec install-exec-am install-html \
20123+ install-html-am install-info install-info-am install-man \
20124+ install-pdf install-pdf-am install-ps install-ps-am \
20125+ install-strip installcheck installcheck-am installdirs \
20126+ maintainer-clean maintainer-clean-generic mostlyclean \
20127+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
20128+ uninstall uninstall-am uninstall-local
20129
20130
20131 @CREATE_API_DOCS_TRUE@install-data-local:
20132Index: libjava/classpath/external/Makefile.in
20133===================================================================
9f95000d
AM
20134--- libjava/classpath/external/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
20135+++ libjava/classpath/external/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
20136@@ -35,7 +35,7 @@
20137 host_triplet = @host@
20138 target_triplet = @target@
20139 subdir = external
20140-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
20141+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
20142 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
20143 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
20144 $(top_srcdir)/../../config/lead-dot.m4 \
20145@@ -68,7 +68,6 @@
20146 CONFIG_CLEAN_FILES =
20147 CONFIG_CLEAN_VPATH_FILES =
20148 SOURCES =
20149-DIST_SOURCES =
20150 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
20151 html-recursive info-recursive install-data-recursive \
20152 install-dvi-recursive install-exec-recursive \
20153@@ -79,37 +78,10 @@
20154 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
20155 distclean-recursive maintainer-clean-recursive
20156 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
20157- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
20158- distdir
20159+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
20160 ETAGS = etags
20161 CTAGS = ctags
20162 DIST_SUBDIRS = $(SUBDIRS)
20163-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
20164-am__relativize = \
20165- dir0=`pwd`; \
20166- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
20167- sed_rest='s,^[^/]*/*,,'; \
20168- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
20169- sed_butlast='s,/*[^/]*$$,,'; \
20170- while test -n "$$dir1"; do \
20171- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
20172- if test "$$first" != "."; then \
20173- if test "$$first" = ".."; then \
20174- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
20175- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
20176- else \
20177- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
20178- if test "$$first2" = "$$first"; then \
20179- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
20180- else \
20181- dir2="../$$dir2"; \
20182- fi; \
20183- dir0="$$dir0"/"$$first"; \
20184- fi; \
20185- fi; \
20186- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
20187- done; \
20188- reldir="$$dir2"
20189 ACLOCAL = @ACLOCAL@
20190 AMTAR = @AMTAR@
20191 ANTLR = @ANTLR@
20192@@ -496,65 +468,6 @@
20193
20194 distclean-tags:
20195 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
20196-
20197-distdir: $(DISTFILES)
20198- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20199- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20200- list='$(DISTFILES)'; \
20201- dist_files=`for file in $$list; do echo $$file; done | \
20202- sed -e "s|^$$srcdirstrip/||;t" \
20203- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
20204- case $$dist_files in \
20205- */*) $(MKDIR_P) `echo "$$dist_files" | \
20206- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
20207- sort -u` ;; \
20208- esac; \
20209- for file in $$dist_files; do \
20210- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
20211- if test -d $$d/$$file; then \
20212- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
20213- if test -d "$(distdir)/$$file"; then \
20214- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20215- fi; \
20216- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
20217- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
20218- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20219- fi; \
20220- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
20221- else \
20222- test -f "$(distdir)/$$file" \
20223- || cp -p $$d/$$file "$(distdir)/$$file" \
20224- || exit 1; \
20225- fi; \
20226- done
20227- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
20228- if test "$$subdir" = .; then :; else \
20229- test -d "$(distdir)/$$subdir" \
20230- || $(MKDIR_P) "$(distdir)/$$subdir" \
20231- || exit 1; \
20232- fi; \
20233- done
20234- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
20235- if test "$$subdir" = .; then :; else \
20236- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
20237- $(am__relativize); \
20238- new_distdir=$$reldir; \
20239- dir1=$$subdir; dir2="$(top_distdir)"; \
20240- $(am__relativize); \
20241- new_top_distdir=$$reldir; \
20242- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
20243- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
20244- ($(am__cd) $$subdir && \
20245- $(MAKE) $(AM_MAKEFLAGS) \
20246- top_distdir="$$new_top_distdir" \
20247- distdir="$$new_distdir" \
20248- am__remove_distdir=: \
20249- am__skip_length_check=: \
20250- am__skip_mode_fix=: \
20251- distdir) \
20252- || exit 1; \
20253- fi; \
20254- done
20255 check-am: all-am
20256 check: check-recursive
20257 all-am: Makefile
20258@@ -657,13 +570,13 @@
20259 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
20260 all all-am check check-am clean clean-generic clean-libtool \
20261 ctags ctags-recursive distclean distclean-generic \
20262- distclean-libtool distclean-tags distdir dvi dvi-am html \
20263- html-am info info-am install install-am install-data \
20264- install-data-am install-dvi install-dvi-am install-exec \
20265- install-exec-am install-html install-html-am install-info \
20266- install-info-am install-man install-pdf install-pdf-am \
20267- install-ps install-ps-am install-strip installcheck \
20268- installcheck-am installdirs installdirs-am maintainer-clean \
20269+ distclean-libtool distclean-tags dvi dvi-am html html-am info \
20270+ info-am install install-am install-data install-data-am \
20271+ install-dvi install-dvi-am install-exec install-exec-am \
20272+ install-html install-html-am install-info install-info-am \
20273+ install-man install-pdf install-pdf-am install-ps \
20274+ install-ps-am install-strip installcheck installcheck-am \
20275+ installdirs installdirs-am maintainer-clean \
20276 maintainer-clean-generic mostlyclean mostlyclean-generic \
20277 mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
20278 uninstall uninstall-am
20279Index: libjava/classpath/external/jsr166/Makefile.in
20280===================================================================
9f95000d
AM
20281--- libjava/classpath/external/jsr166/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
20282+++ libjava/classpath/external/jsr166/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
20283@@ -35,7 +35,7 @@
20284 host_triplet = @host@
20285 target_triplet = @target@
20286 subdir = external/jsr166
20287-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
20288+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
20289 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
20290 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
20291 $(top_srcdir)/../../config/lead-dot.m4 \
20292@@ -68,8 +68,6 @@
20293 CONFIG_CLEAN_FILES =
20294 CONFIG_CLEAN_VPATH_FILES =
20295 SOURCES =
20296-DIST_SOURCES =
20297-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
20298 ACLOCAL = @ACLOCAL@
20299 AMTAR = @AMTAR@
20300 ANTLR = @ANTLR@
20301@@ -398,37 +396,6 @@
20302 ctags: CTAGS
20303 CTAGS:
20304
20305-
20306-distdir: $(DISTFILES)
20307- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20308- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20309- list='$(DISTFILES)'; \
20310- dist_files=`for file in $$list; do echo $$file; done | \
20311- sed -e "s|^$$srcdirstrip/||;t" \
20312- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
20313- case $$dist_files in \
20314- */*) $(MKDIR_P) `echo "$$dist_files" | \
20315- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
20316- sort -u` ;; \
20317- esac; \
20318- for file in $$dist_files; do \
20319- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
20320- if test -d $$d/$$file; then \
20321- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
20322- if test -d "$(distdir)/$$file"; then \
20323- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20324- fi; \
20325- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
20326- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
20327- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20328- fi; \
20329- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
20330- else \
20331- test -f "$(distdir)/$$file" \
20332- || cp -p $$d/$$file "$(distdir)/$$file" \
20333- || exit 1; \
20334- fi; \
20335- done
20336 check-am: all-am
20337 check: check-am
20338 all-am: Makefile
20339@@ -527,13 +494,13 @@
20340 .MAKE: install-am install-strip
20341
20342 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
20343- distclean distclean-generic distclean-libtool distdir dvi \
20344- dvi-am html html-am info info-am install install-am \
20345- install-data install-data-am install-dvi install-dvi-am \
20346- install-exec install-exec-am install-html install-html-am \
20347- install-info install-info-am install-man install-pdf \
20348- install-pdf-am install-ps install-ps-am install-strip \
20349- installcheck installcheck-am installdirs maintainer-clean \
20350+ distclean distclean-generic distclean-libtool dvi dvi-am html \
20351+ html-am info info-am install install-am install-data \
20352+ install-data-am install-dvi install-dvi-am install-exec \
20353+ install-exec-am install-html install-html-am install-info \
20354+ install-info-am install-man install-pdf install-pdf-am \
20355+ install-ps install-ps-am install-strip installcheck \
20356+ installcheck-am installdirs maintainer-clean \
20357 maintainer-clean-generic mostlyclean mostlyclean-generic \
20358 mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
20359
20360Index: libjava/classpath/external/sax/Makefile.in
20361===================================================================
9f95000d
AM
20362--- libjava/classpath/external/sax/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
20363+++ libjava/classpath/external/sax/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
20364@@ -35,7 +35,7 @@
20365 host_triplet = @host@
20366 target_triplet = @target@
20367 subdir = external/sax
20368-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
20369+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
20370 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
20371 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
20372 $(top_srcdir)/../../config/lead-dot.m4 \
20373@@ -68,8 +68,6 @@
20374 CONFIG_CLEAN_FILES =
20375 CONFIG_CLEAN_VPATH_FILES =
20376 SOURCES =
20377-DIST_SOURCES =
20378-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
20379 ACLOCAL = @ACLOCAL@
20380 AMTAR = @AMTAR@
20381 ANTLR = @ANTLR@
20382@@ -366,37 +364,6 @@
20383 ctags: CTAGS
20384 CTAGS:
20385
20386-
20387-distdir: $(DISTFILES)
20388- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20389- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20390- list='$(DISTFILES)'; \
20391- dist_files=`for file in $$list; do echo $$file; done | \
20392- sed -e "s|^$$srcdirstrip/||;t" \
20393- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
20394- case $$dist_files in \
20395- */*) $(MKDIR_P) `echo "$$dist_files" | \
20396- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
20397- sort -u` ;; \
20398- esac; \
20399- for file in $$dist_files; do \
20400- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
20401- if test -d $$d/$$file; then \
20402- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
20403- if test -d "$(distdir)/$$file"; then \
20404- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20405- fi; \
20406- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
20407- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
20408- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20409- fi; \
20410- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
20411- else \
20412- test -f "$(distdir)/$$file" \
20413- || cp -p $$d/$$file "$(distdir)/$$file" \
20414- || exit 1; \
20415- fi; \
20416- done
20417 check-am: all-am
20418 check: check-am
20419 all-am: Makefile
20420@@ -495,13 +462,13 @@
20421 .MAKE: install-am install-strip
20422
20423 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
20424- distclean distclean-generic distclean-libtool distdir dvi \
20425- dvi-am html html-am info info-am install install-am \
20426- install-data install-data-am install-dvi install-dvi-am \
20427- install-exec install-exec-am install-html install-html-am \
20428- install-info install-info-am install-man install-pdf \
20429- install-pdf-am install-ps install-ps-am install-strip \
20430- installcheck installcheck-am installdirs maintainer-clean \
20431+ distclean distclean-generic distclean-libtool dvi dvi-am html \
20432+ html-am info info-am install install-am install-data \
20433+ install-data-am install-dvi install-dvi-am install-exec \
20434+ install-exec-am install-html install-html-am install-info \
20435+ install-info-am install-man install-pdf install-pdf-am \
20436+ install-ps install-ps-am install-strip installcheck \
20437+ installcheck-am installdirs maintainer-clean \
20438 maintainer-clean-generic mostlyclean mostlyclean-generic \
20439 mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
20440
20441Index: libjava/classpath/external/w3c_dom/Makefile.in
20442===================================================================
9f95000d
AM
20443--- libjava/classpath/external/w3c_dom/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
20444+++ libjava/classpath/external/w3c_dom/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
20445@@ -35,7 +35,7 @@
20446 host_triplet = @host@
20447 target_triplet = @target@
20448 subdir = external/w3c_dom
20449-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
20450+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
20451 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
20452 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
20453 $(top_srcdir)/../../config/lead-dot.m4 \
20454@@ -68,8 +68,6 @@
20455 CONFIG_CLEAN_FILES =
20456 CONFIG_CLEAN_VPATH_FILES =
20457 SOURCES =
20458-DIST_SOURCES =
20459-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
20460 ACLOCAL = @ACLOCAL@
20461 AMTAR = @AMTAR@
20462 ANTLR = @ANTLR@
20463@@ -473,37 +471,6 @@
20464 ctags: CTAGS
20465 CTAGS:
20466
20467-
20468-distdir: $(DISTFILES)
20469- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20470- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20471- list='$(DISTFILES)'; \
20472- dist_files=`for file in $$list; do echo $$file; done | \
20473- sed -e "s|^$$srcdirstrip/||;t" \
20474- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
20475- case $$dist_files in \
20476- */*) $(MKDIR_P) `echo "$$dist_files" | \
20477- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
20478- sort -u` ;; \
20479- esac; \
20480- for file in $$dist_files; do \
20481- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
20482- if test -d $$d/$$file; then \
20483- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
20484- if test -d "$(distdir)/$$file"; then \
20485- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20486- fi; \
20487- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
20488- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
20489- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20490- fi; \
20491- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
20492- else \
20493- test -f "$(distdir)/$$file" \
20494- || cp -p $$d/$$file "$(distdir)/$$file" \
20495- || exit 1; \
20496- fi; \
20497- done
20498 check-am: all-am
20499 check: check-am
20500 all-am: Makefile
20501@@ -602,13 +569,13 @@
20502 .MAKE: install-am install-strip
20503
20504 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
20505- distclean distclean-generic distclean-libtool distdir dvi \
20506- dvi-am html html-am info info-am install install-am \
20507- install-data install-data-am install-dvi install-dvi-am \
20508- install-exec install-exec-am install-html install-html-am \
20509- install-info install-info-am install-man install-pdf \
20510- install-pdf-am install-ps install-ps-am install-strip \
20511- installcheck installcheck-am installdirs maintainer-clean \
20512+ distclean distclean-generic distclean-libtool dvi dvi-am html \
20513+ html-am info info-am install install-am install-data \
20514+ install-data-am install-dvi install-dvi-am install-exec \
20515+ install-exec-am install-html install-html-am install-info \
20516+ install-info-am install-man install-pdf install-pdf-am \
20517+ install-ps install-ps-am install-strip installcheck \
20518+ installcheck-am installdirs maintainer-clean \
20519 maintainer-clean-generic mostlyclean mostlyclean-generic \
20520 mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
20521
20522Index: libjava/classpath/external/relaxngDatatype/Makefile.in
20523===================================================================
9f95000d
AM
20524--- libjava/classpath/external/relaxngDatatype/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
20525+++ libjava/classpath/external/relaxngDatatype/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
20526@@ -35,7 +35,7 @@
20527 host_triplet = @host@
20528 target_triplet = @target@
20529 subdir = external/relaxngDatatype
20530-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
20531+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
20532 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
20533 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
20534 $(top_srcdir)/../../config/lead-dot.m4 \
20535@@ -68,8 +68,6 @@
20536 CONFIG_CLEAN_FILES =
20537 CONFIG_CLEAN_VPATH_FILES =
20538 SOURCES =
20539-DIST_SOURCES =
20540-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
20541 ACLOCAL = @ACLOCAL@
20542 AMTAR = @AMTAR@
20543 ANTLR = @ANTLR@
20544@@ -338,37 +336,6 @@
20545 ctags: CTAGS
20546 CTAGS:
20547
20548-
20549-distdir: $(DISTFILES)
20550- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20551- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20552- list='$(DISTFILES)'; \
20553- dist_files=`for file in $$list; do echo $$file; done | \
20554- sed -e "s|^$$srcdirstrip/||;t" \
20555- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
20556- case $$dist_files in \
20557- */*) $(MKDIR_P) `echo "$$dist_files" | \
20558- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
20559- sort -u` ;; \
20560- esac; \
20561- for file in $$dist_files; do \
20562- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
20563- if test -d $$d/$$file; then \
20564- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
20565- if test -d "$(distdir)/$$file"; then \
20566- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20567- fi; \
20568- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
20569- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
20570- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20571- fi; \
20572- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
20573- else \
20574- test -f "$(distdir)/$$file" \
20575- || cp -p $$d/$$file "$(distdir)/$$file" \
20576- || exit 1; \
20577- fi; \
20578- done
20579 check-am: all-am
20580 check: check-am
20581 all-am: Makefile
20582@@ -467,13 +434,13 @@
20583 .MAKE: install-am install-strip
20584
20585 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
20586- distclean distclean-generic distclean-libtool distdir dvi \
20587- dvi-am html html-am info info-am install install-am \
20588- install-data install-data-am install-dvi install-dvi-am \
20589- install-exec install-exec-am install-html install-html-am \
20590- install-info install-info-am install-man install-pdf \
20591- install-pdf-am install-ps install-ps-am install-strip \
20592- installcheck installcheck-am installdirs maintainer-clean \
20593+ distclean distclean-generic distclean-libtool dvi dvi-am html \
20594+ html-am info info-am install install-am install-data \
20595+ install-data-am install-dvi install-dvi-am install-exec \
20596+ install-exec-am install-html install-html-am install-info \
20597+ install-info-am install-man install-pdf install-pdf-am \
20598+ install-ps install-ps-am install-strip installcheck \
20599+ installcheck-am installdirs maintainer-clean \
20600 maintainer-clean-generic mostlyclean mostlyclean-generic \
20601 mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
20602
20603Index: libjava/classpath/include/Makefile.in
20604===================================================================
9f95000d
AM
20605--- libjava/classpath/include/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
20606+++ libjava/classpath/include/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
20607@@ -35,7 +35,7 @@
20608 host_triplet = @host@
20609 target_triplet = @target@
20610 subdir = include
20611-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
20612+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
20613 $(srcdir)/config.h.in
20614 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
20615 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
20616@@ -69,8 +69,6 @@
20617 CONFIG_CLEAN_FILES =
20618 CONFIG_CLEAN_VPATH_FILES =
20619 SOURCES =
20620-DIST_SOURCES =
20621-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
20622 ACLOCAL = @ACLOCAL@
20623 AMTAR = @AMTAR@
20624 ANTLR = @ANTLR@
20625@@ -500,37 +498,6 @@
20626 ctags: CTAGS
20627 CTAGS:
20628
20629-
20630-distdir: $(DISTFILES)
20631- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20632- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20633- list='$(DISTFILES)'; \
20634- dist_files=`for file in $$list; do echo $$file; done | \
20635- sed -e "s|^$$srcdirstrip/||;t" \
20636- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
20637- case $$dist_files in \
20638- */*) $(MKDIR_P) `echo "$$dist_files" | \
20639- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
20640- sort -u` ;; \
20641- esac; \
20642- for file in $$dist_files; do \
20643- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
20644- if test -d $$d/$$file; then \
20645- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
20646- if test -d "$(distdir)/$$file"; then \
20647- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20648- fi; \
20649- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
20650- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
20651- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20652- fi; \
20653- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
20654- else \
20655- test -f "$(distdir)/$$file" \
20656- || cp -p $$d/$$file "$(distdir)/$$file" \
20657- || exit 1; \
20658- fi; \
20659- done
20660 check-am: all-am
20661 check: check-am
20662 @CREATE_JNI_HEADERS_FALSE@all-local:
20663@@ -632,8 +599,8 @@
20664
20665 .PHONY: all all-am all-local check check-am clean clean-generic \
20666 clean-libtool distclean distclean-generic distclean-hdr \
20667- distclean-libtool distdir dvi dvi-am html html-am info info-am \
20668- install install-am install-data install-data-am install-dvi \
20669+ distclean-libtool dvi dvi-am html html-am info info-am install \
20670+ install-am install-data install-data-am install-dvi \
20671 install-dvi-am install-exec install-exec-am install-html \
20672 install-html-am install-info install-info-am install-man \
20673 install-pdf install-pdf-am install-ps install-ps-am \
20674Index: libjava/classpath/native/jni/Makefile.in
20675===================================================================
9f95000d
AM
20676--- libjava/classpath/native/jni/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
20677+++ libjava/classpath/native/jni/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
20678@@ -35,7 +35,7 @@
20679 host_triplet = @host@
20680 target_triplet = @target@
20681 subdir = native/jni
20682-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
20683+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
20684 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
20685 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
20686 $(top_srcdir)/../../config/lead-dot.m4 \
20687@@ -68,7 +68,6 @@
20688 CONFIG_CLEAN_FILES =
20689 CONFIG_CLEAN_VPATH_FILES =
20690 SOURCES =
20691-DIST_SOURCES =
20692 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
20693 html-recursive info-recursive install-data-recursive \
20694 install-dvi-recursive install-exec-recursive \
20695@@ -79,36 +78,9 @@
20696 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
20697 distclean-recursive maintainer-clean-recursive
20698 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
20699- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
20700- distdir
20701+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
20702 ETAGS = etags
20703 CTAGS = ctags
20704-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
20705-am__relativize = \
20706- dir0=`pwd`; \
20707- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
20708- sed_rest='s,^[^/]*/*,,'; \
20709- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
20710- sed_butlast='s,/*[^/]*$$,,'; \
20711- while test -n "$$dir1"; do \
20712- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
20713- if test "$$first" != "."; then \
20714- if test "$$first" = ".."; then \
20715- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
20716- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
20717- else \
20718- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
20719- if test "$$first2" = "$$first"; then \
20720- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
20721- else \
20722- dir2="../$$dir2"; \
20723- fi; \
20724- dir0="$$dir0"/"$$first"; \
20725- fi; \
20726- fi; \
20727- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
20728- done; \
20729- reldir="$$dir2"
20730 ACLOCAL = @ACLOCAL@
20731 AMTAR = @AMTAR@
20732 ANTLR = @ANTLR@
20733@@ -510,65 +482,6 @@
20734
20735 distclean-tags:
20736 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
20737-
20738-distdir: $(DISTFILES)
20739- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20740- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20741- list='$(DISTFILES)'; \
20742- dist_files=`for file in $$list; do echo $$file; done | \
20743- sed -e "s|^$$srcdirstrip/||;t" \
20744- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
20745- case $$dist_files in \
20746- */*) $(MKDIR_P) `echo "$$dist_files" | \
20747- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
20748- sort -u` ;; \
20749- esac; \
20750- for file in $$dist_files; do \
20751- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
20752- if test -d $$d/$$file; then \
20753- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
20754- if test -d "$(distdir)/$$file"; then \
20755- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20756- fi; \
20757- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
20758- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
20759- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20760- fi; \
20761- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
20762- else \
20763- test -f "$(distdir)/$$file" \
20764- || cp -p $$d/$$file "$(distdir)/$$file" \
20765- || exit 1; \
20766- fi; \
20767- done
20768- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
20769- if test "$$subdir" = .; then :; else \
20770- test -d "$(distdir)/$$subdir" \
20771- || $(MKDIR_P) "$(distdir)/$$subdir" \
20772- || exit 1; \
20773- fi; \
20774- done
20775- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
20776- if test "$$subdir" = .; then :; else \
20777- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
20778- $(am__relativize); \
20779- new_distdir=$$reldir; \
20780- dir1=$$subdir; dir2="$(top_distdir)"; \
20781- $(am__relativize); \
20782- new_top_distdir=$$reldir; \
20783- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
20784- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
20785- ($(am__cd) $$subdir && \
20786- $(MAKE) $(AM_MAKEFLAGS) \
20787- top_distdir="$$new_top_distdir" \
20788- distdir="$$new_distdir" \
20789- am__remove_distdir=: \
20790- am__skip_length_check=: \
20791- am__skip_mode_fix=: \
20792- distdir) \
20793- || exit 1; \
20794- fi; \
20795- done
20796 check-am: all-am
20797 check: check-recursive
20798 all-am: Makefile all-local
20799@@ -671,16 +584,16 @@
20800 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
20801 all all-am all-local check check-am clean clean-generic \
20802 clean-libtool ctags ctags-recursive distclean \
20803- distclean-generic distclean-libtool distclean-tags distdir dvi \
20804- dvi-am html html-am info info-am install install-am \
20805- install-data install-data-am install-dvi install-dvi-am \
20806- install-exec install-exec-am install-html install-html-am \
20807- install-info install-info-am install-man install-pdf \
20808- install-pdf-am install-ps install-ps-am install-strip \
20809- installcheck installcheck-am installdirs installdirs-am \
20810- maintainer-clean maintainer-clean-generic mostlyclean \
20811- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
20812- tags tags-recursive uninstall uninstall-am
20813+ distclean-generic distclean-libtool distclean-tags dvi dvi-am \
20814+ html html-am info info-am install install-am install-data \
20815+ install-data-am install-dvi install-dvi-am install-exec \
20816+ install-exec-am install-html install-html-am install-info \
20817+ install-info-am install-man install-pdf install-pdf-am \
20818+ install-ps install-ps-am install-strip installcheck \
20819+ installcheck-am installdirs installdirs-am maintainer-clean \
20820+ maintainer-clean-generic mostlyclean mostlyclean-generic \
20821+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
20822+ uninstall uninstall-am
20823
20824
20825 all-local:
20826Index: libjava/classpath/native/jni/classpath/Makefile.in
20827===================================================================
9f95000d
AM
20828--- libjava/classpath/native/jni/classpath/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
20829+++ libjava/classpath/native/jni/classpath/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
20830@@ -36,7 +36,7 @@
20831 host_triplet = @host@
20832 target_triplet = @target@
20833 subdir = native/jni/classpath
20834-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
20835+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
20836 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
20837 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
20838 $(top_srcdir)/../../config/lead-dot.m4 \
20839@@ -86,10 +86,8 @@
20840 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
20841 $(LDFLAGS) -o $@
20842 SOURCES = $(libclasspath_la_SOURCES)
20843-DIST_SOURCES = $(libclasspath_la_SOURCES)
20844 ETAGS = etags
20845 CTAGS = ctags
20846-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
20847 ACLOCAL = @ACLOCAL@
20848 AMTAR = @AMTAR@
20849 ANTLR = @ANTLR@
20850@@ -445,37 +443,6 @@
20851
20852 distclean-tags:
20853 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
20854-
20855-distdir: $(DISTFILES)
20856- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20857- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20858- list='$(DISTFILES)'; \
20859- dist_files=`for file in $$list; do echo $$file; done | \
20860- sed -e "s|^$$srcdirstrip/||;t" \
20861- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
20862- case $$dist_files in \
20863- */*) $(MKDIR_P) `echo "$$dist_files" | \
20864- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
20865- sort -u` ;; \
20866- esac; \
20867- for file in $$dist_files; do \
20868- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
20869- if test -d $$d/$$file; then \
20870- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
20871- if test -d "$(distdir)/$$file"; then \
20872- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20873- fi; \
20874- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
20875- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
20876- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20877- fi; \
20878- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
20879- else \
20880- test -f "$(distdir)/$$file" \
20881- || cp -p $$d/$$file "$(distdir)/$$file" \
20882- || exit 1; \
20883- fi; \
20884- done
20885 check-am: all-am
20886 check: check-am
20887 all-am: Makefile $(LTLIBRARIES)
20888@@ -581,8 +548,8 @@
20889 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
20890 clean-libtool clean-noinstLTLIBRARIES ctags distclean \
20891 distclean-compile distclean-generic distclean-libtool \
20892- distclean-tags distdir dvi dvi-am html html-am info info-am \
20893- install install-am install-data install-data-am install-dvi \
20894+ distclean-tags dvi dvi-am html html-am info info-am install \
20895+ install-am install-data install-data-am install-dvi \
20896 install-dvi-am install-exec install-exec-am install-html \
20897 install-html-am install-info install-info-am install-man \
20898 install-pdf install-pdf-am install-ps install-ps-am \
20899Index: libjava/classpath/native/jni/gstreamer-peer/Makefile.in
20900===================================================================
9f95000d
AM
20901--- libjava/classpath/native/jni/gstreamer-peer/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
20902+++ libjava/classpath/native/jni/gstreamer-peer/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
20903@@ -36,7 +36,7 @@
20904 host_triplet = @host@
20905 target_triplet = @target@
20906 subdir = native/jni/gstreamer-peer
20907-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
20908+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
20909 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
20910 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
20911 $(top_srcdir)/../../config/lead-dot.m4 \
20912@@ -114,10 +114,8 @@
20913 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
20914 $(LDFLAGS) -o $@
20915 SOURCES = $(libgstreamerpeer_la_SOURCES)
20916-DIST_SOURCES = $(libgstreamerpeer_la_SOURCES)
20917 ETAGS = etags
20918 CTAGS = ctags
20919-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
20920 ACLOCAL = @ACLOCAL@
20921 AMTAR = @AMTAR@
20922 ANTLR = @ANTLR@
20923@@ -514,37 +512,6 @@
20924
20925 distclean-tags:
20926 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
20927-
20928-distdir: $(DISTFILES)
20929- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20930- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
20931- list='$(DISTFILES)'; \
20932- dist_files=`for file in $$list; do echo $$file; done | \
20933- sed -e "s|^$$srcdirstrip/||;t" \
20934- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
20935- case $$dist_files in \
20936- */*) $(MKDIR_P) `echo "$$dist_files" | \
20937- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
20938- sort -u` ;; \
20939- esac; \
20940- for file in $$dist_files; do \
20941- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
20942- if test -d $$d/$$file; then \
20943- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
20944- if test -d "$(distdir)/$$file"; then \
20945- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20946- fi; \
20947- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
20948- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
20949- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
20950- fi; \
20951- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
20952- else \
20953- test -f "$(distdir)/$$file" \
20954- || cp -p $$d/$$file "$(distdir)/$$file" \
20955- || exit 1; \
20956- fi; \
20957- done
20958 check-am: all-am
20959 check: check-am
20960 all-am: Makefile $(LTLIBRARIES)
20961@@ -653,8 +620,8 @@
20962 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
20963 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
20964 distclean-compile distclean-generic distclean-libtool \
20965- distclean-tags distdir dvi dvi-am html html-am info info-am \
20966- install install-am install-data install-data-am install-dvi \
20967+ distclean-tags dvi dvi-am html html-am info info-am install \
20968+ install-am install-data install-data-am install-dvi \
20969 install-dvi-am install-exec install-exec-am install-html \
20970 install-html-am install-info install-info-am install-man \
20971 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
20972Index: libjava/classpath/native/jni/midi-dssi/Makefile.in
20973===================================================================
9f95000d
AM
20974--- libjava/classpath/native/jni/midi-dssi/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
20975+++ libjava/classpath/native/jni/midi-dssi/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
20976@@ -36,7 +36,7 @@
20977 host_triplet = @host@
20978 target_triplet = @target@
20979 subdir = native/jni/midi-dssi
20980-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
20981+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
20982 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
20983 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
20984 $(top_srcdir)/../../config/lead-dot.m4 \
20985@@ -114,10 +114,8 @@
20986 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
20987 $(LDFLAGS) -o $@
20988 SOURCES = $(libgjsmdssi_la_SOURCES)
20989-DIST_SOURCES = $(libgjsmdssi_la_SOURCES)
20990 ETAGS = etags
20991 CTAGS = ctags
20992-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
20993 ACLOCAL = @ACLOCAL@
20994 AMTAR = @AMTAR@
20995 ANTLR = @ANTLR@
20996@@ -496,37 +494,6 @@
20997
20998 distclean-tags:
20999 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21000-
21001-distdir: $(DISTFILES)
21002- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21003- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21004- list='$(DISTFILES)'; \
21005- dist_files=`for file in $$list; do echo $$file; done | \
21006- sed -e "s|^$$srcdirstrip/||;t" \
21007- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
21008- case $$dist_files in \
21009- */*) $(MKDIR_P) `echo "$$dist_files" | \
21010- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
21011- sort -u` ;; \
21012- esac; \
21013- for file in $$dist_files; do \
21014- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
21015- if test -d $$d/$$file; then \
21016- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
21017- if test -d "$(distdir)/$$file"; then \
21018- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21019- fi; \
21020- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
21021- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
21022- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21023- fi; \
21024- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
21025- else \
21026- test -f "$(distdir)/$$file" \
21027- || cp -p $$d/$$file "$(distdir)/$$file" \
21028- || exit 1; \
21029- fi; \
21030- done
21031 check-am: all-am
21032 check: check-am
21033 all-am: Makefile $(LTLIBRARIES)
21034@@ -635,8 +602,8 @@
21035 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
21036 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
21037 distclean-compile distclean-generic distclean-libtool \
21038- distclean-tags distdir dvi dvi-am html html-am info info-am \
21039- install install-am install-data install-data-am install-dvi \
21040+ distclean-tags dvi dvi-am html html-am info info-am install \
21041+ install-am install-data install-data-am install-dvi \
21042 install-dvi-am install-exec install-exec-am install-html \
21043 install-html-am install-info install-info-am install-man \
21044 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
21045Index: libjava/classpath/native/jni/gconf-peer/Makefile.in
21046===================================================================
9f95000d
AM
21047--- libjava/classpath/native/jni/gconf-peer/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
21048+++ libjava/classpath/native/jni/gconf-peer/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
21049@@ -36,7 +36,7 @@
21050 host_triplet = @host@
21051 target_triplet = @target@
21052 subdir = native/jni/gconf-peer
21053-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
21054+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
21055 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
21056 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
21057 $(top_srcdir)/../../config/lead-dot.m4 \
21058@@ -112,10 +112,8 @@
21059 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
21060 $(LDFLAGS) -o $@
21061 SOURCES = $(libgconfpeer_la_SOURCES)
21062-DIST_SOURCES = $(libgconfpeer_la_SOURCES)
21063 ETAGS = etags
21064 CTAGS = ctags
21065-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
21066 ACLOCAL = @ACLOCAL@
21067 AMTAR = @AMTAR@
21068 ANTLR = @ANTLR@
21069@@ -489,37 +487,6 @@
21070
21071 distclean-tags:
21072 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21073-
21074-distdir: $(DISTFILES)
21075- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21076- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21077- list='$(DISTFILES)'; \
21078- dist_files=`for file in $$list; do echo $$file; done | \
21079- sed -e "s|^$$srcdirstrip/||;t" \
21080- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
21081- case $$dist_files in \
21082- */*) $(MKDIR_P) `echo "$$dist_files" | \
21083- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
21084- sort -u` ;; \
21085- esac; \
21086- for file in $$dist_files; do \
21087- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
21088- if test -d $$d/$$file; then \
21089- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
21090- if test -d "$(distdir)/$$file"; then \
21091- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21092- fi; \
21093- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
21094- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
21095- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21096- fi; \
21097- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
21098- else \
21099- test -f "$(distdir)/$$file" \
21100- || cp -p $$d/$$file "$(distdir)/$$file" \
21101- || exit 1; \
21102- fi; \
21103- done
21104 check-am: all-am
21105 check: check-am
21106 all-am: Makefile $(LTLIBRARIES)
21107@@ -628,8 +595,8 @@
21108 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
21109 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
21110 distclean-compile distclean-generic distclean-libtool \
21111- distclean-tags distdir dvi dvi-am html html-am info info-am \
21112- install install-am install-data install-data-am install-dvi \
21113+ distclean-tags dvi dvi-am html html-am info info-am install \
21114+ install-am install-data install-data-am install-dvi \
21115 install-dvi-am install-exec install-exec-am install-html \
21116 install-html-am install-info install-info-am install-man \
21117 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
21118Index: libjava/classpath/native/jni/java-io/Makefile.in
21119===================================================================
9f95000d
AM
21120--- libjava/classpath/native/jni/java-io/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
21121+++ libjava/classpath/native/jni/java-io/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
21122@@ -36,7 +36,7 @@
21123 host_triplet = @host@
21124 target_triplet = @target@
21125 subdir = native/jni/java-io
21126-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
21127+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
21128 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
21129 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
21130 $(top_srcdir)/../../config/lead-dot.m4 \
21131@@ -111,10 +111,8 @@
21132 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
21133 $(LDFLAGS) -o $@
21134 SOURCES = $(libjavaio_la_SOURCES)
21135-DIST_SOURCES = $(libjavaio_la_SOURCES)
21136 ETAGS = etags
21137 CTAGS = ctags
21138-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
21139 ACLOCAL = @ACLOCAL@
21140 AMTAR = @AMTAR@
21141 ANTLR = @ANTLR@
21142@@ -494,37 +492,6 @@
21143
21144 distclean-tags:
21145 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21146-
21147-distdir: $(DISTFILES)
21148- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21149- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21150- list='$(DISTFILES)'; \
21151- dist_files=`for file in $$list; do echo $$file; done | \
21152- sed -e "s|^$$srcdirstrip/||;t" \
21153- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
21154- case $$dist_files in \
21155- */*) $(MKDIR_P) `echo "$$dist_files" | \
21156- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
21157- sort -u` ;; \
21158- esac; \
21159- for file in $$dist_files; do \
21160- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
21161- if test -d $$d/$$file; then \
21162- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
21163- if test -d "$(distdir)/$$file"; then \
21164- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21165- fi; \
21166- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
21167- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
21168- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21169- fi; \
21170- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
21171- else \
21172- test -f "$(distdir)/$$file" \
21173- || cp -p $$d/$$file "$(distdir)/$$file" \
21174- || exit 1; \
21175- fi; \
21176- done
21177 check-am: all-am
21178 check: check-am
21179 all-am: Makefile $(LTLIBRARIES)
21180@@ -633,8 +600,8 @@
21181 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
21182 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
21183 distclean-compile distclean-generic distclean-libtool \
21184- distclean-tags distdir dvi dvi-am html html-am info info-am \
21185- install install-am install-data install-data-am install-dvi \
21186+ distclean-tags dvi dvi-am html html-am info info-am install \
21187+ install-am install-data install-data-am install-dvi \
21188 install-dvi-am install-exec install-exec-am install-html \
21189 install-html-am install-info install-info-am install-man \
21190 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
21191Index: libjava/classpath/native/jni/native-lib/Makefile.in
21192===================================================================
9f95000d
AM
21193--- libjava/classpath/native/jni/native-lib/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
21194+++ libjava/classpath/native/jni/native-lib/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
21195@@ -36,7 +36,7 @@
21196 host_triplet = @host@
21197 target_triplet = @target@
21198 subdir = native/jni/native-lib
21199-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
21200+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
21201 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
21202 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
21203 $(top_srcdir)/../../config/lead-dot.m4 \
21204@@ -86,10 +86,8 @@
21205 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
21206 $(LDFLAGS) -o $@
21207 SOURCES = $(libclasspathnative_la_SOURCES)
21208-DIST_SOURCES = $(libclasspathnative_la_SOURCES)
21209 ETAGS = etags
21210 CTAGS = ctags
21211-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
21212 ACLOCAL = @ACLOCAL@
21213 AMTAR = @AMTAR@
21214 ANTLR = @ANTLR@
21215@@ -448,37 +446,6 @@
21216
21217 distclean-tags:
21218 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21219-
21220-distdir: $(DISTFILES)
21221- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21222- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21223- list='$(DISTFILES)'; \
21224- dist_files=`for file in $$list; do echo $$file; done | \
21225- sed -e "s|^$$srcdirstrip/||;t" \
21226- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
21227- case $$dist_files in \
21228- */*) $(MKDIR_P) `echo "$$dist_files" | \
21229- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
21230- sort -u` ;; \
21231- esac; \
21232- for file in $$dist_files; do \
21233- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
21234- if test -d $$d/$$file; then \
21235- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
21236- if test -d "$(distdir)/$$file"; then \
21237- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21238- fi; \
21239- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
21240- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
21241- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21242- fi; \
21243- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
21244- else \
21245- test -f "$(distdir)/$$file" \
21246- || cp -p $$d/$$file "$(distdir)/$$file" \
21247- || exit 1; \
21248- fi; \
21249- done
21250 check-am: all-am
21251 check: check-am
21252 all-am: Makefile $(LTLIBRARIES)
21253@@ -584,8 +551,8 @@
21254 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
21255 clean-libtool clean-noinstLTLIBRARIES ctags distclean \
21256 distclean-compile distclean-generic distclean-libtool \
21257- distclean-tags distdir dvi dvi-am html html-am info info-am \
21258- install install-am install-data install-data-am install-dvi \
21259+ distclean-tags dvi dvi-am html html-am info info-am install \
21260+ install-am install-data install-data-am install-dvi \
21261 install-dvi-am install-exec install-exec-am install-html \
21262 install-html-am install-info install-info-am install-man \
21263 install-pdf install-pdf-am install-ps install-ps-am \
21264Index: libjava/classpath/native/jni/java-util/Makefile.in
21265===================================================================
9f95000d
AM
21266--- libjava/classpath/native/jni/java-util/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
21267+++ libjava/classpath/native/jni/java-util/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
21268@@ -36,7 +36,7 @@
21269 host_triplet = @host@
21270 target_triplet = @target@
21271 subdir = native/jni/java-util
21272-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
21273+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
21274 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
21275 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
21276 $(top_srcdir)/../../config/lead-dot.m4 \
21277@@ -108,10 +108,8 @@
21278 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
21279 $(LDFLAGS) -o $@
21280 SOURCES = $(libjavautil_la_SOURCES)
21281-DIST_SOURCES = $(libjavautil_la_SOURCES)
21282 ETAGS = etags
21283 CTAGS = ctags
21284-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
21285 ACLOCAL = @ACLOCAL@
21286 AMTAR = @AMTAR@
21287 ANTLR = @ANTLR@
21288@@ -483,37 +481,6 @@
21289
21290 distclean-tags:
21291 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21292-
21293-distdir: $(DISTFILES)
21294- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21295- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21296- list='$(DISTFILES)'; \
21297- dist_files=`for file in $$list; do echo $$file; done | \
21298- sed -e "s|^$$srcdirstrip/||;t" \
21299- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
21300- case $$dist_files in \
21301- */*) $(MKDIR_P) `echo "$$dist_files" | \
21302- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
21303- sort -u` ;; \
21304- esac; \
21305- for file in $$dist_files; do \
21306- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
21307- if test -d $$d/$$file; then \
21308- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
21309- if test -d "$(distdir)/$$file"; then \
21310- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21311- fi; \
21312- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
21313- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
21314- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21315- fi; \
21316- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
21317- else \
21318- test -f "$(distdir)/$$file" \
21319- || cp -p $$d/$$file "$(distdir)/$$file" \
21320- || exit 1; \
21321- fi; \
21322- done
21323 check-am: all-am
21324 check: check-am
21325 all-am: Makefile $(LTLIBRARIES)
21326@@ -622,8 +589,8 @@
21327 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
21328 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
21329 distclean-compile distclean-generic distclean-libtool \
21330- distclean-tags distdir dvi dvi-am html html-am info info-am \
21331- install install-am install-data install-data-am install-dvi \
21332+ distclean-tags dvi dvi-am html html-am info info-am install \
21333+ install-am install-data install-data-am install-dvi \
21334 install-dvi-am install-exec install-exec-am install-html \
21335 install-html-am install-info install-info-am install-man \
21336 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
21337Index: libjava/classpath/native/jni/java-lang/Makefile.in
21338===================================================================
9f95000d
AM
21339--- libjava/classpath/native/jni/java-lang/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
21340+++ libjava/classpath/native/jni/java-lang/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
21341@@ -36,7 +36,7 @@
21342 host_triplet = @host@
21343 target_triplet = @target@
21344 subdir = native/jni/java-lang
21345-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
21346+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
21347 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
21348 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
21349 $(top_srcdir)/../../config/lead-dot.m4 \
21350@@ -123,12 +123,8 @@
21351 SOURCES = $(libjavalang_la_SOURCES) \
21352 $(libjavalangmanagement_la_SOURCES) \
21353 $(libjavalangreflect_la_SOURCES)
21354-DIST_SOURCES = $(libjavalang_la_SOURCES) \
21355- $(libjavalangmanagement_la_SOURCES) \
21356- $(libjavalangreflect_la_SOURCES)
21357 ETAGS = etags
21358 CTAGS = ctags
21359-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
21360 ACLOCAL = @ACLOCAL@
21361 AMTAR = @AMTAR@
21362 ANTLR = @ANTLR@
21363@@ -521,37 +517,6 @@
21364
21365 distclean-tags:
21366 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21367-
21368-distdir: $(DISTFILES)
21369- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21370- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21371- list='$(DISTFILES)'; \
21372- dist_files=`for file in $$list; do echo $$file; done | \
21373- sed -e "s|^$$srcdirstrip/||;t" \
21374- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
21375- case $$dist_files in \
21376- */*) $(MKDIR_P) `echo "$$dist_files" | \
21377- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
21378- sort -u` ;; \
21379- esac; \
21380- for file in $$dist_files; do \
21381- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
21382- if test -d $$d/$$file; then \
21383- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
21384- if test -d "$(distdir)/$$file"; then \
21385- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21386- fi; \
21387- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
21388- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
21389- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21390- fi; \
21391- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
21392- else \
21393- test -f "$(distdir)/$$file" \
21394- || cp -p $$d/$$file "$(distdir)/$$file" \
21395- || exit 1; \
21396- fi; \
21397- done
21398 check-am: all-am
21399 check: check-am
21400 all-am: Makefile $(LTLIBRARIES)
21401@@ -660,8 +625,8 @@
21402 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
21403 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
21404 distclean-compile distclean-generic distclean-libtool \
21405- distclean-tags distdir dvi dvi-am html html-am info info-am \
21406- install install-am install-data install-data-am install-dvi \
21407+ distclean-tags dvi dvi-am html html-am info info-am install \
21408+ install-am install-data install-data-am install-dvi \
21409 install-dvi-am install-exec install-exec-am install-html \
21410 install-html-am install-info install-info-am install-man \
21411 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
21412Index: libjava/classpath/native/jni/midi-alsa/Makefile.in
21413===================================================================
9f95000d
AM
21414--- libjava/classpath/native/jni/midi-alsa/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
21415+++ libjava/classpath/native/jni/midi-alsa/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
21416@@ -36,7 +36,7 @@
21417 host_triplet = @host@
21418 target_triplet = @target@
21419 subdir = native/jni/midi-alsa
21420-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
21421+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
21422 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
21423 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
21424 $(top_srcdir)/../../config/lead-dot.m4 \
21425@@ -114,10 +114,8 @@
21426 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
21427 $(LDFLAGS) -o $@
21428 SOURCES = $(libgjsmalsa_la_SOURCES)
21429-DIST_SOURCES = $(libgjsmalsa_la_SOURCES)
21430 ETAGS = etags
21431 CTAGS = ctags
21432-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
21433 ACLOCAL = @ACLOCAL@
21434 AMTAR = @AMTAR@
21435 ANTLR = @ANTLR@
21436@@ -496,37 +494,6 @@
21437
21438 distclean-tags:
21439 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21440-
21441-distdir: $(DISTFILES)
21442- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21443- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21444- list='$(DISTFILES)'; \
21445- dist_files=`for file in $$list; do echo $$file; done | \
21446- sed -e "s|^$$srcdirstrip/||;t" \
21447- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
21448- case $$dist_files in \
21449- */*) $(MKDIR_P) `echo "$$dist_files" | \
21450- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
21451- sort -u` ;; \
21452- esac; \
21453- for file in $$dist_files; do \
21454- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
21455- if test -d $$d/$$file; then \
21456- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
21457- if test -d "$(distdir)/$$file"; then \
21458- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21459- fi; \
21460- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
21461- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
21462- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21463- fi; \
21464- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
21465- else \
21466- test -f "$(distdir)/$$file" \
21467- || cp -p $$d/$$file "$(distdir)/$$file" \
21468- || exit 1; \
21469- fi; \
21470- done
21471 check-am: all-am
21472 check: check-am
21473 all-am: Makefile $(LTLIBRARIES)
21474@@ -635,8 +602,8 @@
21475 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
21476 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
21477 distclean-compile distclean-generic distclean-libtool \
21478- distclean-tags distdir dvi dvi-am html html-am info info-am \
21479- install install-am install-data install-data-am install-dvi \
21480+ distclean-tags dvi dvi-am html html-am info info-am install \
21481+ install-am install-data install-data-am install-dvi \
21482 install-dvi-am install-exec install-exec-am install-html \
21483 install-html-am install-info install-info-am install-man \
21484 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
21485Index: libjava/classpath/native/jni/java-nio/Makefile.in
21486===================================================================
9f95000d
AM
21487--- libjava/classpath/native/jni/java-nio/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
21488+++ libjava/classpath/native/jni/java-nio/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
21489@@ -36,7 +36,7 @@
21490 host_triplet = @host@
21491 target_triplet = @target@
21492 subdir = native/jni/java-nio
21493-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
21494+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
21495 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
21496 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
21497 $(top_srcdir)/../../config/lead-dot.m4 \
21498@@ -119,10 +119,8 @@
21499 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
21500 $(LDFLAGS) -o $@
21501 SOURCES = $(libjavanio_la_SOURCES)
21502-DIST_SOURCES = $(libjavanio_la_SOURCES)
21503 ETAGS = etags
21504 CTAGS = ctags
21505-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
21506 ACLOCAL = @ACLOCAL@
21507 AMTAR = @AMTAR@
21508 ANTLR = @ANTLR@
21509@@ -519,37 +517,6 @@
21510
21511 distclean-tags:
21512 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21513-
21514-distdir: $(DISTFILES)
21515- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21516- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21517- list='$(DISTFILES)'; \
21518- dist_files=`for file in $$list; do echo $$file; done | \
21519- sed -e "s|^$$srcdirstrip/||;t" \
21520- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
21521- case $$dist_files in \
21522- */*) $(MKDIR_P) `echo "$$dist_files" | \
21523- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
21524- sort -u` ;; \
21525- esac; \
21526- for file in $$dist_files; do \
21527- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
21528- if test -d $$d/$$file; then \
21529- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
21530- if test -d "$(distdir)/$$file"; then \
21531- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21532- fi; \
21533- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
21534- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
21535- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21536- fi; \
21537- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
21538- else \
21539- test -f "$(distdir)/$$file" \
21540- || cp -p $$d/$$file "$(distdir)/$$file" \
21541- || exit 1; \
21542- fi; \
21543- done
21544 check-am: all-am
21545 check: check-am
21546 all-am: Makefile $(LTLIBRARIES)
21547@@ -658,8 +625,8 @@
21548 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
21549 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
21550 distclean-compile distclean-generic distclean-libtool \
21551- distclean-tags distdir dvi dvi-am html html-am info info-am \
21552- install install-am install-data install-data-am install-dvi \
21553+ distclean-tags dvi dvi-am html html-am info info-am install \
21554+ install-am install-data install-data-am install-dvi \
21555 install-dvi-am install-exec install-exec-am install-html \
21556 install-html-am install-info install-info-am install-man \
21557 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
21558Index: libjava/classpath/native/jni/java-net/Makefile.in
21559===================================================================
9f95000d
AM
21560--- libjava/classpath/native/jni/java-net/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
21561+++ libjava/classpath/native/jni/java-net/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
21562@@ -36,7 +36,7 @@
21563 host_triplet = @host@
21564 target_triplet = @target@
21565 subdir = native/jni/java-net
21566-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
21567+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
21568 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
21569 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
21570 $(top_srcdir)/../../config/lead-dot.m4 \
21571@@ -96,10 +96,6 @@
21572 $(top_builddir)/native/jni/classpath/jcl.lo \
21573 $(top_builddir)/native/jni/native-lib/libclasspathnative.la \
21574 $(am__DEPENDENCIES_1)
21575-am__libjavanet_la_SOURCES_DIST = javanet.c javanet.h \
21576- java_net_VMInetAddress.c java_net_VMNetworkInterface.c \
21577- java_net_VMURLConnection.c gnu_java_net_VMPlainSocketImpl.c \
21578- gnu_java_net_local_LocalSocketImpl.c local.c local.h
21579 @ENABLE_LOCAL_SOCKETS_FALSE@am__objects_1 = gnu_java_net_local_LocalSocketImpl.lo
21580 @ENABLE_LOCAL_SOCKETS_TRUE@am__objects_1 = gnu_java_net_local_LocalSocketImpl.lo \
21581 @ENABLE_LOCAL_SOCKETS_TRUE@ local.lo
21582@@ -121,10 +117,8 @@
21583 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
21584 $(LDFLAGS) -o $@
21585 SOURCES = $(libjavanet_la_SOURCES)
21586-DIST_SOURCES = $(am__libjavanet_la_SOURCES_DIST)
21587 ETAGS = etags
21588 CTAGS = ctags
21589-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
21590 ACLOCAL = @ACLOCAL@
21591 AMTAR = @AMTAR@
21592 ANTLR = @ANTLR@
21593@@ -518,37 +512,6 @@
21594
21595 distclean-tags:
21596 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21597-
21598-distdir: $(DISTFILES)
21599- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21600- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21601- list='$(DISTFILES)'; \
21602- dist_files=`for file in $$list; do echo $$file; done | \
21603- sed -e "s|^$$srcdirstrip/||;t" \
21604- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
21605- case $$dist_files in \
21606- */*) $(MKDIR_P) `echo "$$dist_files" | \
21607- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
21608- sort -u` ;; \
21609- esac; \
21610- for file in $$dist_files; do \
21611- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
21612- if test -d $$d/$$file; then \
21613- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
21614- if test -d "$(distdir)/$$file"; then \
21615- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21616- fi; \
21617- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
21618- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
21619- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21620- fi; \
21621- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
21622- else \
21623- test -f "$(distdir)/$$file" \
21624- || cp -p $$d/$$file "$(distdir)/$$file" \
21625- || exit 1; \
21626- fi; \
21627- done
21628 check-am: all-am
21629 check: check-am
21630 all-am: Makefile $(LTLIBRARIES)
21631@@ -657,8 +620,8 @@
21632 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
21633 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
21634 distclean-compile distclean-generic distclean-libtool \
21635- distclean-tags distdir dvi dvi-am html html-am info info-am \
21636- install install-am install-data install-data-am install-dvi \
21637+ distclean-tags dvi dvi-am html html-am info info-am install \
21638+ install-am install-data install-data-am install-dvi \
21639 install-dvi-am install-exec install-exec-am install-html \
21640 install-html-am install-info install-info-am install-man \
21641 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
21642Index: libjava/classpath/native/jni/java-math/Makefile.in
21643===================================================================
9f95000d
AM
21644--- libjava/classpath/native/jni/java-math/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
21645+++ libjava/classpath/native/jni/java-math/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
21646@@ -36,7 +36,7 @@
21647 host_triplet = @host@
21648 target_triplet = @target@
21649 subdir = native/jni/java-math
21650-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
21651+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
21652 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
21653 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
21654 $(top_srcdir)/../../config/lead-dot.m4 \
21655@@ -112,10 +112,8 @@
21656 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
21657 $(LDFLAGS) -o $@
21658 SOURCES = $(libjavamath_la_SOURCES)
21659-DIST_SOURCES = $(libjavamath_la_SOURCES)
21660 ETAGS = etags
21661 CTAGS = ctags
21662-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
21663 ACLOCAL = @ACLOCAL@
21664 AMTAR = @AMTAR@
21665 ANTLR = @ANTLR@
21666@@ -487,37 +485,6 @@
21667
21668 distclean-tags:
21669 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21670-
21671-distdir: $(DISTFILES)
21672- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21673- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21674- list='$(DISTFILES)'; \
21675- dist_files=`for file in $$list; do echo $$file; done | \
21676- sed -e "s|^$$srcdirstrip/||;t" \
21677- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
21678- case $$dist_files in \
21679- */*) $(MKDIR_P) `echo "$$dist_files" | \
21680- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
21681- sort -u` ;; \
21682- esac; \
21683- for file in $$dist_files; do \
21684- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
21685- if test -d $$d/$$file; then \
21686- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
21687- if test -d "$(distdir)/$$file"; then \
21688- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21689- fi; \
21690- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
21691- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
21692- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21693- fi; \
21694- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
21695- else \
21696- test -f "$(distdir)/$$file" \
21697- || cp -p $$d/$$file "$(distdir)/$$file" \
21698- || exit 1; \
21699- fi; \
21700- done
21701 check-am: all-am
21702 check: check-am
21703 all-am: Makefile $(LTLIBRARIES)
21704@@ -626,8 +593,8 @@
21705 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
21706 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
21707 distclean-compile distclean-generic distclean-libtool \
21708- distclean-tags distdir dvi dvi-am html html-am info info-am \
21709- install install-am install-data install-data-am install-dvi \
21710+ distclean-tags dvi dvi-am html html-am info info-am install \
21711+ install-am install-data install-data-am install-dvi \
21712 install-dvi-am install-exec install-exec-am install-html \
21713 install-html-am install-info install-info-am install-man \
21714 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
21715Index: libjava/classpath/native/jni/xmlj/Makefile.in
21716===================================================================
9f95000d
AM
21717--- libjava/classpath/native/jni/xmlj/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
21718+++ libjava/classpath/native/jni/xmlj/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
21719@@ -36,7 +36,7 @@
21720 host_triplet = @host@
21721 target_triplet = @target@
21722 subdir = native/jni/xmlj
21723-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
21724+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
21725 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
21726 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
21727 $(top_srcdir)/../../config/lead-dot.m4 \
21728@@ -110,10 +110,8 @@
21729 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
21730 $(LDFLAGS) -o $@
21731 SOURCES = $(libxmlj_la_SOURCES)
21732-DIST_SOURCES = $(libxmlj_la_SOURCES)
21733 ETAGS = etags
21734 CTAGS = ctags
21735-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
21736 ACLOCAL = @ACLOCAL@
21737 AMTAR = @AMTAR@
21738 ANTLR = @ANTLR@
21739@@ -511,37 +509,6 @@
21740
21741 distclean-tags:
21742 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21743-
21744-distdir: $(DISTFILES)
21745- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21746- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21747- list='$(DISTFILES)'; \
21748- dist_files=`for file in $$list; do echo $$file; done | \
21749- sed -e "s|^$$srcdirstrip/||;t" \
21750- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
21751- case $$dist_files in \
21752- */*) $(MKDIR_P) `echo "$$dist_files" | \
21753- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
21754- sort -u` ;; \
21755- esac; \
21756- for file in $$dist_files; do \
21757- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
21758- if test -d $$d/$$file; then \
21759- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
21760- if test -d "$(distdir)/$$file"; then \
21761- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21762- fi; \
21763- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
21764- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
21765- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21766- fi; \
21767- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
21768- else \
21769- test -f "$(distdir)/$$file" \
21770- || cp -p $$d/$$file "$(distdir)/$$file" \
21771- || exit 1; \
21772- fi; \
21773- done
21774 check-am: all-am
21775 check: check-am
21776 all-am: Makefile $(LTLIBRARIES)
21777@@ -650,8 +617,8 @@
21778 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
21779 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
21780 distclean-compile distclean-generic distclean-libtool \
21781- distclean-tags distdir dvi dvi-am html html-am info info-am \
21782- install install-am install-data install-data-am install-dvi \
21783+ distclean-tags dvi dvi-am html html-am info info-am install \
21784+ install-am install-data install-data-am install-dvi \
21785 install-dvi-am install-exec install-exec-am install-html \
21786 install-html-am install-info install-info-am install-man \
21787 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
21788Index: libjava/classpath/native/jni/qt-peer/Makefile.in
21789===================================================================
9f95000d
AM
21790--- libjava/classpath/native/jni/qt-peer/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
21791+++ libjava/classpath/native/jni/qt-peer/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
21792@@ -39,7 +39,7 @@
21793 host_triplet = @host@
21794 target_triplet = @target@
21795 subdir = native/jni/qt-peer
21796-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
21797+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
21798 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
21799 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
21800 $(top_srcdir)/../../config/lead-dot.m4 \
21801@@ -116,10 +116,8 @@
21802 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
21803 $(LDFLAGS) -o $@
21804 SOURCES = $(libqtpeer_la_SOURCES) $(nodist_libqtpeer_la_SOURCES)
21805-DIST_SOURCES = $(libqtpeer_la_SOURCES)
21806 ETAGS = etags
21807 CTAGS = ctags
21808-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
21809 ACLOCAL = @ACLOCAL@
21810 AMTAR = @AMTAR@
21811 ANTLR = @ANTLR@
21812@@ -577,37 +575,6 @@
21813
21814 distclean-tags:
21815 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21816-
21817-distdir: $(DISTFILES)
21818- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21819- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21820- list='$(DISTFILES)'; \
21821- dist_files=`for file in $$list; do echo $$file; done | \
21822- sed -e "s|^$$srcdirstrip/||;t" \
21823- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
21824- case $$dist_files in \
21825- */*) $(MKDIR_P) `echo "$$dist_files" | \
21826- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
21827- sort -u` ;; \
21828- esac; \
21829- for file in $$dist_files; do \
21830- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
21831- if test -d $$d/$$file; then \
21832- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
21833- if test -d "$(distdir)/$$file"; then \
21834- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21835- fi; \
21836- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
21837- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
21838- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21839- fi; \
21840- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
21841- else \
21842- test -f "$(distdir)/$$file" \
21843- || cp -p $$d/$$file "$(distdir)/$$file" \
21844- || exit 1; \
21845- fi; \
21846- done
21847 check-am: all-am
21848 check: $(BUILT_SOURCES)
21849 $(MAKE) $(AM_MAKEFLAGS) check-am
21850@@ -717,8 +684,8 @@
21851 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
21852 clean-libtool clean-noinstLTLIBRARIES ctags distclean \
21853 distclean-compile distclean-generic distclean-libtool \
21854- distclean-tags distdir dvi dvi-am html html-am info info-am \
21855- install install-am install-data install-data-am install-dvi \
21856+ distclean-tags dvi dvi-am html html-am info info-am install \
21857+ install-am install-data install-data-am install-dvi \
21858 install-dvi-am install-exec install-exec-am install-html \
21859 install-html-am install-info install-info-am install-man \
21860 install-pdf install-pdf-am install-ps install-ps-am \
21861Index: libjava/classpath/native/jni/gtk-peer/Makefile.in
21862===================================================================
9f95000d
AM
21863--- libjava/classpath/native/jni/gtk-peer/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
21864+++ libjava/classpath/native/jni/gtk-peer/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
21865@@ -36,7 +36,7 @@
21866 host_triplet = @host@
21867 target_triplet = @target@
21868 subdir = native/jni/gtk-peer
21869-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
21870+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
21871 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
21872 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
21873 $(top_srcdir)/../../config/lead-dot.m4 \
21874@@ -150,10 +150,8 @@
21875 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
21876 $(LDFLAGS) -o $@
21877 SOURCES = $(libgtkpeer_la_SOURCES)
21878-DIST_SOURCES = $(libgtkpeer_la_SOURCES)
21879 ETAGS = etags
21880 CTAGS = ctags
21881-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
21882 ACLOCAL = @ACLOCAL@
21883 AMTAR = @AMTAR@
21884 ANTLR = @ANTLR@
21885@@ -620,37 +618,6 @@
21886
21887 distclean-tags:
21888 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21889-
21890-distdir: $(DISTFILES)
21891- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21892- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
21893- list='$(DISTFILES)'; \
21894- dist_files=`for file in $$list; do echo $$file; done | \
21895- sed -e "s|^$$srcdirstrip/||;t" \
21896- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
21897- case $$dist_files in \
21898- */*) $(MKDIR_P) `echo "$$dist_files" | \
21899- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
21900- sort -u` ;; \
21901- esac; \
21902- for file in $$dist_files; do \
21903- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
21904- if test -d $$d/$$file; then \
21905- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
21906- if test -d "$(distdir)/$$file"; then \
21907- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21908- fi; \
21909- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
21910- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
21911- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
21912- fi; \
21913- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
21914- else \
21915- test -f "$(distdir)/$$file" \
21916- || cp -p $$d/$$file "$(distdir)/$$file" \
21917- || exit 1; \
21918- fi; \
21919- done
21920 check-am: all-am
21921 check: check-am
21922 all-am: Makefile $(LTLIBRARIES)
21923@@ -759,8 +726,8 @@
21924 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
21925 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
21926 distclean-compile distclean-generic distclean-libtool \
21927- distclean-tags distdir dvi dvi-am html html-am info info-am \
21928- install install-am install-data install-data-am install-dvi \
21929+ distclean-tags dvi dvi-am html html-am info info-am install \
21930+ install-am install-data install-data-am install-dvi \
21931 install-dvi-am install-exec install-exec-am install-html \
21932 install-html-am install-info install-info-am install-man \
21933 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
21934Index: libjava/classpath/native/Makefile.in
21935===================================================================
9f95000d
AM
21936--- libjava/classpath/native/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
21937+++ libjava/classpath/native/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
21938@@ -35,7 +35,7 @@
21939 host_triplet = @host@
21940 target_triplet = @target@
21941 subdir = native
21942-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
21943+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
21944 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
21945 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
21946 $(top_srcdir)/../../config/lead-dot.m4 \
21947@@ -68,7 +68,6 @@
21948 CONFIG_CLEAN_FILES =
21949 CONFIG_CLEAN_VPATH_FILES =
21950 SOURCES =
21951-DIST_SOURCES =
21952 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
21953 html-recursive info-recursive install-data-recursive \
21954 install-dvi-recursive install-exec-recursive \
21955@@ -79,36 +78,9 @@
21956 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
21957 distclean-recursive maintainer-clean-recursive
21958 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
21959- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
21960- distdir
21961+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
21962 ETAGS = etags
21963 CTAGS = ctags
21964-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
21965-am__relativize = \
21966- dir0=`pwd`; \
21967- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
21968- sed_rest='s,^[^/]*/*,,'; \
21969- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
21970- sed_butlast='s,/*[^/]*$$,,'; \
21971- while test -n "$$dir1"; do \
21972- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
21973- if test "$$first" != "."; then \
21974- if test "$$first" = ".."; then \
21975- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
21976- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
21977- else \
21978- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
21979- if test "$$first2" = "$$first"; then \
21980- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
21981- else \
21982- dir2="../$$dir2"; \
21983- fi; \
21984- dir0="$$dir0"/"$$first"; \
21985- fi; \
21986- fi; \
21987- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
21988- done; \
21989- reldir="$$dir2"
21990 ACLOCAL = @ACLOCAL@
21991 AMTAR = @AMTAR@
21992 ANTLR = @ANTLR@
21993@@ -498,65 +470,6 @@
21994
21995 distclean-tags:
21996 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
21997-
21998-distdir: $(DISTFILES)
21999- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
22000- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
22001- list='$(DISTFILES)'; \
22002- dist_files=`for file in $$list; do echo $$file; done | \
22003- sed -e "s|^$$srcdirstrip/||;t" \
22004- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
22005- case $$dist_files in \
22006- */*) $(MKDIR_P) `echo "$$dist_files" | \
22007- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
22008- sort -u` ;; \
22009- esac; \
22010- for file in $$dist_files; do \
22011- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
22012- if test -d $$d/$$file; then \
22013- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
22014- if test -d "$(distdir)/$$file"; then \
22015- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
22016- fi; \
22017- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
22018- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
22019- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
22020- fi; \
22021- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
22022- else \
22023- test -f "$(distdir)/$$file" \
22024- || cp -p $$d/$$file "$(distdir)/$$file" \
22025- || exit 1; \
22026- fi; \
22027- done
22028- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
22029- if test "$$subdir" = .; then :; else \
22030- test -d "$(distdir)/$$subdir" \
22031- || $(MKDIR_P) "$(distdir)/$$subdir" \
22032- || exit 1; \
22033- fi; \
22034- done
22035- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
22036- if test "$$subdir" = .; then :; else \
22037- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
22038- $(am__relativize); \
22039- new_distdir=$$reldir; \
22040- dir1=$$subdir; dir2="$(top_distdir)"; \
22041- $(am__relativize); \
22042- new_top_distdir=$$reldir; \
22043- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
22044- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
22045- ($(am__cd) $$subdir && \
22046- $(MAKE) $(AM_MAKEFLAGS) \
22047- top_distdir="$$new_top_distdir" \
22048- distdir="$$new_distdir" \
22049- am__remove_distdir=: \
22050- am__skip_length_check=: \
22051- am__skip_mode_fix=: \
22052- distdir) \
22053- || exit 1; \
22054- fi; \
22055- done
22056 check-am: all-am
22057 check: check-recursive
22058 all-am: Makefile
22059@@ -659,13 +572,13 @@
22060 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
22061 all all-am check check-am clean clean-generic clean-libtool \
22062 ctags ctags-recursive distclean distclean-generic \
22063- distclean-libtool distclean-tags distdir dvi dvi-am html \
22064- html-am info info-am install install-am install-data \
22065- install-data-am install-dvi install-dvi-am install-exec \
22066- install-exec-am install-html install-html-am install-info \
22067- install-info-am install-man install-pdf install-pdf-am \
22068- install-ps install-ps-am install-strip installcheck \
22069- installcheck-am installdirs installdirs-am maintainer-clean \
22070+ distclean-libtool distclean-tags dvi dvi-am html html-am info \
22071+ info-am install install-am install-data install-data-am \
22072+ install-dvi install-dvi-am install-exec install-exec-am \
22073+ install-html install-html-am install-info install-info-am \
22074+ install-man install-pdf install-pdf-am install-ps \
22075+ install-ps-am install-strip installcheck installcheck-am \
22076+ installdirs installdirs-am maintainer-clean \
22077 maintainer-clean-generic mostlyclean mostlyclean-generic \
22078 mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
22079 uninstall uninstall-am
22080Index: libjava/classpath/native/jawt/Makefile.in
22081===================================================================
9f95000d
AM
22082--- libjava/classpath/native/jawt/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
22083+++ libjava/classpath/native/jawt/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22084@@ -36,7 +36,7 @@
22085 host_triplet = @host@
22086 target_triplet = @target@
22087 subdir = native/jawt
22088-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
22089+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
22090 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
22091 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
22092 $(top_srcdir)/../../config/lead-dot.m4 \
22093@@ -112,10 +112,8 @@
22094 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
22095 $(LDFLAGS) -o $@
22096 SOURCES = $(libjawt_la_SOURCES)
22097-DIST_SOURCES = $(libjawt_la_SOURCES)
22098 ETAGS = etags
22099 CTAGS = ctags
22100-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
22101 ACLOCAL = @ACLOCAL@
22102 AMTAR = @AMTAR@
22103 ANTLR = @ANTLR@
22104@@ -492,37 +490,6 @@
22105
22106 distclean-tags:
22107 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
22108-
22109-distdir: $(DISTFILES)
22110- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
22111- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
22112- list='$(DISTFILES)'; \
22113- dist_files=`for file in $$list; do echo $$file; done | \
22114- sed -e "s|^$$srcdirstrip/||;t" \
22115- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
22116- case $$dist_files in \
22117- */*) $(MKDIR_P) `echo "$$dist_files" | \
22118- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
22119- sort -u` ;; \
22120- esac; \
22121- for file in $$dist_files; do \
22122- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
22123- if test -d $$d/$$file; then \
22124- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
22125- if test -d "$(distdir)/$$file"; then \
22126- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
22127- fi; \
22128- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
22129- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
22130- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
22131- fi; \
22132- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
22133- else \
22134- test -f "$(distdir)/$$file" \
22135- || cp -p $$d/$$file "$(distdir)/$$file" \
22136- || exit 1; \
22137- fi; \
22138- done
22139 check-am: all-am
22140 check: check-am
22141 all-am: Makefile $(LTLIBRARIES)
22142@@ -631,8 +598,8 @@
22143 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
22144 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
22145 distclean-compile distclean-generic distclean-libtool \
22146- distclean-tags distdir dvi dvi-am html html-am info info-am \
22147- install install-am install-data install-data-am install-dvi \
22148+ distclean-tags dvi dvi-am html html-am info info-am install \
22149+ install-am install-data install-data-am install-dvi \
22150 install-dvi-am install-exec install-exec-am install-html \
22151 install-html-am install-info install-info-am install-man \
22152 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
22153Index: libjava/classpath/native/fdlibm/Makefile.in
22154===================================================================
9f95000d
AM
22155--- libjava/classpath/native/fdlibm/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
22156+++ libjava/classpath/native/fdlibm/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22157@@ -36,7 +36,7 @@
22158 host_triplet = @host@
22159 target_triplet = @target@
22160 subdir = native/fdlibm
22161-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
22162+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
22163 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
22164 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
22165 $(top_srcdir)/../../config/lead-dot.m4 \
22166@@ -95,10 +95,8 @@
22167 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
22168 $(LDFLAGS) -o $@
22169 SOURCES = $(libfdlibm_la_SOURCES)
22170-DIST_SOURCES = $(libfdlibm_la_SOURCES)
22171 ETAGS = etags
22172 CTAGS = ctags
22173-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
22174 ACLOCAL = @ACLOCAL@
22175 AMTAR = @AMTAR@
22176 ANTLR = @ANTLR@
22177@@ -553,37 +551,6 @@
22178
22179 distclean-tags:
22180 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
22181-
22182-distdir: $(DISTFILES)
22183- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
22184- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
22185- list='$(DISTFILES)'; \
22186- dist_files=`for file in $$list; do echo $$file; done | \
22187- sed -e "s|^$$srcdirstrip/||;t" \
22188- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
22189- case $$dist_files in \
22190- */*) $(MKDIR_P) `echo "$$dist_files" | \
22191- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
22192- sort -u` ;; \
22193- esac; \
22194- for file in $$dist_files; do \
22195- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
22196- if test -d $$d/$$file; then \
22197- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
22198- if test -d "$(distdir)/$$file"; then \
22199- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
22200- fi; \
22201- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
22202- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
22203- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
22204- fi; \
22205- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
22206- else \
22207- test -f "$(distdir)/$$file" \
22208- || cp -p $$d/$$file "$(distdir)/$$file" \
22209- || exit 1; \
22210- fi; \
22211- done
22212 check-am: all-am
22213 check: check-am
22214 all-am: Makefile $(LTLIBRARIES)
22215@@ -689,8 +656,8 @@
22216 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
22217 clean-libtool clean-noinstLTLIBRARIES ctags distclean \
22218 distclean-compile distclean-generic distclean-libtool \
22219- distclean-tags distdir dvi dvi-am html html-am info info-am \
22220- install install-am install-data install-data-am install-dvi \
22221+ distclean-tags dvi dvi-am html html-am info info-am install \
22222+ install-am install-data install-data-am install-dvi \
22223 install-dvi-am install-exec install-exec-am install-html \
22224 install-html-am install-info install-info-am install-man \
22225 install-pdf install-pdf-am install-ps install-ps-am \
22226Index: libjava/classpath/native/plugin/Makefile.in
22227===================================================================
9f95000d
AM
22228--- libjava/classpath/native/plugin/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
22229+++ libjava/classpath/native/plugin/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22230@@ -36,7 +36,7 @@
22231 host_triplet = @host@
22232 target_triplet = @target@
22233 subdir = native/plugin
22234-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
22235+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
22236 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
22237 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
22238 $(top_srcdir)/../../config/lead-dot.m4 \
22239@@ -112,10 +112,8 @@
22240 --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
22241 $(LDFLAGS) -o $@
22242 SOURCES = $(libgcjwebplugin_la_SOURCES)
22243-DIST_SOURCES = $(libgcjwebplugin_la_SOURCES)
22244 ETAGS = etags
22245 CTAGS = ctags
22246-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
22247 ACLOCAL = @ACLOCAL@
22248 AMTAR = @AMTAR@
22249 ANTLR = @ANTLR@
22250@@ -497,37 +495,6 @@
22251
22252 distclean-tags:
22253 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
22254-
22255-distdir: $(DISTFILES)
22256- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
22257- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
22258- list='$(DISTFILES)'; \
22259- dist_files=`for file in $$list; do echo $$file; done | \
22260- sed -e "s|^$$srcdirstrip/||;t" \
22261- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
22262- case $$dist_files in \
22263- */*) $(MKDIR_P) `echo "$$dist_files" | \
22264- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
22265- sort -u` ;; \
22266- esac; \
22267- for file in $$dist_files; do \
22268- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
22269- if test -d $$d/$$file; then \
22270- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
22271- if test -d "$(distdir)/$$file"; then \
22272- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
22273- fi; \
22274- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
22275- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
22276- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
22277- fi; \
22278- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
22279- else \
22280- test -f "$(distdir)/$$file" \
22281- || cp -p $$d/$$file "$(distdir)/$$file" \
22282- || exit 1; \
22283- fi; \
22284- done
22285 check-am: all-am
22286 check: check-am
22287 all-am: Makefile $(LTLIBRARIES)
22288@@ -636,8 +603,8 @@
22289 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
22290 clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
22291 distclean-compile distclean-generic distclean-libtool \
22292- distclean-tags distdir dvi dvi-am html html-am info info-am \
22293- install install-am install-data install-data-am install-dvi \
22294+ distclean-tags dvi dvi-am html html-am info info-am install \
22295+ install-am install-data install-data-am install-dvi \
22296 install-dvi-am install-exec install-exec-am install-html \
22297 install-html-am install-info install-info-am install-man \
22298 install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
22299Index: libjava/classpath/lib/Makefile.in
22300===================================================================
9f95000d
AM
22301--- libjava/classpath/lib/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
22302+++ libjava/classpath/lib/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22303@@ -36,9 +36,9 @@
22304 host_triplet = @host@
22305 target_triplet = @target@
22306 subdir = lib
22307-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
22308- $(srcdir)/copy-vmresources.sh.in $(srcdir)/gen-classlist.sh.in \
22309- $(srcdir)/mkcollections.pl.in
22310+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
22311+ $(srcdir)/mkcollections.pl.in $(srcdir)/gen-classlist.sh.in \
22312+ $(srcdir)/copy-vmresources.sh.in
22313 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
22314 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
22315 $(top_srcdir)/../../config/lead-dot.m4 \
22316@@ -72,9 +72,7 @@
22317 copy-vmresources.sh
22318 CONFIG_CLEAN_VPATH_FILES =
22319 SOURCES =
22320-DIST_SOURCES =
22321 DATA = $(noinst_DATA)
22322-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
22323 ACLOCAL = @ACLOCAL@
22324 AMTAR = @AMTAR@
22325 ANTLR = @ANTLR@
22326@@ -356,40 +354,6 @@
22327 ctags: CTAGS
22328 CTAGS:
22329
22330-
22331-distdir: $(DISTFILES)
22332- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
22333- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
22334- list='$(DISTFILES)'; \
22335- dist_files=`for file in $$list; do echo $$file; done | \
22336- sed -e "s|^$$srcdirstrip/||;t" \
22337- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
22338- case $$dist_files in \
22339- */*) $(MKDIR_P) `echo "$$dist_files" | \
22340- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
22341- sort -u` ;; \
22342- esac; \
22343- for file in $$dist_files; do \
22344- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
22345- if test -d $$d/$$file; then \
22346- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
22347- if test -d "$(distdir)/$$file"; then \
22348- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
22349- fi; \
22350- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
22351- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
22352- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
22353- fi; \
22354- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
22355- else \
22356- test -f "$(distdir)/$$file" \
22357- || cp -p $$d/$$file "$(distdir)/$$file" \
22358- || exit 1; \
22359- fi; \
22360- done
22361- $(MAKE) $(AM_MAKEFLAGS) \
22362- top_distdir="$(top_distdir)" distdir="$(distdir)" \
22363- dist-hook
22364 check-am: all-am
22365 check: check-am
22366 all-am: Makefile $(DATA)
22367@@ -492,17 +456,16 @@
22368 .MAKE: install-am install-strip
22369
22370 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
22371- clean-local dist-hook distclean distclean-generic \
22372- distclean-libtool distdir dvi dvi-am html html-am info info-am \
22373- install install-am install-data install-data-am \
22374- install-data-local install-dvi install-dvi-am install-exec \
22375- install-exec-am install-html install-html-am install-info \
22376- install-info-am install-man install-pdf install-pdf-am \
22377- install-ps install-ps-am install-strip installcheck \
22378- installcheck-am installdirs maintainer-clean \
22379- maintainer-clean-generic mostlyclean mostlyclean-generic \
22380- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
22381- uninstall-local
22382+ clean-local distclean distclean-generic distclean-libtool dvi \
22383+ dvi-am html html-am info info-am install install-am \
22384+ install-data install-data-am install-data-local install-dvi \
22385+ install-dvi-am install-exec install-exec-am install-html \
22386+ install-html-am install-info install-info-am install-man \
22387+ install-pdf install-pdf-am install-ps install-ps-am \
22388+ install-strip installcheck installcheck-am installdirs \
22389+ maintainer-clean maintainer-clean-generic mostlyclean \
22390+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
22391+ uninstall uninstall-am uninstall-local
22392
22393
22394 sinclude $(JAVA_DEPEND)
22395Index: libjava/classpath/ChangeLog.gcj
22396===================================================================
9f95000d
AM
22397--- libjava/classpath/ChangeLog.gcj (.../tags/gcc_4_7_2_release) (wersja 192468)
22398+++ libjava/classpath/ChangeLog.gcj (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22399@@ -1,3 +1,42 @@
22400+2012-09-20 Jakub Jelinek <jakub@redhat.com>
22401+
22402+ PR other/43620
22403+ * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
22404+ * Makefile.in: Regenerated.
22405+ * doc/Makefile.in: Regenerated.
22406+ * doc/api/Makefile.in: Regenerated.
22407+ * examples/Makefile.in: Regenerated.
22408+ * external/Makefile.in: Regenerated.
22409+ * external/jsr166/Makefile.in: Regenerated.
22410+ * external/relaxngDatatype/Makefile.in: Regenerated.
22411+ * external/sax/Makefile.in: Regenerated.
22412+ * external/w3c_dom/Makefile.in: Regenerated.
22413+ * include/Makefile.in: Regenerated.
22414+ * lib/Makefile.in: Regenerated.
22415+ * native/Makefile.in: Regenerated.
22416+ * native/fdlibm/Makefile.in: Regenerated.
22417+ * native/jawt/Makefile.in: Regenerated.
22418+ * native/jni/Makefile.in: Regenerated.
22419+ * native/jni/classpath/Makefile.in: Regenerated.
22420+ * native/jni/gconf-peer/Makefile.in: Regenerated.
22421+ * native/jni/gstreamer-peer/Makefile.in: Regenerated.
22422+ * native/jni/gtk-peer/Makefile.in: Regenerated.
22423+ * native/jni/java-io/Makefile.in: Regenerated.
22424+ * native/jni/java-lang/Makefile.in: Regenerated.
22425+ * native/jni/java-math/Makefile.in: Regenerated.
22426+ * native/jni/java-net/Makefile.in: Regenerated.
22427+ * native/jni/java-nio/Makefile.in: Regenerated.
22428+ * native/jni/java-util/Makefile.in: Regenerated.
22429+ * native/jni/midi-alsa/Makefile.in: Regenerated.
22430+ * native/jni/midi-dssi/Makefile.in: Regenerated.
22431+ * native/jni/native-lib/Makefile.in: Regenerated.
22432+ * native/jni/qt-peer/Makefile.in: Regenerated.
22433+ * native/jni/xmlj/Makefile.in: Regenerated.
22434+ * native/plugin/Makefile.in: Regenerated.
22435+ * resource/Makefile.in: Regenerated.
22436+ * scripts/Makefile.in: Regenerated.
22437+ * tools/Makefile.in: Regenerated.
22438+
22439 2012-01-01 Jakub Jelinek <jakub@redhat.com>
22440
22441 * gnu/java/rmi/registry/RegistryImpl.java (version): Update
22442Index: libjava/classpath/examples/Makefile.in
22443===================================================================
9f95000d
AM
22444--- libjava/classpath/examples/Makefile.in (.../tags/gcc_4_7_2_release) (wersja 192468)
22445+++ libjava/classpath/examples/Makefile.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22446@@ -36,8 +36,8 @@
22447 host_triplet = @host@
22448 target_triplet = @target@
22449 subdir = examples
22450-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
22451- $(srcdir)/Makefile.java2d.in $(srcdir)/Makefile.jawt.in
22452+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
22453+ $(srcdir)/Makefile.jawt.in $(srcdir)/Makefile.java2d.in
22454 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
22455 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
22456 $(top_srcdir)/../../config/lead-dot.m4 \
22457@@ -70,7 +70,6 @@
22458 CONFIG_CLEAN_FILES = Makefile.jawt Makefile.java2d
22459 CONFIG_CLEAN_VPATH_FILES =
22460 SOURCES =
22461-DIST_SOURCES =
22462 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
22463 am__vpath_adj = case $$p in \
22464 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
22465@@ -94,7 +93,6 @@
22466 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
22467 am__installdirs = "$(DESTDIR)$(exampledir)"
22468 DATA = $(example_DATA)
22469-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
22470 ACLOCAL = @ACLOCAL@
22471 AMTAR = @AMTAR@
22472 ANTLR = @ANTLR@
22473@@ -419,40 +417,6 @@
22474 ctags: CTAGS
22475 CTAGS:
22476
22477-
22478-distdir: $(DISTFILES)
22479- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
22480- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
22481- list='$(DISTFILES)'; \
22482- dist_files=`for file in $$list; do echo $$file; done | \
22483- sed -e "s|^$$srcdirstrip/||;t" \
22484- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
22485- case $$dist_files in \
22486- */*) $(MKDIR_P) `echo "$$dist_files" | \
22487- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
22488- sort -u` ;; \
22489- esac; \
22490- for file in $$dist_files; do \
22491- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
22492- if test -d $$d/$$file; then \
22493- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
22494- if test -d "$(distdir)/$$file"; then \
22495- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
22496- fi; \
22497- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
22498- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
22499- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
22500- fi; \
22501- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
22502- else \
22503- test -f "$(distdir)/$$file" \
22504- || cp -p $$d/$$file "$(distdir)/$$file" \
22505- || exit 1; \
22506- fi; \
22507- done
22508- $(MAKE) $(AM_MAKEFLAGS) \
22509- top_distdir="$(top_distdir)" distdir="$(distdir)" \
22510- dist-hook
22511 check-am: all-am
22512 check: $(BUILT_SOURCES)
22513 $(MAKE) $(AM_MAKEFLAGS) check-am
22514@@ -557,17 +521,17 @@
22515 .MAKE: all check install install-am install-strip
22516
22517 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
22518- clean-local dist-hook distclean distclean-generic \
22519- distclean-libtool distdir dvi dvi-am html html-am info info-am \
22520- install install-am install-data install-data-am \
22521- install-data-local install-dvi install-dvi-am \
22522- install-exampleDATA install-exec install-exec-am install-html \
22523- install-html-am install-info install-info-am install-man \
22524- install-pdf install-pdf-am install-ps install-ps-am \
22525- install-strip installcheck installcheck-am installdirs \
22526- maintainer-clean maintainer-clean-generic mostlyclean \
22527- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
22528- uninstall uninstall-am uninstall-exampleDATA uninstall-local
22529+ clean-local distclean distclean-generic distclean-libtool dvi \
22530+ dvi-am html html-am info info-am install install-am \
22531+ install-data install-data-am install-data-local install-dvi \
22532+ install-dvi-am install-exampleDATA install-exec \
22533+ install-exec-am install-html install-html-am install-info \
22534+ install-info-am install-man install-pdf install-pdf-am \
22535+ install-ps install-ps-am install-strip installcheck \
22536+ installcheck-am installdirs maintainer-clean \
22537+ maintainer-clean-generic mostlyclean mostlyclean-generic \
22538+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
22539+ uninstall-exampleDATA uninstall-local
22540
22541
22542 # Make sure all sources and icons are also installed so users can use them.
22543Index: libgcc/config.host
22544===================================================================
9f95000d
AM
22545--- libgcc/config.host (.../tags/gcc_4_7_2_release) (wersja 192468)
22546+++ libgcc/config.host (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22547@@ -213,7 +213,7 @@
22548 esac
22549 ;;
22550 *-*-openbsd*)
22551- tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic"
22552+ tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
22553 case ${target_thread_file} in
22554 posix)
22555 tmake_file="$tmake_file t-openbsd-thread"
22556Index: libgcc/unwind-dw2-fde-dip.c
22557===================================================================
9f95000d
AM
22558--- libgcc/unwind-dw2-fde-dip.c (.../tags/gcc_4_7_2_release) (wersja 192468)
22559+++ libgcc/unwind-dw2-fde-dip.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22560@@ -33,7 +33,7 @@
22561
22562 #include "tconfig.h"
22563 #include "tsystem.h"
22564-#ifndef inhibit_libc
22565+#if !defined(inhibit_libc) && !defined(__OpenBSD__)
22566 #include <elf.h> /* Get DT_CONFIG. */
22567 #endif
22568 #include "coretypes.h"
22569@@ -60,6 +60,12 @@
22570 #endif
22571
22572 #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
22573+ && defined(__OpenBSD__)
22574+# define ElfW(type) Elf_##type
22575+# define USE_PT_GNU_EH_FRAME
22576+#endif
22577+
22578+#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
22579 && defined(TARGET_DL_ITERATE_PHDR) \
22580 && defined(__sun__) && defined(__svr4__)
22581 # define USE_PT_GNU_EH_FRAME
22582Index: libgcc/ChangeLog
22583===================================================================
9f95000d
AM
22584--- libgcc/ChangeLog (.../tags/gcc_4_7_2_release) (wersja 192468)
22585+++ libgcc/ChangeLog (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22586@@ -1,3 +1,10 @@
22587+2012-10-06 Mark Kettenis <kettenis@openbsd.org>
22588+
22589+ * config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
22590+ * unwind-dw2-fde-dip.c: Don't include <elf.h> on OpenBSD.
22591+ (USE_PT_GNU_EH_FRAME): Define for OpenBSD.
22592+ (ElfW): Likewise.
22593+
22594 2012-09-20 Release Manager
22595
22596 * GCC 4.7.2 released.
22597Index: gcc/doc/invoke.texi
22598===================================================================
9f95000d
AM
22599--- gcc/doc/invoke.texi (.../tags/gcc_4_7_2_release) (wersja 192468)
22600+++ gcc/doc/invoke.texi (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22601@@ -626,7 +626,7 @@
22602 -mincoming-stack-boundary=@var{num} @gol
22603 -mcld -mcx16 -msahf -mmovbe -mcrc32 @gol
22604 -mrecip -mrecip=@var{opt} @gol
22605--mvzeroupper @gol
22606+-mvzeroupper -mprefer-avx128 @gol
22607 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4 -mavx @gol
22608 -mavx2 -maes -mpclmul -mfsgsbase -mrdrnd -mf16c -mfma @gol
22609 -msse4a -m3dnow -mpopcnt -mabm -mbmi -mtbm -mfma4 -mxop -mlzcnt @gol
22610@@ -11139,10 +11139,12 @@
22611
22612 @item -mshort-calls
22613 @opindex mshort-calls
22614+This option has been deprecated and will be removed in GCC 4.8.
22615+See @code{-mrelax} for a replacement.
22616+
22617 Use @code{RCALL}/@code{RJMP} instructions even on devices with
22618 16@tie{}KiB or more of program memory, i.e.@: on devices that
22619 have the @code{CALL} and @code{JMP} instructions.
22620-See also the @code{-mrelax} command line option.
22621
22622 @item -msp8
22623 @opindex msp8
22624@@ -13679,6 +13681,11 @@
22625 AVX to SSE transition penalty as well as remove unnecessary zeroupper
22626 intrinsics.
22627
22628+@item -mprefer-avx128
22629+@opindex mprefer-avx128
22630+This option instructs GCC to use 128-bit AVX instructions instead of
22631+256-bit AVX instructions in the auto-vectorizer.
22632+
22633 @item -mcx16
22634 @opindex mcx16
22635 This option will enable GCC to use CMPXCHG16B instruction in generated code.
22636Index: gcc/DATESTAMP
22637===================================================================
9f95000d
AM
22638--- gcc/DATESTAMP (.../tags/gcc_4_7_2_release) (wersja 192468)
22639+++ gcc/DATESTAMP (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22640@@ -1 +1 @@
22641-20120920
22642+20121015
ce0877b9 22643Index: gcc/DEV-PHASE
4c31f8e7 22644===================================================================
9f95000d
AM
22645--- gcc/DEV-PHASE (.../tags/gcc_4_7_2_release) (wersja 192468)
22646+++ gcc/DEV-PHASE (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22647@@ -0,0 +1 @@
22648+prerelease
22649Index: gcc/ChangeLog
22650===================================================================
9f95000d
AM
22651--- gcc/ChangeLog (.../tags/gcc_4_7_2_release) (wersja 192468)
22652+++ gcc/ChangeLog (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22653@@ -1,3 +1,170 @@
22654+2012-10-15 Richard Guenther <rguenther@suse.de>
22655+
22656+ PR tree-optimization/54920
22657+ * tree-ssa-pre.c (create_expression_by_pieces): Properly
22658+ allocate temporary storage for all NARY elements.
22659+
22660+2012-10-08 Georg-Johann Lay <avr@gjlay.de>
22661+
22662+ PR target/54854
22663+ * doc/invoke.texi (AVR Options): Deprecate -mshort-calls.
22664+
22665+2012-10-05 Mark Kettenis <kettenis@openbsd.org>
22666+
22667+ * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
22668+ default_use_cxa_atexit to yes.
22669+
22670+2012-10-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
22671+
22672+ * config/pa/pa.md: Adjust unamed HImode add insn pattern.
22673+
22674+2012-10-05 Jan Hubicka <jh@suse.cz>
22675+ Jakub Jelinek <jakub@redhat.com>
22676+
22677+ PR tree-optimization/33763
22678+ * tree-inline.c (expand_call_inline): Silently ignore always_inline
22679+ attribute for redefined extern inline functions.
22680+
22681+2012-10-03 H.J. Lu <hongjiu.lu@intel.com>
22682+
22683+ Backported from mainline
22684+ 2012-10-03 Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
22685+
22686+ * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
22687+ in SSE and YMM state support check for -march=native.
22688+
22689+2012-10-03 Alexandre Oliva <aoliva@redhat.com>
22690+
22691+ PR debug/53135
22692+ * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
22693+ when needed.
22694+
22695+2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
22696+
22697+ Backported from mainline
22698+ 2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
22699+
22700+ PR target/54785
22701+ * doc/invoke.texi: Document -mprefer-avx128.
22702+
22703+2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
22704+
22705+ Backported from mainline
22706+ 2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
22707+
22708+ PR target/54741
22709+ * config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
22710+ (XSTATE_FP): Likewise.
22711+ (XSTATE_SSE): Likewise.
22712+ (XSTATE_YMM): Likewise.
22713+ (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
22714+ SSE and YMM states aren't supported.
22715+
22716+2012-10-01 Tom de Vries <tom@codesourcery.com>
22717+
22718+ * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to
22719+ the prototype.
22720+
22721+2012-10-01 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
22722+
22723+ PR target/54746
22724+ * config/s390/s390.c (s390_option_override): Add missing break.
22725+
22726+2012-09-29 Andreas Tobler <andreast@fgznet.ch>
22727+
22728+ Backport from mainline
22729+ 2012-09-29 Andreas Tobler <andreast@fgznet.ch>
22730+
22731+ * config.gcc: Replace 'host' with 'target' when configuring for
22732+ powerpc64*-*-freebsd.
22733+
22734+2012-09-28 Meador Inge <meadori@codesourcery.com>
22735+
22736+ Backport from mainline
22737+ 2012-09-27 Meador Inge <meadori@codesourcery.com>
22738+
22739+ * gcc-ar.c (main): Handle the returning of the sub-process error
22740+ code correctly.
22741+
22742+2012-09-28 Georg-Johann Lay <avr@gjlay.de>
22743+
22744+ Backport from 2012-09-28 trunk r191821.
22745+ * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
22746+
22747+2012-09-27 Jakub Jelinek <jakub@redhat.com>
22748+
22749+ PR target/54703
22750+ * simplify-rtx.c (simplify_binary_operation_1): Perform
22751+ (x - (x & y)) -> (x & ~y) optimization only for integral
22752+ modes.
22753+
22754+2012-09-24 Eric Botcazou <ebotcazou@adacore.com>
22755+
22756+ * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
22757+ TYPE_NONALIASED_COMPONENT flag.
22758+ * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
22759+ TYPE_NONALIASED_COMPONENT flag.
22760+
22761+2012-09-21 Richard Guenther <rguenther@suse.de>
22762+
22763+ PR middle-end/54638
22764+ Backport from mainline
22765+ 2012-04-19 Richard Guenther <rguenther@suse.de>
22766+
22767+ * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
22768+ array access.
22769+
22770+2012-09-20 Joseph Myers <joseph@codesourcery.com>
22771+
22772+ PR c/54552
22773+ * c-typeck.c (c_cast_expr): When casting to a type requiring
22774+ C_MAYBE_CONST_EXPR to be created, pass the inner expression to
22775+ c_fully_fold first.
22776+
22777+2012-09-20 Joseph Myers <joseph@codesourcery.com>
22778+
22779+ PR c/54103
22780+ * c-typeck.c (build_unary_op): Pass original argument of
22781+ TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
22782+ any C_MAYBE_CONST_EXPR, if it has integer operands.
22783+ (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
22784+ TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
22785+ to c_objc_common_truthvalue_conversion, then remove any
22786+ C_MAYBE_CONST_EXPR, if they have integer operands. Use
22787+ c_objc_common_truthvalue_conversion not
22788+ c_common_truthvalue_conversion.
22789+ (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
22790+ call note_integer_operands for arguments with integer operands
22791+ that are not integer constants.
22792+
22793+2012-09-20 Jakub Jelinek <jakub@redhat.com>
22794+
22795+ Backported from mainline
22796+ 2012-09-17 Jakub Jelinek <jakub@redhat.com>
22797+
22798+ PR tree-optimization/54563
22799+ * tree-ssa-math-opts.c (execute_cse_sincos): Call
22800+ gimple_purge_dead_eh_edges if last call has been changed.
22801+
22802+ 2012-09-14 Jakub Jelinek <jakub@redhat.com>
22803+
22804+ PR target/54564
22805+ * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
22806+ instead of (match_dup 0) as second argument to vec_merge.
22807+ (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
22808+ Remove third alternative.
22809+ (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise. Negate
22810+ operand 2 instead of operand 1, but put it as first argument
22811+ of fma.
22812+ * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
22813+ _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
22814+ of the first.
22815+
22816+2012-09-20 Jakub Jelinek <jakub@redhat.com>
22817+
22818+ * BASE-VER: Set to 4.7.3.
22819+ * DEV-PHASE: Set to prerelease.
22820+
22821 2012-09-20 Release Manager
22822
22823 * GCC 4.7.2 released.
22824Index: gcc/testsuite/gcc.target/arm/arm.exp
22825===================================================================
9f95000d
AM
22826--- gcc/testsuite/gcc.target/arm/arm.exp (.../tags/gcc_4_7_2_release) (wersja 192468)
22827+++ gcc/testsuite/gcc.target/arm/arm.exp (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22828@@ -30,6 +30,11 @@
22829 set DEFAULT_CFLAGS " -ansi -pedantic-errors"
22830 }
22831
22832+# This variable should only apply to tests called in this exp file.
22833+global dg_runtest_extra_prunes
22834+set dg_runtest_extra_prunes ""
22835+lappend dg_runtest_extra_prunes "warning: switch -m(cpu|arch)=.* conflicts with -m(cpu|arch)=.* switch"
22836+
22837 # Initialize `dg'.
22838 dg-init
22839
22840@@ -39,3 +44,5 @@
22841
22842 # All done.
22843 dg-finish
22844+
22845+set dg_runtest_extra_prunes ""
22846Index: gcc/testsuite/gcc.target/i386/pr54703.c
22847===================================================================
22848--- gcc/testsuite/gcc.target/i386/pr54703.c (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 22849+++ gcc/testsuite/gcc.target/i386/pr54703.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22850@@ -0,0 +1,36 @@
22851+/* PR target/54703 */
22852+/* { dg-do run { target sse2_runtime } } */
22853+/* { dg-options "-O -msse2" } */
22854+/* { dg-additional-options "-mavx -mtune=bdver1" { target avx_runtime } } */
22855+
22856+extern void abort (void);
22857+typedef double V __attribute__((vector_size(16)));
22858+
22859+union {
22860+ unsigned long long m[2];
22861+ V v;
22862+} u = { { 0xffffffffff000000ULL, 0xffffffffff000000ULL } };
22863+
22864+static inline V
22865+foo (V x)
22866+{
22867+ V y = __builtin_ia32_andpd (x, u.v);
22868+ V z = __builtin_ia32_subpd (x, y);
22869+ return __builtin_ia32_mulpd (y, z);
22870+}
22871+
22872+void
22873+test (V *x)
22874+{
22875+ V a = { 2.1, 2.1 };
22876+ *x = foo (foo (a));
22877+}
22878+
22879+int
22880+main ()
22881+{
22882+ test (&u.v);
22883+ if (u.m[0] != 0x3acbf487f0a30550ULL || u.m[1] != u.m[0])
22884+ abort ();
22885+ return 0;
22886+}
22887Index: gcc/testsuite/lib/gcc-dg.exp
22888===================================================================
9f95000d
AM
22889--- gcc/testsuite/lib/gcc-dg.exp (.../tags/gcc_4_7_2_release) (wersja 192468)
22890+++ gcc/testsuite/lib/gcc-dg.exp (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22891@@ -211,9 +211,13 @@
22892 proc gcc-dg-prune { system text } {
22893 global additional_prunes
22894
22895+ # Extra prune rules that will apply to tests defined in a .exp file.
22896+ # Always remember to clear it in .exp file after executed all tests.
22897+ global dg_runtest_extra_prunes
22898+
22899 set text [prune_gcc_output $text]
22900
22901- foreach p $additional_prunes {
22902+ foreach p "$additional_prunes $dg_runtest_extra_prunes" {
22903 if { [string length $p] > 0 } {
22904 # Following regexp matches a complete line containing $p.
22905 regsub -all "(^|\n)\[^\n\]*$p\[^\n\]*" $text "" text
22906@@ -672,6 +676,7 @@
22907 set additional_files ""
22908 set additional_sources ""
22909 set additional_prunes ""
22910+ set dg_runtest_extra_prunes ""
22911 set shouldfail 0
22912 if [info exists compiler_conditional_xfail_data] {
22913 unset compiler_conditional_xfail_data
22914@@ -745,7 +750,7 @@
22915 # Process the dg- directive, including adding the regular expression
22916 # to the new message entry in dg-messages.
22917 set msgcnt [llength ${dg-messages}]
22918- catch { eval $msgproc $dgargs }
22919+ eval $msgproc $dgargs
22920
22921 # If the target expression wasn't satisfied there is no new message.
22922 if { [llength ${dg-messages}] == $msgcnt } {
22923@@ -809,3 +814,4 @@
22924 }
22925
22926 set additional_prunes ""
22927+set dg_runtest_extra_prunes ""
22928Index: gcc/testsuite/lib/target-supports.exp
22929===================================================================
9f95000d
AM
22930--- gcc/testsuite/lib/target-supports.exp (.../tags/gcc_4_7_2_release) (wersja 192468)
22931+++ gcc/testsuite/lib/target-supports.exp (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22932@@ -2993,7 +2993,7 @@
22933 set et_vect_widen_mult_qi_to_hi_saved 0
22934 }
22935 if { [istarget powerpc*-*-*]
22936- || ([istarget arm*-*-*] && [check_effective_target_arm_neon]) } {
22937+ || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } {
22938 set et_vect_widen_mult_qi_to_hi_saved 1
22939 }
22940 }
22941@@ -3027,7 +3027,7 @@
22942 || [istarget ia64-*-*]
22943 || [istarget i?86-*-*]
22944 || [istarget x86_64-*-*]
22945- || ([istarget arm*-*-*] && [check_effective_target_arm_neon]) } {
22946+ || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } {
22947 set et_vect_widen_mult_hi_to_si_saved 1
22948 }
22949 }
22950@@ -3048,7 +3048,7 @@
22951 } else {
22952 set et_vect_widen_mult_qi_to_hi_pattern_saved 0
22953 if { [istarget powerpc*-*-*]
22954- || ([istarget arm*-*-*] && [check_effective_target_arm_neon]) } {
22955+ || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } {
22956 set et_vect_widen_mult_qi_to_hi_pattern_saved 1
22957 }
22958 }
22959@@ -3073,7 +3073,7 @@
22960 || [istarget ia64-*-*]
22961 || [istarget i?86-*-*]
22962 || [istarget x86_64-*-*]
22963- || ([istarget arm*-*-*] && [check_effective_target_arm_neon]) } {
22964+ || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } {
22965 set et_vect_widen_mult_hi_to_si_pattern_saved 1
22966 }
22967 }
22968@@ -3203,7 +3203,7 @@
22969 || [istarget i?86-*-*]
22970 || [istarget x86_64-*-*]
22971 || [istarget spu-*-*]
22972- || ([istarget arm*-*-*] && [check_effective_target_arm_neon]
22973+ || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]
22974 && [check_effective_target_arm_little_endian]) } {
22975 set et_vect_pack_trunc_saved 1
22976 }
22977@@ -3229,7 +3229,7 @@
22978 || [istarget x86_64-*-*]
22979 || [istarget spu-*-*]
22980 || [istarget ia64-*-*]
22981- || ([istarget arm*-*-*] && [check_effective_target_arm_neon]
22982+ || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]
22983 && [check_effective_target_arm_little_endian]) } {
22984 set et_vect_unpack_saved 1
22985 }
22986@@ -3646,7 +3646,7 @@
22987 global et_vect_multiple_sizes_saved
22988
22989 set et_vect_multiple_sizes_saved 0
22990- if { ([istarget arm*-*-*] && [check_effective_target_arm_neon]) } {
22991+ if { ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } {
22992 set et_vect_multiple_sizes_saved 1
22993 }
22994 if { ([istarget x86_64-*-*] || [istarget i?86-*-*]) } {
22995Index: gcc/testsuite/gfortran.dg/class_allocate_13.f90
22996===================================================================
22997--- gcc/testsuite/gfortran.dg/class_allocate_13.f90 (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 22998+++ gcc/testsuite/gfortran.dg/class_allocate_13.f90 (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
22999@@ -0,0 +1,31 @@
23000+! { dg-do run }
23001+!
23002+! PR 54784: [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE
23003+!
23004+! Contributed by Jeremy Kozdon <jkozdon@gmail.com>
23005+
23006+program bug
23007+ implicit none
23008+
23009+ type :: block
23010+ real, allocatable :: fields
23011+ end type
23012+
23013+ type :: list
23014+ class(block),allocatable :: B
23015+ end type
23016+
23017+ type :: domain
23018+ type(list),dimension(2) :: L
23019+ end type
23020+
23021+ type(domain) :: d
23022+ type(block) :: b1
23023+
23024+ allocate(b1%fields,source=5.)
23025+
23026+ allocate(d%L(2)%B,source=b1) ! wrong code
23027+
23028+ if (d%L(2)%B%fields/=5.) call abort()
23029+
23030+end program
23031Index: gcc/testsuite/gcc.c-torture/compile/pr54103-2.c
23032===================================================================
23033--- gcc/testsuite/gcc.c-torture/compile/pr54103-2.c (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 23034+++ gcc/testsuite/gcc.c-torture/compile/pr54103-2.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23035@@ -0,0 +1,5 @@
23036+void
23037+f (void)
23038+{
23039+ 0 / 0 || 0 ? : 0;
23040+}
23041Index: gcc/testsuite/gcc.c-torture/compile/pr54103-4.c
23042===================================================================
23043--- gcc/testsuite/gcc.c-torture/compile/pr54103-4.c (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 23044+++ gcc/testsuite/gcc.c-torture/compile/pr54103-4.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23045@@ -0,0 +1,5 @@
23046+void
23047+f (void)
23048+{
23049+ 0 / 0 && 1 ? : 0;
23050+}
23051Index: gcc/testsuite/gcc.c-torture/compile/pr54103-6.c
23052===================================================================
23053--- gcc/testsuite/gcc.c-torture/compile/pr54103-6.c (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 23054+++ gcc/testsuite/gcc.c-torture/compile/pr54103-6.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23055@@ -0,0 +1,5 @@
23056+void
23057+f (void)
23058+{
23059+ 0 || 65536*65536 ? : 0;
23060+}
23061Index: gcc/testsuite/gcc.c-torture/compile/pr54552-1.c
23062===================================================================
23063--- gcc/testsuite/gcc.c-torture/compile/pr54552-1.c (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 23064+++ gcc/testsuite/gcc.c-torture/compile/pr54552-1.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23065@@ -0,0 +1,8 @@
23066+void
23067+f (void)
23068+{
23069+ unsigned n = 10;
23070+
23071+ typedef double T[n];
23072+ (double (*)[n])((unsigned char (*)[sizeof (T)]){ 0 });
23073+}
23074Index: gcc/testsuite/gcc.c-torture/compile/pr54103-1.c
23075===================================================================
23076--- gcc/testsuite/gcc.c-torture/compile/pr54103-1.c (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 23077+++ gcc/testsuite/gcc.c-torture/compile/pr54103-1.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23078@@ -0,0 +1,5 @@
23079+void
23080+f (void)
23081+{
23082+ 0 || 0 / 0 ? : 0;
23083+}
23084Index: gcc/testsuite/gcc.c-torture/compile/pr54103-3.c
23085===================================================================
23086--- gcc/testsuite/gcc.c-torture/compile/pr54103-3.c (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 23087+++ gcc/testsuite/gcc.c-torture/compile/pr54103-3.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23088@@ -0,0 +1,5 @@
23089+void
23090+f (void)
23091+{
23092+ 1 && 0 / 0 ? : 0;
23093+}
23094Index: gcc/testsuite/gcc.c-torture/compile/pr54103-5.c
23095===================================================================
23096--- gcc/testsuite/gcc.c-torture/compile/pr54103-5.c (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 23097+++ gcc/testsuite/gcc.c-torture/compile/pr54103-5.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23098@@ -0,0 +1,5 @@
23099+void
23100+f (void)
23101+{
23102+ !(0 / 0);
23103+}
23104Index: gcc/testsuite/gnat.dg/oconst6.ads
23105===================================================================
9f95000d
AM
23106--- gcc/testsuite/gnat.dg/oconst6.ads (.../tags/gcc_4_7_2_release) (wersja 192468)
23107+++ gcc/testsuite/gnat.dg/oconst6.ads (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23108@@ -1,18 +0,0 @@
23109--- { dg-do compile }
23110--- { dg-final { scan-assembler-not "elabs" } }
23111-
23112-package OCONST6 is
23113-
23114- type Sequence is array (1 .. 1) of Natural;
23115-
23116- type Message is record
23117- Data : Sequence;
23118- end record;
23119-
23120- for Message'Alignment use 1;
23121- pragma PACK (Message);
23122-
23123- ACK : Message := (Data => (others => 1));
23124-
23125-end;
23126-
23127Index: gcc/testsuite/gnat.dg/opt20.adb
23128===================================================================
9f95000d
AM
23129--- gcc/testsuite/gnat.dg/opt20.adb (.../tags/gcc_4_7_2_release) (wersja 192468)
23130+++ gcc/testsuite/gnat.dg/opt20.adb (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23131@@ -1,3 +1,6 @@
23132+-- { dg-do compile }
23133+-- { dg-options "-O2 -gnatpn" }
23134+
23135 with Ada.Characters.Handling; use Ada.Characters.Handling;
23136
23137 package body Opt20 is
23138Index: gcc/testsuite/gnat.dg/opt20.ads
23139===================================================================
9f95000d
AM
23140--- gcc/testsuite/gnat.dg/opt20.ads (.../tags/gcc_4_7_2_release) (wersja 192468)
23141+++ gcc/testsuite/gnat.dg/opt20.ads (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23142@@ -1,6 +1,3 @@
23143--- { dg-do compile }
23144--- { dg-options "-O2 -gnatpn" }
23145-
23146 with Opt20_Pkg; use Opt20_Pkg;
23147
23148 package Opt20 is
23149Index: gcc/testsuite/gnat.dg/addr1.adb
23150===================================================================
9f95000d
AM
23151--- gcc/testsuite/gnat.dg/addr1.adb (.../tags/gcc_4_7_2_release) (wersja 192468)
23152+++ gcc/testsuite/gnat.dg/addr1.adb (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23153@@ -1,3 +1,5 @@
23154+-- { dg-do compile }
23155+
23156 with System;
23157 package body addr1 is
23158 task type T is
23159Index: gcc/testsuite/gnat.dg/addr1.ads
23160===================================================================
9f95000d
AM
23161--- gcc/testsuite/gnat.dg/addr1.ads (.../tags/gcc_4_7_2_release) (wersja 192468)
23162+++ gcc/testsuite/gnat.dg/addr1.ads (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23163@@ -1,5 +1,3 @@
23164--- { dg-do compile }
23165-
23166 package addr1 is
23167 pragma Elaborate_Body;
23168 end;
23169Index: gcc/testsuite/gnat.dg/discr23.ads
23170===================================================================
9f95000d
AM
23171--- gcc/testsuite/gnat.dg/discr23.ads (.../tags/gcc_4_7_2_release) (wersja 192468)
23172+++ gcc/testsuite/gnat.dg/discr23.ads (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23173@@ -1,5 +1,3 @@
23174--- { dg-do compile }
23175-
23176 package Discr23 is
23177
23178 procedure Dummy;
23179Index: gcc/testsuite/gnat.dg/concat2.adb
23180===================================================================
9f95000d
AM
23181--- gcc/testsuite/gnat.dg/concat2.adb (.../tags/gcc_4_7_2_release) (wersja 192468)
23182+++ gcc/testsuite/gnat.dg/concat2.adb (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23183@@ -1,3 +1,6 @@
23184+-- { dg-do compile }
23185+-- { dg-options "-O" }
23186+
23187 with Text_IO; use Text_IO;
23188
23189 package body Concat2 is
23190@@ -15,4 +18,3 @@
23191 end;
23192
23193 end Concat2;
23194-
23195Index: gcc/testsuite/gnat.dg/concat2.ads
23196===================================================================
9f95000d
AM
23197--- gcc/testsuite/gnat.dg/concat2.ads (.../tags/gcc_4_7_2_release) (wersja 192468)
23198+++ gcc/testsuite/gnat.dg/concat2.ads (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23199@@ -1,6 +1,3 @@
23200--- { dg-do compile }
23201--- { dg-options "-O" }
23202-
23203 package Concat2 is
23204
23205 procedure Browse;
23206Index: gcc/testsuite/gnat.dg/vect8.adb
23207===================================================================
9f95000d
AM
23208--- gcc/testsuite/gnat.dg/vect8.adb (.../tags/gcc_4_7_2_release) (wersja 192468)
23209+++ gcc/testsuite/gnat.dg/vect8.adb (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23210@@ -1,3 +1,6 @@
23211+-- { dg-do compile }
23212+-- { dg-options "-w" }
23213+
23214 package body Vect8 is
23215
23216 function Foo (V : Vec) return Vec is
23217Index: gcc/testsuite/gnat.dg/vect8.ads
23218===================================================================
9f95000d
AM
23219--- gcc/testsuite/gnat.dg/vect8.ads (.../tags/gcc_4_7_2_release) (wersja 192468)
23220+++ gcc/testsuite/gnat.dg/vect8.ads (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23221@@ -1,5 +1,3 @@
23222--- { dg-do compile }
23223-
23224 package Vect8 is
23225
23226 type Vec is array (1 .. 2) of Long_Float;
23227Index: gcc/testsuite/gnat.dg/array16.adb
23228===================================================================
9f95000d
AM
23229--- gcc/testsuite/gnat.dg/array16.adb (.../tags/gcc_4_7_2_release) (wersja 192468)
23230+++ gcc/testsuite/gnat.dg/array16.adb (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23231@@ -1,3 +1,6 @@
23232+-- { dg-do compile }
23233+-- { dg-options "-O -gnatn -fdump-tree-optimized" }
23234+
23235 package body Array16 is
23236
23237 function F1 (A : access My_T1) return My_T1 is
23238@@ -20,3 +23,6 @@
23239 end;
23240
23241 end Array16;
23242+
23243+-- { dg-final { scan-tree-dump-not "secondary_stack" "optimized" } }
23244+-- { dg-final { cleanup-tree-dump "optimized" } }
23245Index: gcc/testsuite/gnat.dg/array16.ads
23246===================================================================
9f95000d
AM
23247--- gcc/testsuite/gnat.dg/array16.ads (.../tags/gcc_4_7_2_release) (wersja 192468)
23248+++ gcc/testsuite/gnat.dg/array16.ads (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23249@@ -1,6 +1,3 @@
23250--- { dg-do compile }
23251--- { dg-options "-O -gnatn -fdump-tree-optimized" }
23252-
23253 with Array16_Pkg;
23254
23255 package Array16 is
23256@@ -26,6 +23,3 @@
23257 procedure Proc (A : access My_T1; B : access My_T2);
23258
23259 end Array16;
23260-
23261--- { dg-final { scan-tree-dump-not "secondary_stack" "optimized" } }
23262--- { dg-final { cleanup-tree-dump "optimized" } }
23263Index: gcc/testsuite/gnat.dg/nested_float_packed.ads
23264===================================================================
9f95000d
AM
23265--- gcc/testsuite/gnat.dg/nested_float_packed.ads (.../tags/gcc_4_7_2_release) (wersja 192468)
23266+++ gcc/testsuite/gnat.dg/nested_float_packed.ads (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23267@@ -1,5 +1,3 @@
23268--- { dg-do compile }
23269-
23270 package Nested_Float_Packed is
23271
23272 type Float_Type is record
23273@@ -20,5 +18,3 @@
23274 Data_Block : array (Range_Type)
23275 of Data_Type := (others => Default_Data);
23276 end;
23277-
23278-
23279Index: gcc/testsuite/gnat.dg/lto15.adb
23280===================================================================
9f95000d
AM
23281--- gcc/testsuite/gnat.dg/lto15.adb (.../tags/gcc_4_7_2_release) (wersja 192468)
23282+++ gcc/testsuite/gnat.dg/lto15.adb (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23283@@ -1,5 +1,6 @@
23284 -- { dg-do compile }
23285 -- { dg-options "-O -flto -g" }
23286+-- { dg-require-effective-target lto }
23287
23288 package body Lto15 is
23289
23290Index: gcc/testsuite/gnat.dg/specs/oconst6.ads
23291===================================================================
23292--- gcc/testsuite/gnat.dg/specs/oconst6.ads (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 23293+++ gcc/testsuite/gnat.dg/specs/oconst6.ads (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23294@@ -0,0 +1,18 @@
23295+-- { dg-do compile }
23296+-- { dg-final { scan-assembler-not "elabs" } }
23297+
23298+package OCONST6 is
23299+
23300+ type Sequence is array (1 .. 1) of Natural;
23301+
23302+ type Message is record
23303+ Data : Sequence;
23304+ end record;
23305+
23306+ for Message'Alignment use 1;
23307+ pragma PACK (Message);
23308+
23309+ ACK : Message := (Data => (others => 1));
23310+
23311+end;
23312+
23313Index: gcc/testsuite/gnat.dg/atomic5.adb
23314===================================================================
9f95000d
AM
23315--- gcc/testsuite/gnat.dg/atomic5.adb (.../tags/gcc_4_7_2_release) (wersja 192468)
23316+++ gcc/testsuite/gnat.dg/atomic5.adb (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23317@@ -1,3 +1,5 @@
23318+-- { dg-do compile }
23319+
23320 package body Atomic5 is
23321
23322 function Create return R is
23323Index: gcc/testsuite/gnat.dg/atomic5.ads
23324===================================================================
9f95000d
AM
23325--- gcc/testsuite/gnat.dg/atomic5.ads (.../tags/gcc_4_7_2_release) (wersja 192468)
23326+++ gcc/testsuite/gnat.dg/atomic5.ads (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23327@@ -1,5 +1,3 @@
23328--- { dg-do compile }
23329-
23330 with Unchecked_Conversion;
23331
23332 package Atomic5 is
23333Index: gcc/testsuite/gnat.dg/discr29.adb
23334===================================================================
9f95000d
AM
23335--- gcc/testsuite/gnat.dg/discr29.adb (.../tags/gcc_4_7_2_release) (wersja 192468)
23336+++ gcc/testsuite/gnat.dg/discr29.adb (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23337@@ -1,3 +1,5 @@
23338+-- { dg-do compile }
23339+
23340 package body Discr29 is
23341
23342 procedure Proc (R : out Rec3) is
23343Index: gcc/testsuite/gnat.dg/discr29.ads
23344===================================================================
9f95000d
AM
23345--- gcc/testsuite/gnat.dg/discr29.ads (.../tags/gcc_4_7_2_release) (wersja 192468)
23346+++ gcc/testsuite/gnat.dg/discr29.ads (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23347@@ -1,5 +1,3 @@
23348--- { dg-do compile }
23349-
23350 package Discr29 is
23351
23352 type Rec1 is record
23353Index: gcc/testsuite/gcc.dg/c90-const-expr-8.c
23354===================================================================
9f95000d
AM
23355--- gcc/testsuite/gcc.dg/c90-const-expr-8.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23356+++ gcc/testsuite/gcc.dg/c90-const-expr-8.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23357@@ -22,6 +22,6 @@
23358 E5 = 0 * -INT_MIN, /* { dg-warning "12:integer overflow in expression" } */
23359 /* { dg-error "3:overflow in constant expression" "constant" { target *-*-* } 22 } */
23360 E6 = 0 * !-INT_MIN, /* { dg-warning "13:integer overflow in expression" } */
23361- /* { dg-error "3:not an integer constant" "constant" { target *-*-* } 24 } */
23362+ /* { dg-error "8:not an integer constant" "constant" { target *-*-* } 24 } */
23363 E7 = INT_MIN % -1 /* Not an overflow. */
23364 };
23365Index: gcc/testsuite/gcc.dg/torture/pr53922.c
23366===================================================================
9f95000d
AM
23367--- gcc/testsuite/gcc.dg/torture/pr53922.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23368+++ gcc/testsuite/gcc.dg/torture/pr53922.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23369@@ -1,5 +1,6 @@
23370 /* { dg-do run } */
23371 /* { dg-require-weak "" } */
23372+/* { dg-skip-if "No undefined weak" { hppa*-*-hpux* && { ! lp64 } } { "*" } { "" } } */
23373
23374 int x(int a)
23375 {
23376Index: gcc/testsuite/gcc.dg/torture/pr54920.c
23377===================================================================
23378--- gcc/testsuite/gcc.dg/torture/pr54920.c (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 23379+++ gcc/testsuite/gcc.dg/torture/pr54920.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23380@@ -0,0 +1,13 @@
23381+/* { dg-do compile } */
23382+
23383+typedef short __v8hi __attribute__ ((__vector_size__ (16)));
23384+typedef long long __m128i __attribute__ ((__vector_size__ (16)));
23385+int a;
23386+__m128i b;
23387+
23388+void
23389+fn1 ()
23390+{
23391+ while (1)
23392+ b = (__m128i) (__v8hi) { a, 0, 0, 0, 0, 0 };
23393+}
23394Index: gcc/testsuite/gcc.dg/pr45259.c
23395===================================================================
9f95000d
AM
23396--- gcc/testsuite/gcc.dg/pr45259.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23397+++ gcc/testsuite/gcc.dg/pr45259.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23398@@ -1,6 +1,7 @@
23399 /* PR debug/45259 */
23400 /* { dg-do compile } */
23401-/* { dg-options "-g -O2 -fpic -w" { target fpic } } */
23402+/* { dg-options "-g -O2 -w -fpic" { target fpic } } */
23403+/* { dg-options "-g -O2 -w" { target { ! fpic } } } */
23404
23405 struct S { void (*bar) (long); };
23406 struct T { struct S *t; };
23407Index: gcc/testsuite/gcc.dg/vect/no-vfa-vect-79.c
23408===================================================================
9f95000d
AM
23409--- gcc/testsuite/gcc.dg/vect/no-vfa-vect-79.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23410+++ gcc/testsuite/gcc.dg/vect/no-vfa-vect-79.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23411@@ -46,6 +46,6 @@
23412 If/when the aliasing problems are resolved, unalignment may
23413 prevent vectorization on some targets. */
23414 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */
23415-/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { xfail vect_multiple_sizes } } } */
23416+/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { target { ! vect_multiple_sizes } } } } */
23417 /* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { target vect_multiple_sizes } } } */
23418 /* { dg-final { cleanup-tree-dump "vect" } } */
23419Index: gcc/testsuite/gcc.dg/vect/no-vfa-vect-102a.c
23420===================================================================
9f95000d
AM
23421--- gcc/testsuite/gcc.dg/vect/no-vfa-vect-102a.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23422+++ gcc/testsuite/gcc.dg/vect/no-vfa-vect-102a.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23423@@ -53,7 +53,7 @@
23424 }
23425
23426 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */
23427-/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { xfail vect_multiple_sizes } } } */
23428+/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { target { ! vect_multiple_sizes } } } } */
23429 /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 2 "vect" { target vect_multiple_sizes } } } */
23430 /* { dg-final { cleanup-tree-dump "vect" } } */
23431
23432Index: gcc/testsuite/gcc.dg/vect/vect-outer-3a-big-array.c
23433===================================================================
9f95000d
AM
23434--- gcc/testsuite/gcc.dg/vect/vect-outer-3a-big-array.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23435+++ gcc/testsuite/gcc.dg/vect/vect-outer-3a-big-array.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23436@@ -49,6 +49,6 @@
23437 }
23438
23439 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail vect_no_align } } } */
23440-/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" { xfail vect_multiple_sizes } } } */
23441+/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" { target { ! vect_multiple_sizes } } } } */
23442 /* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 3 "vect" { target vect_multiple_sizes } } } */
23443 /* { dg-final { cleanup-tree-dump "vect" } } */
23444Index: gcc/testsuite/gcc.dg/vect/vect-outer-1a.c
23445===================================================================
9f95000d
AM
23446--- gcc/testsuite/gcc.dg/vect/vect-outer-1a.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23447+++ gcc/testsuite/gcc.dg/vect/vect-outer-1a.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23448@@ -20,6 +20,6 @@
23449 }
23450
23451 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
23452-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
23453+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
23454 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
23455 /* { dg-final { cleanup-tree-dump "vect" } } */
23456Index: gcc/testsuite/gcc.dg/vect/fast-math-pr35982.c
23457===================================================================
9f95000d
AM
23458--- gcc/testsuite/gcc.dg/vect/fast-math-pr35982.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23459+++ gcc/testsuite/gcc.dg/vect/fast-math-pr35982.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23460@@ -21,5 +21,5 @@
23461 }
23462
23463 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_extract_even_odd || vect_strided2 } } } } */
23464-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail { vect_extract_even_odd || vect_strided2 } } } } */
23465+/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_extract_even_odd || vect_strided2 } } } } } */
23466 /* { dg-final { cleanup-tree-dump "vect" } } */
23467Index: gcc/testsuite/gcc.dg/vect/vect-outer-1b.c
23468===================================================================
9f95000d
AM
23469--- gcc/testsuite/gcc.dg/vect/vect-outer-1b.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23470+++ gcc/testsuite/gcc.dg/vect/vect-outer-1b.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23471@@ -22,6 +22,6 @@
23472 }
23473
23474 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
23475-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
23476+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
23477 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
23478 /* { dg-final { cleanup-tree-dump "vect" } } */
23479Index: gcc/testsuite/gcc.dg/vect/vect-outer-1a-big-array.c
23480===================================================================
9f95000d
AM
23481--- gcc/testsuite/gcc.dg/vect/vect-outer-1a-big-array.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23482+++ gcc/testsuite/gcc.dg/vect/vect-outer-1a-big-array.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23483@@ -20,6 +20,6 @@
23484 }
23485
23486 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
23487-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
23488+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
23489 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
23490 /* { dg-final { cleanup-tree-dump "vect" } } */
23491Index: gcc/testsuite/gcc.dg/vect/vect-outer-2b.c
23492===================================================================
9f95000d
AM
23493--- gcc/testsuite/gcc.dg/vect/vect-outer-2b.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23494+++ gcc/testsuite/gcc.dg/vect/vect-outer-2b.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23495@@ -37,6 +37,6 @@
23496 return 0;
23497 }
23498
23499-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
23500+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
23501 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
23502 /* { dg-final { cleanup-tree-dump "vect" } } */
23503Index: gcc/testsuite/gcc.dg/vect/vect-outer-3a.c
23504===================================================================
9f95000d
AM
23505--- gcc/testsuite/gcc.dg/vect/vect-outer-3a.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23506+++ gcc/testsuite/gcc.dg/vect/vect-outer-3a.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23507@@ -49,6 +49,6 @@
23508 }
23509
23510 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail vect_no_align } } } */
23511-/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" { xfail vect_multiple_sizes } } } */
23512+/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" { target { ! vect_multiple_sizes } } } } */
23513 /* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 3 "vect" { target vect_multiple_sizes } } } */
23514 /* { dg-final { cleanup-tree-dump "vect" } } */
23515Index: gcc/testsuite/gcc.dg/vect/no-vfa-vect-37.c
23516===================================================================
9f95000d
AM
23517--- gcc/testsuite/gcc.dg/vect/no-vfa-vect-37.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23518+++ gcc/testsuite/gcc.dg/vect/no-vfa-vect-37.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23519@@ -58,6 +58,6 @@
23520 If/when the aliasing problems are resolved, unalignment may
23521 prevent vectorization on some targets. */
23522 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { xfail *-*-* } } } */
23523-/* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { xfail vect_multiple_sizes } } } */
23524+/* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { target { ! vect_multiple_sizes } } } } */
23525 /* { dg-final { scan-tree-dump-times "can't determine dependence" 4 "vect" { target vect_multiple_sizes } } } */
23526 /* { dg-final { cleanup-tree-dump "vect" } } */
23527Index: gcc/testsuite/gcc.dg/vect/vect-outer-3b.c
23528===================================================================
9f95000d
AM
23529--- gcc/testsuite/gcc.dg/vect/vect-outer-3b.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23530+++ gcc/testsuite/gcc.dg/vect/vect-outer-3b.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23531@@ -49,6 +49,6 @@
23532 }
23533
23534 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
23535-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { xfail vect_multiple_sizes } } } */
23536+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target { ! vect_multiple_sizes } } } } */
23537 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 4 "vect" { target vect_multiple_sizes } } } */
23538 /* { dg-final { cleanup-tree-dump "vect" } } */
23539Index: gcc/testsuite/gcc.dg/vect/vect-outer-1-big-array.c
23540===================================================================
9f95000d
AM
23541--- gcc/testsuite/gcc.dg/vect/vect-outer-1-big-array.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23542+++ gcc/testsuite/gcc.dg/vect/vect-outer-1-big-array.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23543@@ -22,6 +22,6 @@
23544 }
23545
23546 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
23547-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
23548+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
23549 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
23550 /* { dg-final { cleanup-tree-dump "vect" } } */
23551Index: gcc/testsuite/gcc.dg/vect/no-vfa-vect-101.c
23552===================================================================
9f95000d
AM
23553--- gcc/testsuite/gcc.dg/vect/no-vfa-vect-101.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23554+++ gcc/testsuite/gcc.dg/vect/no-vfa-vect-101.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23555@@ -45,7 +45,7 @@
23556 }
23557
23558 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */
23559-/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { xfail vect_multiple_sizes } } } */
23560+/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { target { ! vect_multiple_sizes } } } } */
23561 /* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { target vect_multiple_sizes } } } */
23562 /* { dg-final { cleanup-tree-dump "vect" } } */
23563
23564Index: gcc/testsuite/gcc.dg/vect/no-vfa-vect-102.c
23565===================================================================
9f95000d
AM
23566--- gcc/testsuite/gcc.dg/vect/no-vfa-vect-102.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23567+++ gcc/testsuite/gcc.dg/vect/no-vfa-vect-102.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23568@@ -53,7 +53,7 @@
23569 }
23570
23571 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */
23572-/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { xfail vect_multiple_sizes } } } */
23573+/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { target { ! vect_multiple_sizes } } } } */
23574 /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 2 "vect" { target vect_multiple_sizes } } } */
23575 /* { dg-final { cleanup-tree-dump "vect" } } */
23576
23577Index: gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c
23578===================================================================
9f95000d
AM
23579--- gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23580+++ gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23581@@ -58,7 +58,7 @@
23582 }
23583
23584 /* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected" 1 "vect" { xfail *-*-* } } } */
23585-/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 1 "vect" { xfail vect_multiple_sizes } } } */
23586+/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 1 "vect" { target { ! vect_multiple_sizes } } } } */
23587 /* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 2 "vect" { target vect_multiple_sizes } } } */
23588
23589 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */
23590Index: gcc/testsuite/gcc.dg/vect/pr52298.c
23591===================================================================
9f95000d
AM
23592--- gcc/testsuite/gcc.dg/vect/pr52298.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23593+++ gcc/testsuite/gcc.dg/vect/pr52298.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23594@@ -1,4 +1,3 @@
23595-/* { dg-do run } */
23596 /* { dg-options "-O1 -ftree-vectorize -fno-tree-pre -fno-tree-loop-im" } */
23597
23598 extern void abort (void);
23599Index: gcc/testsuite/gcc.dg/vect/vect-outer-1.c
23600===================================================================
9f95000d
AM
23601--- gcc/testsuite/gcc.dg/vect/vect-outer-1.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23602+++ gcc/testsuite/gcc.dg/vect/vect-outer-1.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23603@@ -22,6 +22,6 @@
23604 }
23605
23606 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
23607-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
23608+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
23609 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
23610 /* { dg-final { cleanup-tree-dump "vect" } } */
23611Index: gcc/testsuite/gcc.dg/vect/vect-outer-1b-big-array.c
23612===================================================================
9f95000d
AM
23613--- gcc/testsuite/gcc.dg/vect/vect-outer-1b-big-array.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23614+++ gcc/testsuite/gcc.dg/vect/vect-outer-1b-big-array.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23615@@ -22,6 +22,6 @@
23616 }
23617
23618 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
23619-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
23620+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
23621 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
23622 /* { dg-final { cleanup-tree-dump "vect" } } */
23623Index: gcc/testsuite/gcc.dg/vect/vect-104.c
23624===================================================================
9f95000d
AM
23625--- gcc/testsuite/gcc.dg/vect/vect-104.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23626+++ gcc/testsuite/gcc.dg/vect/vect-104.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23627@@ -64,7 +64,7 @@
23628 }
23629
23630 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */
23631-/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { xfail vect_multiple_sizes } } } */
23632+/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { target { ! vect_multiple_sizes } } } } */
23633 /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 2 "vect" { target vect_multiple_sizes } } } */
23634 /* { dg-final { cleanup-tree-dump "vect" } } */
23635
23636Index: gcc/testsuite/ChangeLog
23637===================================================================
9f95000d
AM
23638--- gcc/testsuite/ChangeLog (.../tags/gcc_4_7_2_release) (wersja 192468)
23639+++ gcc/testsuite/ChangeLog (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23640@@ -1,3 +1,147 @@
23641+2012-10-15 Richard Guenther <rguenther@suse.de>
23642+
23643+ PR tree-optimization/54920
23644+ * gcc.dg/torture/pr54920.c: New testcase.
23645+
23646+2012-10-14 Janus Weil <janus@gcc.gnu.org>
23647+
23648+ PR fortran/54784
23649+ * gfortran.dg/class_allocate_13.f90: New.
23650+
23651+2012-10-08 Terry Guo <terry.guo@arm.com>
23652+
23653+ Backported from mainline
23654+ 2012-09-19 Terry Guo <terry.guo@arm.com>
23655+
23656+ * lib/gcc-dg.exp (dg_runtest_extra_prunes): New variable to define
23657+ extra prune rules that will be applied to all tests in a .exp file.
23658+ (gcc-dg-prune): Use rules defined by the above variable.
23659+ * gcc.target/arm/arm.exp (dg_runtest_extra_prunes): Skip all the
23660+ harmless warnings on architecture switch conflict.
23661+
23662+2012-10-08 Jakub Jelinek <jakub@redhat.com>
23663+
23664+ PR c++/54858
23665+ * g++.dg/template/pr54858.C: New test.
23666+
23667+2012-10-05 Jakub Jelinek <jakub@redhat.com>
23668+
23669+ PR tree-optimization/33763
23670+ * c-c++-common/pr33763.c: New test.
23671+
23672+2012-10-03 Jakub Jelinek <jakub@redhat.com>
23673+
23674+ PR c++/54777
23675+ * g++.dg/cpp0x/constexpr-ref4.C: New test.
23676+
23677+2012-09-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
23678+
23679+ PR target/54083
23680+ * gcc.dg/torture/pr53922.c: Skip on 32-bit hppa-*-hpux*.
23681+
23682+2012-09-27 Jakub Jelinek <jakub@redhat.com>
23683+
23684+ PR target/54703
23685+ * gcc.target/i386/pr54703.c: New test.
23686+
23687+2012-09-24 Janis Johnson <janisjo@codesourcery.com>
23688+
23689+ Backport from mainline:
23690+
23691+ 2012-07-24 Janis Johnson <janisjo@codesourcery.com>
23692+ * lib/gcc-dg.exp (process-message): Don't ignore errors.
23693+
23694+ 2012-07-25 Janis Johnson <janisjo@codesourcery.com>
23695+ * g++.dg/cpp0x/nullptr21.c: Remove printfs, make self-checking.
23696+
23697+ 2012-07-26 Janis Johnson <janisjo@codesourcery.com>
23698+ * gcc.dg/pr45259.c: Only -fpic depends on fpic support.
23699+
23700+ 2012-09-18 Janis Johnson <janisjo@codesourcery.com>
23701+ * gcc.dg/vect/pr52298.c: Remove "dg-do run".
23702+
23703+ 2012-09-18 Janis Johnson <janisjo@codesourcery.com>
23704+ * lib/target-supports.exp
23705+ (check_effective_target_vect_widen_mult_qi_to_hi,
23706+ check_effective_target_vect_widen_mult_hi_to_si,
23707+ check_effective_target_vect_widen_mult_qi_to_hi_pattern,
23708+ check_effective_target_vect_widen_mult_hi_to_si_pattern,
23709+ check_effective_target_vect_pack_trunc,
23710+ check_effective_target_vect_unpack,
23711+ check_effective_target_vect_multiple_sizes): Check arm_neon_ok
23712+ instead of arm_none.
23713+
23714+ 2012-09-18 Janis Johnson <janisjo@codesourcery.com>
23715+ * gcc.dg/vect/no-vfa-vect-101.c: Skip a check for an irrelevant
23716+ target instead of xfailing it.
23717+ * gcc.dg/vect/no-vfa-vect-102.c: Likewise.
23718+ * gcc.dg/vect/no-vfa-vect-102a.c: Likewise.
23719+ * gcc.dg/vect/no-vfa-vect-37.c: Likewise.
23720+ * gcc.dg/vect/no-vfa-vect-79.c: Likewise.
23721+ * gcc.dg/vect/vect-104.c: Likewise.
23722+ * gcc.dg/vect/vect-outer-1-big-array.c: Likewise.
23723+ * gcc.dg/vect/vect-outer-1.c: Likewise.
23724+ * gcc.dg/vect/vect-outer-1a-big-array.c: Likewise.
23725+ * gcc.dg/vect/vect-outer-1a.c: Likewise.
23726+ * gcc.dg/vect/vect-outer-1b-big-array.c: Likewise.
23727+ * gcc.dg/vect/vect-outer-1b.c: Likewise.
23728+ * gcc.dg/vect/vect-outer-2b.c: Likewise.
23729+ * gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
23730+ * gcc.dg/vect/vect-outer-3a.c: Likewise.
23731+ * gcc.dg/vect/vect-outer-3b.c: Likewise.
23732+ * gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.
23733+
23734+ 2012-09-18 Janis Johnson <janisjo@codesourcery.com>
23735+ * gcc.dg/vect/fast-math-pr35982.c: Skip check instead of xfail.
23736+
23737+2012-09-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
23738+
23739+ Backport from mainline:
23740+ 2012-09-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
23741+
23742+ PR testsuite/54007
23743+ * gnat.dg/lto15.adb: Require lto.
23744+
23745+2012-09-20 Eric Botcazou <ebotcazou@adacore.com>
23746+
23747+ * gnat.dg/opt20.ads: Move dg directive to...
23748+ * gnat.dg/opt20.adb: ...here.
23749+ * gnat.dg/addr1.ad[sb]: Likewise.
23750+ * gnat.dg/concat2.ad[sb]: Likewise.
23751+ * gnat.dg/array16.ad[sb]: Likewise.
23752+ * gnat.dg/atomic5.ad[sb]: Likewise.
23753+ * gnat.dg/discr29.ad[sb]: Likewise.
23754+ * gnat.dg/noreturn5.ad[sb]: Likewise.
23755+ * gnat.dg/vect8.ad[sb]: Likewise. Add dg-options.
23756+ * gnat.dg/discr23.ads: Remove dg directive.
23757+ * gnat.dg/nested_float_packed.ads: Likewise.
23758+ * gnat.dg/oconst6.ads: Move to...
23759+ * gnat.dg/specs/oconst6.ads: ...here.
23760+
23761+2012-09-20 Joseph Myers <joseph@codesourcery.com>
23762+
23763+ PR c/54552
23764+ * gcc.c-torture/compile/pr54552-1.c: New test.
23765+
23766+2012-09-20 Joseph Myers <joseph@codesourcery.com>
23767+
23768+ PR c/54103
23769+ * gcc.c-torture/compile/pr54103-1.c,
23770+ gcc.c-torture/compile/pr54103-2.c,
23771+ gcc.c-torture/compile/pr54103-3.c,
23772+ gcc.c-torture/compile/pr54103-4.c,
23773+ gcc.c-torture/compile/pr54103-5.c,
23774+ gcc.c-torture/compile/pr54103-6.c: New tests.
23775+ * gcc.dg/c90-const-expr-8.c: Update expected column number.
23776+
23777+2012-09-20 Jakub Jelinek <jakub@redhat.com>
23778+
23779+ Backported from mainline
23780+ 2012-09-17 Jakub Jelinek <jakub@redhat.com>
23781+
23782+ PR tree-optimization/54563
23783+ * g++.dg/torture/pr54563.C: New test.
23784+
23785 2012-09-20 Release Manager
23786
23787 * GCC 4.7.2 released.
23788Index: gcc/testsuite/g++.dg/cpp0x/nullptr21.C
23789===================================================================
9f95000d
AM
23790--- gcc/testsuite/g++.dg/cpp0x/nullptr21.C (.../tags/gcc_4_7_2_release) (wersja 192468)
23791+++ gcc/testsuite/g++.dg/cpp0x/nullptr21.C (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23792@@ -3,42 +3,53 @@
23793
23794 // Test throw and catch
23795
23796-#include <cstdio>
23797+extern "C" void abort (void);
23798
23799 typedef decltype(nullptr) nullptr_t;
23800
23801+int result[2];
23802+
23803+void __attribute__((noinline))
23804+foo (int i, int j)
23805+{
23806+ result[i] = j;
23807+}
23808+
23809 int main()
23810 {
23811 try {
23812 throw nullptr;
23813 } catch (void*) {
23814- printf("Test 1 Fail");
23815+ foo (0, 1);
23816 } catch (bool) {
23817- printf("Test 1 Fail");
23818+ foo (0, 2);
23819 } catch (int) {
23820- printf("Test 1 Fail");
23821+ foo (0, 3);
23822 } catch (long int) {
23823- printf("Test 1 Fail");
23824+ foo (0, 4);
23825 } catch (nullptr_t) {
23826- printf("Test 1 OK");
23827+ foo (0, 5);
23828 } catch (...) {
23829- printf("Test 1 Fail");
23830- } // { dg-output "Test 1 OK" }
23831+ foo (0, 6);
23832+ }
23833
23834 nullptr_t mynull = 0;
23835 try {
23836 throw mynull;
23837 } catch (void*) {
23838- printf("Test 2 Fail");
23839+ foo (1, 1);
23840 } catch (bool) {
23841- printf("Test 2 Fail");
23842+ foo (1, 2);
23843 } catch (int) {
23844- printf("Test 2 Fail");
23845+ foo (1, 3);
23846 } catch (long int) {
23847- printf("Test 2 Fail");
23848+ foo (1, 4);
23849 } catch (nullptr_t) {
23850- printf("Test 2 OK");
23851+ foo (1, 5);
23852 } catch (...) {
23853- printf("Test 2 Fail");
23854- } // { dg-output "Test 2 OK" }
23855+ foo (1, 6);
23856+ }
23857+
23858+ if (result[0] != 5 || result[1] != 5)
23859+ abort ();
23860 }
23861Index: gcc/testsuite/g++.dg/cpp0x/constexpr-ref4.C
23862===================================================================
23863--- gcc/testsuite/g++.dg/cpp0x/constexpr-ref4.C (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 23864+++ gcc/testsuite/g++.dg/cpp0x/constexpr-ref4.C (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23865@@ -0,0 +1,18 @@
23866+// PR c++/54777
23867+// { dg-options -std=c++0x }
23868+
23869+struct S
23870+{
23871+ int s[1];
23872+ constexpr const int &foo (unsigned i) { return (i < 1 ? 0 : throw 1), s[i]; }
23873+ constexpr const int &bar (unsigned i) { return i < 1 ? s[i] : (throw 0, s[i]); }
23874+};
23875+
23876+int
23877+main ()
23878+{
23879+ constexpr S a {};
23880+ constexpr int i = a.foo (0);
23881+ constexpr int j = a.bar (0);
23882+ static_assert (i == j, "Ouch");
23883+}
23884Index: gcc/testsuite/g++.dg/torture/pr54563.C
23885===================================================================
23886--- gcc/testsuite/g++.dg/torture/pr54563.C (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 23887+++ gcc/testsuite/g++.dg/torture/pr54563.C (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23888@@ -0,0 +1,14 @@
23889+// PR tree-optimization/54563
23890+// { dg-do compile }
23891+
23892+extern "C" float powf (float, float);
23893+struct S { ~S (); };
23894+double bar ();
23895+double x;
23896+
23897+void
23898+foo ()
23899+{
23900+ S s;
23901+ x = powf (bar (), 2.);
23902+}
23903Index: gcc/testsuite/g++.dg/template/pr54858.C
23904===================================================================
23905--- gcc/testsuite/g++.dg/template/pr54858.C (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 23906+++ gcc/testsuite/g++.dg/template/pr54858.C (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23907@@ -0,0 +1,21 @@
23908+// PR c++/54858
23909+// { dg-do compile }
23910+
23911+template <int> struct A {};
23912+template <typename T, T *> struct B {};
23913+template <typename D> struct C
23914+{
23915+ A<0> c0; B<A<0>, &C::c0> d0; // { dg-error "could not convert template argument" }
23916+ A<0> c1; B<A<0>, &C::c1> d1; // { dg-error "could not convert template argument" }
23917+ A<0> c2; B<A<0>, &C::c2> d2; // { dg-error "could not convert template argument" }
23918+ A<0> c3; B<A<0>, &C::c3> d3; // { dg-error "could not convert template argument" }
23919+ A<0> c4; B<A<0>, &C::c4> d4; // { dg-error "could not convert template argument" }
23920+ A<0> c5; B<A<0>, &C::c5> d5; // { dg-error "could not convert template argument" }
23921+ A<0> c6; B<A<0>, &C::c6> d6; // { dg-error "could not convert template argument" }
23922+ A<0> c7; B<A<0>, &C::c7> d7; // { dg-error "could not convert template argument" }
23923+ A<0> c8; B<A<0>, &C::c8> d8; // { dg-error "could not convert template argument" }
23924+ A<0> c9; B<A<0>, &C::c9> d9; // { dg-error "could not convert template argument" }
23925+ A<0> ca; B<A<0>, &C::ca> da; // { dg-error "could not convert template argument" }
23926+ A<0> cb; B<A<0>, &C::cb> db; // { dg-error "could not convert template argument" }
23927+};
23928+C<int> e;
23929Index: gcc/testsuite/c-c++-common/pr33763.c
23930===================================================================
23931--- gcc/testsuite/c-c++-common/pr33763.c (.../tags/gcc_4_7_2_release) (wersja 0)
9f95000d 23932+++ gcc/testsuite/c-c++-common/pr33763.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23933@@ -0,0 +1,60 @@
23934+/* PR tree-optimization/33763 */
23935+/* { dg-do compile } */
23936+/* { dg-options "-O2" } */
23937+
23938+typedef struct
23939+{
23940+ void *a;
23941+ void *b;
23942+} T;
23943+extern void *foo (const char *, const char *);
23944+extern void *bar (void *, const char *, T);
23945+extern int baz (const char *, int);
23946+
23947+extern inline __attribute__ ((always_inline, gnu_inline)) int
23948+baz (const char *x, int y)
23949+{
23950+ return 2;
23951+}
23952+
23953+int
23954+baz (const char *x, int y)
23955+{
23956+ return 1;
23957+}
23958+
23959+int xa, xb;
23960+
23961+static void *
23962+inl (const char *x, const char *y)
23963+{
23964+ T t = { &xa, &xb };
23965+ int *f = (int *) __builtin_malloc (sizeof (int));
23966+ const char *z;
23967+ int o = 0;
23968+ void *r = 0;
23969+
23970+ for (z = y; *z; z++)
23971+ {
23972+ if (*z == 'r')
23973+ o |= 1;
23974+ if (*z == 'w')
23975+ o |= 2;
23976+ }
23977+ if (o == 1)
23978+ *f = baz (x, 0);
23979+ if (o == 2)
23980+ *f = baz (x, 1);
23981+ if (o == 3)
23982+ *f = baz (x, 2);
23983+
23984+ if (o && *f > 0)
23985+ r = bar (f, "w", t);
23986+ return r;
23987+}
23988+
23989+void *
23990+foo (const char *x, const char *y)
23991+{
23992+ return inl (x, y);
23993+}
23994Index: gcc/cp/tree.c
23995===================================================================
9f95000d
AM
23996--- gcc/cp/tree.c (.../tags/gcc_4_7_2_release) (wersja 192468)
23997+++ gcc/cp/tree.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
23998@@ -1,7 +1,7 @@
23999 /* Language-dependent node constructors for parse phase of GNU compiler.
24000 Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
24001- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
24002- Free Software Foundation, Inc.
24003+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011,
24004+ 2012 Free Software Foundation, Inc.
24005 Hacked by Michael Tiemann (tiemann@cygnus.com)
24006
24007 This file is part of GCC.
24008@@ -2366,6 +2366,7 @@
24009
24010 case VAR_DECL:
24011 case CONST_DECL:
24012+ case FIELD_DECL:
24013 case FUNCTION_DECL:
24014 case TEMPLATE_DECL:
24015 case IDENTIFIER_NODE:
24016Index: gcc/cp/ChangeLog
24017===================================================================
9f95000d
AM
24018--- gcc/cp/ChangeLog (.../tags/gcc_4_7_2_release) (wersja 192468)
24019+++ gcc/cp/ChangeLog (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
24020@@ -1,3 +1,15 @@
24021+2012-10-08 Jakub Jelinek <jakub@redhat.com>
24022+
24023+ PR c++/54858
24024+ * tree.c (cp_tree_equal): Handle FIELD_DECL.
24025+
24026+2012-10-03 Jakub Jelinek <jakub@redhat.com>
24027+
24028+ PR c++/54777
24029+ * semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
24030+ not ignoring the second operand, pass the original second operand
24031+ and not one with stripped nops to cxx_eval_constant_expression.
24032+
24033 2012-09-20 Release Manager
24034
24035 * GCC 4.7.2 released.
24036Index: gcc/cp/semantics.c
24037===================================================================
9f95000d
AM
24038--- gcc/cp/semantics.c (.../tags/gcc_4_7_2_release) (wersja 192468)
24039+++ gcc/cp/semantics.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
24040@@ -7682,6 +7682,7 @@
24041 /* Check that the LHS is constant and then discard it. */
24042 cxx_eval_constant_expression (call, op0, allow_non_constant,
24043 false, non_constant_p);
24044+ op1 = TREE_OPERAND (t, 1);
24045 r = cxx_eval_constant_expression (call, op1, allow_non_constant,
24046 addr, non_constant_p);
24047 }
24048Index: gcc/ira-int.h
24049===================================================================
9f95000d
AM
24050--- gcc/ira-int.h (.../tags/gcc_4_7_2_release) (wersja 192468)
24051+++ gcc/ira-int.h (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
24052@@ -1138,8 +1138,13 @@
24053 ira_allocno_object_iter_cond (ira_allocno_object_iterator *i, ira_allocno_t a,
24054 ira_object_t *o)
24055 {
24056- *o = ALLOCNO_OBJECT (a, i->n);
24057- return i->n++ < ALLOCNO_NUM_OBJECTS (a);
24058+ int n = i->n++;
24059+ if (n < ALLOCNO_NUM_OBJECTS (a))
24060+ {
24061+ *o = ALLOCNO_OBJECT (a, n);
24062+ return true;
24063+ }
24064+ return false;
24065 }
24066
24067 /* Loop over all objects associated with allocno A. In each
24068Index: gcc/tree-ssa-math-opts.c
24069===================================================================
9f95000d
AM
24070--- gcc/tree-ssa-math-opts.c (.../tags/gcc_4_7_2_release) (wersja 192468)
24071+++ gcc/tree-ssa-math-opts.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
24072@@ -1,5 +1,5 @@
24073 /* Global, SSA-based optimizations using mathematical identities.
24074- Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
24075+ Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
24076 Free Software Foundation, Inc.
24077
24078 This file is part of GCC.
24079@@ -1387,12 +1387,18 @@
24080 FOR_EACH_BB (bb)
24081 {
24082 gimple_stmt_iterator gsi;
24083+ bool cleanup_eh = false;
24084
24085 for (gsi = gsi_after_labels (bb); !gsi_end_p (gsi); gsi_next (&gsi))
24086 {
24087 gimple stmt = gsi_stmt (gsi);
24088 tree fndecl;
24089
24090+ /* Only the last stmt in a bb could throw, no need to call
24091+ gimple_purge_dead_eh_edges if we change something in the middle
24092+ of a basic block. */
24093+ cleanup_eh = false;
24094+
24095 if (is_gimple_call (stmt)
24096 && gimple_call_lhs (stmt)
24097 && (fndecl = gimple_call_fndecl (stmt))
24098@@ -1430,6 +1436,7 @@
24099 gimple_set_location (new_stmt, loc);
24100 unlink_stmt_vdef (stmt);
24101 gsi_replace (&gsi, new_stmt, true);
24102+ cleanup_eh = true;
24103 }
24104 break;
24105
24106@@ -1450,6 +1457,7 @@
24107 gimple_set_location (new_stmt, loc);
24108 unlink_stmt_vdef (stmt);
24109 gsi_replace (&gsi, new_stmt, true);
24110+ cleanup_eh = true;
24111 }
24112 break;
24113
24114@@ -1465,6 +1473,7 @@
24115 gimple_set_location (new_stmt, loc);
24116 unlink_stmt_vdef (stmt);
24117 gsi_replace (&gsi, new_stmt, true);
24118+ cleanup_eh = true;
24119 }
24120 break;
24121
24122@@ -1472,6 +1481,8 @@
24123 }
24124 }
24125 }
24126+ if (cleanup_eh)
24127+ cfg_changed |= gimple_purge_dead_eh_edges (bb);
24128 }
24129
24130 statistics_counter_event (cfun, "sincos statements inserted",
24131Index: gcc/dwarf2out.c
24132===================================================================
9f95000d
AM
24133--- gcc/dwarf2out.c (.../tags/gcc_4_7_2_release) (wersja 192468)
24134+++ gcc/dwarf2out.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
24135@@ -8012,6 +8012,8 @@
24136 return DW_FORM_block1;
24137 case 2:
24138 return DW_FORM_block2;
24139+ case 4:
24140+ return DW_FORM_block4;
24141 default:
24142 gcc_unreachable ();
24143 }
24144Index: gcc/go/ChangeLog
24145===================================================================
9f95000d
AM
24146--- gcc/go/ChangeLog (.../tags/gcc_4_7_2_release) (wersja 192468)
24147+++ gcc/go/ChangeLog (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
24148@@ -1,3 +1,7 @@
24149+2012-09-20 Ian Lance Taylor <iant@google.com>
24150+
24151+ * Make-lang.in (go/gogo.o): Depend on filenames.h.
24152+
24153 2012-09-20 Release Manager
24154
24155 * GCC 4.7.2 released.
24156Index: gcc/go/Make-lang.in
24157===================================================================
9f95000d
AM
24158--- gcc/go/Make-lang.in (.../tags/gcc_4_7_2_release) (wersja 192468)
24159+++ gcc/go/Make-lang.in (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
24160@@ -289,10 +289,11 @@
24161 convert.h output.h $(DIAGNOSTIC_H) $(GO_TYPES_H) \
24162 $(GO_EXPRESSIONS_H) $(GO_STATEMENTS_H) $(GO_RUNTIME_H) \
24163 go/gofrontend/backend.h $(GO_GOGO_H)
24164-go/gogo.o: go/gofrontend/gogo.cc $(GO_SYSTEM_H) $(GO_C_H) \
24165- go/gofrontend/go-dump.h $(GO_LEX_H) $(GO_TYPES_H) $(GO_STATEMENTS_H) \
24166- $(GO_EXPRESSIONS_H) go/gofrontend/dataflow.h $(GO_RUNTIME_H) \
24167- $(GO_IMPORT_H) $(GO_EXPORT_H) go/gofrontend/backend.h $(GO_GOGO_H)
24168+go/gogo.o: go/gofrontend/gogo.cc $(GO_SYSTEM_H) \
24169+ $(srcdir)/../include/filenames.h $(GO_C_H) go/gofrontend/go-dump.h \
24170+ $(GO_LEX_H) $(GO_TYPES_H) $(GO_STATEMENTS_H) $(GO_EXPRESSIONS_H) \
24171+ go/gofrontend/dataflow.h $(GO_RUNTIME_H) $(GO_IMPORT_H) \
24172+ $(GO_EXPORT_H) go/gofrontend/backend.h $(GO_GOGO_H)
24173 go/import.o: go/gofrontend/import.cc $(GO_SYSTEM_H) \
24174 $(srcdir)/../include/filenames.h $(srcdir)/../include/simple-object.h \
24175 $(GO_C_H) $(GO_GOGO_H) $(GO_LEX_H) $(GO_TYPES_H) $(GO_EXPORT_H) \
24176Index: gcc/go/gofrontend/gogo.cc
24177===================================================================
9f95000d
AM
24178--- gcc/go/gofrontend/gogo.cc (.../tags/gcc_4_7_2_release) (wersja 192468)
24179+++ gcc/go/gofrontend/gogo.cc (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
24180@@ -6,6 +6,8 @@
24181
24182 #include "go-system.h"
24183
24184+#include "filenames.h"
24185+
24186 #include "go-c.h"
24187 #include "go-dump.h"
24188 #include "lex.h"
24189@@ -385,6 +387,57 @@
24190 bool is_local_name_exported,
24191 Location location)
24192 {
24193+ if (filename.empty())
24194+ {
24195+ error_at(location, "import path is empty");
24196+ return;
24197+ }
24198+
24199+ const char *pf = filename.data();
24200+ const char *pend = pf + filename.length();
24201+ while (pf < pend)
24202+ {
24203+ unsigned int c;
24204+ int adv = Lex::fetch_char(pf, &c);
24205+ if (adv == 0)
24206+ {
24207+ error_at(location, "import path contains invalid UTF-8 sequence");
24208+ return;
24209+ }
24210+ if (c == '\0')
24211+ {
24212+ error_at(location, "import path contains NUL");
24213+ return;
24214+ }
24215+ if (c < 0x20 || c == 0x7f)
24216+ {
24217+ error_at(location, "import path contains control character");
24218+ return;
24219+ }
24220+ if (c == '\\')
24221+ {
24222+ error_at(location, "import path contains backslash; use slash");
24223+ return;
24224+ }
24225+ if (Lex::is_unicode_space(c))
24226+ {
24227+ error_at(location, "import path contains space character");
24228+ return;
24229+ }
24230+ if (c < 0x7f && strchr("!\"#$%&'()*,:;<=>?[]^`{|}", c) != NULL)
24231+ {
24232+ error_at(location, "import path contains invalid character '%c'", c);
24233+ return;
24234+ }
24235+ pf += adv;
24236+ }
24237+
24238+ if (IS_ABSOLUTE_PATH(filename.c_str()))
24239+ {
24240+ error_at(location, "import path cannot be absolute path");
24241+ return;
24242+ }
24243+
24244 if (filename == "unsafe")
24245 {
24246 this->import_unsafe(local_name, is_local_name_exported, location);
24247@@ -1003,7 +1056,15 @@
24248 Named_object* no = this->current_bindings()->add_type(name, NULL, type,
24249 location);
24250 if (!this->in_global_scope() && no->is_type())
24251- no->type_value()->set_in_function(this->functions_.back().function);
24252+ {
24253+ Named_object* f = this->functions_.back().function;
24254+ unsigned int index;
24255+ if (f->is_function())
24256+ index = f->func_value()->new_local_type_index();
24257+ else
24258+ index = 0;
24259+ no->type_value()->set_in_function(f, index);
24260+ }
24261 }
24262
24263 // Add a named type.
24264@@ -1025,7 +1086,12 @@
24265 if (!this->in_global_scope() && no->is_type_declaration())
24266 {
24267 Named_object* f = this->functions_.back().function;
24268- no->type_declaration_value()->set_in_function(f);
24269+ unsigned int index;
24270+ if (f->is_function())
24271+ index = f->func_value()->new_local_type_index();
24272+ else
24273+ index = 0;
24274+ no->type_declaration_value()->set_in_function(f, index);
24275 }
24276 return no;
24277 }
24278@@ -2806,7 +2872,8 @@
24279 Build_method_tables::type(Type* type)
24280 {
24281 Named_type* nt = type->named_type();
24282- if (nt != NULL)
24283+ Struct_type* st = type->struct_type();
24284+ if (nt != NULL || st != NULL)
24285 {
24286 for (std::vector<Interface_type*>::const_iterator p =
24287 this->interfaces_.begin();
24288@@ -2816,11 +2883,24 @@
24289 // We ask whether a pointer to the named type implements the
24290 // interface, because a pointer can implement more methods
24291 // than a value.
24292- if ((*p)->implements_interface(Type::make_pointer_type(nt), NULL))
24293+ if (nt != NULL)
24294 {
24295- nt->interface_method_table(this->gogo_, *p, false);
24296- nt->interface_method_table(this->gogo_, *p, true);
24297+ if ((*p)->implements_interface(Type::make_pointer_type(nt),
24298+ NULL))
24299+ {
24300+ nt->interface_method_table(this->gogo_, *p, false);
24301+ nt->interface_method_table(this->gogo_, *p, true);
24302+ }
24303 }
24304+ else
24305+ {
24306+ if ((*p)->implements_interface(Type::make_pointer_type(st),
24307+ NULL))
24308+ {
24309+ st->interface_method_table(this->gogo_, *p, false);
24310+ st->interface_method_table(this->gogo_, *p, true);
24311+ }
24312+ }
24313 }
24314 }
24315 return TRAVERSE_CONTINUE;
24316@@ -2989,9 +3069,10 @@
24317 Function::Function(Function_type* type, Function* enclosing, Block* block,
24318 Location location)
24319 : type_(type), enclosing_(enclosing), results_(NULL),
24320- closure_var_(NULL), block_(block), location_(location), fndecl_(NULL),
24321- defer_stack_(NULL), results_are_named_(false), calls_recover_(false),
24322- is_recover_thunk_(false), has_recover_thunk_(false)
24323+ closure_var_(NULL), block_(block), location_(location), labels_(),
24324+ local_type_count_(0), fndecl_(NULL), defer_stack_(NULL),
24325+ results_are_named_(false), calls_recover_(false), is_recover_thunk_(false),
24326+ has_recover_thunk_(false)
24327 {
24328 }
24329
24330@@ -4157,7 +4238,7 @@
24331 else if (type->is_call_multiple_result_type())
24332 {
24333 error_at(this->location_,
24334- "single variable set to multiple value function call");
24335+ "single variable set to multiple-value function call");
24336 type = Type::make_error_type();
24337 }
24338
24339@@ -4599,9 +4680,10 @@
24340 go_assert(this->classification_ == NAMED_OBJECT_TYPE_DECLARATION);
24341 Type_declaration* td = this->u_.type_declaration;
24342 td->define_methods(named_type);
24343- Named_object* in_function = td->in_function();
24344+ unsigned int index;
24345+ Named_object* in_function = td->in_function(&index);
24346 if (in_function != NULL)
24347- named_type->set_in_function(in_function);
24348+ named_type->set_in_function(in_function, index);
24349 delete td;
24350 this->classification_ = NAMED_OBJECT_TYPE;
24351 this->u_.type_value = named_type;
24352Index: gcc/go/gofrontend/gogo.h
24353===================================================================
9f95000d
AM
24354--- gcc/go/gofrontend/gogo.h (.../tags/gcc_4_7_2_release) (wersja 192468)
24355+++ gcc/go/gofrontend/gogo.h (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
24356@@ -574,7 +574,7 @@
24357 // Build an interface method table for a type: a list of function
24358 // pointers, one for each interface method. This returns a decl.
24359 tree
24360- interface_method_table_for_type(const Interface_type*, Named_type*,
24361+ interface_method_table_for_type(const Interface_type*, Type*,
24362 bool is_pointer);
24363
24364 // Return a tree which allocate SIZE bytes to hold values of type
24365@@ -963,6 +963,11 @@
24366 void
24367 check_labels() const;
24368
24369+ // Note that a new local type has been added. Return its index.
24370+ unsigned int
24371+ new_local_type_index()
24372+ { return this->local_type_count_++; }
24373+
24374 // Whether this function calls the predeclared recover function.
24375 bool
24376 calls_recover() const
24377@@ -1084,6 +1089,8 @@
24378 Location location_;
24379 // Labels defined or referenced in the function.
24380 Labels labels_;
24381+ // The number of local types defined in this function.
24382+ unsigned int local_type_count_;
24383 // The function decl.
24384 tree fndecl_;
24385 // The defer stack variable. A pointer to this variable is used to
24386@@ -1638,8 +1645,8 @@
24387 {
24388 public:
24389 Type_declaration(Location location)
24390- : location_(location), in_function_(NULL), methods_(),
24391- issued_warning_(false)
24392+ : location_(location), in_function_(NULL), in_function_index_(0),
24393+ methods_(), issued_warning_(false)
24394 { }
24395
24396 // Return the location.
24397@@ -1650,13 +1657,19 @@
24398 // Return the function in which this type is declared. This will
24399 // return NULL for a type declared in global scope.
24400 Named_object*
24401- in_function()
24402- { return this->in_function_; }
24403+ in_function(unsigned int* pindex)
24404+ {
24405+ *pindex = this->in_function_index_;
24406+ return this->in_function_;
24407+ }
24408
24409 // Set the function in which this type is declared.
24410 void
24411- set_in_function(Named_object* f)
24412- { this->in_function_ = f; }
24413+ set_in_function(Named_object* f, unsigned int index)
24414+ {
24415+ this->in_function_ = f;
24416+ this->in_function_index_ = index;
24417+ }
24418
24419 // Add a method to this type. This is used when methods are defined
24420 // before the type.
24421@@ -1689,6 +1702,8 @@
24422 // If this type is declared in a function, a pointer back to the
24423 // function in which it is defined.
24424 Named_object* in_function_;
24425+ // The index of this type in IN_FUNCTION_.
24426+ unsigned int in_function_index_;
24427 // Methods defined before the type is defined.
24428 Methods methods_;
24429 // True if we have issued a warning about a use of this type
24430Index: gcc/go/gofrontend/types.h
24431===================================================================
9f95000d
AM
24432--- gcc/go/gofrontend/types.h (.../tags/gcc_4_7_2_release) (wersja 192468)
24433+++ gcc/go/gofrontend/types.h (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
24434@@ -983,6 +983,19 @@
24435 method_function(const Methods*, const std::string& name,
24436 bool* is_ambiguous);
24437
24438+ // A mapping from interfaces to the associated interface method
24439+ // tables for this type. This maps to a decl.
24440+ typedef Unordered_map_hash(const Interface_type*, tree, Type_hash_identical,
24441+ Type_identical) Interface_method_tables;
24442+
24443+ // Return a pointer to the interface method table for TYPE for the
24444+ // interface INTERFACE.
24445+ static tree
24446+ interface_method_table(Gogo* gogo, Type* type,
24447+ const Interface_type *interface, bool is_pointer,
24448+ Interface_method_tables** method_tables,
24449+ Interface_method_tables** pointer_tables);
24450+
24451 // Return a composite literal for the type descriptor entry for a
24452 // type.
24453 static Expression*
24454@@ -1994,7 +2007,8 @@
24455 public:
24456 Struct_type(Struct_field_list* fields, Location location)
24457 : Type(TYPE_STRUCT),
24458- fields_(fields), location_(location), all_methods_(NULL)
24459+ fields_(fields), location_(location), all_methods_(NULL),
24460+ interface_method_tables_(NULL), pointer_interface_method_tables_(NULL)
24461 { }
24462
24463 // Return the field NAME. This only looks at local fields, not at
24464@@ -2076,6 +2090,14 @@
24465 Method*
24466 method_function(const std::string& name, bool* is_ambiguous) const;
24467
24468+ // Return a pointer to the interface method table for this type for
24469+ // the interface INTERFACE. If IS_POINTER is true, set the type
24470+ // descriptor to a pointer to this type, otherwise set it to this
24471+ // type.
24472+ tree
24473+ interface_method_table(Gogo*, const Interface_type* interface,
24474+ bool is_pointer);
24475+
24476 // Traverse just the field types of a struct type.
24477 int
24478 traverse_field_types(Traverse* traverse)
24479@@ -2156,6 +2178,13 @@
24480 Location location_;
24481 // If this struct is unnamed, a list of methods.
24482 Methods* all_methods_;
24483+ // A mapping from interfaces to the associated interface method
24484+ // tables for this type. Only used if this struct is unnamed.
24485+ Interface_method_tables* interface_method_tables_;
24486+ // A mapping from interfaces to the associated interface method
24487+ // tables for pointers to this type. Only used if this struct is
24488+ // unnamed.
24489+ Interface_method_tables* pointer_interface_method_tables_;
24490 };
24491
24492 // The type of an array.
24493@@ -2623,8 +2652,8 @@
24494 public:
24495 Named_type(Named_object* named_object, Type* type, Location location)
24496 : Type(TYPE_NAMED),
24497- named_object_(named_object), in_function_(NULL), type_(type),
24498- local_methods_(NULL), all_methods_(NULL),
24499+ named_object_(named_object), in_function_(NULL), in_function_index_(0),
24500+ type_(type), local_methods_(NULL), all_methods_(NULL),
24501 interface_method_tables_(NULL), pointer_interface_method_tables_(NULL),
24502 location_(location), named_btype_(NULL), dependencies_(),
24503 is_visible_(true), is_error_(false), is_placeholder_(false),
24504@@ -2651,13 +2680,19 @@
24505 // Return the function in which this type is defined. This will
24506 // return NULL for a type defined in global scope.
24507 const Named_object*
24508- in_function() const
24509- { return this->in_function_; }
24510+ in_function(unsigned int *pindex) const
24511+ {
24512+ *pindex = this->in_function_index_;
24513+ return this->in_function_;
24514+ }
24515
24516 // Set the function in which this type is defined.
24517 void
24518- set_in_function(Named_object* f)
24519- { this->in_function_ = f; }
24520+ set_in_function(Named_object* f, unsigned int index)
24521+ {
24522+ this->in_function_ = f;
24523+ this->in_function_index_ = index;
24524+ }
24525
24526 // Return the name of the type.
24527 const std::string&
24528@@ -2855,16 +2890,13 @@
24529 void
24530 create_placeholder(Gogo*);
24531
24532- // A mapping from interfaces to the associated interface method
24533- // tables for this type. This maps to a decl.
24534- typedef Unordered_map_hash(const Interface_type*, tree, Type_hash_identical,
24535- Type_identical) Interface_method_tables;
24536-
24537 // A pointer back to the Named_object for this type.
24538 Named_object* named_object_;
24539 // If this type is defined in a function, a pointer back to the
24540 // function in which it is defined.
24541 Named_object* in_function_;
24542+ // The index of this type in IN_FUNCTION_.
24543+ unsigned int in_function_index_;
24544 // The actual type.
24545 Type* type_;
24546 // The list of methods defined for this type. Any named type can
24547Index: gcc/go/gofrontend/parse.cc
24548===================================================================
9f95000d
AM
24549--- gcc/go/gofrontend/parse.cc (.../tags/gcc_4_7_2_release) (wersja 192468)
24550+++ gcc/go/gofrontend/parse.cc (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
24551@@ -1631,12 +1631,16 @@
24552
24553 // Note that INIT was already parsed with the old name bindings, so
24554 // we don't have to worry that it will accidentally refer to the
24555- // newly declared variables.
24556+ // newly declared variables. But we do have to worry about a mix of
24557+ // newly declared variables and old variables if the old variables
24558+ // appear in the initializations.
24559
24560 Expression_list::const_iterator pexpr;
24561 if (init != NULL)
24562 pexpr = init->begin();
24563 bool any_new = false;
24564+ Expression_list* vars = new Expression_list();
24565+ Expression_list* vals = new Expression_list();
24566 for (Typed_identifier_list::const_iterator p = til->begin();
24567 p != til->end();
24568 ++p)
24569@@ -1644,7 +1648,7 @@
24570 if (init != NULL)
24571 go_assert(pexpr != init->end());
24572 this->init_var(*p, type, init == NULL ? NULL : *pexpr, is_coloneq,
24573- false, &any_new);
24574+ false, &any_new, vars, vals);
24575 if (init != NULL)
24576 ++pexpr;
24577 }
24578@@ -1652,6 +1656,7 @@
24579 go_assert(pexpr == init->end());
24580 if (is_coloneq && !any_new)
24581 error_at(location, "variables redeclared but no variable is new");
24582+ this->finish_init_vars(vars, vals, location);
24583 }
24584
24585 // See if we need to initialize a list of variables from a function
24586@@ -1674,13 +1679,15 @@
24587 Named_object* first_var = NULL;
24588 unsigned int index = 0;
24589 bool any_new = false;
24590+ Expression_list* ivars = new Expression_list();
24591+ Expression_list* ivals = new Expression_list();
24592 for (Typed_identifier_list::const_iterator pv = vars->begin();
24593 pv != vars->end();
24594 ++pv, ++index)
24595 {
24596 Expression* init = Expression::make_call_result(call, index);
24597 Named_object* no = this->init_var(*pv, type, init, is_coloneq, false,
24598- &any_new);
24599+ &any_new, ivars, ivals);
24600
24601 if (this->gogo_->in_global_scope() && no->is_variable())
24602 {
24603@@ -1700,6 +1707,8 @@
24604 if (is_coloneq && !any_new)
24605 error_at(location, "variables redeclared but no variable is new");
24606
24607+ this->finish_init_vars(ivars, ivals, location);
24608+
24609 return true;
24610 }
24611
24612@@ -1725,7 +1734,7 @@
24613 Typed_identifier_list::const_iterator p = vars->begin();
24614 Expression* init = type == NULL ? index : NULL;
24615 Named_object* val_no = this->init_var(*p, type, init, is_coloneq,
24616- type == NULL, &any_new);
24617+ type == NULL, &any_new, NULL, NULL);
24618 if (type == NULL && any_new && val_no->is_variable())
24619 val_no->var_value()->set_type_from_init_tuple();
24620 Expression* val_var = Expression::make_var_reference(val_no, location);
24621@@ -1735,7 +1744,7 @@
24622 if (var_type == NULL)
24623 var_type = Type::lookup_bool_type();
24624 Named_object* no = this->init_var(*p, var_type, NULL, is_coloneq, false,
24625- &any_new);
24626+ &any_new, NULL, NULL);
24627 Expression* present_var = Expression::make_var_reference(no, location);
24628
24629 if (is_coloneq && !any_new)
24630@@ -1790,7 +1799,7 @@
24631 Typed_identifier_list::const_iterator p = vars->begin();
24632 Expression* init = type == NULL ? receive : NULL;
24633 Named_object* val_no = this->init_var(*p, type, init, is_coloneq,
24634- type == NULL, &any_new);
24635+ type == NULL, &any_new, NULL, NULL);
24636 if (type == NULL && any_new && val_no->is_variable())
24637 val_no->var_value()->set_type_from_init_tuple();
24638 Expression* val_var = Expression::make_var_reference(val_no, location);
24639@@ -1800,7 +1809,7 @@
24640 if (var_type == NULL)
24641 var_type = Type::lookup_bool_type();
24642 Named_object* no = this->init_var(*p, var_type, NULL, is_coloneq, false,
24643- &any_new);
24644+ &any_new, NULL, NULL);
24645 Expression* received_var = Expression::make_var_reference(no, location);
24646
24647 if (is_coloneq && !any_new)
24648@@ -1857,7 +1866,7 @@
24649 if (var_type == NULL)
24650 var_type = type_guard->type();
24651 Named_object* val_no = this->init_var(*p, var_type, NULL, is_coloneq, false,
24652- &any_new);
24653+ &any_new, NULL, NULL);
24654 Expression* val_var = Expression::make_var_reference(val_no, location);
24655
24656 ++p;
24657@@ -1865,7 +1874,7 @@
24658 if (var_type == NULL)
24659 var_type = Type::lookup_bool_type();
24660 Named_object* no = this->init_var(*p, var_type, NULL, is_coloneq, false,
24661- &any_new);
24662+ &any_new, NULL, NULL);
24663 Expression* ok_var = Expression::make_var_reference(no, location);
24664
24665 Expression* texpr = type_guard->expr();
24666@@ -1904,7 +1913,8 @@
24667
24668 Named_object*
24669 Parse::init_var(const Typed_identifier& tid, Type* type, Expression* init,
24670- bool is_coloneq, bool type_from_init, bool* is_new)
24671+ bool is_coloneq, bool type_from_init, bool* is_new,
24672+ Expression_list* vars, Expression_list* vals)
24673 {
24674 Location location = tid.location();
24675
24676@@ -1946,9 +1956,9 @@
24677 // like v, ok := x.(int).
24678 if (!type_from_init && init != NULL)
24679 {
24680- Expression *v = Expression::make_var_reference(no, location);
24681- Statement *s = Statement::make_assignment(v, init, location);
24682- this->gogo_->add_statement(s);
24683+ go_assert(vars != NULL && vals != NULL);
24684+ vars->push_back(Expression::make_var_reference(no, location));
24685+ vals->push_back(init);
24686 }
24687 return no;
24688 }
24689@@ -1983,6 +1993,36 @@
24690 return this->gogo_->add_variable(buf, var);
24691 }
24692
24693+// Finish the variable initialization by executing any assignments to
24694+// existing variables when using :=. These must be done as a tuple
24695+// assignment in case of something like n, a, b := 1, b, a.
24696+
24697+void
24698+Parse::finish_init_vars(Expression_list* vars, Expression_list* vals,
24699+ Location location)
24700+{
24701+ if (vars->empty())
24702+ {
24703+ delete vars;
24704+ delete vals;
24705+ }
24706+ else if (vars->size() == 1)
24707+ {
24708+ go_assert(!this->gogo_->in_global_scope());
24709+ this->gogo_->add_statement(Statement::make_assignment(vars->front(),
24710+ vals->front(),
24711+ location));
24712+ delete vars;
24713+ delete vals;
24714+ }
24715+ else
24716+ {
24717+ go_assert(!this->gogo_->in_global_scope());
24718+ this->gogo_->add_statement(Statement::make_tuple_assignment(vars, vals,
24719+ location));
24720+ }
24721+}
24722+
24723 // SimpleVarDecl = identifier ":=" Expression .
24724
24725 // We've already seen the identifier.
24726@@ -2723,7 +2763,11 @@
24727 }
24728 else
24729 {
24730- error_at(this->location(), "expected %<,%> or %<}%>");
24731+ if (token->is_op(OPERATOR_SEMICOLON))
24732+ error_at(this->location(),
24733+ "need trailing comma before newline in composite literal");
24734+ else
24735+ error_at(this->location(), "expected %<,%> or %<}%>");
24736
24737 this->gogo_->mark_locals_used();
24738 int depth = 0;
24739@@ -3311,6 +3355,61 @@
24740 bool* is_type_switch)
24741 {
24742 const Token* token = this->peek_token();
24743+
24744+ // There is a complex parse for <- chan. The choices are
24745+ // Convert x to type <- chan int:
24746+ // (<- chan int)(x)
24747+ // Receive from (x converted to type chan <- chan int):
24748+ // (<- chan <- chan int (x))
24749+ // Convert x to type <- chan (<- chan int).
24750+ // (<- chan <- chan int)(x)
24751+ if (token->is_op(OPERATOR_CHANOP))
24752+ {
24753+ Location location = token->location();
24754+ if (this->advance_token()->is_keyword(KEYWORD_CHAN))
24755+ {
24756+ Expression* expr = this->primary_expr(false, may_be_composite_lit,
24757+ NULL);
24758+ if (expr->is_error_expression())
24759+ return expr;
24760+ else if (!expr->is_type_expression())
24761+ return Expression::make_receive(expr, location);
24762+ else
24763+ {
24764+ if (expr->type()->is_error_type())
24765+ return expr;
24766+
24767+ // We picked up "chan TYPE", but it is not a type
24768+ // conversion.
24769+ Channel_type* ct = expr->type()->channel_type();
24770+ if (ct == NULL)
24771+ {
24772+ // This is probably impossible.
24773+ error_at(location, "expected channel type");
24774+ return Expression::make_error(location);
24775+ }
24776+ else if (ct->may_receive())
24777+ {
24778+ // <- chan TYPE.
24779+ Type* t = Type::make_channel_type(false, true,
24780+ ct->element_type());
24781+ return Expression::make_type(t, location);
24782+ }
24783+ else
24784+ {
24785+ // <- chan <- TYPE. Because we skipped the leading
24786+ // <-, we parsed this as chan <- TYPE. With the
24787+ // leading <-, we parse it as <- chan (<- TYPE).
24788+ Type *t = this->reassociate_chan_direction(ct, location);
24789+ return Expression::make_type(t, location);
24790+ }
24791+ }
24792+ }
24793+
24794+ this->unget_token(Token::make_operator_token(OPERATOR_CHANOP, location));
24795+ token = this->peek_token();
24796+ }
24797+
24798 if (token->is_op(OPERATOR_PLUS)
24799 || token->is_op(OPERATOR_MINUS)
24800 || token->is_op(OPERATOR_NOT)
24801@@ -3323,14 +3422,6 @@
24802 Operator op = token->op();
24803 this->advance_token();
24804
24805- if (op == OPERATOR_CHANOP
24806- && this->peek_token()->is_keyword(KEYWORD_CHAN))
24807- {
24808- // This is "<- chan" which must be the start of a type.
24809- this->unget_token(Token::make_operator_token(op, location));
24810- return Expression::make_type(this->type(), location);
24811- }
24812-
24813 Expression* expr = this->unary_expr(false, may_be_composite_lit, NULL);
24814 if (expr->is_error_expression())
24815 ;
24816@@ -3350,6 +3441,32 @@
24817 is_type_switch);
24818 }
24819
24820+// This is called for the obscure case of
24821+// (<- chan <- chan int)(x)
24822+// In unary_expr we remove the leading <- and parse the remainder,
24823+// which gives us
24824+// chan <- (chan int)
24825+// When we add the leading <- back in, we really want
24826+// <- chan (<- chan int)
24827+// This means that we need to reassociate.
24828+
24829+Type*
24830+Parse::reassociate_chan_direction(Channel_type *ct, Location location)
24831+{
24832+ Channel_type* ele = ct->element_type()->channel_type();
24833+ if (ele == NULL)
24834+ {
24835+ error_at(location, "parse error");
24836+ return Type::make_error_type();
24837+ }
24838+ Type* sub = ele;
24839+ if (ele->may_send())
24840+ sub = Type::make_channel_type(false, true, ele->element_type());
24841+ else
24842+ sub = this->reassociate_chan_direction(ele, location);
24843+ return Type::make_channel_type(false, true, sub);
24844+}
24845+
24846 // Statement =
24847 // Declaration | LabeledStmt | SimpleStmt |
24848 // GoStmt | ReturnStmt | BreakStmt | ContinueStmt | GotoStmt |
24849@@ -5036,7 +5153,8 @@
24850 bool any_new = false;
24851
24852 const Typed_identifier* pti = &til->front();
24853- Named_object* no = this->init_var(*pti, NULL, expr, true, true, &any_new);
24854+ Named_object* no = this->init_var(*pti, NULL, expr, true, true, &any_new,
24855+ NULL, NULL);
24856 if (any_new && no->is_variable())
24857 no->var_value()->set_type_from_range_index();
24858 p_range_clause->index = Expression::make_var_reference(no, location);
24859@@ -5047,7 +5165,7 @@
24860 {
24861 pti = &til->back();
24862 bool is_new = false;
24863- no = this->init_var(*pti, NULL, expr, true, true, &is_new);
24864+ no = this->init_var(*pti, NULL, expr, true, true, &is_new, NULL, NULL);
24865 if (is_new && no->is_variable())
24866 no->var_value()->set_type_from_range_value();
24867 if (is_new)
24868@@ -5337,7 +5455,8 @@
24869
24870 if (!token->is_string())
24871 {
24872- error_at(this->location(), "missing import package name");
24873+ error_at(this->location(), "import statement not a string");
24874+ this->advance_token();
24875 return;
24876 }
24877
24878Index: gcc/go/gofrontend/statements.cc
24879===================================================================
9f95000d
AM
24880--- gcc/go/gofrontend/statements.cc (.../tags/gcc_4_7_2_release) (wersja 192468)
24881+++ gcc/go/gofrontend/statements.cc (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
24882@@ -3313,16 +3313,10 @@
24883 p != this->cases_->end();
24884 ++p)
24885 {
24886- Expression* this_cond;
24887- if (val_temp == NULL)
24888- this_cond = *p;
24889- else
24890- {
24891- Expression* ref = Expression::make_temporary_reference(val_temp,
24892- loc);
24893- this_cond = Expression::make_binary(OPERATOR_EQEQ, ref, *p, loc);
24894- }
24895-
24896+ Expression* ref = Expression::make_temporary_reference(val_temp,
24897+ loc);
24898+ Expression* this_cond = Expression::make_binary(OPERATOR_EQEQ, ref,
24899+ *p, loc);
24900 if (cond == NULL)
24901 cond = this_cond;
24902 else
24903@@ -3846,6 +3840,16 @@
24904 return new Constant_switch_statement(this->val_, this->clauses_,
24905 this->break_label_, loc);
24906
24907+ if (this->val_ != NULL
24908+ && !this->val_->type()->is_comparable()
24909+ && !Type::are_compatible_for_comparison(true, this->val_->type(),
24910+ Type::make_nil_type(), NULL))
24911+ {
24912+ error_at(this->val_->location(),
24913+ "cannot switch on value whose type that may not be compared");
24914+ return Statement::make_error_statement(loc);
24915+ }
24916+
24917 Block* b = new Block(enclosing, loc);
24918
24919 if (this->clauses_->empty())
24920@@ -3856,15 +3860,12 @@
24921 return Statement::make_statement(val, true);
24922 }
24923
24924- Temporary_statement* val_temp;
24925- if (this->val_ == NULL)
24926- val_temp = NULL;
24927- else
24928- {
24929- // var val_temp VAL_TYPE = VAL
24930- val_temp = Statement::make_temporary(NULL, this->val_, loc);
24931- b->add_statement(val_temp);
24932- }
24933+ // var val_temp VAL_TYPE = VAL
24934+ Expression* val = this->val_;
24935+ if (val == NULL)
24936+ val = Expression::make_boolean(true, loc);
24937+ Temporary_statement* val_temp = Statement::make_temporary(NULL, val, loc);
24938+ b->add_statement(val_temp);
24939
24940 this->clauses_->lower(b, val_temp, this->break_label());
24941
24942Index: gcc/go/gofrontend/gogo-tree.cc
24943===================================================================
9f95000d
AM
24944--- gcc/go/gofrontend/gogo-tree.cc (.../tags/gcc_4_7_2_release) (wersja 192468)
24945+++ gcc/go/gofrontend/gogo-tree.cc (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
24946@@ -1002,9 +1002,19 @@
24947 }
24948 if (this->is_type())
24949 {
24950- const Named_object* in_function = this->type_value()->in_function();
24951+ unsigned int index;
24952+ const Named_object* in_function = this->type_value()->in_function(&index);
24953 if (in_function != NULL)
24954- decl_name += '$' + Gogo::unpack_hidden_name(in_function->name());
24955+ {
24956+ decl_name += '$' + Gogo::unpack_hidden_name(in_function->name());
24957+ if (index > 0)
24958+ {
24959+ char buf[30];
24960+ snprintf(buf, sizeof buf, "%u", index);
24961+ decl_name += '$';
24962+ decl_name += buf;
24963+ }
24964+ }
24965 }
24966 return get_identifier_from_string(decl_name);
24967 }
24968@@ -2133,8 +2143,7 @@
24969
24970 tree
24971 Gogo::interface_method_table_for_type(const Interface_type* interface,
24972- Named_type* type,
24973- bool is_pointer)
24974+ Type* type, bool is_pointer)
24975 {
24976 const Typed_identifier_list* interface_methods = interface->methods();
24977 go_assert(!interface_methods->empty());
24978@@ -2163,7 +2172,9 @@
24979 // interface. If the interface has hidden methods, and the named
24980 // type is defined in a different package, then the interface
24981 // conversion table will be defined by that other package.
24982- if (has_hidden_methods && type->named_object()->package() != NULL)
24983+ if (has_hidden_methods
24984+ && type->named_type() != NULL
24985+ && type->named_type()->named_object()->package() != NULL)
24986 {
24987 tree array_type = build_array_type(const_ptr_type_node, NULL);
24988 tree decl = build_decl(BUILTINS_LOCATION, VAR_DECL, id, array_type);
24989@@ -2191,13 +2202,20 @@
24990 Linemap::predeclared_location());
24991 elt->value = fold_convert(const_ptr_type_node, tdp);
24992
24993+ Named_type* nt = type->named_type();
24994+ Struct_type* st = type->struct_type();
24995+ go_assert(nt != NULL || st != NULL);
24996 size_t i = 1;
24997 for (Typed_identifier_list::const_iterator p = interface_methods->begin();
24998 p != interface_methods->end();
24999 ++p, ++i)
25000 {
25001 bool is_ambiguous;
25002- Method* m = type->method_function(p->name(), &is_ambiguous);
25003+ Method* m;
25004+ if (nt != NULL)
25005+ m = nt->method_function(p->name(), &is_ambiguous);
25006+ else
25007+ m = st->method_function(p->name(), &is_ambiguous);
25008 go_assert(m != NULL);
25009
25010 Named_object* no = m->named_object();
25011Index: gcc/go/gofrontend/lex.cc
25012===================================================================
9f95000d
AM
25013--- gcc/go/gofrontend/lex.cc (.../tags/gcc_4_7_2_release) (wersja 192468)
25014+++ gcc/go/gofrontend/lex.cc (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25015@@ -722,7 +722,16 @@
25016 unsigned int ci;
25017 bool issued_error;
25018 this->lineoff_ = p - this->linebuf_;
25019- this->advance_one_utf8_char(p, &ci, &issued_error);
25020+ const char *pnext = this->advance_one_utf8_char(p, &ci,
25021+ &issued_error);
25022+
25023+ // Ignore byte order mark at start of file.
25024+ if (ci == 0xfeff)
25025+ {
25026+ p = pnext;
25027+ break;
25028+ }
25029+
25030 if (Lex::is_unicode_letter(ci))
25031 return this->gather_identifier();
25032
25033@@ -831,6 +840,14 @@
25034 *issued_error = true;
25035 return p + 1;
25036 }
25037+
25038+ // Warn about byte order mark, except at start of file.
25039+ if (*value == 0xfeff && (this->lineno_ != 1 || this->lineoff_ != 0))
25040+ {
25041+ error_at(this->location(), "Unicode (UTF-8) BOM in middle of file");
25042+ *issued_error = true;
25043+ }
25044+
25045 return p + adv;
25046 }
25047
25048@@ -1295,6 +1312,12 @@
25049 // Turn it into the "replacement character".
25050 v = 0xfffd;
25051 }
25052+ if (v >= 0xd800 && v < 0xe000)
25053+ {
25054+ warning_at(location, 0,
25055+ "unicode code point 0x%x is invalid surrogate pair", v);
25056+ v = 0xfffd;
25057+ }
25058 if (v <= 0xffff)
25059 {
25060 buf[0] = 0xe0 + (v >> 12);
25061@@ -1705,6 +1728,27 @@
25062 unsigned int stride;
25063 };
25064
25065+// A table of whitespace characters--Unicode code points classified as
25066+// "Space", "C" locale whitespace characters, the "next line" control
25067+// character (0085), the line separator (2028), the paragraph
25068+// separator (2029), and the "zero-width non-break space" (feff).
25069+
25070+static const Unicode_range unicode_space[] =
25071+{
25072+ { 0x0009, 0x000d, 1 },
25073+ { 0x0020, 0x0020, 1 },
25074+ { 0x0085, 0x0085, 1 },
25075+ { 0x00a0, 0x00a0, 1 },
25076+ { 0x1680, 0x1680, 1 },
25077+ { 0x180e, 0x180e, 1 },
25078+ { 0x2000, 0x200a, 1 },
25079+ { 0x2028, 0x2029, 1 },
25080+ { 0x202f, 0x202f, 1 },
25081+ { 0x205f, 0x205f, 1 },
25082+ { 0x3000, 0x3000, 1 },
25083+ { 0xfeff, 0xfeff, 1 },
25084+};
25085+
25086 // A table of Unicode digits--Unicode code points classified as
25087 // "Digit".
25088
25089@@ -2294,6 +2338,15 @@
25090 }
25091 }
25092
25093+// Return whether C is a space character.
25094+
25095+bool
25096+Lex::is_unicode_space(unsigned int c)
25097+{
25098+ return Lex::is_in_unicode_range(c, unicode_space,
25099+ ARRAY_SIZE(unicode_space));
25100+}
25101+
25102 // Return whether C is a Unicode digit--a Unicode code point
25103 // classified as "Digit".
25104
25105Index: gcc/go/gofrontend/types.cc
25106===================================================================
9f95000d
AM
25107--- gcc/go/gofrontend/types.cc (.../tags/gcc_4_7_2_release) (wersja 192468)
25108+++ gcc/go/gofrontend/types.cc (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25109@@ -430,7 +430,7 @@
25110
25111 case TYPE_CALL_MULTIPLE_RESULT:
25112 if (reason != NULL)
25113- *reason = "invalid use of multiple value function call";
25114+ *reason = "invalid use of multiple-value function call";
25115 return false;
25116
25117 default:
25118@@ -588,6 +588,9 @@
25119 p != fields->end();
25120 ++p)
25121 {
25122+ if (Gogo::is_sink_name(p->field_name()))
25123+ continue;
25124+
25125 if (!p->type()->is_comparable())
25126 {
25127 if (reason != NULL)
25128@@ -633,8 +636,8 @@
25129 if (rhs->is_call_multiple_result_type())
25130 {
25131 if (reason != NULL)
25132- reason->assign(_("multiple value function call in "
25133- "single value context"));
25134+ reason->assign(_("multiple-value function call in "
25135+ "single-value context"));
25136 return false;
25137 }
25138 }
25139@@ -1295,7 +1298,8 @@
25140 return "__go_td_" + this->mangled_name(gogo);
25141
25142 Named_object* no = nt->named_object();
25143- const Named_object* in_function = nt->in_function();
25144+ unsigned int index;
25145+ const Named_object* in_function = nt->in_function(&index);
25146 std::string ret = "__go_tdn_";
25147 if (nt->is_builtin())
25148 go_assert(in_function == NULL);
25149@@ -1310,6 +1314,13 @@
25150 {
25151 ret.append(Gogo::unpack_hidden_name(in_function->name()));
25152 ret.append(1, '.');
25153+ if (index > 0)
25154+ {
25155+ char buf[30];
25156+ snprintf(buf, sizeof buf, "%u", index);
25157+ ret.append(buf);
25158+ ret.append(1, '.');
25159+ }
25160 }
25161 }
25162
25163@@ -1746,9 +1757,19 @@
25164 {
25165 // This name is already hidden or not as appropriate.
25166 base_name = name->name();
25167- const Named_object* in_function = name->in_function();
25168+ unsigned int index;
25169+ const Named_object* in_function = name->in_function(&index);
25170 if (in_function != NULL)
25171- base_name += '$' + Gogo::unpack_hidden_name(in_function->name());
25172+ {
25173+ base_name += '$' + Gogo::unpack_hidden_name(in_function->name());
25174+ if (index > 0)
25175+ {
25176+ char buf[30];
25177+ snprintf(buf, sizeof buf, "%u", index);
25178+ base_name += '$';
25179+ base_name += buf;
25180+ }
25181+ }
25182 }
25183 std::string hash_name = base_name + "$hash";
25184 std::string equal_name = base_name + "$equal";
25185@@ -1989,10 +2010,19 @@
25186 ? gogo->pkgpath()
25187 : package->pkgpath());
25188 n.assign(pkgpath);
25189- if (name->in_function() != NULL)
25190+ unsigned int index;
25191+ const Named_object* in_function = name->in_function(&index);
25192+ if (in_function != NULL)
25193 {
25194 n.append(1, '.');
25195- n.append(Gogo::unpack_hidden_name(name->in_function()->name()));
25196+ n.append(Gogo::unpack_hidden_name(in_function->name()));
25197+ if (index > 0)
25198+ {
25199+ char buf[30];
25200+ snprintf(buf, sizeof buf, "%u", index);
25201+ n.append(1, '.');
25202+ n.append(buf);
25203+ }
25204 }
25205 s = Expression::make_string(n, bloc);
25206 vals->push_back(Expression::make_unary(OPERATOR_AND, s, bloc));
25207@@ -4276,6 +4306,9 @@
25208 pf != fields->end();
25209 ++pf)
25210 {
25211+ if (Gogo::is_sink_name(pf->field_name()))
25212+ return false;
25213+
25214 if (!pf->type()->compare_is_identity(gogo))
25215 return false;
25216
25217@@ -4530,6 +4563,20 @@
25218 return Type::method_function(this->all_methods_, name, is_ambiguous);
25219 }
25220
25221+// Return a pointer to the interface method table for this type for
25222+// the interface INTERFACE. IS_POINTER is true if this is for a
25223+// pointer to THIS.
25224+
25225+tree
25226+Struct_type::interface_method_table(Gogo* gogo,
25227+ const Interface_type* interface,
25228+ bool is_pointer)
25229+{
25230+ return Type::interface_method_table(gogo, this, interface, is_pointer,
25231+ &this->interface_method_tables_,
25232+ &this->pointer_interface_method_tables_);
25233+}
25234+
25235 // Convert struct fields to the backend representation. This is not
25236 // declared in types.h so that types.h doesn't have to #include
25237 // backend.h.
25238@@ -4749,6 +4796,9 @@
25239 pf != fields->end();
25240 ++pf)
25241 {
25242+ if (Gogo::is_sink_name(pf->field_name()))
25243+ continue;
25244+
25245 if (first)
25246 first = false;
25247 else
25248@@ -4840,6 +4890,9 @@
25249 pf != fields->end();
25250 ++pf, ++field_index)
25251 {
25252+ if (Gogo::is_sink_name(pf->field_name()))
25253+ continue;
25254+
25255 // Compare one field in both P1 and P2.
25256 Expression* f1 = Expression::make_temporary_reference(p1, bloc);
25257 f1 = Expression::make_unary(OPERATOR_MULT, f1, bloc);
25258@@ -4875,14 +4928,15 @@
25259 void
25260 Struct_type::do_reflection(Gogo* gogo, std::string* ret) const
25261 {
25262- ret->append("struct { ");
25263+ ret->append("struct {");
25264
25265 for (Struct_field_list::const_iterator p = this->fields_->begin();
25266 p != this->fields_->end();
25267 ++p)
25268 {
25269 if (p != this->fields_->begin())
25270- ret->append("; ");
25271+ ret->push_back(';');
25272+ ret->push_back(' ');
25273 if (p->is_anonymous())
25274 ret->push_back('?');
25275 else
25276@@ -4915,7 +4969,10 @@
25277 }
25278 }
25279
25280- ret->append(" }");
25281+ if (!this->fields_->empty())
25282+ ret->push_back(' ');
25283+
25284+ ret->push_back('}');
25285 }
25286
25287 // Mangled name.
25288@@ -6815,7 +6872,8 @@
25289 std::string n = Gogo::message_name(p->name());
25290 size_t len = 100 + n.length();
25291 char* buf = new char[len];
25292- snprintf(buf, len, _("method %s%s%s requires a pointer"),
25293+ snprintf(buf, len,
25294+ _("method %s%s%s requires a pointer receiver"),
25295 open_quote, n.c_str(), close_quote);
25296 reason->assign(buf);
25297 delete[] buf;
25298@@ -7151,7 +7209,17 @@
25299 {
25300 if (!p->name().empty())
25301 {
25302- std::string n = Gogo::unpack_hidden_name(p->name());
25303+ std::string n;
25304+ if (!Gogo::is_hidden_name(p->name()))
25305+ n = p->name();
25306+ else
25307+ {
25308+ n = ".";
25309+ std::string pkgpath = Gogo::hidden_name_pkgpath(p->name());
25310+ n.append(Gogo::pkgpath_for_symbol(pkgpath));
25311+ n.append(1, '.');
25312+ n.append(Gogo::unpack_hidden_name(p->name()));
25313+ }
25314 char buf[20];
25315 snprintf(buf, sizeof buf, "%u_",
25316 static_cast<unsigned int>(n.length()));
25317@@ -7704,32 +7772,9 @@
25318 Named_type::interface_method_table(Gogo* gogo, const Interface_type* interface,
25319 bool is_pointer)
25320 {
25321- go_assert(!interface->is_empty());
25322-
25323- Interface_method_tables** pimt = (is_pointer
25324- ? &this->interface_method_tables_
25325- : &this->pointer_interface_method_tables_);
25326-
25327- if (*pimt == NULL)
25328- *pimt = new Interface_method_tables(5);
25329-
25330- std::pair<const Interface_type*, tree> val(interface, NULL_TREE);
25331- std::pair<Interface_method_tables::iterator, bool> ins = (*pimt)->insert(val);
25332-
25333- if (ins.second)
25334- {
25335- // This is a new entry in the hash table.
25336- go_assert(ins.first->second == NULL_TREE);
25337- ins.first->second = gogo->interface_method_table_for_type(interface,
25338- this,
25339- is_pointer);
25340- }
25341-
25342- tree decl = ins.first->second;
25343- if (decl == error_mark_node)
25344- return error_mark_node;
25345- go_assert(decl != NULL_TREE && TREE_CODE(decl) == VAR_DECL);
25346- return build_fold_addr_expr(decl);
25347+ return Type::interface_method_table(gogo, this, interface, is_pointer,
25348+ &this->interface_method_tables_,
25349+ &this->pointer_interface_method_tables_);
25350 }
25351
25352 // Return whether a named type has any hidden fields.
25353@@ -8358,8 +8403,17 @@
25354 }
25355 if (this->in_function_ != NULL)
25356 {
25357+ ret->push_back('\t');
25358 ret->append(Gogo::unpack_hidden_name(this->in_function_->name()));
25359 ret->push_back('$');
25360+ if (this->in_function_index_ > 0)
25361+ {
25362+ char buf[30];
25363+ snprintf(buf, sizeof buf, "%u", this->in_function_index_);
25364+ ret->append(buf);
25365+ ret->push_back('$');
25366+ }
25367+ ret->push_back('\t');
25368 }
25369 ret->append(Gogo::unpack_hidden_name(this->named_object_->name()));
25370 }
25371@@ -8389,6 +8443,13 @@
25372 {
25373 name.append(Gogo::unpack_hidden_name(this->in_function_->name()));
25374 name.append(1, '$');
25375+ if (this->in_function_index_ > 0)
25376+ {
25377+ char buf[30];
25378+ snprintf(buf, sizeof buf, "%u", this->in_function_index_);
25379+ name.append(buf);
25380+ name.append(1, '$');
25381+ }
25382 }
25383 }
25384 name.append(Gogo::unpack_hidden_name(no->name()));
25385@@ -8899,6 +8960,42 @@
25386 return m;
25387 }
25388
25389+// Return a pointer to the interface method table for TYPE for the
25390+// interface INTERFACE.
25391+
25392+tree
25393+Type::interface_method_table(Gogo* gogo, Type* type,
25394+ const Interface_type *interface,
25395+ bool is_pointer,
25396+ Interface_method_tables** method_tables,
25397+ Interface_method_tables** pointer_tables)
25398+{
25399+ go_assert(!interface->is_empty());
25400+
25401+ Interface_method_tables** pimt = is_pointer ? method_tables : pointer_tables;
25402+
25403+ if (*pimt == NULL)
25404+ *pimt = new Interface_method_tables(5);
25405+
25406+ std::pair<const Interface_type*, tree> val(interface, NULL_TREE);
25407+ std::pair<Interface_method_tables::iterator, bool> ins = (*pimt)->insert(val);
25408+
25409+ if (ins.second)
25410+ {
25411+ // This is a new entry in the hash table.
25412+ go_assert(ins.first->second == NULL_TREE);
25413+ ins.first->second = gogo->interface_method_table_for_type(interface,
25414+ type,
25415+ is_pointer);
25416+ }
25417+
25418+ tree decl = ins.first->second;
25419+ if (decl == error_mark_node)
25420+ return error_mark_node;
25421+ go_assert(decl != NULL_TREE && TREE_CODE(decl) == VAR_DECL);
25422+ return build_fold_addr_expr(decl);
25423+}
25424+
25425 // Look for field or method NAME for TYPE. Return an Expression for
25426 // the field or method bound to EXPR. If there is no such field or
25427 // method, give an appropriate error and return an error expression.
25428@@ -8990,7 +9087,7 @@
25429 Gogo::message_name(name).c_str(), ambig1.c_str(),
25430 ambig2.c_str());
25431 else if (found_pointer_method)
25432- error_at(location, "method requires a pointer");
25433+ error_at(location, "method requires a pointer receiver");
25434 else if (nt == NULL && st == NULL && it == NULL)
25435 error_at(location,
25436 ("reference to field %qs in object which "
25437Index: gcc/go/gofrontend/parse.h
25438===================================================================
9f95000d
AM
25439--- gcc/go/gofrontend/parse.h (.../tags/gcc_4_7_2_release) (wersja 192468)
25440+++ gcc/go/gofrontend/parse.h (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25441@@ -14,6 +14,7 @@
25442 class Type;
25443 class Typed_identifier;
25444 class Typed_identifier_list;
25445+class Channel_type;
25446 class Function_type;
25447 class Block;
25448 class Expression;
25449@@ -205,8 +206,11 @@
25450 Expression*, bool is_coloneq,
25451 Location);
25452 Named_object* init_var(const Typed_identifier&, Type*, Expression*,
25453- bool is_coloneq, bool type_from_init, bool* is_new);
25454+ bool is_coloneq, bool type_from_init, bool* is_new,
25455+ Expression_list* vars, Expression_list* vals);
25456 Named_object* create_dummy_global(Type*, Expression*, Location);
25457+ void finish_init_vars(Expression_list* vars, Expression_list* vals,
25458+ Location);
25459 void simple_var_decl_or_assignment(const std::string&, Location,
25460 bool may_be_composite_lit,
25461 Range_clause*, Type_switch*);
25462@@ -229,6 +233,7 @@
25463 bool expression_may_start_here();
25464 Expression* unary_expr(bool may_be_sink, bool may_be_composite_lit,
25465 bool* is_type_switch);
25466+ Type* reassociate_chan_direction(Channel_type*, Location);
25467 Expression* qualified_expr(Expression*, Location);
25468 Expression* id_to_expression(const std::string&, Location);
25469 void statement(Label*);
25470Index: gcc/go/gofrontend/expressions.cc
25471===================================================================
9f95000d
AM
25472--- gcc/go/gofrontend/expressions.cc (.../tags/gcc_4_7_2_release) (wersja 192468)
25473+++ gcc/go/gofrontend/expressions.cc (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25474@@ -301,19 +301,25 @@
25475 // object type: a list of function pointers for each interface
25476 // method.
25477 Named_type* rhs_named_type = rhs_type->named_type();
25478+ Struct_type* rhs_struct_type = rhs_type->struct_type();
25479 bool is_pointer = false;
25480- if (rhs_named_type == NULL)
25481+ if (rhs_named_type == NULL && rhs_struct_type == NULL)
25482 {
25483 rhs_named_type = rhs_type->deref()->named_type();
25484+ rhs_struct_type = rhs_type->deref()->struct_type();
25485 is_pointer = true;
25486 }
25487 tree method_table;
25488- if (rhs_named_type == NULL)
25489- method_table = null_pointer_node;
25490- else
25491+ if (rhs_named_type != NULL)
25492 method_table =
25493 rhs_named_type->interface_method_table(gogo, lhs_interface_type,
25494 is_pointer);
25495+ else if (rhs_struct_type != NULL)
25496+ method_table =
25497+ rhs_struct_type->interface_method_table(gogo, lhs_interface_type,
25498+ is_pointer);
25499+ else
25500+ method_table = null_pointer_node;
25501 first_field_value = fold_convert_loc(location.gcc_location(),
25502 const_ptr_type_node, method_table);
25503 }
25504@@ -5184,6 +5190,9 @@
25505 pf != fields->end();
25506 ++pf, ++field_index)
25507 {
25508+ if (Gogo::is_sink_name(pf->field_name()))
25509+ continue;
25510+
25511 if (field_index > 0)
25512 {
25513 if (left_temp == NULL)
25514@@ -5450,7 +5459,8 @@
25515 && (this->left_->type()->integer_type() == NULL
25516 || (subcontext.type->integer_type() == NULL
25517 && subcontext.type->float_type() == NULL
25518- && subcontext.type->complex_type() == NULL)))
25519+ && subcontext.type->complex_type() == NULL
25520+ && subcontext.type->interface_type() == NULL)))
25521 this->report_error(("invalid context-determined non-integer type "
25522 "for shift operand"));
25523
25524@@ -6682,38 +6692,6 @@
25525 this->set_args(new_args);
25526 }
25527
25528-// A traversal class which looks for a call expression.
25529-
25530-class Find_call_expression : public Traverse
25531-{
25532- public:
25533- Find_call_expression()
25534- : Traverse(traverse_expressions),
25535- found_(false)
25536- { }
25537-
25538- int
25539- expression(Expression**);
25540-
25541- bool
25542- found()
25543- { return this->found_; }
25544-
25545- private:
25546- bool found_;
25547-};
25548-
25549-int
25550-Find_call_expression::expression(Expression** pexpr)
25551-{
25552- if ((*pexpr)->call_expression() != NULL)
25553- {
25554- this->found_ = true;
25555- return TRAVERSE_EXIT;
25556- }
25557- return TRAVERSE_CONTINUE;
25558-}
25559-
25560 // Lower a builtin call expression. This turns new and make into
25561 // specific expressions. We also convert to a constant if we can.
25562
25563@@ -6734,20 +6712,6 @@
25564
25565 if (this->is_constant())
25566 {
25567- // We can only lower len and cap if there are no function calls
25568- // in the arguments. Otherwise we have to make the call.
25569- if (this->code_ == BUILTIN_LEN || this->code_ == BUILTIN_CAP)
25570- {
25571- Expression* arg = this->one_arg();
25572- if (arg != NULL && !arg->is_constant())
25573- {
25574- Find_call_expression find_call;
25575- Expression::traverse(&arg, &find_call);
25576- if (find_call.found())
25577- return this;
25578- }
25579- }
25580-
25581 Numeric_constant nc;
25582 if (this->numeric_constant_value(&nc))
25583 return nc.expression(loc);
25584@@ -7064,9 +7028,43 @@
25585 return args->front();
25586 }
25587
25588-// Return whether this is constant: len of a string, or len or cap of
25589-// a fixed array, or unsafe.Sizeof, unsafe.Offsetof, unsafe.Alignof.
25590+// A traversal class which looks for a call or receive expression.
25591
25592+class Find_call_expression : public Traverse
25593+{
25594+ public:
25595+ Find_call_expression()
25596+ : Traverse(traverse_expressions),
25597+ found_(false)
25598+ { }
25599+
25600+ int
25601+ expression(Expression**);
25602+
25603+ bool
25604+ found()
25605+ { return this->found_; }
25606+
25607+ private:
25608+ bool found_;
25609+};
25610+
25611+int
25612+Find_call_expression::expression(Expression** pexpr)
25613+{
25614+ if ((*pexpr)->call_expression() != NULL
25615+ || (*pexpr)->receive_expression() != NULL)
25616+ {
25617+ this->found_ = true;
25618+ return TRAVERSE_EXIT;
25619+ }
25620+ return TRAVERSE_CONTINUE;
25621+}
25622+
25623+// Return whether this is constant: len of a string constant, or len
25624+// or cap of an array, or unsafe.Sizeof, unsafe.Offsetof,
25625+// unsafe.Alignof.
25626+
25627 bool
25628 Builtin_call_expression::do_is_constant() const
25629 {
25630@@ -7088,6 +7086,17 @@
25631 && !arg_type->points_to()->is_slice_type())
25632 arg_type = arg_type->points_to();
25633
25634+ // The len and cap functions are only constant if there are no
25635+ // function calls or channel operations in the arguments.
25636+ // Otherwise we have to make the call.
25637+ if (!arg->is_constant())
25638+ {
25639+ Find_call_expression find_call;
25640+ Expression::traverse(&arg, &find_call);
25641+ if (find_call.found())
25642+ return false;
25643+ }
25644+
25645 if (arg_type->array_type() != NULL
25646 && arg_type->array_type()->length() != NULL)
25647 return true;
25648@@ -7474,7 +7483,7 @@
25649 if (args != NULL && args->size() == 2)
25650 {
25651 Type* t1 = args->front()->type();
25652- Type* t2 = args->front()->type();
25653+ Type* t2 = args->back()->type();
25654 if (!t1->is_abstract())
25655 arg_type = t1;
25656 else if (!t2->is_abstract())
25657Index: gcc/go/gofrontend/lex.h
25658===================================================================
9f95000d
AM
25659--- gcc/go/gofrontend/lex.h (.../tags/gcc_4_7_2_release) (wersja 192468)
25660+++ gcc/go/gofrontend/lex.h (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25661@@ -375,6 +375,10 @@
25662 static int
25663 fetch_char(const char* str, unsigned int *value);
25664
25665+ // Return whether C is a Unicode or "C" locale space character.
25666+ static bool
25667+ is_unicode_space(unsigned int c);
25668+
25669 private:
25670 ssize_t
25671 get_line();
25672Index: gcc/ada/ChangeLog
25673===================================================================
9f95000d
AM
25674--- gcc/ada/ChangeLog (.../tags/gcc_4_7_2_release) (wersja 192468)
25675+++ gcc/ada/ChangeLog (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25676@@ -1,3 +1,11 @@
25677+2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
25678+
25679+ * gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
25680+ bounds of loop iteraration scheme only for locally defined subtypes.
25681+
25682+ * gcc-interface/trans.c (build_return_expr): Apply the NRV optimization
25683+ only for BLKmode.
25684+
25685 2012-09-20 Release Manager
25686
25687 * GCC 4.7.2 released.
25688Index: gcc/ada/gcc-interface/decl.c
25689===================================================================
9f95000d
AM
25690--- gcc/ada/gcc-interface/decl.c (.../tags/gcc_4_7_2_release) (wersja 192468)
25691+++ gcc/ada/gcc-interface/decl.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25692@@ -6346,6 +6346,7 @@
25693 use_variable = expr_variable_p
25694 && (expr_global_p
25695 || (!optimize
25696+ && definition
25697 && Is_Itype (gnat_entity)
25698 && Nkind (Associated_Node_For_Itype (gnat_entity))
25699 == N_Loop_Parameter_Specification));
25700Index: gcc/ada/gcc-interface/trans.c
25701===================================================================
9f95000d
AM
25702--- gcc/ada/gcc-interface/trans.c (.../tags/gcc_4_7_2_release) (wersja 192468)
25703+++ gcc/ada/gcc-interface/trans.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25704@@ -3123,6 +3123,7 @@
25705 if (optimize
25706 && AGGREGATE_TYPE_P (operation_type)
25707 && !TYPE_IS_FAT_POINTER_P (operation_type)
25708+ && TYPE_MODE (operation_type) == BLKmode
25709 && aggregate_value_p (operation_type, current_function_decl))
25710 {
25711 /* Recognize the temporary created for a return value with variable
25712Index: gcc/fortran/ChangeLog
25713===================================================================
9f95000d
AM
25714--- gcc/fortran/ChangeLog (.../tags/gcc_4_7_2_release) (wersja 192468)
25715+++ gcc/fortran/ChangeLog (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25716@@ -1,3 +1,9 @@
25717+2012-10-14 Janus Weil <janus@gcc.gnu.org>
25718+
25719+ PR fortran/54784
25720+ * trans-stmt.c (gfc_trans_allocate): Correctly determine the reference
25721+ to the _data component for polymorphic allocation with SOURCE.
25722+
25723 2012-09-20 Release Manager
25724
25725 * GCC 4.7.2 released.
25726Index: gcc/fortran/trans-stmt.c
25727===================================================================
9f95000d
AM
25728--- gcc/fortran/trans-stmt.c (.../tags/gcc_4_7_2_release) (wersja 192468)
25729+++ gcc/fortran/trans-stmt.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25730@@ -5087,7 +5087,7 @@
25731 gfc_actual_arglist *actual;
25732 gfc_expr *ppc;
25733 gfc_code *ppc_code;
25734- gfc_ref *dataref;
25735+ gfc_ref *ref, *dataref;
25736
25737 /* Do a polymorphic deep copy. */
25738 actual = gfc_get_actual_arglist ();
25739@@ -5099,13 +5099,15 @@
25740 actual->next->expr->ts.type = BT_CLASS;
25741 gfc_add_data_component (actual->next->expr);
25742
25743- dataref = actual->next->expr->ref;
25744+ dataref = NULL;
25745 /* Make sure we go up through the reference chain to
25746 the _data reference, where the arrayspec is found. */
25747- while (dataref->next && dataref->next->type != REF_ARRAY)
25748- dataref = dataref->next;
25749+ for (ref = actual->next->expr->ref; ref; ref = ref->next)
25750+ if (ref->type == REF_COMPONENT
25751+ && strcmp (ref->u.c.component->name, "_data") == 0)
25752+ dataref = ref;
25753
25754- if (dataref->u.c.component->as)
25755+ if (dataref && dataref->u.c.component->as)
25756 {
25757 int dim;
25758 gfc_expr *temp;
25759Index: gcc/BASE-VER
25760===================================================================
9f95000d
AM
25761--- gcc/BASE-VER (.../tags/gcc_4_7_2_release) (wersja 192468)
25762+++ gcc/BASE-VER (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25763@@ -1 +1 @@
25764-4.7.2
25765+4.7.3
25766Index: gcc/gcc-ar.c
25767===================================================================
9f95000d
AM
25768--- gcc/gcc-ar.c (.../tags/gcc_4_7_2_release) (wersja 192468)
25769+++ gcc/gcc-ar.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25770@@ -42,6 +42,7 @@
25771 const char *err_msg;
25772 const char **nargv;
25773 bool is_ar = !strcmp (PERSONALITY, "ar");
25774+ int exit_code = FATAL_EXIT_CODE;
25775
25776 exe_name = PERSONALITY;
25777 #ifdef CROSS_DIRECTORY_STRUCTURE
25778@@ -96,6 +97,20 @@
25779 NULL,NULL, &status, &err);
25780 if (err_msg)
25781 fprintf(stderr, "Error running %s: %s\n", exe_name, err_msg);
25782+ else if (status)
25783+ {
25784+ if (WIFSIGNALED (status))
25785+ {
25786+ int sig = WTERMSIG (status);
25787+ fprintf (stderr, "%s terminated with signal %d [%s]%s\n",
25788+ exe_name, sig, strsignal(sig),
25789+ WCOREDUMP(status) ? ", core dumped" : "");
25790+ }
25791+ else if (WIFEXITED (status))
25792+ exit_code = WEXITSTATUS (status);
25793+ }
25794+ else
25795+ exit_code = SUCCESS_EXIT_CODE;
25796
25797- return err;
25798+ return exit_code;
25799 }
25800Index: gcc/c-typeck.c
25801===================================================================
9f95000d
AM
25802--- gcc/c-typeck.c (.../tags/gcc_4_7_2_release) (wersja 192468)
25803+++ gcc/c-typeck.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25804@@ -3642,7 +3642,13 @@
25805 "wrong type argument to unary exclamation mark");
25806 return error_mark_node;
25807 }
25808- arg = c_objc_common_truthvalue_conversion (location, arg);
25809+ if (int_operands)
25810+ {
25811+ arg = c_objc_common_truthvalue_conversion (location, xarg);
25812+ arg = remove_c_maybe_const_expr (arg);
25813+ }
25814+ else
25815+ arg = c_objc_common_truthvalue_conversion (location, arg);
25816 ret = invert_truthvalue_loc (location, arg);
25817 /* If the TRUTH_NOT_EXPR has been folded, reset the location. */
25818 if (EXPR_P (ret) && EXPR_HAS_LOCATION (ret))
25819@@ -4862,8 +4868,11 @@
25820 ret = build_c_cast (loc, type, expr);
25821 if (type_expr)
25822 {
25823+ bool inner_expr_const = true;
25824+ ret = c_fully_fold (ret, require_constant_value, &inner_expr_const);
25825 ret = build2 (C_MAYBE_CONST_EXPR, TREE_TYPE (ret), type_expr, ret);
25826- C_MAYBE_CONST_EXPR_NON_CONST (ret) = !type_expr_const;
25827+ C_MAYBE_CONST_EXPR_NON_CONST (ret) = !(type_expr_const
25828+ && inner_expr_const);
25829 SET_EXPR_LOCATION (ret, loc);
25830 }
25831
25832@@ -9896,8 +9905,20 @@
25833 but that does not mean the operands should be
25834 converted to ints! */
25835 result_type = integer_type_node;
25836- op0 = c_common_truthvalue_conversion (location, op0);
25837- op1 = c_common_truthvalue_conversion (location, op1);
25838+ if (op0_int_operands)
25839+ {
25840+ op0 = c_objc_common_truthvalue_conversion (location, orig_op0);
25841+ op0 = remove_c_maybe_const_expr (op0);
25842+ }
25843+ else
25844+ op0 = c_objc_common_truthvalue_conversion (location, op0);
25845+ if (op1_int_operands)
25846+ {
25847+ op1 = c_objc_common_truthvalue_conversion (location, orig_op1);
25848+ op1 = remove_c_maybe_const_expr (op1);
25849+ }
25850+ else
25851+ op1 = c_objc_common_truthvalue_conversion (location, op1);
25852 converted = 1;
25853 boolean_op = true;
25854 }
25855@@ -10609,13 +10630,18 @@
25856
25857 int_const = (TREE_CODE (expr) == INTEGER_CST && !TREE_OVERFLOW (expr));
25858 int_operands = EXPR_INT_CONST_OPERANDS (expr);
25859- if (int_operands)
25860- expr = remove_c_maybe_const_expr (expr);
25861+ if (int_operands && TREE_CODE (expr) != INTEGER_CST)
25862+ {
25863+ expr = remove_c_maybe_const_expr (expr);
25864+ expr = build2 (NE_EXPR, integer_type_node, expr,
25865+ convert (TREE_TYPE (expr), integer_zero_node));
25866+ expr = note_integer_operands (expr);
25867+ }
25868+ else
25869+ /* ??? Should we also give an error for vectors rather than leaving
25870+ those to give errors later? */
25871+ expr = c_common_truthvalue_conversion (location, expr);
25872
25873- /* ??? Should we also give an error for vectors rather than leaving
25874- those to give errors later? */
25875- expr = c_common_truthvalue_conversion (location, expr);
25876-
25877 if (TREE_CODE (expr) == INTEGER_CST && int_operands && !int_const)
25878 {
25879 if (TREE_OVERFLOW (expr))
25880Index: gcc/tree-ssa-pre.c
25881===================================================================
9f95000d
AM
25882--- gcc/tree-ssa-pre.c (.../tags/gcc_4_7_2_release) (wersja 192468)
25883+++ gcc/tree-ssa-pre.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25884@@ -3063,7 +3063,7 @@
25885 case NARY:
25886 {
25887 vn_nary_op_t nary = PRE_EXPR_NARY (expr);
25888- tree genop[4];
25889+ tree *genop = XALLOCAVEC (tree, nary->length);
25890 unsigned i;
25891 for (i = 0; i < nary->length; ++i)
25892 {
25893Index: gcc/simplify-rtx.c
25894===================================================================
9f95000d
AM
25895--- gcc/simplify-rtx.c (.../tags/gcc_4_7_2_release) (wersja 192468)
25896+++ gcc/simplify-rtx.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25897@@ -1,7 +1,7 @@
25898 /* RTL simplification functions for GNU compiler.
25899 Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
25900 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
25901- 2011 Free Software Foundation, Inc.
25902+ 2011, 2012 Free Software Foundation, Inc.
25903
25904 This file is part of GCC.
25905
25906@@ -2239,7 +2239,7 @@
25907 neg_const_int (mode, op1));
25908
25909 /* (x - (x & y)) -> (x & ~y) */
25910- if (GET_CODE (op1) == AND)
25911+ if (INTEGRAL_MODE_P (mode) && GET_CODE (op1) == AND)
25912 {
25913 if (rtx_equal_p (op0, XEXP (op1, 0)))
25914 {
25915Index: gcc/lto/lto.c
25916===================================================================
9f95000d
AM
25917--- gcc/lto/lto.c (.../tags/gcc_4_7_2_release) (wersja 192468)
25918+++ gcc/lto/lto.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25919@@ -761,6 +761,7 @@
25920 variant list state before fixup is broken. */
25921 tree tem, mv;
25922
25923+#ifdef ENABLE_CHECKING
25924 /* Remove us from our main variant list if we are not the
25925 variant leader. */
25926 if (TYPE_MAIN_VARIANT (t) != t)
25927@@ -768,10 +769,9 @@
25928 tem = TYPE_MAIN_VARIANT (t);
25929 while (tem && TYPE_NEXT_VARIANT (tem) != t)
25930 tem = TYPE_NEXT_VARIANT (tem);
25931- if (tem)
25932- TYPE_NEXT_VARIANT (tem) = TYPE_NEXT_VARIANT (t);
25933- TYPE_NEXT_VARIANT (t) = NULL_TREE;
25934+ gcc_assert (!tem && !TYPE_NEXT_VARIANT (t));
25935 }
25936+#endif
25937
25938 /* Query our new main variant. */
25939 mv = GIMPLE_REGISTER_TYPE (TYPE_MAIN_VARIANT (t));
25940Index: gcc/lto/ChangeLog
25941===================================================================
9f95000d
AM
25942--- gcc/lto/ChangeLog (.../tags/gcc_4_7_2_release) (wersja 192468)
25943+++ gcc/lto/ChangeLog (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25944@@ -1,3 +1,12 @@
25945+2012-09-20 Richard Guenther <rguenther@suse.de>
25946+
25947+ Backport from mainline
25948+ 2012-09-11 Jan Hubicka <jh@suse.cz>
25949+
25950+ PR lto/54312
25951+ * lto.c (uniquify_nodes): Remove quadratic loop checking if the
25952+ type is variant leader.
25953+
25954 2012-09-20 Release Manager
25955
25956 * GCC 4.7.2 released.
25957Index: gcc/tree-streamer-out.c
25958===================================================================
9f95000d
AM
25959--- gcc/tree-streamer-out.c (.../tags/gcc_4_7_2_release) (wersja 192468)
25960+++ gcc/tree-streamer-out.c (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25961@@ -279,6 +279,8 @@
25962 bp_pack_value (bp, TYPE_NEEDS_CONSTRUCTING (expr), 1);
25963 if (RECORD_OR_UNION_TYPE_P (expr))
25964 bp_pack_value (bp, TYPE_TRANSPARENT_AGGR (expr), 1);
25965+ else if (TREE_CODE (expr) == ARRAY_TYPE)
25966+ bp_pack_value (bp, TYPE_NONALIASED_COMPONENT (expr), 1);
25967 bp_pack_value (bp, TYPE_PACKED (expr), 1);
25968 bp_pack_value (bp, TYPE_RESTRICT (expr), 1);
25969 bp_pack_value (bp, TYPE_CONTAINS_PLACEHOLDER_INTERNAL (expr), 2);
25970Index: gcc/po/es.po
25971===================================================================
9f95000d
AM
25972--- gcc/po/es.po (.../tags/gcc_4_7_2_release) (wersja 192468)
25973+++ gcc/po/es.po (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
25974@@ -1,4 +1,4 @@
25975-# Mensajes en español para gcc-4.7.1.
25976+# Mensajes en español para gcc-4.7.2.
25977 # Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
25978 # This file is distributed under the same license as the gcc package.
25979 # Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
25980@@ -7,10 +7,10 @@
25981 #
25982 msgid ""
25983 msgstr ""
25984-"Project-Id-Version: gcc 4.7.1\n"
25985+"Project-Id-Version: gcc 4.7.2\n"
25986 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
25987-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
25988-"PO-Revision-Date: 2012-06-22 13:49-0500\n"
25989+"POT-Creation-Date: 2012-09-19 14:50+0000\n"
25990+"PO-Revision-Date: 2012-09-24 13:50-0500\n"
25991 "Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
25992 "Language-Team: Spanish <es@li.org>\n"
25993 "Language: es\n"
25994@@ -28,7 +28,7 @@
25995 msgid "({anonymous})"
25996 msgstr "({anónimo})"
25997
25998-#: c-parser.c:946 cp/parser.c:22268
25999+#: c-parser.c:946 cp/parser.c:22263
26000 #, gcc-internal-format
26001 msgid "expected end of line"
26002 msgstr "se esperaba fin de línea"
26003@@ -38,8 +38,8 @@
26004 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
26005 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
26006 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
26007-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
26008-#: cp/parser.c:22214
26009+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
26010+#: cp/parser.c:22209
26011 #, gcc-internal-format
26012 msgid "expected %<;%>"
26013 msgstr "se esperaba %<;%>"
26014@@ -51,13 +51,13 @@
26015 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
26016 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
26017 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
26018-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
26019+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
26020 #, gcc-internal-format
26021 msgid "expected %<(%>"
26022 msgstr "se esperaba %<(%>"
26023
26024 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
26025-#: cp/parser.c:21789 cp/parser.c:22232
26026+#: cp/parser.c:21784 cp/parser.c:22227
26027 #, gcc-internal-format
26028 msgid "expected %<,%>"
26029 msgstr "se esperaba %<,%>"
26030@@ -73,14 +73,14 @@
26031 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
26032 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
26033 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
26034-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
26035+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
26036 #, gcc-internal-format
26037 msgid "expected %<)%>"
26038 msgstr "se esperaba %<)%>"
26039
26040 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
26041 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
26042-#: c-parser.c:10630 cp/parser.c:22226
26043+#: c-parser.c:10630 cp/parser.c:22221
26044 #, gcc-internal-format
26045 msgid "expected %<]%>"
26046 msgstr "se esperaba %<]%>"
26047@@ -89,25 +89,25 @@
26048 msgid "expected %<;%>, %<,%> or %<)%>"
26049 msgstr "se esperaba %<;%>, %<,%> o %<)%>"
26050
26051-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
26052+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
26053 #, gcc-internal-format
26054 msgid "expected %<}%>"
26055 msgstr "se esperaba %<}%>"
26056
26057 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
26058-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
26059+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
26060 #, gcc-internal-format
26061 msgid "expected %<{%>"
26062 msgstr "se esperaba %<{%>"
26063
26064 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
26065 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
26066-#: cp/parser.c:22256 cp/parser.c:23258
26067+#: cp/parser.c:22251 cp/parser.c:23253
26068 #, gcc-internal-format
26069 msgid "expected %<:%>"
26070 msgstr "se esperaba %<:%>"
26071
26072-#: c-parser.c:4824 cp/parser.c:22150
26073+#: c-parser.c:4824 cp/parser.c:22145
26074 #, gcc-internal-format
26075 msgid "expected %<while%>"
26076 msgstr "se esperaba %<while%>"
26077@@ -116,34 +116,34 @@
26078 msgid "expected %<.%>"
26079 msgstr "se esperaba %<.%>"
26080
26081-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
26082-#: cp/parser.c:23895
26083+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
26084+#: cp/parser.c:23890
26085 #, gcc-internal-format
26086 msgid "expected %<@end%>"
26087 msgstr "se esperaba %<@end%>"
26088
26089-#: c-parser.c:7850 cp/parser.c:22241
26090+#: c-parser.c:7850 cp/parser.c:22236
26091 #, gcc-internal-format
26092 msgid "expected %<>%>"
26093 msgstr "se esperaba %<>%>"
26094
26095-#: c-parser.c:9246 cp/parser.c:22265
26096+#: c-parser.c:9246 cp/parser.c:22260
26097 #, gcc-internal-format
26098 msgid "expected %<,%> or %<)%>"
26099 msgstr "se esperaba %<,%> o %<)%>"
26100
26101 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
26102-#: c-parser.c:3961 cp/parser.c:22244
26103+#: c-parser.c:3961 cp/parser.c:22239
26104 #, gcc-internal-format
26105 msgid "expected %<=%>"
26106 msgstr "se esperaba %<=%>"
26107
26108-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
26109+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
26110 #, gcc-internal-format
26111 msgid "expected %<#pragma omp section%> or %<}%>"
26112 msgstr "se esperaba %<#pragma omp section%> o %<}%>"
26113
26114-#: c-parser.c:10616 cp/parser.c:22229
26115+#: c-parser.c:10616 cp/parser.c:22224
26116 #, gcc-internal-format
26117 msgid "expected %<[%>"
26118 msgstr "se esperaba %<[%>"
26119@@ -321,12 +321,12 @@
26120 #. TARGET_PRINT_OPERAND must handle them.
26121 #. We can't handle floating point constants;
26122 #. PRINT_OPERAND must handle them.
26123-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
26124+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
26125 #, c-format
26126 msgid "floating constant misused"
26127 msgstr "constante de coma flotante mal usada"
26128
26129-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
26130+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
26131 #, c-format
26132 msgid "invalid expression as operand"
26133 msgstr "expresión inválida como operando"
26134@@ -1409,20 +1409,20 @@
26135 msgid "insn does not satisfy its constraints:"
26136 msgstr "la insn no satisface sus restricciones:"
26137
26138-#: targhooks.c:1404
26139+#: targhooks.c:1411
26140 #, c-format
26141 msgid "created and used with differing settings of '%s'"
26142 msgstr "creado y usado con diferentes opciones de '%s'"
26143
26144-#: targhooks.c:1406
26145+#: targhooks.c:1413
26146 msgid "out of memory"
26147 msgstr "memoria agotada"
26148
26149-#: targhooks.c:1421
26150+#: targhooks.c:1428
26151 msgid "created and used with different settings of -fpic"
26152 msgstr "creado y usado con diferentes opciones de -fpic"
26153
26154-#: targhooks.c:1423
26155+#: targhooks.c:1430
26156 msgid "created and used with different settings of -fpie"
26157 msgstr "creado y usado con diferentes opciones de -fpie"
26158
26159@@ -2022,195 +2022,195 @@
26160 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
26161 msgstr "El número máximo de nodos RTL que se pueden grabar como el último valor del combinador"
26162
26163-#: params.def:644
26164+#: params.def:645
26165 msgid "The upper bound for sharing integer constants"
26166 msgstr "El límite superior para compartir constantes enteras"
26167
26168-#: params.def:663
26169+#: params.def:664
26170 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
26171 msgstr "El número mínimo de mapeos virtuales para considerar el cambio a renombrados virtuales completos"
26172
26173-#: params.def:668
26174+#: params.def:669
26175 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
26176 msgstr "Tasa entre mapeos virtuales y símbolos virtuales para hacer renombrados virtuales completos"
26177
26178-#: params.def:673
26179+#: params.def:674
26180 msgid "The lower bound for a buffer to be considered for stack smashing protection"
26181 msgstr "El límite inferior para considerar un almacenamiento temporal para protección contra destrucción de pila"
26182
26183-#: params.def:691
26184+#: params.def:692
26185 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
26186 msgstr "Número máximo de sentencias permitidas en un bloque que necesitan ser duplicadas al hacer hilos de saltos"
26187
26188-#: params.def:700
26189+#: params.def:701
26190 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
26191 msgstr "El número máximo de campos en una estructura antes de que el análisis de punteros trate a la estructura como una sola variable"
26192
26193-#: params.def:705
26194+#: params.def:706
26195 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
26196 msgstr "El número máximo de instrucciones listas para ser ejecutadas para ser consideradas por el calendarizador durante el primer paso de calendarización"
26197
26198-#: params.def:711
26199+#: params.def:712
26200 msgid "Maximum number of active local stores in RTL dead store elimination"
26201 msgstr "Número máximo de almacenamientos locales activos en la eliminación de almacenamiento muerto RTL"
26202
26203-#: params.def:721
26204+#: params.def:722
26205 msgid "The number of insns executed before prefetch is completed"
26206 msgstr "El número de insns ejecutadas antes de completar la precarga"
26207
26208-#: params.def:728
26209+#: params.def:729
26210 msgid "The number of prefetches that can run at the same time"
26211 msgstr "El número de precargas que se pueden ejecutar simultánamente"
26212
26213-#: params.def:735
26214+#: params.def:736
26215 msgid "The size of L1 cache"
26216 msgstr "El tamaño del caché L1"
26217
26218-#: params.def:742
26219+#: params.def:743
26220 msgid "The size of L1 cache line"
26221 msgstr "El tamaño de la línea del caché L1"
26222
26223-#: params.def:749
26224+#: params.def:750
26225 msgid "The size of L2 cache"
26226 msgstr "El tamaño del caché L2"
26227
26228-#: params.def:760
26229+#: params.def:761
26230 msgid "Whether to use canonical types"
26231 msgstr "Decide si se usan tipos canónicos"
26232
26233-#: params.def:765
26234+#: params.def:766
26235 msgid "Maximum length of partial antic set when performing tree pre optimization"
26236 msgstr "Longitud máxima del conjunto antic parcial al realizar pre optimización de árbol"
26237
26238-#: params.def:775
26239+#: params.def:776
26240 msgid "Maximum size of a SCC before SCCVN stops processing a function"
26241 msgstr "Tamaño máxmo de un SCC antes de que SCCVN detenga el procesamiento de una función"
26242
26243-#: params.def:780
26244+#: params.def:781
26245 msgid "Max loops number for regional RA"
26246 msgstr "Número de bucles máximo para el RA regional"
26247
26248-#: params.def:785
26249+#: params.def:786
26250 msgid "Max size of conflict table in MB"
26251 msgstr "Tamaño máximo de la tabla de conflictos en MB"
26252
26253-#: params.def:790
26254+#: params.def:791
26255 msgid "The number of registers in each class kept unused by loop invariant motion"
26256 msgstr "El número de registros conservados sin uso en cada clase por el movimiento invariante del bucle"
26257
26258-#: params.def:798
26259+#: params.def:799
26260 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
26261 msgstr "La tasa máxima entre el tamaño de la matriz y las ramificaciones switch para que tome lugar una conversión switch"
26262
26263-#: params.def:806
26264+#: params.def:807
26265 msgid "size of tiles for loop blocking"
26266 msgstr "tamaño de bloques para el bloqueo de bucles"
26267
26268-#: params.def:813
26269+#: params.def:814
26270 msgid "maximum number of parameters in a SCoP"
26271 msgstr "número máximo de parámetros en un SCoP"
26272
26273-#: params.def:820
26274+#: params.def:821
26275 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
26276 msgstr "número máximo de bloques básicos por función para analizar con Graphite"
26277
26278-#: params.def:826
26279+#: params.def:827
26280 msgid "Maximum number of datarefs in loop for building loop data dependencies"
26281 msgstr "Número máximo de referencia de datos en bucles para construir dependencia de datos de bucles"
26282
26283-#: params.def:833
26284+#: params.def:834
26285 msgid "Max basic blocks number in loop for loop invariant motion"
26286 msgstr "Número máximo de bloques básicos en el bucle para el movimiento invariante de bucle"
26287
26288-#: params.def:839
26289+#: params.def:840
26290 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
26291 msgstr "El número máximo de instrucciones en bloque básico que se consideran para vectorización SLP"
26292
26293-#: params.def:844
26294+#: params.def:845
26295 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
26296 msgstr "Tasa mínima de insns a precargar para activar la precarga para un bucle con una cuenta de viajes desconocida"
26297
26298-#: params.def:850
26299+#: params.def:851
26300 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
26301 msgstr "Tasa mínima de insns a ops de mem para activar la precarga en un bucle"
26302
26303-#: params.def:857
26304+#: params.def:858
26305 msgid "Max. size of var tracking hash tables"
26306 msgstr "Tamaño máximo de las tablas de dispersión de rastreo de variables"
26307
26308-#: params.def:865
26309+#: params.def:866
26310 msgid "Max. recursion depth for expanding var tracking expressions"
26311 msgstr "Profundidad máxima de recursión para expandir expresiones de rastreo de variables"
26312
26313-#: params.def:872
26314+#: params.def:873
26315 msgid "The minimum UID to be used for a nondebug insn"
26316 msgstr "El UID mínimo a usar para una insn que no es de depuración"
26317
26318-#: params.def:877
26319+#: params.def:878
26320 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
26321 msgstr "El crecimiento máximo permitido de tamaño de los parámetros nuevos ipa-sra que reemplazan un puntero a un agregado con"
26322
26323-#: params.def:883
26324+#: params.def:884
26325 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
26326 msgstr "Tamaño en bytes después del cual los agregados thread-local se deben instrumentar con las funciones de registro en lugar de pares save/restore"
26327
26328-#: params.def:890
26329+#: params.def:891
26330 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
26331 msgstr "Tamaño máximo de una lista de valores asociada con cada parámetro para propagación constante entre procedimientos"
26332
26333-#: params.def:896
26334+#: params.def:897
26335 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
26336 msgstr "Rango de evaluación de oportunidad ipa-cp que aún se considera benéfico para clonar."
26337
26338-#: params.def:904
26339+#: params.def:905
26340 msgid "Number of partitions the program should be split to"
26341 msgstr "Número de particiones en las que se debe dividir el programa"
26342
26343-#: params.def:909
26344+#: params.def:910
26345 msgid "Minimal size of a partition for LTO (in estimated instructions)"
26346 msgstr "Tamaño minimal de una partición para LTO (en instrucciones estimadas)"
26347
26348-#: params.def:916
26349+#: params.def:917
26350 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
26351 msgstr "Número máximo de espacios de nombres a buscar por alternativas cuando falla la búsqueda de nombre"
26352
26353-#: params.def:923
26354+#: params.def:924
26355 msgid "Maximum number of conditional store pairs that can be sunk"
26356 msgstr "El número máximo de pares de almacenamiento condicional que se pueden hundir"
26357
26358-#: params.def:931
26359+#: params.def:932
26360 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
26361 msgstr "El número más pequeño de valores diferentes para los cuales es mejor usar una tabla-salto en lugar de un árbol de ramificaciones condicionales; si es 0, usa el valor por defecto para la máquina"
26362
26363-#: params.def:939
26364+#: params.def:940
26365 msgid "Allow new data races on loads to be introduced"
26366 msgstr "Permite que se introduzcan carreras de datos nuevos en loads"
26367
26368-#: params.def:944
26369+#: params.def:945
26370 msgid "Allow new data races on stores to be introduced"
26371 msgstr "Permite que se introduzcan carreras de datos nuevos en stores"
26372
26373-#: params.def:949
26374+#: params.def:950
26375 msgid "Allow new data races on packed data loads to be introduced"
26376 msgstr "Permite que se introduzcan carreras de datos nuevos en loads de datos packed"
26377
26378-#: params.def:954
26379+#: params.def:955
26380 msgid "Allow new data races on packed data stores to be introduced"
26381 msgstr "Permite que se introduzcan carreras de datos nuevos en stores de datos packed"
26382
26383-#: params.def:960
26384+#: params.def:961
26385 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
26386 msgstr "Establece el número máximo de instrucciones ejecutadas en paralelo en el árbol de reasociación. Si es 0, usa la heurística dependiente del objetivo."
26387
26388-#: params.def:966
26389+#: params.def:967
26390 msgid "Maximum amount of similar bbs to compare a bb with"
26391 msgstr "Cantidad máxima de bbs similares con las cuales comparar un bb"
26392
26393-#: params.def:971
26394+#: params.def:972
26395 msgid "Maximum amount of iterations of the pass over a function"
26396 msgstr "Cantidad máxima de iteraciones del paso sobre una función"
26397
26398-#: params.def:978
26399+#: params.def:979
26400 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
26401 msgstr "Número máximo de cadenas para las que el paso de optimización de strlen rastreará longitudes de cadenas"
26402
26403@@ -2543,18 +2543,18 @@
26404 msgstr "valor %%r inválido"
26405
26406 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
26407-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
26408+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
26409 #, c-format
26410 msgid "invalid %%R value"
26411 msgstr "valor %%R inválido"
26412
26413-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
26414+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
26415 #: config/xtensa/xtensa.c:2317
26416 #, c-format
26417 msgid "invalid %%N value"
26418 msgstr "valor %%N inválido"
26419
26420-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
26421+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
26422 #, c-format
26423 msgid "invalid %%P value"
26424 msgstr "valor %%P inválido"
26425@@ -2569,12 +2569,12 @@
26426 msgid "invalid %%L value"
26427 msgstr "valor %%L inválido"
26428
26429-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
26430+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
26431 #, c-format
26432 msgid "invalid %%m value"
26433 msgstr "valor %%m inválido"
26434
26435-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
26436+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
26437 #, c-format
26438 msgid "invalid %%M value"
26439 msgstr "valor %%M inválido"
26440@@ -2585,7 +2585,7 @@
26441 msgstr "valor %%U inválido"
26442
26443 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
26444-#: config/rs6000/rs6000.c:15026
26445+#: config/rs6000/rs6000.c:15025
26446 #, c-format
26447 msgid "invalid %%s value"
26448 msgstr "valor %%s inválido"
26449@@ -2595,7 +2595,7 @@
26450 msgid "invalid %%C value"
26451 msgstr "valor %%C inválido"
26452
26453-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
26454+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
26455 #, c-format
26456 msgid "invalid %%E value"
26457 msgstr "valor %%E inválido"
26458@@ -2606,38 +2606,38 @@
26459 msgstr "reubicación unspec desconocida"
26460
26461 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
26462-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
26463+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
26464 #, c-format
26465 msgid "invalid %%xn code"
26466 msgstr "código %%xn inválido"
26467
26468-#: config/arm/arm.c:17116 config/arm/arm.c:17134
26469+#: config/arm/arm.c:17120 config/arm/arm.c:17138
26470 #, c-format
26471 msgid "predicated Thumb instruction"
26472 msgstr "instrucción de predicado Thumb"
26473
26474-#: config/arm/arm.c:17122
26475+#: config/arm/arm.c:17126
26476 #, c-format
26477 msgid "predicated instruction in conditional sequence"
26478 msgstr "instrucción de predicado en una secuencia condicional"
26479
26480-#: config/arm/arm.c:17253
26481+#: config/arm/arm.c:17257
26482 #, c-format
26483 msgid "Unsupported operand for code '%c'"
26484 msgstr "No se admite el operando para el código '%c'"
26485
26486-#: config/arm/arm.c:17301
26487+#: config/arm/arm.c:17305
26488 #, c-format
26489 msgid "invalid shift operand"
26490 msgstr "operando de desplazamiento inválido"
26491
26492-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
26493-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
26494-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
26495-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
26496-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
26497-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
26498-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
26499+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
26500+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
26501+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
26502+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
26503+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
26504+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
26505+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
26506 #: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
26507 #: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
26508 #: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
26509@@ -2645,79 +2645,79 @@
26510 msgid "invalid operand for code '%c'"
26511 msgstr "operando inválido para el código '%c'"
26512
26513-#: config/arm/arm.c:17462
26514+#: config/arm/arm.c:17466
26515 #, c-format
26516 msgid "instruction never executed"
26517 msgstr "la instrucción nunca se ejecuta"
26518
26519-#: config/arm/arm.c:17805
26520+#: config/arm/arm.c:17809
26521 #, c-format
26522 msgid "missing operand"
26523 msgstr "falta un operando"
26524
26525-#: config/arm/arm.c:20407
26526+#: config/arm/arm.c:20411
26527 msgid "function parameters cannot have __fp16 type"
26528 msgstr "los parámetros de la función no pueden tener el tipo __fp16"
26529
26530-#: config/arm/arm.c:20417
26531+#: config/arm/arm.c:20421
26532 msgid "functions cannot return __fp16 type"
26533 msgstr "la función no puede devolver el tipo __fp16"
26534
26535-#: config/avr/avr.c:1806
26536+#: config/avr/avr.c:1816
26537 #, c-format
26538 msgid "address operand requires constraint for X, Y, or Z register"
26539 msgstr "el operando de dirección requiere una restricción para los registros X, Y, o Z"
26540
26541-#: config/avr/avr.c:1959
26542+#: config/avr/avr.c:1969
26543 msgid "operands to %T/%t must be reg + const_int:"
26544 msgstr "los operandos para %T/%t deben ser reg + const_int:"
26545
26546-#: config/avr/avr.c:1997 config/avr/avr.c:2052
26547+#: config/avr/avr.c:2007 config/avr/avr.c:2062
26548 msgid "bad address, not an I/O address:"
26549 msgstr "dirección errónea, no es una dirección de E/S:"
26550
26551-#: config/avr/avr.c:2006
26552+#: config/avr/avr.c:2016
26553 msgid "bad address, not a constant:"
26554 msgstr "dirección errónea, no es una constante:"
26555
26556-#: config/avr/avr.c:2024
26557+#: config/avr/avr.c:2034
26558 msgid "bad address, not (reg+disp):"
26559 msgstr "dirección errónea, no (reg+disp):"
26560
26561-#: config/avr/avr.c:2031
26562+#: config/avr/avr.c:2041
26563 msgid "bad address, not post_inc or pre_dec:"
26564 msgstr "dirección errónea, no hay post_inc o pre_dec:"
26565
26566-#: config/avr/avr.c:2042
26567+#: config/avr/avr.c:2052
26568 msgid "internal compiler error. Bad address:"
26569 msgstr "error interno del compilador. Dirección errónea:"
26570
26571-#: config/avr/avr.c:2072
26572+#: config/avr/avr.c:2082
26573 msgid "internal compiler error. Unknown mode:"
26574 msgstr "error interno del compilador. Modo desconocido:"
26575
26576-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
26577+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
26578 msgid "invalid insn:"
26579 msgstr "insn inválida:"
26580
26581-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
26582-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
26583-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
26584-#: config/avr/avr.c:3850 config/avr/avr.c:3972
26585+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
26586+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
26587+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
26588+#: config/avr/avr.c:3860 config/avr/avr.c:3982
26589 msgid "incorrect insn:"
26590 msgstr "insn incorrecta:"
26591
26592-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
26593-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
26594-#: config/avr/avr.c:4027
26595+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
26596+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
26597+#: config/avr/avr.c:4037
26598 msgid "unknown move insn:"
26599 msgstr "insn move desconocida:"
26600
26601-#: config/avr/avr.c:4441
26602+#: config/avr/avr.c:4451
26603 msgid "bad shift insn:"
26604 msgstr "insn shift errónea:"
26605
26606-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
26607+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
26608 msgid "internal compiler error. Incorrect shift:"
26609 msgstr "error interno del compilador. Desplazamiento incorrecto:"
26610
26611@@ -2733,7 +2733,7 @@
26612
26613 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
26614 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
26615-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
26616+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
26617 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
26618 #: lto/lto-object.c:339 lto/lto-object.c:363
26619 #, gcc-internal-format, gfc-internal-format
26620@@ -2963,72 +2963,72 @@
26621 msgid "bad output_condmove_single operand"
26622 msgstr "operando output_condmove_single erróneo"
26623
26624-#: config/i386/i386.c:13178
26625+#: config/i386/i386.c:13272
26626 #, c-format
26627 msgid "invalid UNSPEC as operand"
26628 msgstr "UNSPEC inválido como operando"
26629
26630-#: config/i386/i386.c:13801
26631+#: config/i386/i386.c:13896
26632 #, c-format
26633 msgid "'%%&' used without any local dynamic TLS references"
26634 msgstr "se usó '%%&' sin ninguna referencia TLS dinámica local"
26635
26636-#: config/i386/i386.c:13892 config/i386/i386.c:13967
26637+#: config/i386/i386.c:13994 config/i386/i386.c:14069
26638 #, c-format
26639 msgid "invalid operand size for operand code '%c'"
26640 msgstr "tamaño de operando inválido para el código de operando '%c'"
26641
26642-#: config/i386/i386.c:13962
26643+#: config/i386/i386.c:14064
26644 #, c-format
26645 msgid "invalid operand type used with operand code '%c'"
26646 msgstr "se usó un tipo de operando inválido con el código de operando '%c'"
26647
26648-#: config/i386/i386.c:14043 config/i386/i386.c:14083
26649+#: config/i386/i386.c:14145 config/i386/i386.c:14185
26650 #, c-format
26651 msgid "operand is not a condition code, invalid operand code 'D'"
26652 msgstr "el operando no es un código de condición, código de operando 'D' inválido"
26653
26654-#: config/i386/i386.c:14109
26655+#: config/i386/i386.c:14211
26656 #, c-format
26657 msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
26658 msgstr "el operando no es una constante ni un código de condición, código de operando 'C' inválido"
26659
26660-#: config/i386/i386.c:14119
26661+#: config/i386/i386.c:14221
26662 #, c-format
26663 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
26664 msgstr "el operando no es una constante ni un código de condición, código de operando 'F' inválido"
26665
26666-#: config/i386/i386.c:14137
26667+#: config/i386/i386.c:14239
26668 #, c-format
26669 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
26670 msgstr "el operando no es una constante ni un código de condición, código de operando 'c' inválido"
26671
26672-#: config/i386/i386.c:14147
26673+#: config/i386/i386.c:14249
26674 #, c-format
26675 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
26676 msgstr "el operando no es una constante ni un código de condición, código de operando 'f' inválido"
26677
26678-#: config/i386/i386.c:14162
26679+#: config/i386/i386.c:14264
26680 #, c-format
26681 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
26682 msgstr "el operando no es una referencia de memoria desplazable, código de operando 'H' inválido"
26683
26684-#: config/i386/i386.c:14257
26685+#: config/i386/i386.c:14359
26686 #, c-format
26687 msgid "operand is not a condition code, invalid operand code 'Y'"
26688 msgstr "el operando no es un código de condición, código de operando 'Y' inválido"
26689
26690-#: config/i386/i386.c:14287
26691+#: config/i386/i386.c:14389
26692 #, c-format
26693 msgid "invalid operand code '%c'"
26694 msgstr "código de operando '%c' inválido"
26695
26696-#: config/i386/i386.c:14342
26697+#: config/i386/i386.c:14444
26698 #, c-format
26699 msgid "invalid constraints for operand"
26700 msgstr "restricciones inválidas para el operando"
26701
26702-#: config/i386/i386.c:23356
26703+#: config/i386/i386.c:23485
26704 msgid "unknown insn mode"
26705 msgstr "modo insn desconocido"
26706
26707@@ -3079,13 +3079,13 @@
26708 msgid "invalid operation on %<__fpreg%>"
26709 msgstr "operación inválida en %<__fpreg%>"
26710
26711-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
26712+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
26713 #: config/tilepro/tilepro.c:4696
26714 #, c-format
26715 msgid "invalid %%P operand"
26716 msgstr "operando %%P inválido"
26717
26718-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
26719+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
26720 #, c-format
26721 msgid "invalid %%p value"
26722 msgstr "valor %%p inválido"
26723@@ -3164,7 +3164,7 @@
26724 msgstr "la dirección de post-incremento no es un registro"
26725
26726 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
26727-#: config/rs6000/rs6000.c:24534
26728+#: config/rs6000/rs6000.c:24557
26729 msgid "bad address"
26730 msgstr "dirección errónea"
26731
26732@@ -3299,115 +3299,115 @@
26733 msgid "Try running '%s' in the shell to raise its limit.\n"
26734 msgstr "Pruebe ejecutar '%s' en el intérprete de órdenes para elevar su límite.\n"
26735
26736-#: config/rs6000/rs6000.c:2758
26737+#: config/rs6000/rs6000.c:2757
26738 msgid "-mvsx requires hardware floating point"
26739 msgstr "-mvsx requiere coma flotante de hardware"
26740
26741-#: config/rs6000/rs6000.c:2763
26742+#: config/rs6000/rs6000.c:2762
26743 msgid "-mvsx and -mpaired are incompatible"
26744 msgstr "-mvsx y -mpaired son incompatibles"
26745
26746-#: config/rs6000/rs6000.c:2768
26747+#: config/rs6000/rs6000.c:2767
26748 msgid "-mvsx used with little endian code"
26749 msgstr "se usó -mvsx con código little endian"
26750
26751-#: config/rs6000/rs6000.c:2770
26752+#: config/rs6000/rs6000.c:2769
26753 msgid "-mvsx needs indexed addressing"
26754 msgstr "-mvsx necesita direccionamiento indizado"
26755
26756-#: config/rs6000/rs6000.c:2774
26757+#: config/rs6000/rs6000.c:2773
26758 msgid "-mvsx and -mno-altivec are incompatible"
26759 msgstr "-mvsx y -mno-altivec son incompatibles"
26760
26761-#: config/rs6000/rs6000.c:2776
26762+#: config/rs6000/rs6000.c:2775
26763 msgid "-mno-altivec disables vsx"
26764 msgstr "-mno-altivec desactiva vsx"
26765
26766-#: config/rs6000/rs6000.c:7324
26767+#: config/rs6000/rs6000.c:7323
26768 msgid "bad move"
26769 msgstr "move erróneo"
26770
26771-#: config/rs6000/rs6000.c:14765
26772+#: config/rs6000/rs6000.c:14764
26773 #, c-format
26774 msgid "invalid %%c value"
26775 msgstr "valor %%c inválido"
26776
26777-#: config/rs6000/rs6000.c:14793
26778+#: config/rs6000/rs6000.c:14792
26779 #, c-format
26780 msgid "invalid %%f value"
26781 msgstr "valor %%f inválido"
26782
26783-#: config/rs6000/rs6000.c:14802
26784+#: config/rs6000/rs6000.c:14801
26785 #, c-format
26786 msgid "invalid %%F value"
26787 msgstr "valor %%F inválido"
26788
26789-#: config/rs6000/rs6000.c:14811
26790+#: config/rs6000/rs6000.c:14810
26791 #, c-format
26792 msgid "invalid %%G value"
26793 msgstr "valor %%G inválido"
26794
26795-#: config/rs6000/rs6000.c:14846
26796+#: config/rs6000/rs6000.c:14845
26797 #, c-format
26798 msgid "invalid %%j code"
26799 msgstr "código %%j inválido"
26800
26801-#: config/rs6000/rs6000.c:14856
26802+#: config/rs6000/rs6000.c:14855
26803 #, c-format
26804 msgid "invalid %%J code"
26805 msgstr "código %%J inválido"
26806
26807-#: config/rs6000/rs6000.c:14866
26808+#: config/rs6000/rs6000.c:14865
26809 #, c-format
26810 msgid "invalid %%k value"
26811 msgstr "valor %%k inválido"
26812
26813-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
26814+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
26815 #, c-format
26816 msgid "invalid %%K value"
26817 msgstr "valor %%K inválido"
26818
26819-#: config/rs6000/rs6000.c:14945
26820+#: config/rs6000/rs6000.c:14944
26821 #, c-format
26822 msgid "invalid %%O value"
26823 msgstr "valor %%O inválido"
26824
26825-#: config/rs6000/rs6000.c:14992
26826+#: config/rs6000/rs6000.c:14991
26827 #, c-format
26828 msgid "invalid %%q value"
26829 msgstr "valor %%q inválido"
26830
26831-#: config/rs6000/rs6000.c:15036
26832+#: config/rs6000/rs6000.c:15035
26833 #, c-format
26834 msgid "invalid %%S value"
26835 msgstr "valor %%S inválido"
26836
26837-#: config/rs6000/rs6000.c:15076
26838+#: config/rs6000/rs6000.c:15075
26839 #, c-format
26840 msgid "invalid %%T value"
26841 msgstr "valor %%T inválido"
26842
26843-#: config/rs6000/rs6000.c:15086
26844+#: config/rs6000/rs6000.c:15085
26845 #, c-format
26846 msgid "invalid %%u value"
26847 msgstr "valor %%u inválido"
26848
26849-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
26850+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
26851 #, c-format
26852 msgid "invalid %%v value"
26853 msgstr "valor %%v inválido"
26854
26855-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
26856+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
26857 #, c-format
26858 msgid "invalid %%x value"
26859 msgstr "valor %%x inválido"
26860
26861-#: config/rs6000/rs6000.c:15323
26862+#: config/rs6000/rs6000.c:15322
26863 #, c-format
26864 msgid "invalid %%y value, try using the 'Z' constraint"
26865 msgstr "valor %%y inválido, pruebe usando la restricción 'Z'"
26866
26867-#: config/rs6000/rs6000.c:26944
26868+#: config/rs6000/rs6000.c:26967
26869 msgid "AltiVec argument passed to unprototyped function"
26870 msgstr "Se pasó un argumento Altivec a una función sin prototipo"
26871
26872@@ -3496,25 +3496,25 @@
26873 msgid "invalid operand for code: '%c'"
26874 msgstr "operando inválido para code: '%c'"
26875
26876-#: config/sh/sh.c:1031
26877+#: config/sh/sh.c:1024
26878 #, c-format
26879 msgid "invalid operand to %%R"
26880 msgstr "operando inválido para %%R"
26881
26882-#: config/sh/sh.c:1058
26883+#: config/sh/sh.c:1051
26884 #, c-format
26885 msgid "invalid operand to %%S"
26886 msgstr "operando inválido para %%S"
26887
26888-#: config/sh/sh.c:9154
26889+#: config/sh/sh.c:9157
26890 msgid "created and used with different architectures / ABIs"
26891 msgstr "creado y usado con diferentes arquitecturas / ABIs"
26892
26893-#: config/sh/sh.c:9156
26894+#: config/sh/sh.c:9159
26895 msgid "created and used with different ABIs"
26896 msgstr "creado y usado con diferentes ABIs"
26897
26898-#: config/sh/sh.c:9158
26899+#: config/sh/sh.c:9161
26900 msgid "created and used with different endianness"
26901 msgstr "creado y usado con diferente orden de bits"
26902
26903@@ -3533,13 +3533,13 @@
26904 msgid "invalid %%B operand"
26905 msgstr "operando %%B inválido"
26906
26907-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
26908+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
26909 #: config/tilepro/tilepro.c:4499
26910 #, c-format
26911 msgid "invalid %%C operand"
26912 msgstr "operando %%C inválido"
26913
26914-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
26915+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
26916 #, c-format
26917 msgid "invalid %%D operand"
26918 msgstr "operando %%D inválido"
26919@@ -3584,57 +3584,57 @@
26920 msgid "xstormy16_print_operand: unknown code"
26921 msgstr "xstormy16_print_operand: código desconocido"
26922
26923-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
26924+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
26925 #, c-format
26926 msgid "invalid %%c operand"
26927 msgstr "operando %%c inválido"
26928
26929-#: config/tilegx/tilegx.c:4950
26930+#: config/tilegx/tilegx.c:4952
26931 #, c-format
26932 msgid "invalid %%d operand"
26933 msgstr "operando %%d inválido"
26934
26935-#: config/tilegx/tilegx.c:5033
26936+#: config/tilegx/tilegx.c:5035
26937 #, c-format
26938 msgid "invalid %%H specifier"
26939 msgstr "especificador %%H inválido"
26940
26941-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
26942+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
26943 #, c-format
26944 msgid "invalid %%h operand"
26945 msgstr "operando %%h inválido"
26946
26947-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
26948+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
26949 #, c-format
26950 msgid "invalid %%I operand"
26951 msgstr "operando %%I inválido"
26952
26953-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
26954+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
26955 #, c-format
26956 msgid "invalid %%i operand"
26957 msgstr "operando %%i inválido"
26958
26959-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
26960+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
26961 #, c-format
26962 msgid "invalid %%j operand"
26963 msgstr "operando %%j inválido"
26964
26965-#: config/tilegx/tilegx.c:5149
26966+#: config/tilegx/tilegx.c:5151
26967 #, c-format
26968 msgid "invalid %%%c operand"
26969 msgstr "operando %%%c inválido"
26970
26971-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
26972+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
26973 #, c-format
26974 msgid "invalid %%N operand"
26975 msgstr "operando %%N inválido"
26976
26977-#: config/tilegx/tilegx.c:5208
26978+#: config/tilegx/tilegx.c:5210
26979 #, c-format
26980 msgid "invalid operand for 'r' specifier"
26981 msgstr "operando inválido para el especificador 'r'"
26982
26983-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
26984+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
26985 #, c-format
26986 msgid "unable to print out operand yet; code == %d (%c)"
26987 msgstr "aún no se puede mostrar el operando; code == %d (%c)"
26988@@ -3948,7 +3948,7 @@
26989 msgid "candidates are:"
26990 msgstr "los candidatos son:"
26991
26992-#: cp/pt.c:17843 cp/call.c:3289
26993+#: cp/pt.c:17869 cp/call.c:3289
26994 #, gcc-internal-format
26995 msgid "candidate is:"
26996 msgid_plural "candidates are:"
26997@@ -4317,11 +4317,11 @@
26998 msgid "implied END DO"
26999 msgstr "END DO implícito"
27000
27001-#: fortran/parse.c:1475 fortran/resolve.c:9395
27002+#: fortran/parse.c:1475 fortran/resolve.c:9397
27003 msgid "assignment"
27004 msgstr "asignación"
27005
27006-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
27007+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
27008 msgid "pointer assignment"
27009 msgstr "asignación de puntero"
27010
27011@@ -4329,123 +4329,123 @@
27012 msgid "simple IF"
27013 msgstr "IF simple"
27014
27015-#: fortran/resolve.c:533
27016+#: fortran/resolve.c:535
27017 msgid "module procedure"
27018 msgstr "procedimiento módulo"
27019
27020-#: fortran/resolve.c:534
27021+#: fortran/resolve.c:536
27022 msgid "internal function"
27023 msgstr "función interna"
27024
27025-#: fortran/resolve.c:1973
27026+#: fortran/resolve.c:1975
27027 msgid "elemental procedure"
27028 msgstr "procedimiento elemental"
27029
27030-#: fortran/resolve.c:3798
27031+#: fortran/resolve.c:3800
27032 #, c-format
27033 msgid "Invalid context for NULL() pointer at %%L"
27034 msgstr "Contexto inválido para el puntero NULL() en %%L"
27035
27036-#: fortran/resolve.c:3814
27037+#: fortran/resolve.c:3816
27038 #, c-format
27039 msgid "Operand of unary numeric operator '%s' at %%L is %s"
27040 msgstr "El operando del operador numérico unario '%s' en %%L es %s"
27041
27042-#: fortran/resolve.c:3830
27043+#: fortran/resolve.c:3832
27044 #, c-format
27045 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
27046 msgstr "Los operandos del operador binario numérico '%s' en %%L son %s/%s"
27047
27048-#: fortran/resolve.c:3845
27049+#: fortran/resolve.c:3847
27050 #, c-format
27051 msgid "Operands of string concatenation operator at %%L are %s/%s"
27052 msgstr "Los operandos del operador de concatenación de cadenas en %%L son %s/%s"
27053
27054-#: fortran/resolve.c:3864
27055+#: fortran/resolve.c:3866
27056 #, c-format
27057 msgid "Operands of logical operator '%s' at %%L are %s/%s"
27058 msgstr "Los operandos del operador lógico '%s' en %%L son %s/%s"
27059
27060-#: fortran/resolve.c:3878
27061+#: fortran/resolve.c:3880
27062 #, c-format
27063 msgid "Operand of .not. operator at %%L is %s"
27064 msgstr "El operando del operador .not. en %%L es %s"
27065
27066-#: fortran/resolve.c:3892
27067+#: fortran/resolve.c:3894
27068 msgid "COMPLEX quantities cannot be compared at %L"
27069 msgstr "Las cantidades COMPLEX no se pueden comparar en %L"
27070
27071-#: fortran/resolve.c:3921
27072+#: fortran/resolve.c:3923
27073 #, c-format
27074 msgid "Logicals at %%L must be compared with %s instead of %s"
27075 msgstr "Los lógicos en %%L se deben comparar con %s en lugar de %s"
27076
27077-#: fortran/resolve.c:3927
27078+#: fortran/resolve.c:3929
27079 #, c-format
27080 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
27081 msgstr "Los operandos del operador de comparación '%s' en %%L son %s/%s"
27082
27083-#: fortran/resolve.c:3935
27084+#: fortran/resolve.c:3937
27085 #, c-format
27086 msgid "Unknown operator '%s' at %%L"
27087 msgstr "Operador '%s' desconocido en %%L"
27088
27089-#: fortran/resolve.c:3937
27090+#: fortran/resolve.c:3939
27091 #, c-format
27092 msgid "Operand of user operator '%s' at %%L is %s"
27093 msgstr "El operando del operador de usuario '%s' en %%L es %s"
27094
27095-#: fortran/resolve.c:3941
27096+#: fortran/resolve.c:3943
27097 #, c-format
27098 msgid "Operands of user operator '%s' at %%L are %s/%s"
27099 msgstr "Los operandos del operador de usuario '%s' en %%L son %s/%s"
27100
27101-#: fortran/resolve.c:4029
27102+#: fortran/resolve.c:4031
27103 #, c-format
27104 msgid "Inconsistent ranks for operator at %%L and %%L"
27105 msgstr "Rangos inconsistentes para el operador en %%L y %%L"
27106
27107-#: fortran/resolve.c:6401
27108+#: fortran/resolve.c:6403
27109 msgid "Loop variable"
27110 msgstr "Variable de ciclo"
27111
27112-#: fortran/resolve.c:6405
27113+#: fortran/resolve.c:6407
27114 msgid "iterator variable"
27115 msgstr "variable de iterador"
27116
27117-#: fortran/resolve.c:6410
27118+#: fortran/resolve.c:6412
27119 msgid "Start expression in DO loop"
27120 msgstr "Expresión de inicio en el bucle DO"
27121
27122-#: fortran/resolve.c:6414
27123+#: fortran/resolve.c:6416
27124 msgid "End expression in DO loop"
27125 msgstr "Expresión de fin en el bucle DO"
27126
27127-#: fortran/resolve.c:6418
27128+#: fortran/resolve.c:6420
27129 msgid "Step expression in DO loop"
27130 msgstr "Expresión de paso en el bucle DO"
27131
27132-#: fortran/resolve.c:6674 fortran/resolve.c:6677
27133+#: fortran/resolve.c:6676 fortran/resolve.c:6679
27134 msgid "DEALLOCATE object"
27135 msgstr "objeto DEALLOCATE"
27136
27137-#: fortran/resolve.c:7019 fortran/resolve.c:7021
27138+#: fortran/resolve.c:7021 fortran/resolve.c:7023
27139 msgid "ALLOCATE object"
27140 msgstr "objeto ALLOCATE"
27141
27142-#: fortran/resolve.c:7201 fortran/resolve.c:8434
27143+#: fortran/resolve.c:7203 fortran/resolve.c:8436
27144 msgid "STAT variable"
27145 msgstr "variable STAT"
27146
27147-#: fortran/resolve.c:7244 fortran/resolve.c:8446
27148+#: fortran/resolve.c:7246 fortran/resolve.c:8448
27149 msgid "ERRMSG variable"
27150 msgstr "variable ERRMSG"
27151
27152-#: fortran/resolve.c:8312
27153+#: fortran/resolve.c:8314
27154 msgid "item in READ"
27155 msgstr "elemento en READ"
27156
27157-#: fortran/resolve.c:8458
27158+#: fortran/resolve.c:8460
27159 msgid "ACQUIRED_LOCK variable"
27160 msgstr "variable ACQUIRED_LOCK"
27161
27162@@ -4454,7 +4454,7 @@
27163 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
27164 msgstr "Longitudes de CHARACTER diferentes (%ld/%ld) en el constructor de matriz"
27165
27166-#: fortran/trans-array.c:5070
27167+#: fortran/trans-array.c:5064
27168 msgid "Integer overflow when calculating the amount of memory to allocate"
27169 msgstr "Desborde entero al calcular la cantidad de memoria a reservar"
27170
27171@@ -4775,6 +4775,18 @@
27172 msgid "cannot use mshared and static together"
27173 msgstr "no se pueden usar mshared y static juntos"
27174
27175+#: java/lang-specs.h:33
27176+msgid "-fjni and -femit-class-files are incompatible"
27177+msgstr "-fjni y -femit-class-files son incompatibles"
27178+
27179+#: java/lang-specs.h:34
27180+msgid "-fjni and -femit-class-file are incompatible"
27181+msgstr "-fjni y -femit-class-file son incompatibles"
27182+
27183+#: java/lang-specs.h:35 java/lang-specs.h:36
27184+msgid "-femit-class-file should used along with -fsyntax-only"
27185+msgstr "-femit-class-file se debe usar junto con -fsyntax-only"
27186+
27187 #: config/i386/mingw-w64.h:83 config/i386/mingw32.h:116
27188 #: config/i386/cygwin.h:114
27189 msgid "shared and mdll are not compatible"
27190@@ -4864,26 +4876,10 @@
27191 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
27192 msgstr "objc-cpp-output es obsoleto; por favor use en su lugar objective-c-cpp-output"
27193
27194-#: config/vax/netbsd-elf.h:51
27195-msgid "the -shared option is not currently supported for VAX ELF"
27196-msgstr "la opción -shared no se admite actualmente en ELF de VAX"
27197-
27198 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
27199 msgid "gfortran does not support -E without -cpp"
27200 msgstr "gfortran no admite -E sin usar -cpp"
27201
27202-#: java/lang-specs.h:33
27203-msgid "-fjni and -femit-class-files are incompatible"
27204-msgstr "-fjni y -femit-class-files son incompatibles"
27205-
27206-#: java/lang-specs.h:34
27207-msgid "-fjni and -femit-class-file are incompatible"
27208-msgstr "-fjni y -femit-class-file son incompatibles"
27209-
27210-#: java/lang-specs.h:35 java/lang-specs.h:36
27211-msgid "-femit-class-file should used along with -fsyntax-only"
27212-msgstr "-femit-class-file se debe usar junto con -fsyntax-only"
27213-
27214 #: config/sh/sh.h:430 config/sh/sh.h:433
27215 msgid "SH2a does not support little-endian"
27216 msgstr "SH2a no se admite para little-endian"
27217@@ -4896,6 +4892,10 @@
27218 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
27219 msgstr "objc++-cpp-output es obsoleto; pr favor use en su lugar objective-c++-cpp-output"
27220
27221+#: config/vax/netbsd-elf.h:51
27222+msgid "the -shared option is not currently supported for VAX ELF"
27223+msgstr "la opción -shared no se admite actualmente en ELF de VAX"
27224+
27225 #: config/vax/vax.h:50 config/vax/vax.h:51
27226 msgid "profiling not supported with -mg"
27227 msgstr "el análisis de perfil no se admite con -mg"
27228@@ -7589,8 +7589,8 @@
27229 msgstr "Sigue las convenciones de llamada Renesas (anteriormente Hitachi) / SuperH"
27230
27231 #: config/sh/sh.opt:274
27232-msgid "Increase the IEEE compliance for floating-point code"
27233-msgstr "Incrementa el cumplimiento con IEEE para el código de coma flotante"
27234+msgid "Increase the IEEE compliance for floating-point comparisons"
27235+msgstr "Incrementa el cumplimiento con IEEE para las comparaciones de coma flotante"
27236
27237 #: config/sh/sh.opt:278
27238 msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
27239@@ -11791,224 +11791,220 @@
27240 msgid "Create a position independent executable"
27241 msgstr "Genera un ejecutable independiente de posición"
27242
27243-#: go/gofrontend/expressions.cc:853
27244+#: go/gofrontend/expressions.cc:855
27245 msgid "invalid use of type"
27246 msgstr "uso inválido del tipo"
27247
27248-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
27249-#: go/gofrontend/expressions.cc:2615
27250+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
27251+#: go/gofrontend/expressions.cc:2617
27252 msgid "constant refers to itself"
27253 msgstr "la constante se refiere a sí misma"
27254
27255-#: go/gofrontend/expressions.cc:3900
27256+#: go/gofrontend/expressions.cc:3902
27257 msgid "expected numeric type"
27258 msgstr "se esperaba un tipo numérico"
27259
27260-#: go/gofrontend/expressions.cc:3905
27261+#: go/gofrontend/expressions.cc:3907
27262 msgid "expected boolean type"
27263 msgstr "se esperaba un tipo booleano"
27264
27265-#: go/gofrontend/expressions.cc:3911
27266+#: go/gofrontend/expressions.cc:3913
27267 msgid "expected integer or boolean type"
27268 msgstr "se esperaba un tipo entero o booleano"
27269
27270-#: go/gofrontend/expressions.cc:3918
27271+#: go/gofrontend/expressions.cc:3920
27272 msgid "invalid operand for unary %<&%>"
27273 msgstr "operando inválido para el unario %<&%>"
27274
27275-#: go/gofrontend/expressions.cc:3927
27276+#: go/gofrontend/expressions.cc:3929
27277 msgid "expected pointer"
27278 msgstr "se esperaba un puntero"
27279
27280-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
27281+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
27282 msgid "incompatible types in binary expression"
27283 msgstr "tipos incompatibles en la expresión binaria"
27284
27285-#: go/gofrontend/expressions.cc:5620
27286+#: go/gofrontend/expressions.cc:5631
27287 msgid "shift of non-integer operand"
27288 msgstr "desplazamiento de un operando que no es entero"
27289
27290-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
27291+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
27292 msgid "shift count not unsigned integer"
27293 msgstr "la cuenta de desplazamiento no es un entero sin signo"
27294
27295-#: go/gofrontend/expressions.cc:5638
27296+#: go/gofrontend/expressions.cc:5649
27297 msgid "negative shift count"
27298 msgstr "cuenta de desplazamiento negativa"
27299
27300-#: go/gofrontend/expressions.cc:6431
27301+#: go/gofrontend/expressions.cc:6448
27302 msgid "object is not a method"
27303 msgstr "el objeto no es un método"
27304
27305-#: go/gofrontend/expressions.cc:6440
27306+#: go/gofrontend/expressions.cc:6457
27307 msgid "method type does not match object type"
27308 msgstr "el tipo de método no coincide con el tipo de objeto"
27309
27310-#: go/gofrontend/expressions.cc:6714
27311+#: go/gofrontend/expressions.cc:6731
27312 msgid "invalid use of %<...%> with builtin function"
27313 msgstr "uso inválido de %<..%> con la función interna"
27314
27315-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
27316-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
27317-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
27318-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
27319-#: go/gofrontend/expressions.cc:8986
27320+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
27321+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
27322+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
27323+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
27324+#: go/gofrontend/expressions.cc:9003
27325 msgid "not enough arguments"
27326 msgstr "faltan argumentos"
27327
27328-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
27329-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
27330-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
27331-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
27332-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
27333+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
27334+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
27335+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
27336+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
27337+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
27338 msgid "too many arguments"
27339 msgstr "demasiados argumentos"
27340
27341-#: go/gofrontend/expressions.cc:6809
27342+#: go/gofrontend/expressions.cc:6826
27343 msgid "argument 1 must be a map"
27344 msgstr "el argumento 1 debe ser un mapa"
27345
27346-#: go/gofrontend/expressions.cc:6876
27347+#: go/gofrontend/expressions.cc:6893
27348 msgid "invalid type for make function"
27349 msgstr "tipo inválido para la función make"
27350
27351-#: go/gofrontend/expressions.cc:6890
27352+#: go/gofrontend/expressions.cc:6907
27353 msgid "length required when allocating a slice"
27354 msgstr "se requiere longitud al alojar una rebanada"
27355
27356-#: go/gofrontend/expressions.cc:6904
27357+#: go/gofrontend/expressions.cc:6921
27358 msgid "bad size for make"
27359 msgstr "tamaño erróneo para make"
27360
27361-#: go/gofrontend/expressions.cc:6919
27362+#: go/gofrontend/expressions.cc:6936
27363 msgid "bad capacity when making slice"
27364 msgstr "capacidad errónea al crear la rebanada"
27365
27366-#: go/gofrontend/expressions.cc:6930
27367+#: go/gofrontend/expressions.cc:6947
27368 msgid "too many arguments to make"
27369 msgstr "demasiados argumentos para make"
27370
27371-#: go/gofrontend/expressions.cc:7588
27372+#: go/gofrontend/expressions.cc:7605
27373 msgid "argument must be array or slice or channel"
27374 msgstr "el argumento debe ser matriz o rebanada o canal"
27375
27376-#: go/gofrontend/expressions.cc:7598
27377+#: go/gofrontend/expressions.cc:7615
27378 msgid "argument must be string or array or slice or map or channel"
27379 msgstr "el argumento debe ser cadena o matriz o rebanada o mapa o canal"
27380
27381-#: go/gofrontend/expressions.cc:7644
27382+#: go/gofrontend/expressions.cc:7661
27383 msgid "unsupported argument type to builtin function"
27384 msgstr "no se admite el tipo de argumento para la función interna"
27385
27386-#: go/gofrontend/expressions.cc:7655
27387+#: go/gofrontend/expressions.cc:7672
27388 msgid "argument must be channel"
27389 msgstr "el argumento debe ser canal"
27390
27391-#: go/gofrontend/expressions.cc:7657
27392+#: go/gofrontend/expressions.cc:7674
27393 msgid "cannot close receive-only channel"
27394 msgstr "no se puede cerrar un canal de sólo recepción"
27395
27396-#: go/gofrontend/expressions.cc:7677
27397+#: go/gofrontend/expressions.cc:7694
27398 msgid "argument must be a field reference"
27399 msgstr "el argumento debe ser una referencia de campo"
27400
27401-#: go/gofrontend/expressions.cc:7704
27402+#: go/gofrontend/expressions.cc:7721
27403 msgid "left argument must be a slice"
27404 msgstr "el argumento izquierdo debe ser una rebanada"
27405
27406-#: go/gofrontend/expressions.cc:7712
27407+#: go/gofrontend/expressions.cc:7729
27408 msgid "element types must be the same"
27409 msgstr "los tipos de elemento deben ser el mismo"
27410
27411-#: go/gofrontend/expressions.cc:7717
27412+#: go/gofrontend/expressions.cc:7734
27413 msgid "first argument must be []byte"
27414 msgstr "el primer argumento debe ser []byte"
27415
27416-#: go/gofrontend/expressions.cc:7720
27417+#: go/gofrontend/expressions.cc:7737
27418 msgid "second argument must be slice or string"
27419 msgstr "el segundo argumento debe ser una rebanada o una cadena"
27420
27421-#: go/gofrontend/expressions.cc:7761
27422+#: go/gofrontend/expressions.cc:7778
27423 msgid "argument 2 has invalid type"
27424 msgstr "el argumento 2 es de tipo inválido"
27425
27426-#: go/gofrontend/expressions.cc:7777
27427+#: go/gofrontend/expressions.cc:7794
27428 msgid "argument must have complex type"
27429 msgstr "el argumento debe tener tipo complejo"
27430
27431-#: go/gofrontend/expressions.cc:7795
27432+#: go/gofrontend/expressions.cc:7812
27433 msgid "complex arguments must have identical types"
27434 msgstr "los argumentos complejos deben tener tipos idénticos"
27435
27436-#: go/gofrontend/expressions.cc:7797
27437+#: go/gofrontend/expressions.cc:7814
27438 msgid "complex arguments must have floating-point type"
27439 msgstr "los argumentos complejos deben tener tipo de coma flotante"
27440
27441-#: go/gofrontend/expressions.cc:8666
27442+#: go/gofrontend/expressions.cc:8683
27443 msgid "invalid use of %<...%> with non-slice"
27444 msgstr "uso inválido de %<...%> con algo que no es rebanada"
27445
27446-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
27447+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
27448 msgid "expected function"
27449 msgstr "se esperaba función"
27450
27451-#: go/gofrontend/expressions.cc:8939
27452+#: go/gofrontend/expressions.cc:8956
27453 msgid "incompatible type for receiver"
27454 msgstr "tipo incompatible para el receptor"
27455
27456-#: go/gofrontend/expressions.cc:8957
27457+#: go/gofrontend/expressions.cc:8974
27458 msgid "invalid use of %<...%> calling non-variadic function"
27459 msgstr "uso inválido de %<...%> en la llamada a la función que no es variadic"
27460
27461-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
27462+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
27463 msgid "number of results does not match number of values"
27464 msgstr "el número de resultados no coincide con el número de valores"
27465
27466-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
27467+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
27468 msgid "index must be integer"
27469 msgstr "el índice debe ser entero"
27470
27471-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
27472+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
27473 msgid "slice end must be integer"
27474 msgstr "el final de la rebanada debe ser entero"
27475
27476-#: go/gofrontend/expressions.cc:9751
27477+#: go/gofrontend/expressions.cc:9768
27478 msgid "slice of unaddressable value"
27479 msgstr "rebanada con valor que no es direccionable"
27480
27481-#: go/gofrontend/expressions.cc:10344
27482+#: go/gofrontend/expressions.cc:10361
27483 msgid "incompatible type for map index"
27484 msgstr "tipo incompatibles para el índice de mapa"
27485
27486-#: go/gofrontend/expressions.cc:10692
27487+#: go/gofrontend/expressions.cc:10709
27488 msgid "expected interface or pointer to interface"
27489 msgstr "se esperaba interfaz o puntero a interfaz"
27490
27491-#: go/gofrontend/expressions.cc:11260
27492+#: go/gofrontend/expressions.cc:11277
27493 msgid "too many expressions for struct"
27494 msgstr "demasiadas expresiones para struct"
27495
27496-#: go/gofrontend/expressions.cc:11273
27497+#: go/gofrontend/expressions.cc:11290
27498 msgid "too few expressions for struct"
27499 msgstr "faltan expresiones para struct"
27500
27501-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
27502-msgid "invalid unsafe.Pointer conversion"
27503-msgstr "conversión unsafe.Pointer inválida"
27504-
27505-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
27506+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
27507 msgid "type assertion only valid for interface types"
27508 msgstr "la aserción de tipo sólo es válida para los tipos de interfaz"
27509
27510-#: go/gofrontend/expressions.cc:12958
27511+#: go/gofrontend/expressions.cc:12957
27512 msgid "impossible type assertion: type does not implement interface"
27513 msgstr "aserción de tipo imposible: el tipo no implementa interfaz"
27514
27515-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
27516+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
27517 msgid "expected channel"
27518 msgstr "se esperaba canal"
27519
27520-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
27521+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
27522 msgid "invalid receive on send-only channel"
27523 msgstr "recepción inválida en canal de sólo envío"
27524
27525@@ -12044,19 +12040,23 @@
27526 msgid "expected boolean expression"
27527 msgstr "se esperaba una expresión booleana"
27528
27529-#: go/gofrontend/statements.cc:4334
27530+#: go/gofrontend/statements.cc:4198
27531+msgid "cannot type switch on non-interface value"
27532+msgstr "no se puede cambiar el tipo en valores que no son de interfaz"
27533+
27534+#: go/gofrontend/statements.cc:4320
27535 msgid "incompatible types in send"
27536 msgstr "tipos incompatibles en send"
27537
27538-#: go/gofrontend/statements.cc:4339
27539+#: go/gofrontend/statements.cc:4325
27540 msgid "invalid send on receive-only channel"
27541 msgstr "envío inválido en canal de sólo recepción"
27542
27543-#: go/gofrontend/statements.cc:5226
27544+#: go/gofrontend/statements.cc:5212
27545 msgid "too many variables for range clause with channel"
27546 msgstr "demasiadas variables para la cláusula de rango con canal"
27547
27548-#: go/gofrontend/statements.cc:5233
27549+#: go/gofrontend/statements.cc:5219
27550 msgid "range clause must have array, slice, string, map, or channel type"
27551 msgstr "la cláusula de rango debe tener tipo matriz, rebanada, cadena, mapa o canal"
27552
27553@@ -12341,7 +12341,7 @@
27554
27555 #. All valid uses of __builtin_va_arg_pack () are removed during
27556 #. inlining.
27557-#: builtins.c:6023 expr.c:9964
27558+#: builtins.c:6023 expr.c:9965
27559 #, gcc-internal-format
27560 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
27561 msgstr "%Kuso inválido de %<__builtin_va_arg_pack ()%>"
27562@@ -12435,13 +12435,13 @@
27563 #. an unprototyped function, it is compile-time undefined;
27564 #. making it a constraint in that case was rejected in
27565 #. DR#252.
27566-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
27567+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
27568 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
27569 #, gcc-internal-format
27570 msgid "void value not ignored as it ought to be"
27571 msgstr "no se descarta el valor void como debería de ser"
27572
27573-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
27574+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
27575 #, gcc-internal-format
27576 msgid "conversion to non-scalar type requested"
27577 msgstr "se solicitó conversión a un tipo que no es escalar"
27578@@ -12816,7 +12816,7 @@
27579 msgid "%qE defined as wrong kind of tag"
27580 msgstr "%qE definido como un tipo erróneo de etiqueta"
27581
27582-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
27583+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
27584 #, gcc-internal-format
27585 msgid "invalid use of %<restrict%>"
27586 msgstr "uso inválido de %<restrict%>"
27587@@ -12944,7 +12944,7 @@
27588 msgid "variable %qD has initializer but incomplete type"
27589 msgstr "la variable %qD tiene inicializador pero de tipo de dato incompleto"
27590
27591-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
27592+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
27593 #, gcc-internal-format
27594 msgid "inline function %q+D given attribute noinline"
27595 msgstr "se le dió a la función incluída en línea %q+D un atributo noinline"
27596@@ -12954,7 +12954,7 @@
27597 msgid "uninitialized const member in %qT is invalid in C++"
27598 msgstr "el miembro const sin inicializar en %qT es inválido en C++"
27599
27600-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
27601+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
27602 #, gcc-internal-format
27603 msgid "%qD should be initialized"
27604 msgstr "%qD se debe inicializar"
27605@@ -13852,7 +13852,7 @@
27606 msgid "argument %qD doesn%'t match prototype"
27607 msgstr "el argumento %qD no coincide con el prototipo"
27608
27609-#: c-decl.c:8380 cp/decl.c:13528
27610+#: c-decl.c:8380 cp/decl.c:13545
27611 #, gcc-internal-format
27612 msgid "no return statement in function returning non-void"
27613 msgstr "no hay una declaración de devolución en la función que no devuelve void"
27614@@ -14055,7 +14055,7 @@
27615 msgid "unknown type name %qE"
27616 msgstr "nombre de tipo %qE desconocido"
27617
27618-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
27619+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
27620 #, gcc-internal-format
27621 msgid "expected declaration specifiers"
27622 msgstr "se esperaban especificadores de declaración"
27623@@ -14065,7 +14065,7 @@
27624 msgid "expected %<;%>, identifier or %<(%>"
27625 msgstr "se esperaba %<;>, identificador o %<(%>"
27626
27627-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
27628+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
27629 #, gcc-internal-format
27630 msgid "prefix attributes are ignored for methods"
27631 msgstr "se descartan los atributos de prefijo para los métodos"
27632@@ -14113,7 +14113,7 @@
27633 msgid "ISO C90 does not support %<_Static_assert%>"
27634 msgstr "ISO C90 no admite %<_Static_assert%>"
27635
27636-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
27637+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
27638 #, gcc-internal-format
27639 msgid "expected string literal"
27640 msgstr "se esperaba una cadena literal"
27641@@ -14145,8 +14145,8 @@
27642 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
27643 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
27644 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
27645-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
27646-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
27647+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
27648+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
27649 #, gcc-internal-format
27650 msgid "expected identifier"
27651 msgstr "se esperaba un identificador"
27652@@ -14480,77 +14480,77 @@
27653 msgid "no type or storage class may be specified here,"
27654 msgstr "ninguna clase de almacenamiento o tipo se puede especificar aquí,"
27655
27656-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
27657+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
27658 #, gcc-internal-format
27659 msgid "unknown property attribute"
27660 msgstr "atributo de propiedad desconocido"
27661
27662-#: c-parser.c:8291 cp/parser.c:24674
27663+#: c-parser.c:8291 cp/parser.c:24669
27664 #, gcc-internal-format
27665 msgid "missing %<=%> (after %<getter%> attribute)"
27666 msgstr "falta un %<=%> (después del atributo %<getter%>)"
27667
27668-#: c-parser.c:8294 cp/parser.c:24677
27669+#: c-parser.c:8294 cp/parser.c:24672
27670 #, gcc-internal-format
27671 msgid "missing %<=%> (after %<setter%> attribute)"
27672 msgstr "falta un %<=%> (después del atributo %<setter%>)"
27673
27674-#: c-parser.c:8308 cp/parser.c:24692
27675+#: c-parser.c:8308 cp/parser.c:24687
27676 #, gcc-internal-format
27677 msgid "the %<setter%> attribute may only be specified once"
27678 msgstr "el atributo %<setter%> sólo se puede especificar una vez"
27679
27680-#: c-parser.c:8313 cp/parser.c:24698
27681+#: c-parser.c:8313 cp/parser.c:24693
27682 #, gcc-internal-format
27683 msgid "setter name must terminate with %<:%>"
27684 msgstr "el nombre del setter debe terminar con %<:%>"
27685
27686-#: c-parser.c:8320 cp/parser.c:24706
27687+#: c-parser.c:8320 cp/parser.c:24701
27688 #, gcc-internal-format
27689 msgid "the %<getter%> attribute may only be specified once"
27690 msgstr "el atributo %<getter%> sólo se puede especificar una vez"
27691
27692-#: c-parser.c:8506 cp/parser.c:27295
27693+#: c-parser.c:8506 cp/parser.c:27290
27694 #, gcc-internal-format
27695 msgid "%<#pragma omp barrier%> may only be used in compound statements"
27696 msgstr "%<#pragma omp barrier%> sólo se puede usar en declaraciones compuestas"
27697
27698-#: c-parser.c:8517 cp/parser.c:27310
27699+#: c-parser.c:8517 cp/parser.c:27305
27700 #, gcc-internal-format
27701 msgid "%<#pragma omp flush%> may only be used in compound statements"
27702 msgstr "%<#pragma omp flush%> sólo se puede usar en declaraciones compuestas"
27703
27704-#: c-parser.c:8528 cp/parser.c:27326
27705+#: c-parser.c:8528 cp/parser.c:27321
27706 #, gcc-internal-format
27707 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
27708 msgstr "%<#pragma omp taskwait%> sólo se puede usar en declaraciones compuestas"
27709
27710-#: c-parser.c:8539 cp/parser.c:27342
27711+#: c-parser.c:8539 cp/parser.c:27337
27712 #, gcc-internal-format
27713 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
27714 msgstr "%<#pragma omp taskyield%> sólo se puede usar en declaraciones compuestas"
27715
27716-#: c-parser.c:8552 cp/parser.c:27370
27717+#: c-parser.c:8552 cp/parser.c:27365
27718 #, gcc-internal-format
27719 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
27720 msgstr "%<#pragma omp section%> sólo se puede usar en construcciones %<#pragma omp sections%>"
27721
27722-#: c-parser.c:8558 cp/parser.c:27285
27723+#: c-parser.c:8558 cp/parser.c:27280
27724 #, gcc-internal-format
27725 msgid "%<#pragma GCC pch_preprocess%> must be first"
27726 msgstr "%<#pragma GCC pch_preprocess%> debe ser primero"
27727
27728-#: c-parser.c:8723 cp/parser.c:24962
27729+#: c-parser.c:8723 cp/parser.c:24957
27730 #, gcc-internal-format
27731 msgid "too many %qs clauses"
27732 msgstr "demasiadas cláusulas %qs"
27733
27734-#: c-parser.c:8825 cp/parser.c:25077
27735+#: c-parser.c:8825 cp/parser.c:25072
27736 #, gcc-internal-format
27737 msgid "collapse argument needs positive constant integer expression"
27738 msgstr "el argumento de collapse necesita una expresión entera constante positiva"
27739
27740-#: c-parser.c:8891 cp/parser.c:25128
27741+#: c-parser.c:8891 cp/parser.c:25123
27742 #, gcc-internal-format
27743 msgid "expected %<none%> or %<shared%>"
27744 msgstr "se esperaba %<none%> o %<shared%>"
27745@@ -14565,42 +14565,42 @@
27746 msgid "%<num_threads%> value must be positive"
27747 msgstr "el valor de %<num_threads%> debe ser positivo"
27748
27749-#: c-parser.c:9142 cp/parser.c:25347
27750+#: c-parser.c:9142 cp/parser.c:25342
27751 #, gcc-internal-format
27752 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
27753 msgstr "se esperaba %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> o %<max%>"
27754
27755-#: c-parser.c:9231 cp/parser.c:25432
27756+#: c-parser.c:9231 cp/parser.c:25427
27757 #, gcc-internal-format
27758 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
27759 msgstr "el calendarizador %<runtime%> no toma un parámetro %<chunk_size%>"
27760
27761-#: c-parser.c:9235 cp/parser.c:25435
27762+#: c-parser.c:9235 cp/parser.c:25430
27763 #, gcc-internal-format
27764 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
27765 msgstr "el calendarizador %<auto%> no toma un parámetro %<chunk_size%>"
27766
27767-#: c-parser.c:9253 cp/parser.c:25451
27768+#: c-parser.c:9253 cp/parser.c:25446
27769 #, gcc-internal-format
27770 msgid "invalid schedule kind"
27771 msgstr "género de calendarizador inválido"
27772
27773-#: c-parser.c:9381 cp/parser.c:25583
27774+#: c-parser.c:9381 cp/parser.c:25578
27775 #, gcc-internal-format
27776 msgid "expected %<#pragma omp%> clause"
27777 msgstr "se esperaba una cláusula %<#pragma omp%>"
27778
27779-#: c-parser.c:9390 cp/parser.c:25592
27780+#: c-parser.c:9390 cp/parser.c:25587
27781 #, gcc-internal-format
27782 msgid "%qs is not valid for %qs"
27783 msgstr "%qs no es válido para %qs"
27784
27785-#: c-parser.c:9682 cp/parser.c:25876
27786+#: c-parser.c:9682 cp/parser.c:25871
27787 #, gcc-internal-format
27788 msgid "invalid form of %<#pragma omp atomic%>"
27789 msgstr "forma inválida de %<#pragma omp atomic%>"
27790
27791-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
27792+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
27793 #, gcc-internal-format
27794 msgid "invalid operator for %<#pragma omp atomic%>"
27795 msgstr "operador inválido para %<#pragma omp atomic%>"
27796@@ -14610,7 +14610,7 @@
27797 msgid "expected %<(%> or end of line"
27798 msgstr "se esperaba %<(%> o fin de línea"
27799
27800-#: c-parser.c:9882 cp/parser.c:26195
27801+#: c-parser.c:9882 cp/parser.c:26190
27802 #, gcc-internal-format
27803 msgid "for statement expected"
27804 msgstr "se esperaba una declaración for"
27805@@ -14625,12 +14625,12 @@
27806 msgid "not enough perfectly nested loops"
27807 msgstr "no hay suficientes bucles perfectamente anidados"
27808
27809-#: c-parser.c:10069 cp/parser.c:26537
27810+#: c-parser.c:10069 cp/parser.c:26532
27811 #, gcc-internal-format
27812 msgid "collapsed loops not perfectly nested"
27813 msgstr "los bucles colapsados no están perfectamente anidados"
27814
27815-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
27816+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
27817 #, gcc-internal-format
27818 msgid "iteration variable %qD should not be firstprivate"
27819 msgstr "la variable de iteración %qD no debe ser firstprivate"
27820@@ -14655,27 +14655,27 @@
27821 msgid "%<threadprivate%> %qE has incomplete type"
27822 msgstr "%<threadprivate%> %qE tiene tipo incompleto"
27823
27824-#: c-parser.c:10773 cp/parser.c:27181
27825+#: c-parser.c:10773 cp/parser.c:27176
27826 #, gcc-internal-format
27827 msgid "%<__transaction_cancel%> without transactional memory support enabled"
27828 msgstr "%<__transaction_cancel%> sin activar el soporte para memoria transaccional"
27829
27830-#: c-parser.c:10779 cp/parser.c:27187
27831+#: c-parser.c:10779 cp/parser.c:27182
27832 #, gcc-internal-format
27833 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
27834 msgstr "%<__transaction_cancel%> dentro de un %<__transaction_relaxed%>"
27835
27836-#: c-parser.c:10788 cp/parser.c:27196
27837+#: c-parser.c:10788 cp/parser.c:27191
27838 #, gcc-internal-format
27839 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
27840 msgstr "%<__transaction_cancel%> más externo no está dentro del %<__transaction_atomic%> más externo"
27841
27842-#: c-parser.c:10790 cp/parser.c:27199
27843+#: c-parser.c:10790 cp/parser.c:27194
27844 #, gcc-internal-format
27845 msgid " or a %<transaction_may_cancel_outer%> function"
27846 msgstr " o una función %<transaction_may_cancel_outer%>"
27847
27848-#: c-parser.c:10796 cp/parser.c:27205
27849+#: c-parser.c:10796 cp/parser.c:27200
27850 #, gcc-internal-format
27851 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
27852 msgstr "%<__transaction_cancel%> no está dentro de %<__transaction_atomic%>"
27853@@ -15453,7 +15453,7 @@
27854 msgid "initialization of a flexible array member"
27855 msgstr "inicialización de un miembro de matriz flexible"
27856
27857-#: c-typeck.c:6164 cp/typeck2.c:890
27858+#: c-typeck.c:6164 cp/typeck2.c:893
27859 #, gcc-internal-format
27860 msgid "char-array initialized from wide string"
27861 msgstr "matriz de tipo char inicializada con una cadena ancha"
27862@@ -15659,223 +15659,223 @@
27863 msgid "ISO C forbids %<return%> with expression, in function returning void"
27864 msgstr "ISO C prohíbe %<return%> con expresión, en una función que devuelve void"
27865
27866-#: c-typeck.c:8825
27867+#: c-typeck.c:8831
27868 #, gcc-internal-format
27869 msgid "function returns address of local variable"
27870 msgstr "la función devuelve la dirección de una variable local"
27871
27872-#: c-typeck.c:8898 cp/semantics.c:1045
27873+#: c-typeck.c:8904 cp/semantics.c:1045
27874 #, gcc-internal-format
27875 msgid "switch quantity not an integer"
27876 msgstr "la cantidad de switch no es un entero"
27877
27878-#: c-typeck.c:8911
27879+#: c-typeck.c:8917
27880 #, gcc-internal-format
27881 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
27882 msgstr "no se convierte la expresión de switch %<long%> a %<int%> en ISO C"
27883
27884-#: c-typeck.c:8947 c-typeck.c:8955
27885+#: c-typeck.c:8953 c-typeck.c:8961
27886 #, gcc-internal-format
27887 msgid "case label is not an integer constant expression"
27888 msgstr "la etiqueta de case no es una expresion constante entera"
27889
27890-#: c-typeck.c:8961 cp/parser.c:8827
27891+#: c-typeck.c:8967 cp/parser.c:8827
27892 #, gcc-internal-format
27893 msgid "case label not within a switch statement"
27894 msgstr "la etiqueta case no se encuentra dentro de una declaración switch"
27895
27896-#: c-typeck.c:8963
27897+#: c-typeck.c:8969
27898 #, gcc-internal-format
27899 msgid "%<default%> label not within a switch statement"
27900 msgstr "la etiqueta %<default%> no está dentro de una declaración switch"
27901
27902-#: c-typeck.c:9046 cp/parser.c:9127
27903+#: c-typeck.c:9052 cp/parser.c:9127
27904 #, gcc-internal-format
27905 msgid "suggest explicit braces to avoid ambiguous %<else%>"
27906 msgstr "se sugieren llaves explícitas para evitar un %<else%> ambiguo"
27907
27908-#: c-typeck.c:9155 cp/parser.c:9854
27909+#: c-typeck.c:9161 cp/parser.c:9854
27910 #, gcc-internal-format
27911 msgid "break statement not within loop or switch"
27912 msgstr "la declaración break no está dentro de un bucle o switch"
27913
27914-#: c-typeck.c:9157 cp/parser.c:9875
27915+#: c-typeck.c:9163 cp/parser.c:9875
27916 #, gcc-internal-format
27917 msgid "continue statement not within a loop"
27918 msgstr "la declaración continue no está dentro de un bucle"
27919
27920-#: c-typeck.c:9162 cp/parser.c:9865
27921+#: c-typeck.c:9168 cp/parser.c:9865
27922 #, gcc-internal-format
27923 msgid "break statement used with OpenMP for loop"
27924 msgstr "se usó la declaración break en un bucle for de OpenMP"
27925
27926-#: c-typeck.c:9188 cp/cp-gimplify.c:402
27927+#: c-typeck.c:9194 cp/cp-gimplify.c:402
27928 #, gcc-internal-format
27929 msgid "statement with no effect"
27930 msgstr "declaración sin efecto"
27931
27932-#: c-typeck.c:9214
27933+#: c-typeck.c:9220
27934 #, gcc-internal-format
27935 msgid "expression statement has incomplete type"
27936 msgstr "la declaración de la expresión tiene tipo de dato incompleto"
27937
27938-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
27939+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
27940 #, gcc-internal-format
27941 msgid "conversion of scalar to vector involves truncation"
27942 msgstr "la conversión de escalar a vector implica truncado"
27943
27944-#: c-typeck.c:9950 cp/typeck.c:3939
27945+#: c-typeck.c:9956 cp/typeck.c:3939
27946 #, gcc-internal-format
27947 msgid "right shift count is negative"
27948 msgstr "la cuenta de desplazamiento a la derecha es negativa"
27949
27950-#: c-typeck.c:9961 cp/typeck.c:3946
27951+#: c-typeck.c:9967 cp/typeck.c:3946
27952 #, gcc-internal-format
27953 msgid "right shift count >= width of type"
27954 msgstr "cuenta de desplazamiento a la derecha >= anchura del tipo"
27955
27956-#: c-typeck.c:10002 cp/typeck.c:3968
27957+#: c-typeck.c:10008 cp/typeck.c:3968
27958 #, gcc-internal-format
27959 msgid "left shift count is negative"
27960 msgstr "la cuenta de desplazamiento a la izquierda es negativa"
27961
27962-#: c-typeck.c:10009 cp/typeck.c:3974
27963+#: c-typeck.c:10015 cp/typeck.c:3974
27964 #, gcc-internal-format
27965 msgid "left shift count >= width of type"
27966 msgstr "cuenta de desplazamiento a la izquierda >= anchura del tipo"
27967
27968-#: c-typeck.c:10032 c-typeck.c:10169
27969+#: c-typeck.c:10038 c-typeck.c:10175
27970 #, gcc-internal-format
27971 msgid "comparing vectors with different element types"
27972 msgstr "se comparan vectores con tipos de elemento diferentes"
27973
27974-#: c-typeck.c:10039 c-typeck.c:10176
27975+#: c-typeck.c:10045 c-typeck.c:10182
27976 #, gcc-internal-format
27977 msgid "comparing vectors with different number of elements"
27978 msgstr "se comparan vectores con números de elementos diferentes"
27979
27980-#: c-typeck.c:10055 cp/typeck.c:4020
27981+#: c-typeck.c:10061 cp/typeck.c:4020
27982 #, gcc-internal-format
27983 msgid "comparing floating point with == or != is unsafe"
27984 msgstr "no es segura la comparacion de coma flotante con == o !="
27985
27986-#: c-typeck.c:10072 c-typeck.c:10092
27987+#: c-typeck.c:10078 c-typeck.c:10098
27988 #, gcc-internal-format
27989 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
27990 msgstr "la comparación siempre se evalúa como %<false%> para la dirección de %qD que nunca será NULL"
27991
27992-#: c-typeck.c:10078 c-typeck.c:10098
27993+#: c-typeck.c:10084 c-typeck.c:10104
27994 #, gcc-internal-format
27995 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
27996 msgstr "la comparación siempre se evalúa como %<true%> para la dirección de %qD que nunca será NULL"
27997
27998-#: c-typeck.c:10119 c-typeck.c:10219
27999+#: c-typeck.c:10125 c-typeck.c:10225
28000 #, gcc-internal-format
28001 msgid "comparison of pointers to disjoint address spaces"
28002 msgstr "la comparación de punteros a espacios de direcciones discontinuos"
28003
28004-#: c-typeck.c:10126 c-typeck.c:10132
28005+#: c-typeck.c:10132 c-typeck.c:10138
28006 #, gcc-internal-format
28007 msgid "ISO C forbids comparison of %<void *%> with function pointer"
28008 msgstr "ISO C prohíbe la comparación de %<void *%> con un puntero de función"
28009
28010-#: c-typeck.c:10139 c-typeck.c:10229
28011+#: c-typeck.c:10145 c-typeck.c:10235
28012 #, gcc-internal-format
28013 msgid "comparison of distinct pointer types lacks a cast"
28014 msgstr "la comparación de diferentes tipos de puntero carece de una conversión"
28015
28016-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
28017+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
28018 #, gcc-internal-format
28019 msgid "comparison between pointer and integer"
28020 msgstr "comparación entre puntero y entero"
28021
28022-#: c-typeck.c:10207
28023+#: c-typeck.c:10213
28024 #, gcc-internal-format
28025 msgid "comparison of complete and incomplete pointers"
28026 msgstr "comparación de punteros completos e incompletos"
28027
28028-#: c-typeck.c:10209
28029+#: c-typeck.c:10215
28030 #, gcc-internal-format
28031 msgid "ISO C forbids ordered comparisons of pointers to functions"
28032 msgstr "ISO C prohíbe la comparación entre punteros a funciones"
28033
28034-#: c-typeck.c:10214
28035+#: c-typeck.c:10220
28036 #, gcc-internal-format
28037 msgid "ordered comparison of pointer with null pointer"
28038 msgstr "comparación ordenada de puntero con un puntero nulo"
28039
28040-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
28041+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
28042 #: cp/typeck.c:4271 cp/typeck.c:4278
28043 #, gcc-internal-format
28044 msgid "ordered comparison of pointer with integer zero"
28045 msgstr "comparación ordenada de puntero con el entero cero"
28046
28047-#: c-typeck.c:10294 cp/typeck.c:4350
28048+#: c-typeck.c:10300 cp/typeck.c:4350
28049 #, gcc-internal-format
28050 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
28051 msgstr "conversión implícita de %qT a %qT para coincidir con otro operando de la expresión binaria"
28052
28053-#: c-typeck.c:10578
28054+#: c-typeck.c:10584
28055 #, gcc-internal-format
28056 msgid "used array that cannot be converted to pointer where scalar is required"
28057 msgstr "se usa un valor de tipo matriz que no se puede cambiar a puntero cuando se requiere un escalar"
28058
28059-#: c-typeck.c:10582
28060+#: c-typeck.c:10588
28061 #, gcc-internal-format
28062 msgid "used struct type value where scalar is required"
28063 msgstr "se usa un valor de tipo struct cuando se requiere un escalar"
28064
28065-#: c-typeck.c:10586
28066+#: c-typeck.c:10592
28067 #, gcc-internal-format
28068 msgid "used union type value where scalar is required"
28069 msgstr "se usa un valor de tipo union cuando se requiere un escalar"
28070
28071-#: c-typeck.c:10597
28072+#: c-typeck.c:10603
28073 #, gcc-internal-format
28074 msgid "used vector type where scalar is required"
28075 msgstr "se usa un tipo vector cuando se requiere un escalar"
28076
28077-#: c-typeck.c:10751 cp/semantics.c:4202
28078+#: c-typeck.c:10757 cp/semantics.c:4202
28079 #, gcc-internal-format
28080 msgid "%qE has invalid type for %<reduction%>"
28081 msgstr "%qE tiene tipo inválido para %<reduction%>"
28082
28083-#: c-typeck.c:10788 cp/semantics.c:4217
28084+#: c-typeck.c:10794 cp/semantics.c:4217
28085 #, gcc-internal-format
28086 msgid "%qE has invalid type for %<reduction(%s)%>"
28087 msgstr "%qE tiene tipo inválido para %<reduction(%s)%>"
28088
28089-#: c-typeck.c:10805 cp/semantics.c:4227
28090+#: c-typeck.c:10811 cp/semantics.c:4227
28091 #, gcc-internal-format
28092 msgid "%qE must be %<threadprivate%> for %<copyin%>"
28093 msgstr "%qE debe ser %<threadprivate%> para %<copin%>"
28094
28095-#: c-typeck.c:10815 cp/semantics.c:3995
28096+#: c-typeck.c:10821 cp/semantics.c:3995
28097 #, gcc-internal-format
28098 msgid "%qE is not a variable in clause %qs"
28099 msgstr "%qE no es una variable en la cláusula %qs"
28100
28101-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
28102+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
28103 #, gcc-internal-format
28104 msgid "%qE appears more than once in data clauses"
28105 msgstr "%qE aparece más de una vez en las cláusulas de datos"
28106
28107-#: c-typeck.c:10838 cp/semantics.c:4018
28108+#: c-typeck.c:10844 cp/semantics.c:4018
28109 #, gcc-internal-format
28110 msgid "%qE is not a variable in clause %<firstprivate%>"
28111 msgstr "%qE no es una variable en la cláusula %<firstprivate%>"
28112
28113-#: c-typeck.c:10860 cp/semantics.c:4040
28114+#: c-typeck.c:10866 cp/semantics.c:4040
28115 #, gcc-internal-format
28116 msgid "%qE is not a variable in clause %<lastprivate%>"
28117 msgstr "%qE no es una variable en la cláusula %<lastprivate%>"
28118
28119-#: c-typeck.c:10928 cp/semantics.c:4273
28120+#: c-typeck.c:10934 cp/semantics.c:4273
28121 #, gcc-internal-format
28122 msgid "%qE is predetermined %qs for %qs"
28123 msgstr "%qE está predeterminado como %qs para %qs"
28124
28125-#: c-typeck.c:11030
28126+#: c-typeck.c:11036
28127 #, gcc-internal-format
28128 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
28129 msgstr "C++ requiere un tipo promovido, no un tipo enum, en %<va_arg%>"
28130@@ -16895,7 +16895,7 @@
28131 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
28132 msgstr "sólo se admiten múltiples personalidades EH con ensambladores que admiten la directiva cfi.personality"
28133
28134-#: dwarf2out.c:10710
28135+#: dwarf2out.c:10713
28136 #, gcc-internal-format, gfc-internal-format
28137 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
28138 msgstr "se encontró UNSPEC %s (%d) que no está delegitimado la ubicación de variable"
28139@@ -17015,12 +17015,12 @@
28140 msgid "local frame unavailable (naked function?)"
28141 msgstr "el marco local no está disponible (¿Función desnuda?)"
28142
28143-#: expr.c:9971
28144+#: expr.c:9972
28145 #, gcc-internal-format
28146 msgid "%Kcall to %qs declared with attribute error: %s"
28147 msgstr "%Kla llamada a %qs se redeclaró con error de atributo: %s"
28148
28149-#: expr.c:9978
28150+#: expr.c:9979
28151 #, gcc-internal-format
28152 msgid "%Kcall to %qs declared with attribute warning: %s"
28153 msgstr "%Kla llamada a %qs se redecló con aviso de atributo: %s"
28154@@ -17105,27 +17105,27 @@
28155 msgid "total size of local objects too large"
28156 msgstr "el tamaño total de los objetos locales es demasiado grande"
28157
28158-#: function.c:1732 gimplify.c:5163
28159+#: function.c:1732 gimplify.c:5164
28160 #, gcc-internal-format
28161 msgid "impossible constraint in %<asm%>"
28162 msgstr "restricción imposible en %<asm%>"
28163
28164-#: function.c:3959
28165+#: function.c:3974
28166 #, gcc-internal-format
28167 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
28168 msgstr "la variable %q+D puede ser sobreescrita por %<longjmp%> o %<vfork%>"
28169
28170-#: function.c:3980
28171+#: function.c:3995
28172 #, gcc-internal-format
28173 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
28174 msgstr "el argumento %q+D puede ser sobreescrito por %<longjmp%> o %<vfork%>"
28175
28176-#: function.c:4502
28177+#: function.c:4517
28178 #, gcc-internal-format
28179 msgid "function returns an aggregate"
28180 msgstr "la función devuelve un agregado"
28181
28182-#: function.c:4896
28183+#: function.c:4911
28184 #, gcc-internal-format
28185 msgid "unused parameter %q+D"
28186 msgstr "parámetro %q+D sin uso"
28187@@ -17554,62 +17554,62 @@
28188 msgid "using result of function returning %<void%>"
28189 msgstr "se usa el resultado de una función que devuelve %<void%>"
28190
28191-#: gimplify.c:5048
28192+#: gimplify.c:5049
28193 #, gcc-internal-format, gfc-internal-format
28194 msgid "invalid lvalue in asm output %d"
28195 msgstr "l-valor inválido en la salida asm %d"
28196
28197-#: gimplify.c:5164
28198+#: gimplify.c:5165
28199 #, gcc-internal-format, gfc-internal-format
28200 msgid "non-memory input %d must stay in memory"
28201 msgstr "la entrada que no es de memoria %d debe permanecer en memoria"
28202
28203-#: gimplify.c:5186
28204+#: gimplify.c:5187
28205 #, gcc-internal-format, gfc-internal-format
28206 msgid "memory input %d is not directly addressable"
28207 msgstr "la entrada de memoria %d no es directamente direccionable"
28208
28209-#: gimplify.c:5681
28210+#: gimplify.c:5682
28211 #, gcc-internal-format
28212 msgid "threadprivate variable %qE used in untied task"
28213 msgstr "se usó la variable threadprivate %qE en una tarea sin atar"
28214
28215-#: gimplify.c:5683 gimplify.c:5745
28216+#: gimplify.c:5684 gimplify.c:5746
28217 #, gcc-internal-format
28218 msgid "enclosing task"
28219 msgstr "tarea contenedora"
28220
28221-#: gimplify.c:5742
28222+#: gimplify.c:5743
28223 #, gcc-internal-format
28224 msgid "%qE not specified in enclosing parallel"
28225 msgstr "no se especificó %qE en el paralelo que lo contiene"
28226
28227-#: gimplify.c:5747
28228+#: gimplify.c:5748
28229 #, gcc-internal-format
28230 msgid "enclosing parallel"
28231 msgstr "paralelo contenedor"
28232
28233-#: gimplify.c:5852
28234+#: gimplify.c:5853
28235 #, gcc-internal-format
28236 msgid "iteration variable %qE should be private"
28237 msgstr "la variable de iteración %qE debe ser private"
28238
28239-#: gimplify.c:5866
28240+#: gimplify.c:5867
28241 #, gcc-internal-format
28242 msgid "iteration variable %qE should not be firstprivate"
28243 msgstr "la variable de iteración %qE no debe ser firstprivate"
28244
28245-#: gimplify.c:5869
28246+#: gimplify.c:5870
28247 #, gcc-internal-format
28248 msgid "iteration variable %qE should not be reduction"
28249 msgstr "la variable de iteración %qE no debe ser reduction"
28250
28251-#: gimplify.c:6032
28252+#: gimplify.c:6033
28253 #, gcc-internal-format
28254 msgid "%s variable %qE is private in outer context"
28255 msgstr "la variable %s %qE es private en el contexto externo"
28256
28257-#: gimplify.c:7794
28258+#: gimplify.c:7795
28259 #, gcc-internal-format
28260 msgid "gimplification failed"
28261 msgstr "falló la gimplificación"
28262@@ -17813,48 +17813,48 @@
28263 msgid "function %qD redeclared as variable"
28264 msgstr "la función %qD se redeclaró como variable"
28265
28266-#: omp-low.c:1846
28267+#: omp-low.c:1847
28268 #, gcc-internal-format
28269 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
28270 msgstr "la región de barrera puede no estar bien anidada dentro de la región de trabajo compartido, crítica, ordenada, maestra o de tarea explícita"
28271
28272-#: omp-low.c:1851
28273+#: omp-low.c:1853
28274 #, gcc-internal-format
28275 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
28276 msgstr "la región de trabajo compartido puede no estar bien anidada dentro de la región de trabajo compartido, crítica, ordenada, maestra o de tarea explícita"
28277
28278-#: omp-low.c:1869
28279+#: omp-low.c:1872
28280 #, gcc-internal-format
28281 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
28282 msgstr "la región maestra puede no estar bien anidada dentro de la región de trabajo compartido o de tarea explícita"
28283
28284-#: omp-low.c:1884
28285+#: omp-low.c:1888
28286 #, gcc-internal-format
28287 msgid "ordered region may not be closely nested inside of critical or explicit task region"
28288 msgstr "la región ordenada puede no estar bien anidada dentro de la región crítica o de tarea explícita"
28289
28290-#: omp-low.c:1890
28291+#: omp-low.c:1896
28292 #, gcc-internal-format
28293 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
28294 msgstr "la región ordenada puede estar bien anidada dentro de una región de bucle con una cláusula ordenada"
28295
28296-#: omp-low.c:1905
28297+#: omp-low.c:1914
28298 #, gcc-internal-format
28299 msgid "critical region may not be nested inside a critical region with the same name"
28300 msgstr "la región crítica puede no estar bien anidada dentro de una región crítica con el mismo nombre"
28301
28302-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
28303+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
28304 #, gcc-internal-format
28305 msgid "invalid exit from OpenMP structured block"
28306 msgstr "salida inválida de un bloque estructurado OpenMP"
28307
28308-#: omp-low.c:7026 omp-low.c:7031
28309+#: omp-low.c:7036 omp-low.c:7041
28310 #, gcc-internal-format
28311 msgid "invalid entry to OpenMP structured block"
28312 msgstr "entrada inválida a un bloque estructurado OpenMP"
28313
28314 #. Otherwise, be vague and lazy, but efficient.
28315-#: omp-low.c:7034
28316+#: omp-low.c:7044
28317 #, gcc-internal-format
28318 msgid "invalid branch to/from an OpenMP structured block"
28319 msgstr "ramificación inválida desde/para un bloque estructurado OpenMP"
28320@@ -17950,12 +17950,12 @@
28321 msgid "section anchors must be disabled when toplevel reorder is disabled"
28322 msgstr "las anclas de seccions se deben desactivar cando el reordenamiento de nivel principal se desactiva"
28323
28324-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
28325+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
28326 #, gcc-internal-format
28327 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
28328 msgstr "-freorder-blocks-and-partition no funciona con excepciones en esta arquitectura"
28329
28330-#: opts.c:736 config/sh/sh.c:817
28331+#: opts.c:736 config/sh/sh.c:805
28332 #, gcc-internal-format
28333 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
28334 msgstr "-freorder-blocks-and-partition no admite información de desenredo en esta arquitectura"
28335@@ -18325,8 +18325,8 @@
28336 msgstr "no se puede usar %qs como un registro fijo"
28337
28338 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
28339-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
28340-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
28341+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
28342+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
28343 #, gcc-internal-format, gfc-internal-format
28344 msgid "unknown register name: %s"
28345 msgstr "nombre de registro desconocido: %s"
28346@@ -18631,7 +18631,7 @@
28347 msgid "packed attribute is unnecessary"
28348 msgstr "no es necesario el atributo packed"
28349
28350-#: stor-layout.c:2244
28351+#: stor-layout.c:2252
28352 #, gcc-internal-format
28353 msgid "alignment of array elements is greater than element size"
28354 msgstr "la alineación de los elementos de la matriz es mayor que el tamaño de los elementos"
28355@@ -18651,12 +18651,12 @@
28356 msgid "nested function trampolines not supported on this target"
28357 msgstr "no se admiten trampolines de funciones anidadas para este objetivo"
28358
28359-#: targhooks.c:1154
28360+#: targhooks.c:1161
28361 #, gcc-internal-format
28362 msgid "target attribute is not supported on this machine"
28363 msgstr "el atributo target no se admite en esta plataforma"
28364
28365-#: targhooks.c:1164
28366+#: targhooks.c:1171
28367 #, gcc-internal-format
28368 msgid "#pragma GCC target is not supported for this machine"
28369 msgstr "No se admite #pragma GCC target en este objetivo"
28370@@ -18846,7 +18846,7 @@
28371 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
28372 msgstr "la llamada a la función %<transaction_may_cancel_outer%> no está en una transacción más externa o %<transaction_may_cancel_outer%>"
28373
28374-#: trans-mem.c:664 trans-mem.c:4194
28375+#: trans-mem.c:664 trans-mem.c:4192
28376 #, gcc-internal-format
28377 msgid "unsafe function call %qD within atomic transaction"
28378 msgstr "llamada a función %qD insegura dentro de una transacción atómica"
28379@@ -18861,7 +18861,7 @@
28380 msgid "unsafe indirect function call within atomic transaction"
28381 msgstr "llamada a función indirecta insegura dentro de una transacción atómica"
28382
28383-#: trans-mem.c:682 trans-mem.c:4127
28384+#: trans-mem.c:682 trans-mem.c:4125
28385 #, gcc-internal-format
28386 msgid "unsafe function call %qD within %<transaction_safe%> function"
28387 msgstr "llamada a función %qD insegura dentro de la función %<transaction_safe%>"
28388@@ -18876,7 +18876,7 @@
28389 msgid "unsafe indirect function call within %<transaction_safe%> function"
28390 msgstr "llamada a función indirecta insegura dentro de la función %<transaction_safe%>"
28391
28392-#: trans-mem.c:707 trans-mem.c:4166
28393+#: trans-mem.c:707 trans-mem.c:4164
28394 #, gcc-internal-format
28395 msgid "asm not allowed in atomic transaction"
28396 msgstr "no se permite asm en una transacción atómica"
28397@@ -18911,7 +18911,7 @@
28398 msgid "outer transaction in %<transaction_safe%> function"
28399 msgstr "transacción más externa en la función %<transaction_safe%>"
28400
28401-#: trans-mem.c:3792
28402+#: trans-mem.c:3790
28403 #, gcc-internal-format
28404 msgid "%Kasm not allowed in %<transaction_safe%> function"
28405 msgstr "%Kno se permite asm en una función %<transaction_safe%>"
28406@@ -19531,117 +19531,117 @@
28407 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
28408 msgstr "se descarta la opción desconocida %q.*s en %<-fdump-%s%>"
28409
28410-#: tree-eh.c:4320
28411+#: tree-eh.c:4319
28412 #, gcc-internal-format, gfc-internal-format
28413 msgid "BB %i has multiple EH edges"
28414 msgstr "el BB %i tiene múltiples bordes EH"
28415
28416-#: tree-eh.c:4332
28417+#: tree-eh.c:4331
28418 #, gcc-internal-format, gfc-internal-format
28419 msgid "BB %i can not throw but has an EH edge"
28420 msgstr "el BB %i no puede hacer throw pero tiene un borde EH"
28421
28422-#: tree-eh.c:4340
28423+#: tree-eh.c:4339
28424 #, gcc-internal-format, gfc-internal-format
28425 msgid "BB %i last statement has incorrectly set lp"
28426 msgstr "la última sentencia del BB %i tiene establecido incorrectamente lp"
28427
28428-#: tree-eh.c:4346
28429+#: tree-eh.c:4345
28430 #, gcc-internal-format, gfc-internal-format
28431 msgid "BB %i is missing an EH edge"
28432 msgstr "al BB %i le falta un borde EH"
28433
28434-#: tree-eh.c:4352
28435+#: tree-eh.c:4351
28436 #, gcc-internal-format, gfc-internal-format
28437 msgid "Incorrect EH edge %i->%i"
28438 msgstr "Borde EH %i->%i incorrecto"
28439
28440-#: tree-eh.c:4386 tree-eh.c:4405
28441+#: tree-eh.c:4385 tree-eh.c:4404
28442 #, gcc-internal-format, gfc-internal-format
28443 msgid "BB %i is missing an edge"
28444 msgstr "al BB %i le falta un borde"
28445
28446-#: tree-eh.c:4422
28447+#: tree-eh.c:4421
28448 #, gcc-internal-format, gfc-internal-format
28449 msgid "BB %i too many fallthru edges"
28450 msgstr "BB %i demasiados bordes de respaldo"
28451
28452-#: tree-eh.c:4431
28453+#: tree-eh.c:4430
28454 #, gcc-internal-format, gfc-internal-format
28455 msgid "BB %i has incorrect edge"
28456 msgstr "BB %i tiene un borde incorrecto"
28457
28458-#: tree-eh.c:4437
28459+#: tree-eh.c:4436
28460 #, gcc-internal-format, gfc-internal-format
28461 msgid "BB %i has incorrect fallthru edge"
28462 msgstr "BB %i tiene un borde de respaldo incorrecto"
28463
28464-#: tree-inline.c:3040
28465+#: tree-inline.c:3041
28466 #, gcc-internal-format
28467 msgid "function %q+F can never be copied because it receives a non-local goto"
28468 msgstr "la función %q+F nunca se puede copiar porque recibe un goto que no es local"
28469
28470-#: tree-inline.c:3054
28471+#: tree-inline.c:3055
28472 #, gcc-internal-format
28473 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
28474 msgstr "la función %q+F nunca se puede copiar porque guarda direcciones de etiqueta local en una variable estática"
28475
28476-#: tree-inline.c:3094
28477+#: tree-inline.c:3095
28478 #, gcc-internal-format
28479 msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
28480 msgstr "la función %q+F nunca se puede incluir en línea porque usa alloca (forzar usando el atributo always_inline)"
28481
28482-#: tree-inline.c:3108
28483+#: tree-inline.c:3109
28484 #, gcc-internal-format
28485 msgid "function %q+F can never be inlined because it uses setjmp"
28486 msgstr "la función %q+F nunca se puede incluir en línea porque usa setjmp"
28487
28488-#: tree-inline.c:3122
28489+#: tree-inline.c:3123
28490 #, gcc-internal-format
28491 msgid "function %q+F can never be inlined because it uses variable argument lists"
28492 msgstr "la función %q+F nunca se puede incluir en línea porque usa listas variables de argumentos"
28493
28494-#: tree-inline.c:3134
28495+#: tree-inline.c:3135
28496 #, gcc-internal-format
28497 msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
28498 msgstr "la función %q+F nunca se puede incluir en línea porque usa manejo de excepciones setjmp-longjmp"
28499
28500-#: tree-inline.c:3142
28501+#: tree-inline.c:3143
28502 #, gcc-internal-format
28503 msgid "function %q+F can never be inlined because it uses non-local goto"
28504 msgstr "la función %q+F nunca se puede incluir en línea porque contiene un goto que no es local"
28505
28506-#: tree-inline.c:3154
28507+#: tree-inline.c:3155
28508 #, gcc-internal-format
28509 msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
28510 msgstr "la función %q+F nunca se puede incluir en línea porque usa __builtin_return o __builtin_apply_args"
28511
28512-#: tree-inline.c:3174
28513+#: tree-inline.c:3175
28514 #, gcc-internal-format
28515 msgid "function %q+F can never be inlined because it contains a computed goto"
28516 msgstr "la función %q+F nunca se puede incluir en línea porque contiene un goto calculado"
28517
28518-#: tree-inline.c:3254
28519+#: tree-inline.c:3255
28520 #, gcc-internal-format
28521 msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
28522 msgstr "la función %q+F nunca puede ser incluída en línea porque se suprime al usar -fno-inline"
28523
28524-#: tree-inline.c:3262
28525+#: tree-inline.c:3263
28526 #, gcc-internal-format
28527 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
28528 msgstr "la función %q+F nunca puede ser incluída en línea porque utiliza atributos que generan conflictos con la inclusión en línea"
28529
28530-#: tree-inline.c:3843
28531+#: tree-inline.c:3844
28532 #, gcc-internal-format
28533 msgid "inlining failed in call to always_inline %q+F: %s"
28534 msgstr "falló la inclusión en línea en la llamada a always_inline %q+F: %s"
28535
28536-#: tree-inline.c:3845 tree-inline.c:3860
28537+#: tree-inline.c:3846 tree-inline.c:3861
28538 #, gcc-internal-format
28539 msgid "called from here"
28540 msgstr "llamado desde aquí"
28541
28542-#: tree-inline.c:3858
28543+#: tree-inline.c:3859
28544 #, gcc-internal-format
28545 msgid "inlining failed in call to %q+F: %s"
28546 msgstr "falló la inclusión en línea en la llamada a %q+F: %s"
28547@@ -19677,7 +19677,7 @@
28548 msgstr "el tamaño del valor de devolución de %q+D es más grande que %wd bytes"
28549
28550 #: tree-outof-ssa.c:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
28551-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
28552+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
28553 #, gcc-internal-format
28554 msgid "SSA corruption"
28555 msgstr "corrupción de SSA"
28556@@ -19917,72 +19917,72 @@
28557 msgid "vector shuffling operation will be expanded piecewise"
28558 msgstr "la operación de ordenamiento vectorial se expandirá por piezas"
28559
28560-#: tree-vrp.c:5300
28561+#: tree-vrp.c:5272
28562 #, gcc-internal-format
28563 msgid "array subscript is outside array bounds"
28564 msgstr "el subíndice de la matriz está fuera de los límites de la matriz"
28565
28566-#: tree-vrp.c:5312 tree-vrp.c:5399
28567+#: tree-vrp.c:5284 tree-vrp.c:5371
28568 #, gcc-internal-format
28569 msgid "array subscript is above array bounds"
28570 msgstr "el subíndice de la matriz está por arriba de los límites de la matriz"
28571
28572-#: tree-vrp.c:5319 tree-vrp.c:5387
28573+#: tree-vrp.c:5291 tree-vrp.c:5359
28574 #, gcc-internal-format
28575 msgid "array subscript is below array bounds"
28576 msgstr "el subíndice de la matriz está por debajo de los límites de la matriz"
28577
28578-#: tree-vrp.c:6028
28579+#: tree-vrp.c:6000
28580 #, gcc-internal-format
28581 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
28582 msgstr "se asume que el desbordamiento con signo no sucede al simplificar el condicional a constante"
28583
28584-#: tree-vrp.c:6034
28585+#: tree-vrp.c:6006
28586 #, gcc-internal-format
28587 msgid "assuming signed overflow does not occur when simplifying conditional"
28588 msgstr "se asume que el desbordamiento con signo no sucede al simplificar el condicional"
28589
28590-#: tree-vrp.c:6078
28591+#: tree-vrp.c:6050
28592 #, gcc-internal-format
28593 msgid "comparison always false due to limited range of data type"
28594 msgstr "la comparación siempre es falsa debido al rango limitado del tipo de datos"
28595
28596-#: tree-vrp.c:6080
28597+#: tree-vrp.c:6052
28598 #, gcc-internal-format
28599 msgid "comparison always true due to limited range of data type"
28600 msgstr "la comparación siempre es verdadera debido al rango limitado del tipo de datos"
28601
28602-#: tree-vrp.c:6871
28603+#: tree-vrp.c:6847
28604 #, gcc-internal-format
28605 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
28606 msgstr "se asume que el desbordamiento con signo no sucede al simplificar %</%> o %<%%%> a %<>>%> o %<&%>"
28607
28608-#: tree-vrp.c:6953
28609+#: tree-vrp.c:6929
28610 #, gcc-internal-format
28611 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
28612 msgstr "se asume que el desbordamiento con signo no sucede al simplificar %<abs (X)%> a %<X%> o %<-X%>"
28613
28614-#: tree.c:4235
28615+#: tree.c:4236
28616 #, gcc-internal-format
28617 msgid "ignoring attributes applied to %qT after definition"
28618 msgstr "se descartan los atributos aplicados al %qT después de la definición"
28619
28620-#: tree.c:5460
28621+#: tree.c:5475
28622 #, gcc-internal-format
28623 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
28624 msgstr "%q+D se declaró anteriormente con el atributo dllimport: se descarta dllimport"
28625
28626-#: tree.c:5472
28627+#: tree.c:5487
28628 #, gcc-internal-format
28629 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
28630 msgstr "%q+D se redeclara sin el atributo dllimport después de ser referenciado con enlace dllimport"
28631
28632-#: tree.c:5487
28633+#: tree.c:5502
28634 #, gcc-internal-format
28635 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
28636 msgstr "%q+D se redeclara sin el atributo dllimport: se descarta el dllimport previo"
28637
28638-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
28639+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
28640 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
28641 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
28642 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
28643@@ -19996,141 +19996,141 @@
28644 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
28645 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
28646 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
28647-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
28648-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
28649-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
28650-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
28651-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
28652+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
28653+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
28654+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
28655+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
28656+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
28657 #, gcc-internal-format
28658 msgid "%qE attribute ignored"
28659 msgstr "se descarta el atributo %qE"
28660
28661-#: tree.c:5570
28662+#: tree.c:5585
28663 #, gcc-internal-format
28664 msgid "inline function %q+D declared as dllimport: attribute ignored"
28665 msgstr "la función inline %q+D se declara como dllimport: se descarta el atributo"
28666
28667-#: tree.c:5578
28668+#: tree.c:5593
28669 #, gcc-internal-format
28670 msgid "function %q+D definition is marked dllimport"
28671 msgstr "la definición de la función %q+D se marca como dllimport"
28672
28673-#: tree.c:5586
28674+#: tree.c:5601
28675 #, gcc-internal-format
28676 msgid "variable %q+D definition is marked dllimport"
28677 msgstr "la definición de la variable %q+D se marca como dllimport"
28678
28679-#: tree.c:5614
28680+#: tree.c:5629
28681 #, gcc-internal-format
28682 msgid "external linkage required for symbol %q+D because of %qE attribute"
28683 msgstr "se requiere enlace externo para el símbolo %q+D debido al atributo %qE"
28684
28685-#: tree.c:5628
28686+#: tree.c:5643
28687 #, gcc-internal-format
28688 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
28689 msgstr "%qE implica visibilidad por defecto, pero %qD ya se había declarado con una visibilidad diferente"
28690
28691-#: tree.c:7378
28692+#: tree.c:7394
28693 #, gcc-internal-format
28694 msgid "arrays of functions are not meaningful"
28695 msgstr "las matrices de funciones no tienen significado"
28696
28697-#: tree.c:7545
28698+#: tree.c:7561
28699 #, gcc-internal-format
28700 msgid "function return type cannot be function"
28701 msgstr "el tipo de devolución de función no puede ser función"
28702
28703-#: tree.c:8844 tree.c:8929 tree.c:8990
28704+#: tree.c:8860 tree.c:8945 tree.c:9006
28705 #, gcc-internal-format, gfc-internal-format
28706 msgid "tree check: %s, have %s in %s, at %s:%d"
28707 msgstr "revisión de árbol: %s, se tiene %s en %s, en %s:%d"
28708
28709-#: tree.c:8881
28710+#: tree.c:8897
28711 #, gcc-internal-format, gfc-internal-format
28712 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
28713 msgstr "revisión de árbol: no se esperaba ninguno de %s, se tiene %s en %s, en %s:%d"
28714
28715-#: tree.c:8894
28716+#: tree.c:8910
28717 #, gcc-internal-format
28718 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
28719 msgstr "revisión de árbol: se esperaba la clase %qs, se tiene %qs (%s) en %s, en %s:%d"
28720
28721-#: tree.c:8943
28722+#: tree.c:8959
28723 #, gcc-internal-format
28724 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
28725 msgstr "revisión de árbol: no se esperaba la clase %qs, se tiene %qs (%s) en %s, en %s:%d"
28726
28727-#: tree.c:8956
28728+#: tree.c:8972
28729 #, gcc-internal-format, gfc-internal-format
28730 msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
28731 msgstr "revisión de árbol: se esperaba omp_clause %s, se tiene %s en %s, en %s:%d"
28732
28733-#: tree.c:9016
28734+#: tree.c:9032
28735 #, gcc-internal-format
28736 msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
28737 msgstr "revisión de árbol: se esperaba un árbol que contenga la estructura %qs, se tiene %qs en %s, en %s:%d"
28738
28739-#: tree.c:9030
28740+#: tree.c:9046
28741 #, gcc-internal-format, gfc-internal-format
28742 msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
28743 msgstr "revisión de árbol: acceso de elt %d de tree_vec con %d elts en %s, en %s:%d"
28744
28745-#: tree.c:9043
28746+#: tree.c:9059
28747 #, gcc-internal-format, gfc-internal-format
28748 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
28749 msgstr "revisión de árbol: acceso del operando %d de %s con %d operandos en %s, en %s:%d"
28750
28751-#: tree.c:9056
28752+#: tree.c:9072
28753 #, gcc-internal-format, gfc-internal-format
28754 msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
28755 msgstr "revisión de árbol: acceso del operando %d de omp_clause %s con %d operandos en %s, en %s:%d"
28756
28757-#: tree.c:11340
28758+#: tree.c:11356
28759 #, gcc-internal-format
28760 msgid "%qD is deprecated (declared at %s:%d): %s"
28761 msgstr "%qD es obsoleto (declarado en %s:%d): %s"
28762
28763-#: tree.c:11344
28764+#: tree.c:11360
28765 #, gcc-internal-format
28766 msgid "%qD is deprecated (declared at %s:%d)"
28767 msgstr "%qD es obsoleto (declarado en %s:%d)"
28768
28769-#: tree.c:11369
28770+#: tree.c:11385
28771 #, gcc-internal-format
28772 msgid "%qE is deprecated (declared at %s:%d): %s"
28773 msgstr "%qE es obsoleto (declarado en %s:%d): %s"
28774
28775-#: tree.c:11373
28776+#: tree.c:11389
28777 #, gcc-internal-format
28778 msgid "%qE is deprecated (declared at %s:%d)"
28779 msgstr "%qE es obsoleto (declarado en %s:%d)"
28780
28781-#: tree.c:11380
28782+#: tree.c:11396
28783 #, gcc-internal-format, gfc-internal-format
28784 msgid "type is deprecated (declared at %s:%d): %s"
28785 msgstr "el tipo es obsoleto (declarado en %s:%d): %s"
28786
28787-#: tree.c:11384
28788+#: tree.c:11400
28789 #, gcc-internal-format, gfc-internal-format
28790 msgid "type is deprecated (declared at %s:%d)"
28791 msgstr "el tipo es obsoleto (declarado en %s:%d)"
28792
28793-#: tree.c:11393
28794+#: tree.c:11409
28795 #, gcc-internal-format
28796 msgid "%qE is deprecated: %s"
28797 msgstr "%qE es obsoleto: %s"
28798
28799-#: tree.c:11396
28800+#: tree.c:11412
28801 #, gcc-internal-format
28802 msgid "%qE is deprecated"
28803 msgstr "%qE es obsoleto"
28804
28805-#: tree.c:11401
28806+#: tree.c:11417
28807 #, gcc-internal-format, gfc-internal-format
28808 msgid "type is deprecated: %s"
28809 msgstr "el tipo es obsoleto: %s"
28810
28811-#: tree.c:11404
28812+#: tree.c:11420
28813 #, gcc-internal-format
28814 msgid "type is deprecated"
28815 msgstr "el tipo es obsoleto"
28816@@ -20346,12 +20346,12 @@
28817 msgid "no sclass for %s stab (0x%x)"
28818 msgstr "no hay sclass para el stab %s (0x%x)"
28819
28820-#: lto-streamer.h:962
28821+#: lto-streamer.h:975
28822 #, gcc-internal-format, gfc-internal-format
28823 msgid "bytecode stream: expected tag %s instead of %s"
28824 msgstr "flujo de bytecode: se esperaba la etiqueta %s en lugar de %s"
28825
28826-#: lto-streamer.h:972
28827+#: lto-streamer.h:985
28828 #, gcc-internal-format, gfc-internal-format
28829 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
28830 msgstr "flujo de bytecode: la etiqueta %s no está en el rango esperado [%s, %s]"
28831@@ -20366,8 +20366,8 @@
28832 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
28833 msgstr "la longitud de la cadena %qd es mayor que la longitud %qd, la máxima que los compiladores ISO C%d deben admitir"
28834
28835-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
28836-#: cp/semantics.c:8030
28837+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
28838+#: cp/semantics.c:8071
28839 #, gcc-internal-format
28840 msgid "overflow in constant expression"
28841 msgstr "desbordamiento en la expresión constante"
28842@@ -20995,40 +20995,40 @@
28843 msgid "invalid vector type for attribute %qE"
28844 msgstr "tipo de vector inválido para el atributo %qE"
28845
28846-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
28847-#: ada/gcc-interface/utils.c:5717
28848+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
28849+#: ada/gcc-interface/utils.c:5708
28850 #, gcc-internal-format
28851 msgid "vector size not an integral multiple of component size"
28852 msgstr "el tamaño del vector no es un múltiplo integral del tamaño del componente"
28853
28854-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
28855-#: ada/gcc-interface/utils.c:5723
28856+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
28857+#: ada/gcc-interface/utils.c:5714
28858 #, gcc-internal-format
28859 msgid "zero vector size"
28860 msgstr "vector de tamaño cero"
28861
28862-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
28863-#: ada/gcc-interface/utils.c:5730
28864+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
28865+#: ada/gcc-interface/utils.c:5721
28866 #, gcc-internal-format
28867 msgid "number of components of the vector not a power of two"
28868 msgstr "el número de componentes del vector no es una potencia de dos"
28869
28870-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
28871+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
28872 #, gcc-internal-format
28873 msgid "nonnull attribute without arguments on a non-prototype"
28874 msgstr "un atributo que no es nulo sin argumento es un atributo que no es prototipo"
28875
28876-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
28877+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
28878 #, gcc-internal-format, gfc-internal-format
28879 msgid "nonnull argument has invalid operand number (argument %lu)"
28880 msgstr "un argumento que no es nulo tiene un número de operando inválido (argumento %lu)"
28881
28882-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
28883+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
28884 #, gcc-internal-format, gfc-internal-format
28885 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
28886 msgstr "un argumento que no es nulo con número de operando fuera de rango (argumento %lu, operando %lu)"
28887
28888-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
28889+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
28890 #, gcc-internal-format, gfc-internal-format
28891 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
28892 msgstr "un argumento que no es nulo hace referencia a un operando que no es puntero (argumento %lu, operando %lu)"
28893@@ -21068,12 +21068,12 @@
28894 msgid "%qE attribute only applies to variadic functions"
28895 msgstr "el atributo %qE se aplica solamente a funciones variadic"
28896
28897-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
28898+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
28899 #, gcc-internal-format
28900 msgid "requested position is not an integer constant"
28901 msgstr "la posición solicitada no es una constante entera"
28902
28903-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
28904+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
28905 #, gcc-internal-format
28906 msgid "requested position is less than zero"
28907 msgstr "la posición solicitada es menor a cero"
28908@@ -22824,229 +22824,229 @@
28909 msgstr "valor %qs erróneo para -mmemory-latency"
28910
28911 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
28912-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
28913+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
28914 #: config/tilepro/tilepro.c:3098
28915 #, gcc-internal-format
28916 msgid "bad builtin fcode"
28917 msgstr "fcode interno erróneo"
28918
28919-#: config/arm/arm.c:1512
28920+#: config/arm/arm.c:1516
28921 #, gcc-internal-format, gfc-internal-format
28922 msgid "switch -mcpu=%s conflicts with -march=%s switch"
28923 msgstr "la opción -mcpu=%s genera un conflicto con la opción -march=%s"
28924
28925-#: config/arm/arm.c:1629
28926+#: config/arm/arm.c:1633
28927 #, gcc-internal-format
28928 msgid "target CPU does not support ARM mode"
28929 msgstr "el CPU objetivo no tiene soporte para el modo ARM"
28930
28931-#: config/arm/arm.c:1635
28932+#: config/arm/arm.c:1639
28933 #, gcc-internal-format
28934 msgid "target CPU does not support interworking"
28935 msgstr "el CPU objetivo no admite trabajo interno"
28936
28937-#: config/arm/arm.c:1641
28938+#: config/arm/arm.c:1645
28939 #, gcc-internal-format
28940 msgid "target CPU does not support THUMB instructions"
28941 msgstr "el CPU objetivo no admite las instrucciones THUMB"
28942
28943-#: config/arm/arm.c:1659
28944+#: config/arm/arm.c:1663
28945 #, gcc-internal-format
28946 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
28947 msgstr "habilitar el soporte de rastreo hacia atrás sólo tiene significado cuando se compila para el Thumb"
28948
28949-#: config/arm/arm.c:1662
28950+#: config/arm/arm.c:1666
28951 #, gcc-internal-format
28952 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
28953 msgstr "habilitar el soporte de trabajo interno de llamado sólo tiene significado cuando se compila para el Thumb"
28954
28955-#: config/arm/arm.c:1666
28956+#: config/arm/arm.c:1670
28957 #, gcc-internal-format
28958 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
28959 msgstr "-mapcs-stack-check es incompatible con -mno-apcs-frame"
28960
28961-#: config/arm/arm.c:1674
28962+#: config/arm/arm.c:1678
28963 #, gcc-internal-format
28964 msgid "-fpic and -mapcs-reent are incompatible"
28965 msgstr "-fpic y -mapcs-reent son incompatibles"
28966
28967-#: config/arm/arm.c:1677
28968+#: config/arm/arm.c:1681
28969 #, gcc-internal-format
28970 msgid "APCS reentrant code not supported. Ignored"
28971 msgstr "no se admite el código reentrante APCS. Descartado"
28972
28973-#: config/arm/arm.c:1685
28974+#: config/arm/arm.c:1689
28975 #, gcc-internal-format
28976 msgid "-g with -mno-apcs-frame may not give sensible debugging"
28977 msgstr "-g con -mno-apcs-frame no permite una depuración sensible"
28978
28979-#: config/arm/arm.c:1688
28980+#: config/arm/arm.c:1692
28981 #, gcc-internal-format
28982 msgid "passing floating point arguments in fp regs not yet supported"
28983 msgstr "aún no se admite el paso de argumentos de coma flotante en registros fp"
28984
28985-#: config/arm/arm.c:1691
28986+#: config/arm/arm.c:1695
28987 #, gcc-internal-format
28988 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
28989 msgstr "%<mwords-little-endian%> es obsoleto y se eliminará en una versión futura"
28990
28991-#: config/arm/arm.c:1753
28992+#: config/arm/arm.c:1757
28993 #, gcc-internal-format
28994 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
28995 msgstr "iwmmxt requiere una ABI compatible con AAPCS para una operación adecuada"
28996
28997-#: config/arm/arm.c:1756
28998+#: config/arm/arm.c:1760
28999 #, gcc-internal-format
29000 msgid "iwmmxt abi requires an iwmmxt capable cpu"
29001 msgstr "el abi iwmmxt requiere un cpu capaz de iwmmxt"
29002
29003-#: config/arm/arm.c:1804
29004+#: config/arm/arm.c:1808
29005 #, gcc-internal-format
29006 msgid "FPA is unsupported in the AAPCS"
29007 msgstr "no se admite FPA en el AAPCS"
29008
29009-#: config/arm/arm.c:1809
29010+#: config/arm/arm.c:1813
29011 #, gcc-internal-format
29012 msgid "AAPCS does not support -mcaller-super-interworking"
29013 msgstr "AAPCS no admite -mcaller-super-interworking"
29014
29015-#: config/arm/arm.c:1812
29016+#: config/arm/arm.c:1816
29017 #, gcc-internal-format
29018 msgid "AAPCS does not support -mcallee-super-interworking"
29019 msgstr "AAPCS no admite -mcallee-super-interworking"
29020
29021-#: config/arm/arm.c:1819
29022+#: config/arm/arm.c:1823
29023 #, gcc-internal-format
29024 msgid "iWMMXt and hardware floating point"
29025 msgstr "coma flotante iWMMXt y de hardware"
29026
29027-#: config/arm/arm.c:1823
29028+#: config/arm/arm.c:1827
29029 #, gcc-internal-format
29030 msgid "Thumb-2 iWMMXt"
29031 msgstr "iWMMXt de Thumb-2"
29032
29033-#: config/arm/arm.c:1827
29034+#: config/arm/arm.c:1831
29035 #, gcc-internal-format
29036 msgid "__fp16 and no ldrh"
29037 msgstr "__fp16 sin ldrh"
29038
29039-#: config/arm/arm.c:1847
29040+#: config/arm/arm.c:1851
29041 #, gcc-internal-format
29042 msgid "-mfloat-abi=hard and VFP"
29043 msgstr "-mfloat-abi=hard y VFP"
29044
29045-#: config/arm/arm.c:1872
29046+#: config/arm/arm.c:1876
29047 #, gcc-internal-format
29048 msgid "can not use -mtp=cp15 with 16-bit Thumb"
29049 msgstr "no se puede usar -mtp=cp15 con Thumb de 16-bit"
29050
29051-#: config/arm/arm.c:1888
29052+#: config/arm/arm.c:1892
29053 #, gcc-internal-format
29054 msgid "structure size boundary can only be set to 8, 32 or 64"
29055 msgstr "el límite del tamaño de la estructura sólo se puede establecer a 8, 32 o 64"
29056
29057-#: config/arm/arm.c:1890
29058+#: config/arm/arm.c:1894
29059 #, gcc-internal-format
29060 msgid "structure size boundary can only be set to 8 or 32"
29061 msgstr "el límite del tamaño de la estructura sólo se puede establecer a 8 o 32"
29062
29063-#: config/arm/arm.c:1898
29064+#: config/arm/arm.c:1902
29065 #, gcc-internal-format
29066 msgid "RTP PIC is incompatible with Thumb"
29067 msgstr "El PIC de RTP es incompatible con Thumb"
29068
29069-#: config/arm/arm.c:1907
29070+#: config/arm/arm.c:1911
29071 #, gcc-internal-format
29072 msgid "RTP PIC is incompatible with -msingle-pic-base"
29073 msgstr "El PIC de RTP es incompatible con -msingle-pic-base"
29074
29075-#: config/arm/arm.c:1919
29076+#: config/arm/arm.c:1923
29077 #, gcc-internal-format
29078 msgid "-mpic-register= is useless without -fpic"
29079 msgstr "-mpic-register= es inútil sin -fpic"
29080
29081-#: config/arm/arm.c:1928
29082+#: config/arm/arm.c:1932
29083 #, gcc-internal-format, gfc-internal-format
29084 msgid "unable to use '%s' for PIC register"
29085 msgstr "no se puede usar '%s' para registro PIC"
29086
29087-#: config/arm/arm.c:1960
29088+#: config/arm/arm.c:1964
29089 #, gcc-internal-format
29090 msgid "target CPU does not support unaligned accesses"
29091 msgstr "el CPU objetivo no admite accesos sin alinear"
29092
29093-#: config/arm/arm.c:1984
29094+#: config/arm/arm.c:1988
29095 #, gcc-internal-format
29096 msgid "-freorder-blocks-and-partition not supported on this architecture"
29097 msgstr "no se admite -freorder-blocks-and-partition en esta arquitectura"
29098
29099-#: config/arm/arm.c:4036
29100+#: config/arm/arm.c:4040
29101 #, gcc-internal-format
29102 msgid "non-AAPCS derived PCS variant"
29103 msgstr "variante PCS derivada de un no AAPCS"
29104
29105-#: config/arm/arm.c:4038
29106+#: config/arm/arm.c:4042
29107 #, gcc-internal-format
29108 msgid "variadic functions must use the base AAPCS variant"
29109 msgstr "las funciones variadic debe usar la variante AAPCS base"
29110
29111-#: config/arm/arm.c:4057
29112+#: config/arm/arm.c:4061
29113 #, gcc-internal-format
29114 msgid "PCS variant"
29115 msgstr "variante PCS"
29116
29117-#: config/arm/arm.c:4252
29118+#: config/arm/arm.c:4256
29119 #, gcc-internal-format
29120 msgid "Thumb-1 hard-float VFP ABI"
29121 msgstr "ABI de VFP de coma flotante dura de Thumb-1"
29122
29123-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
29124-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
29125-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
29126-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
29127+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
29128+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
29129+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
29130+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
29131 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
29132 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
29133-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
29134-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
29135-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
29136+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
29137+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
29138+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
29139 #: config/v850/v850.c:2057
29140 #, gcc-internal-format
29141 msgid "%qE attribute only applies to functions"
29142 msgstr "el atributo %qE se aplica solamente a funciones"
29143
29144-#: config/arm/arm.c:18928
29145+#: config/arm/arm.c:18932
29146 #, gcc-internal-format
29147 msgid "unable to compute real location of stacked parameter"
29148 msgstr "no se puede calcular la ubicación real del parámetro apilado"
29149
29150-#: config/arm/arm.c:20667
29151+#: config/arm/arm.c:20679
29152 #, gcc-internal-format
29153 msgid "argument must be a constant"
29154 msgstr "el argumento debe ser una constante"
29155
29156 #. @@@ better error message
29157-#: config/arm/arm.c:21036 config/arm/arm.c:21073
29158+#: config/arm/arm.c:21049 config/arm/arm.c:21086
29159 #, gcc-internal-format
29160 msgid "selector must be an immediate"
29161 msgstr "el selector debe ser un inmediato"
29162
29163 #. @@@ better error message
29164-#: config/arm/arm.c:21116
29165+#: config/arm/arm.c:21129
29166 #, gcc-internal-format
29167 msgid "mask must be an immediate"
29168 msgstr "la máscara debe ser un inmediato"
29169
29170-#: config/arm/arm.c:21900
29171+#: config/arm/arm.c:21913
29172 #, gcc-internal-format
29173 msgid "no low registers available for popping high registers"
29174 msgstr "no hay registros inferiores disponibles para extraer registros superiores"
29175
29176-#: config/arm/arm.c:22125
29177+#: config/arm/arm.c:22138
29178 #, gcc-internal-format
29179 msgid "interrupt Service Routines cannot be coded in Thumb mode"
29180 msgstr "no se pueden codificar las Rutinas de Servicios de Interrupción en el modo Thumb"
29181
29182-#: config/arm/arm.c:24411
29183+#: config/arm/arm.c:24424
29184 #, gcc-internal-format
29185 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
29186 msgstr "la decodificación de %<va_list%> cambió en GCC 4.4"
29187@@ -23086,87 +23086,87 @@
29188 msgid "%qs appears to be a misspelled %s handler"
29189 msgstr "%qs parece ser un manejador %s mal escrito"
29190
29191-#: config/avr/avr.c:733
29192+#: config/avr/avr.c:743
29193 #, gcc-internal-format
29194 msgid "'builtin_return_address' contains only 2 bytes of address"
29195 msgstr "'builtin_return_address' sólo contiene 2 bytes de dirección"
29196
29197-#: config/avr/avr.c:1886
29198+#: config/avr/avr.c:1896
29199 #, gcc-internal-format
29200 msgid "pointer offset from symbol maybe incorrect"
29201 msgstr "el desplazamiento del puntero desde el símbolo tal vez es incorrecto"
29202
29203-#: config/avr/avr.c:2009
29204+#: config/avr/avr.c:2019
29205 #, gcc-internal-format
29206 msgid "accessing data memory with program memory address"
29207 msgstr "se accede a memoria de datos con dirección de memoria de programa"
29208
29209-#: config/avr/avr.c:2058
29210+#: config/avr/avr.c:2068
29211 #, gcc-internal-format
29212 msgid "accessing program memory with data memory address"
29213 msgstr "se accede a memoria de programa con dirección de memoria de datos"
29214
29215-#: config/avr/avr.c:2464
29216+#: config/avr/avr.c:2474
29217 #, gcc-internal-format, gfc-internal-format
29218 msgid "fixed register %s used to pass parameter to function"
29219 msgstr "se usó el registro fijo %s para pasar un parámetro a la función"
29220
29221-#: config/avr/avr.c:2586
29222+#: config/avr/avr.c:2596
29223 #, gcc-internal-format
29224 msgid "writing to address space %qs not supported"
29225 msgstr "no se admite escribir al espacio de direcciones %qs"
29226
29227-#: config/avr/avr.c:6977
29228+#: config/avr/avr.c:6987
29229 #, gcc-internal-format
29230 msgid "%qT uses address space %qs beyond flash of %qs"
29231 msgstr "%qT usa el espacio de direcciones %qs más allá del destello de %qs"
29232
29233-#: config/avr/avr.c:6980
29234+#: config/avr/avr.c:6990
29235 #, gcc-internal-format
29236 msgid "%s %q+D uses address space %qs beyond flash of %qs"
29237 msgstr "%s %q+D usa el espacio de direcciones %qs más allá del destello de %qs"
29238
29239-#: config/avr/avr.c:6987
29240+#: config/avr/avr.c:6997
29241 #, gcc-internal-format
29242 msgid "pointer targeting address space %qs must be const in %qT"
29243 msgstr "el espacio de direcciones %qs que apuntan a punteros debe ser const en %qT"
29244
29245-#: config/avr/avr.c:6990
29246+#: config/avr/avr.c:7000
29247 #, gcc-internal-format
29248 msgid "pointer targeting address space %qs must be const in %s %q+D"
29249 msgstr "el espacio de direcciones %qs que apuntan a punteros debe ser const en %s %q+D"
29250
29251-#: config/avr/avr.c:7028
29252+#: config/avr/avr.c:7038
29253 #, gcc-internal-format
29254 msgid "variable %q+D located in address space %qs beyond flash of %qs"
29255 msgstr "la variable %q+D se ubica en el espacio de direcciones %qs más allá del destello de %qs"
29256
29257-#: config/avr/avr.c:7044
29258+#: config/avr/avr.c:7054
29259 #, gcc-internal-format
29260 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
29261 msgstr "la variable %q+D debe ser const para que se ponga en la sección de sólo lectura a través de %qs"
29262
29263-#: config/avr/avr.c:7258
29264+#: config/avr/avr.c:7268
29265 #, gcc-internal-format
29266 msgid "only uninitialized variables can be placed in the .noinit section"
29267 msgstr "Sólo las variables sin inicializar se pueden colocar en la sección .noinit"
29268
29269-#: config/avr/avr.c:7299
29270+#: config/avr/avr.c:7309
29271 #, gcc-internal-format
29272 msgid "uninitialized variable %q+D put into program memory area"
29273 msgstr "se colocó la variable %q+D sin inicializar en el área de memoria del programa"
29274
29275-#: config/avr/avr.c:7366
29276+#: config/avr/avr.c:7376
29277 #, gcc-internal-format
29278 msgid "MCU %qs supported for assembler only"
29279 msgstr "MCU %qs sólo se admite para ensamblador"
29280
29281-#: config/avr/avr.c:10628
29282+#: config/avr/avr.c:10660
29283 #, gcc-internal-format, gfc-internal-format
29284 msgid "%s expects a compile time integer constant"
29285 msgstr "%s expera una constante entera en tiempo de compilación"
29286
29287-#: config/avr/avr.c:10642
29288+#: config/avr/avr.c:10674
29289 #, gcc-internal-format, gfc-internal-format
29290 msgid "%s expects a compile time long integer constant as first argument"
29291 msgstr "%s espera una constante entera long en tiempo de compilación como primer argumento"
29292@@ -23506,411 +23506,411 @@
29293 msgid "can%'t set position in PCH file: %m"
29294 msgstr "no se puede establecer la posición en el fichero PCH: %m"
29295
29296-#: config/i386/i386.c:3130 config/i386/i386.c:3434
29297+#: config/i386/i386.c:3135 config/i386/i386.c:3441
29298 #, gcc-internal-format, gfc-internal-format
29299 msgid "bad value (%s) for %stune=%s %s"
29300 msgstr "valor erróneo (%s) para %stune=%s %s"
29301
29302-#: config/i386/i386.c:3133
29303+#: config/i386/i386.c:3138
29304 #, gcc-internal-format, gfc-internal-format
29305 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
29306 msgstr "%stune=x86-64%s es obsoleto; use en su lugar %stune=k8%s o %stune=generic%s como sea adecuado"
29307
29308 #. rep; movq isn't available in 32-bit code.
29309-#: config/i386/i386.c:3163
29310+#: config/i386/i386.c:3168
29311 #, gcc-internal-format
29312 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
29313 msgstr "no se admite -mstringop-stategy=rep_8byte para código de 32-bit"
29314
29315-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
29316-#: config/i386/i386.c:3216 config/i386/i386.c:3227
29317+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
29318+#: config/i386/i386.c:3221 config/i386/i386.c:3232
29319 #, gcc-internal-format
29320 msgid "code model %qs not supported in the %s bit mode"
29321 msgstr "el modelo de código %qs no se admite en el modo de bit %s"
29322
29323-#: config/i386/i386.c:3196 config/i386/i386.c:3208
29324+#: config/i386/i386.c:3201 config/i386/i386.c:3213
29325 #, gcc-internal-format
29326 msgid "code model %qs not supported in x32 mode"
29327 msgstr "el modelo de código %qs no se admite en modo x32"
29328
29329-#: config/i386/i386.c:3214 config/i386/i386.c:3223
29330+#: config/i386/i386.c:3219 config/i386/i386.c:3228
29331 #, gcc-internal-format, gfc-internal-format
29332 msgid "code model %s does not support PIC mode"
29333 msgstr "el modelo de código %s no admite el modo PIC"
29334
29335-#: config/i386/i386.c:3250
29336+#: config/i386/i386.c:3255
29337 #, gcc-internal-format
29338 msgid "-masm=intel not supported in this configuration"
29339 msgstr "no se admite -masm=intel en esta configuración"
29340
29341-#: config/i386/i386.c:3254
29342+#: config/i386/i386.c:3259
29343 #, gcc-internal-format, gfc-internal-format
29344 msgid "%i-bit mode not compiled in"
29345 msgstr "no está compilado el modo bit-%i"
29346
29347-#: config/i386/i386.c:3266 config/i386/i386.c:3396
29348+#: config/i386/i386.c:3271 config/i386/i386.c:3403
29349 #, gcc-internal-format
29350 msgid "CPU you selected does not support x86-64 instruction set"
29351 msgstr "el CPU que seleccionó no admite el conjunto de instrucciones x86-64"
29352
29353-#: config/i386/i386.c:3366
29354+#: config/i386/i386.c:3373
29355 #, gcc-internal-format, gfc-internal-format
29356 msgid "generic CPU can be used only for %stune=%s %s"
29357 msgstr "el CPU generic sólo se puede usar para %stune=%s %s"
29358
29359-#: config/i386/i386.c:3369
29360+#: config/i386/i386.c:3376
29361 #, gcc-internal-format, gfc-internal-format
29362 msgid "bad value (%s) for %sarch=%s %s"
29363 msgstr "valor erróneo (%s) para %sarch=%s %s"
29364
29365-#: config/i386/i386.c:3482
29366+#: config/i386/i386.c:3489
29367 #, gcc-internal-format
29368 msgid "-mregparm is ignored in 64-bit mode"
29369 msgstr "se descarta -mregparm en modo de 64-bit"
29370
29371-#: config/i386/i386.c:3485
29372+#: config/i386/i386.c:3492
29373 #, gcc-internal-format, gfc-internal-format
29374 msgid "-mregparm=%d is not between 0 and %d"
29375 msgstr "-mregparm=%d no está entre 0 y %d"
29376
29377-#: config/i386/i386.c:3526
29378+#: config/i386/i386.c:3533
29379 #, gcc-internal-format, gfc-internal-format
29380 msgid "%srtd%s is ignored in 64bit mode"
29381 msgstr "se descarta %srtd%s en el modo de 64bit"
29382
29383-#: config/i386/i386.c:3590
29384+#: config/i386/i386.c:3597
29385 #, gcc-internal-format
29386 msgid "-mpreferred-stack-boundary is not supported for this target"
29387 msgstr "no se admite -mpreferred-stack-boundary en este objetivo"
29388
29389-#: config/i386/i386.c:3593
29390+#: config/i386/i386.c:3600
29391 #, gcc-internal-format, gfc-internal-format
29392 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
29393 msgstr "-mpreferred-stack-boundary=%d no está entre %d y %d"
29394
29395-#: config/i386/i386.c:3614
29396+#: config/i386/i386.c:3621
29397 #, gcc-internal-format, gfc-internal-format
29398 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
29399 msgstr "-mincoming-stack-boundary=%d no está entre %d y 12"
29400
29401-#: config/i386/i386.c:3628
29402+#: config/i386/i386.c:3635
29403 #, gcc-internal-format, gfc-internal-format
29404 msgid "%ssseregparm%s used without SSE enabled"
29405 msgstr "se usó %ssseregparm%s sin SSE activado"
29406
29407-#: config/i386/i386.c:3636
29408+#: config/i386/i386.c:3643
29409 #, gcc-internal-format
29410 msgid "SSE instruction set disabled, using 387 arithmetics"
29411 msgstr "el conjunto de instrucciones SSE está desactivado, usando la aritmética 387"
29412
29413-#: config/i386/i386.c:3641
29414+#: config/i386/i386.c:3648
29415 #, gcc-internal-format
29416 msgid "387 instruction set disabled, using SSE arithmetics"
29417 msgstr "el conjunto de instrucciones 387 está desactivado, usando la aritmética SSE"
29418
29419-#: config/i386/i386.c:3685
29420+#: config/i386/i386.c:3692
29421 #, gcc-internal-format, gfc-internal-format
29422 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
29423 msgstr "actualmente las tablas de desenredo requieren un puntero de marco o %saccumulate-outgoing-args%s para ser correctas"
29424
29425-#: config/i386/i386.c:3698
29426+#: config/i386/i386.c:3705
29427 #, gcc-internal-format, gfc-internal-format
29428 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
29429 msgstr "actualmente la prueba de pila requiere un puntero de marco o %saccumulate-outgoing-args%s para ser correctas"
29430
29431-#: config/i386/i386.c:3779
29432+#: config/i386/i386.c:3786
29433 #, gcc-internal-format
29434 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
29435 msgstr "-mfentry no se admite para 32-bit en combinación con -fpic"
29436
29437-#: config/i386/i386.c:3786
29438+#: config/i386/i386.c:3793
29439 #, gcc-internal-format
29440 msgid "-mno-fentry isn%'t compatible with SEH"
29441 msgstr "-mno-fentry no es compatible con SEH"
29442
29443-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
29444+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
29445 #, gcc-internal-format, gfc-internal-format
29446 msgid "unknown option for -mrecip=%s"
29447 msgstr "opción desconocida para -mrecip=%s"
29448
29449-#: config/i386/i386.c:4271 config/i386/i386.c:4318
29450+#: config/i386/i386.c:4278 config/i386/i386.c:4325
29451 #, gcc-internal-format, gfc-internal-format
29452 msgid "attribute(target(\"%s\")) is unknown"
29453 msgstr "se desconoce attribute(target(\"%s\"))"
29454
29455-#: config/i386/i386.c:4299
29456+#: config/i386/i386.c:4306
29457 #, gcc-internal-format, gfc-internal-format
29458 msgid "option(\"%s\") was already specified"
29459 msgstr "ya se había especificado option(\"%s\")"
29460
29461-#: config/i386/i386.c:4907 config/i386/i386.c:4958
29462+#: config/i386/i386.c:4914 config/i386/i386.c:4965
29463 #, gcc-internal-format
29464 msgid "fastcall and regparm attributes are not compatible"
29465 msgstr "los atributos fastcall y regparm no son compatibles"
29466
29467-#: config/i386/i386.c:4912
29468+#: config/i386/i386.c:4919
29469 #, gcc-internal-format
29470 msgid "regparam and thiscall attributes are not compatible"
29471 msgstr "los atributos regparam y thiscall no son compatibles"
29472
29473-#: config/i386/i386.c:4919 config/i386/i386.c:31819
29474+#: config/i386/i386.c:4926 config/i386/i386.c:31949
29475 #, gcc-internal-format
29476 msgid "%qE attribute requires an integer constant argument"
29477 msgstr "el atributo %qE requiere un argumento constante entero"
29478
29479-#: config/i386/i386.c:4925
29480+#: config/i386/i386.c:4932
29481 #, gcc-internal-format
29482 msgid "argument to %qE attribute larger than %d"
29483 msgstr "el argumento para el atributo %qE es más grande que %d"
29484
29485-#: config/i386/i386.c:4950 config/i386/i386.c:4993
29486+#: config/i386/i386.c:4957 config/i386/i386.c:5000
29487 #, gcc-internal-format
29488 msgid "fastcall and cdecl attributes are not compatible"
29489 msgstr "los atributos fastcall y cdecl no son compatibles"
29490
29491-#: config/i386/i386.c:4954
29492+#: config/i386/i386.c:4961
29493 #, gcc-internal-format
29494 msgid "fastcall and stdcall attributes are not compatible"
29495 msgstr "los atributos fastcall y stdcall no son compatibles"
29496
29497-#: config/i386/i386.c:4962 config/i386/i386.c:5011
29498+#: config/i386/i386.c:4969 config/i386/i386.c:5018
29499 #, gcc-internal-format
29500 msgid "fastcall and thiscall attributes are not compatible"
29501 msgstr "los atributos fastcall y thiscall no son compatibles"
29502
29503-#: config/i386/i386.c:4972 config/i386/i386.c:4989
29504+#: config/i386/i386.c:4979 config/i386/i386.c:4996
29505 #, gcc-internal-format
29506 msgid "stdcall and cdecl attributes are not compatible"
29507 msgstr "los atributos stdcall y cdecl no son compatibles"
29508
29509-#: config/i386/i386.c:4976
29510+#: config/i386/i386.c:4983
29511 #, gcc-internal-format
29512 msgid "stdcall and fastcall attributes are not compatible"
29513 msgstr "los atributos stdcall y fastcall no son compatibles"
29514
29515-#: config/i386/i386.c:4980 config/i386/i386.c:5007
29516+#: config/i386/i386.c:4987 config/i386/i386.c:5014
29517 #, gcc-internal-format
29518 msgid "stdcall and thiscall attributes are not compatible"
29519 msgstr "los atributos stdcall y thiscall no son compatibles"
29520
29521-#: config/i386/i386.c:4997 config/i386/i386.c:5015
29522+#: config/i386/i386.c:5004 config/i386/i386.c:5022
29523 #, gcc-internal-format
29524 msgid "cdecl and thiscall attributes are not compatible"
29525 msgstr "los atributos cdecl y thiscall no son compatibles"
29526
29527-#: config/i386/i386.c:5003
29528+#: config/i386/i386.c:5010
29529 #, gcc-internal-format
29530 msgid "%qE attribute is used for none class-method"
29531 msgstr "se usó el atributo %qE para clases-métodos none"
29532
29533-#: config/i386/i386.c:5229
29534+#: config/i386/i386.c:5236
29535 #, gcc-internal-format
29536 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
29537 msgstr "se llama a %qD con el atributo sseregparm sin activar SSE/SSE2"
29538
29539-#: config/i386/i386.c:5232
29540+#: config/i386/i386.c:5239
29541 #, gcc-internal-format
29542 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
29543 msgstr "se llama a %qT con el atributo sseregparm sin activar SSE/SSE2"
29544
29545-#: config/i386/i386.c:5447
29546+#: config/i386/i386.c:5454
29547 #, gcc-internal-format
29548 msgid "ms_hook_prologue is not compatible with nested function"
29549 msgstr "ms_hook_prologue no es compatible con la función anidada"
29550
29551-#: config/i386/i386.c:5599
29552+#: config/i386/i386.c:5606
29553 #, gcc-internal-format
29554 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
29555 msgstr "el atributo ms_abi requiere -maccumulate-outgoing-args o que la optimización de subobjetivo lo implique"
29556
29557-#: config/i386/i386.c:5723
29558+#: config/i386/i386.c:5730
29559 #, gcc-internal-format
29560 msgid "AVX vector argument without AVX enabled changes the ABI"
29561 msgstr "el argumento de vector AVX sin AVX activado cambia la ABI"
29562
29563-#: config/i386/i386.c:5905
29564+#: config/i386/i386.c:5912
29565 #, gcc-internal-format
29566 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
29567 msgstr "la ABI para pasar un struct con un miembro de matriz flexible cambió en GCC 4.4"
29568
29569-#: config/i386/i386.c:6021
29570+#: config/i386/i386.c:6028
29571 #, gcc-internal-format
29572 msgid "the ABI of passing union with long double has changed in GCC 4.4"
29573 msgstr "la ABI para pasar un union con long double cambió en GCC 4.4"
29574
29575-#: config/i386/i386.c:6136
29576+#: config/i386/i386.c:6143
29577 #, gcc-internal-format
29578 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
29579 msgstr "la ABI para pasar una estructura con un miembro de coma flotante compleja cambió en GCC 4.4"
29580
29581-#: config/i386/i386.c:6282
29582+#: config/i386/i386.c:6289
29583 #, gcc-internal-format
29584 msgid "SSE register return with SSE disabled"
29585 msgstr "se devuelve el registro SSE con SSE desactivado"
29586
29587-#: config/i386/i386.c:6288
29588+#: config/i386/i386.c:6295
29589 #, gcc-internal-format
29590 msgid "SSE register argument with SSE disabled"
29591 msgstr "argumento de registro SSE con SSE desactivado"
29592
29593-#: config/i386/i386.c:6304
29594+#: config/i386/i386.c:6311
29595 #, gcc-internal-format
29596 msgid "x87 register return with x87 disabled"
29597 msgstr "se devuelve el registro x87 con x87 desactivado"
29598
29599-#: config/i386/i386.c:6683
29600+#: config/i386/i386.c:6690
29601 #, gcc-internal-format
29602 msgid "SSE vector argument without SSE enabled changes the ABI"
29603 msgstr "el argumento de vector SSE sin SSE activado cambia la ABI"
29604
29605-#: config/i386/i386.c:6721
29606+#: config/i386/i386.c:6728
29607 #, gcc-internal-format
29608 msgid "MMX vector argument without MMX enabled changes the ABI"
29609 msgstr "el argumento de vector MMX sin MMX activado cambia la ABI"
29610
29611-#: config/i386/i386.c:7096
29612+#: config/i386/i386.c:7103
29613 #, gcc-internal-format, gfc-internal-format
29614 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
29615 msgstr "La ABI para pasar parámetros con alineación de %d-bytes cambió en GCC 4.6"
29616
29617-#: config/i386/i386.c:7432
29618+#: config/i386/i386.c:7439
29619 #, gcc-internal-format
29620 msgid "SSE vector return without SSE enabled changes the ABI"
29621 msgstr "la devolución de vector SSE sin SSE activado cambia la ABI"
29622
29623-#: config/i386/i386.c:7442
29624+#: config/i386/i386.c:7449
29625 #, gcc-internal-format
29626 msgid "MMX vector return without MMX enabled changes the ABI"
29627 msgstr "la devolución de vector MMX sin MMX activado cambia la ABI"
29628
29629-#: config/i386/i386.c:10028
29630+#: config/i386/i386.c:10049
29631 #, gcc-internal-format
29632 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
29633 msgstr "el atributo ms_hook_prologue no es compatible con -mfentry para 32-bit"
29634
29635-#: config/i386/i386.c:11025
29636+#: config/i386/i386.c:11084
29637 #, gcc-internal-format
29638 msgid "-fsplit-stack does not support fastcall with nested function"
29639 msgstr "-fsplit-stack no admite fastcall con funciones anidadas"
29640
29641-#: config/i386/i386.c:11039
29642+#: config/i386/i386.c:11098
29643 #, gcc-internal-format
29644 msgid "-fsplit-stack does not support 2 register parameters for a nested function"
29645 msgstr "-fsplit-stack no admite 2 parámetros de registro para una función anidada"
29646
29647 #. FIXME: We could make this work by pushing a register
29648 #. around the addition and comparison.
29649-#: config/i386/i386.c:11050
29650+#: config/i386/i386.c:11109
29651 #, gcc-internal-format
29652 msgid "-fsplit-stack does not support 3 register parameters"
29653 msgstr "-fsplit-stack no admite 3 parámetros de registro"
29654
29655-#: config/i386/i386.c:13637
29656+#: config/i386/i386.c:13731
29657 #, gcc-internal-format
29658 msgid "extended registers have no high halves"
29659 msgstr "los registros extendidos no tiene mitades superiores"
29660
29661-#: config/i386/i386.c:13652
29662+#: config/i386/i386.c:13746
29663 #, gcc-internal-format
29664 msgid "unsupported operand size for extended register"
29665 msgstr "no se admite el tamaño de operando para el registro extendido"
29666
29667-#: config/i386/i386.c:13899
29668+#: config/i386/i386.c:14001
29669 #, gcc-internal-format, gfc-internal-format
29670 msgid "non-integer operand used with operand code '%c'"
29671 msgstr "se usó un operando que no es entero con el código de operando '%c'"
29672
29673-#: config/i386/i386.c:27790 config/i386/i386.c:28727
29674+#: config/i386/i386.c:27920 config/i386/i386.c:28857
29675 #, gcc-internal-format
29676 msgid "the last argument must be a 2-bit immediate"
29677 msgstr "el tercer argumento debe ser un inmediato de 2-bit"
29678
29679-#: config/i386/i386.c:28196
29680+#: config/i386/i386.c:28326
29681 #, gcc-internal-format
29682 msgid "the fifth argument must be an 8-bit immediate"
29683 msgstr "el quinto argumento debe ser un inmediato de 8-bit"
29684
29685-#: config/i386/i386.c:28291
29686+#: config/i386/i386.c:28421
29687 #, gcc-internal-format
29688 msgid "the third argument must be an 8-bit immediate"
29689 msgstr "el tercer argumento debe ser un inmediato de 8-bit"
29690
29691-#: config/i386/i386.c:28699
29692+#: config/i386/i386.c:28829
29693 #, gcc-internal-format
29694 msgid "the last argument must be an 1-bit immediate"
29695 msgstr "el último argumento debe ser un inmediato de 1-bit"
29696
29697-#: config/i386/i386.c:28718
29698+#: config/i386/i386.c:28848
29699 #, gcc-internal-format
29700 msgid "the last argument must be a 4-bit immediate"
29701 msgstr "el último argumento debe ser un inmediato de 4-bit"
29702
29703-#: config/i386/i386.c:28736
29704+#: config/i386/i386.c:28866
29705 #, gcc-internal-format
29706 msgid "the last argument must be a 1-bit immediate"
29707 msgstr "el último argumento debe ser un inmediato de 1-bit"
29708
29709-#: config/i386/i386.c:28745
29710+#: config/i386/i386.c:28875
29711 #, gcc-internal-format
29712 msgid "the last argument must be a 5-bit immediate"
29713 msgstr "el tercer argumento debe ser un inmediato de 5-bit"
29714
29715-#: config/i386/i386.c:28754
29716+#: config/i386/i386.c:28884
29717 #, gcc-internal-format
29718 msgid "the next to last argument must be an 8-bit immediate"
29719 msgstr "el penúltimo argumento debe ser un inmediato de 8-bit"
29720
29721-#: config/i386/i386.c:28758 config/i386/i386.c:28982
29722+#: config/i386/i386.c:28888 config/i386/i386.c:29112
29723 #, gcc-internal-format
29724 msgid "the last argument must be an 8-bit immediate"
29725 msgstr "el último argumento debe ser un inmediato de 8-bit"
29726
29727-#: config/i386/i386.c:28980
29728+#: config/i386/i386.c:29110
29729 #, gcc-internal-format
29730 msgid "the last argument must be a 32-bit immediate"
29731 msgstr "el último argumento debe ser un inmediato de 32-bit"
29732
29733-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
29734+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
29735 #, gcc-internal-format
29736 msgid "selector must be an integer constant in the range 0..%wi"
29737 msgstr "el selector debe ser una constante entera en el rango 0..%wi"
29738
29739-#: config/i386/i386.c:29191
29740+#: config/i386/i386.c:29321
29741 #, gcc-internal-format
29742 msgid "%qE needs unknown isa option"
29743 msgstr "%qE necesita la opción isa desconocida"
29744
29745-#: config/i386/i386.c:29195
29746+#: config/i386/i386.c:29325
29747 #, gcc-internal-format
29748 msgid "%qE needs isa option %s"
29749 msgstr "%qE necesita la opción isa %s"
29750
29751-#: config/i386/i386.c:29366
29752+#: config/i386/i386.c:29496
29753 #, gcc-internal-format
29754 msgid "last argument must be an immediate"
29755 msgstr "el último argumento debe ser un inmediato"
29756
29757-#: config/i386/i386.c:29560
29758+#: config/i386/i386.c:29690
29759 #, gcc-internal-format
29760 msgid "last argument must be scale 1, 2, 4, 8"
29761 msgstr "el argumento izquierdo debe ser un escalar 1, 2, 4, 8"
29762
29763-#: config/i386/i386.c:31806
29764+#: config/i386/i386.c:31936
29765 #, gcc-internal-format
29766 msgid "%qE attribute only available for 32-bit"
29767 msgstr "el atributo %qE solamente está disponible para 64-bit"
29768
29769-#: config/i386/i386.c:31827
29770+#: config/i386/i386.c:31957
29771 #, gcc-internal-format
29772 msgid "argument to %qE attribute is neither zero, nor one"
29773 msgstr "el argumento del atributo %qE no es cero ni uno"
29774
29775-#: config/i386/i386.c:31861 config/i386/i386.c:31870
29776+#: config/i386/i386.c:31991 config/i386/i386.c:32000
29777 #, gcc-internal-format
29778 msgid "ms_abi and sysv_abi attributes are not compatible"
29779 msgstr "los atributos ms_abi y sysv_abi no son compatibles"
29780
29781-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
29782+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
29783 #, gcc-internal-format
29784 msgid "%qE incompatible attribute ignored"
29785 msgstr "se descarta el atributo incompatible %qE"
29786@@ -23980,13 +23980,13 @@
29787 msgid "%qE attribute requires a string constant argument"
29788 msgstr "el atributo %qE requiere una constante entera como argumento"
29789
29790-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
29791+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
29792 #: config/spu/spu.c:5187
29793 #, gcc-internal-format
29794 msgid "value of -mfixed-range must have form REG1-REG2"
29795 msgstr "el valor de -mfixed-range debe ser de la forma REG1-REG2"
29796
29797-#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8776
29798+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
29799 #: config/spu/spu.c:5213
29800 #, gcc-internal-format, gfc-internal-format
29801 msgid "%s-%s is an empty range"
29802@@ -24058,7 +24058,7 @@
29803 msgstr "no se admite el atributo %qE para el objetivo R8C"
29804
29805 #. The argument must be a constant integer.
29806-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
29807+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
29808 #, gcc-internal-format
29809 msgid "%qE attribute argument not an integer constant"
29810 msgstr "el argumento del atributo %qE no es una constante entera"
29811@@ -24113,7 +24113,7 @@
29812 msgid "interrupt_thread is available only on fido"
29813 msgstr "interrupt_thread sólo está disponible en fido"
29814
29815-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
29816+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
29817 #, gcc-internal-format
29818 msgid "stack limit expression is not supported"
29819 msgstr "no se admite la expresión del límite de la pila"
29820@@ -24456,62 +24456,62 @@
29821 msgid "%qs does not support MIPS16 code"
29822 msgstr "%qs no admite código MIPS16"
29823
29824-#: config/mips/mips.c:15623
29825+#: config/mips/mips.c:15629
29826 #, gcc-internal-format
29827 msgid "MIPS16 PIC for ABIs other than o32 and o64"
29828 msgstr "PIC MIPS16 para ABIs diferentes de o32 y o64"
29829
29830-#: config/mips/mips.c:15626
29831+#: config/mips/mips.c:15632
29832 #, gcc-internal-format
29833 msgid "MIPS16 -mxgot code"
29834 msgstr "código MIPS16 -mxgot"
29835
29836-#: config/mips/mips.c:15629
29837+#: config/mips/mips.c:15635
29838 #, gcc-internal-format
29839 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
29840 msgstr "código MIPS16 de coma flotante hard para ABIs diferentes de o32 y o64"
29841
29842-#: config/mips/mips.c:15818
29843+#: config/mips/mips.c:15824
29844 #, gcc-internal-format
29845 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
29846 msgstr "%<-%s%> genera un conflicto con las otras opciones de la arquitectura, las cuales especifican un procesador %s"
29847
29848-#: config/mips/mips.c:15828
29849+#: config/mips/mips.c:15834
29850 #, gcc-internal-format
29851 msgid "%<-march=%s%> is not compatible with the selected ABI"
29852 msgstr "%<-march=%s%> no es compatible con la ABI seleccionada"
29853
29854-#: config/mips/mips.c:15843
29855+#: config/mips/mips.c:15849
29856 #, gcc-internal-format
29857 msgid "%<-mgp64%> used with a 32-bit processor"
29858 msgstr "se utiliza %<-mgp64%> con un procesador de 32-bit"
29859
29860-#: config/mips/mips.c:15845
29861+#: config/mips/mips.c:15851
29862 #, gcc-internal-format
29863 msgid "%<-mgp32%> used with a 64-bit ABI"
29864 msgstr "se utiliza %<-mgp32%> con una ABI de 64-bit"
29865
29866-#: config/mips/mips.c:15847
29867+#: config/mips/mips.c:15853
29868 #, gcc-internal-format
29869 msgid "%<-mgp64%> used with a 32-bit ABI"
29870 msgstr "se utiliza %<-mgp64%> con una ABI de 32-bit"
29871
29872-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
29873+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
29874 #, gcc-internal-format, gfc-internal-format
29875 msgid "unsupported combination: %s"
29876 msgstr "no se admite la combinación: %s"
29877
29878-#: config/mips/mips.c:15869
29879+#: config/mips/mips.c:15875
29880 #, gcc-internal-format
29881 msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
29882 msgstr "%<-mgp32%> y %<-mfp64%> sólo se pueden combinar si el objetivo admite las instrucciones mfhc1 y mthc1"
29883
29884-#: config/mips/mips.c:15872
29885+#: config/mips/mips.c:15878
29886 #, gcc-internal-format
29887 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
29888 msgstr "%<-mgp32%> y %<-mfp64%> sólo se pueden combinar al usar la ABI o32"
29889
29890-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
29891+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
29892 #, gcc-internal-format
29893 msgid "%qs is incompatible with %qs"
29894 msgstr "%qs es incompatible con %qs"
29895@@ -24521,57 +24521,57 @@
29896 #. effort to support the combination of 32-bit GOT entries
29897 #. and 64-bit pointers, so we treat the abicalls case as
29898 #. an error.
29899-#: config/mips/mips.c:15904
29900+#: config/mips/mips.c:15910
29901 #, gcc-internal-format
29902 msgid "the combination of %qs and %qs is incompatible with %qs"
29903 msgstr "la combinacion de %qs y %qs es incompatible con %qs"
29904
29905-#: config/mips/mips.c:15950
29906+#: config/mips/mips.c:15956
29907 #, gcc-internal-format
29908 msgid "the %qs architecture does not support branch-likely instructions"
29909 msgstr "la arquitectura %qs no admite las instrucciones con probabilidad de ramificación"
29910
29911-#: config/mips/mips.c:15990
29912+#: config/mips/mips.c:15996
29913 #, gcc-internal-format
29914 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
29915 msgstr "%<-mno-gpopt%> necesita %<-mexplicit-relocs%>"
29916
29917-#: config/mips/mips.c:15998 config/mips/mips.c:16001
29918+#: config/mips/mips.c:16004 config/mips/mips.c:16007
29919 #, gcc-internal-format
29920 msgid "cannot use small-data accesses for %qs"
29921 msgstr "no se pueden usar accesos de data small para %qs"
29922
29923-#: config/mips/mips.c:16015
29924+#: config/mips/mips.c:16021
29925 #, gcc-internal-format
29926 msgid "%<-mips3d%> requires %<-mpaired-single%>"
29927 msgstr "%<-mips3d%> requiere %<-mpaired-single%>"
29928
29929-#: config/mips/mips.c:16024
29930+#: config/mips/mips.c:16030
29931 #, gcc-internal-format
29932 msgid "%qs must be used with %qs"
29933 msgstr "%qs se debe usar con %qs"
29934
29935-#: config/mips/mips.c:16031
29936+#: config/mips/mips.c:16037
29937 #, gcc-internal-format
29938 msgid "the %qs architecture does not support paired-single instructions"
29939 msgstr "la arquitectura %qs no admite las instrucciones par-sencillo"
29940
29941-#: config/mips/mips.c:16037
29942+#: config/mips/mips.c:16043
29943 #, gcc-internal-format
29944 msgid "%qs requires a target that provides the %qs instruction"
29945 msgstr "%qs requiere un objetivo que provea la instrucción %qs"
29946
29947-#: config/mips/mips.c:16142
29948+#: config/mips/mips.c:16148
29949 #, gcc-internal-format
29950 msgid "%qs requires branch-likely instructions"
29951 msgstr "%qs requiere instrucciones con probabilidad de ramificación"
29952
29953-#: config/mips/mips.c:16146
29954+#: config/mips/mips.c:16152
29955 #, gcc-internal-format
29956 msgid "the %qs architecture does not support the synci instruction"
29957 msgstr "la arquitectura %qs no admite la instrucción synci"
29958
29959-#: config/mips/mips.c:16596
29960+#: config/mips/mips.c:16602
29961 #, gcc-internal-format
29962 msgid "mips16 function profiling"
29963 msgstr "análisis de perfil de las funciones mips16"
29964@@ -24852,308 +24852,308 @@
29965 msgid "invalid parameter combination for AltiVec intrinsic"
29966 msgstr "combinación de parámetros inválida para el intrínseco AltiVec"
29967
29968-#: config/rs6000/rs6000.c:2436
29969+#: config/rs6000/rs6000.c:2435
29970 #, gcc-internal-format
29971 msgid "-mrecip requires -ffinite-math or -ffast-math"
29972 msgstr "-recip requiere -ffinite-math o -ffast-math"
29973
29974-#: config/rs6000/rs6000.c:2438
29975+#: config/rs6000/rs6000.c:2437
29976 #, gcc-internal-format
29977 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
29978 msgstr "-mrecip requiere -fno-trapping-math o -ffast-math"
29979
29980-#: config/rs6000/rs6000.c:2440
29981+#: config/rs6000/rs6000.c:2439
29982 #, gcc-internal-format
29983 msgid "-mrecip requires -freciprocal-math or -ffast-math"
29984 msgstr "-mrecip requiere -freciprocal-math o -ffast-math"
29985
29986-#: config/rs6000/rs6000.c:2535
29987+#: config/rs6000/rs6000.c:2534
29988 #, gcc-internal-format
29989 msgid "-m64 requires PowerPC64 architecture, enabling"
29990 msgstr "-m64 requiere la arquitectura PowerPC64, activando"
29991
29992-#: config/rs6000/rs6000.c:2616
29993+#: config/rs6000/rs6000.c:2615
29994 #, gcc-internal-format
29995 msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
29996 msgstr "no se admite -malign-power para Darwin de 64-bit; es incompatible con las bibliotecas C y C++ instaladas"
29997
29998-#: config/rs6000/rs6000.c:2622
29999+#: config/rs6000/rs6000.c:2621
30000 #, gcc-internal-format
30001 msgid "not configured for SPE ABI"
30002 msgstr "no se configuró para ABI SPE"
30003
30004-#: config/rs6000/rs6000.c:2710
30005+#: config/rs6000/rs6000.c:2709
30006 #, gcc-internal-format
30007 msgid "AltiVec not supported in this target"
30008 msgstr "no se admite AltiVec en este objetivo"
30009
30010-#: config/rs6000/rs6000.c:2712
30011+#: config/rs6000/rs6000.c:2711
30012 #, gcc-internal-format
30013 msgid "SPE not supported in this target"
30014 msgstr "no se admite SPE en este objetivo"
30015
30016-#: config/rs6000/rs6000.c:2739
30017+#: config/rs6000/rs6000.c:2738
30018 #, gcc-internal-format
30019 msgid "-mmultiple is not supported on little endian systems"
30020 msgstr "no se admite -mmultiple en sistemas little endian"
30021
30022-#: config/rs6000/rs6000.c:2746
30023+#: config/rs6000/rs6000.c:2745
30024 #, gcc-internal-format
30025 msgid "-mstring is not supported on little endian systems"
30026 msgstr "no se admite -mstring en sistemas little endian"
30027
30028-#: config/rs6000/rs6000.c:2852
30029+#: config/rs6000/rs6000.c:2851
30030 #, gcc-internal-format, gfc-internal-format
30031 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
30032 msgstr "tipo de ABI de biblioteca de vectorización desconocida (%s) para la opción -mveclibabi="
30033
30034-#: config/rs6000/rs6000.c:2864
30035+#: config/rs6000/rs6000.c:2863
30036 #, gcc-internal-format
30037 msgid "target attribute or pragma changes long double size"
30038 msgstr "el atributo o pragma target cambia el tamaño de double long"
30039
30040-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
30041+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
30042 #, gcc-internal-format
30043 msgid "target attribute or pragma changes AltiVec ABI"
30044 msgstr "el atributo o pragma target cambia la ABI Altivec"
30045
30046-#: config/rs6000/rs6000.c:2917
30047+#: config/rs6000/rs6000.c:2916
30048 #, gcc-internal-format
30049 msgid "target attribute or pragma changes darwin64 ABI"
30050 msgstr "el atributo o pragma target cambia la ABI darwin64"
30051
30052-#: config/rs6000/rs6000.c:2958
30053+#: config/rs6000/rs6000.c:2957
30054 #, gcc-internal-format
30055 msgid "target attribute or pragma changes SPE ABI"
30056 msgstr "el atributo o pragma target cabia la ABI SPE"
30057
30058-#: config/rs6000/rs6000.c:3281
30059+#: config/rs6000/rs6000.c:3280
30060 #, gcc-internal-format
30061 msgid "target attribute or pragma changes single precision floating point"
30062 msgstr "el atributo o pragma target cambia la coma flotante de precisión sencilla"
30063
30064-#: config/rs6000/rs6000.c:3284
30065+#: config/rs6000/rs6000.c:3283
30066 #, gcc-internal-format
30067 msgid "target attribute or pragma changes double precision floating point"
30068 msgstr "el atributo o pragma target cambia la coma flotante de precisión doble"
30069
30070-#: config/rs6000/rs6000.c:7420
30071+#: config/rs6000/rs6000.c:7419
30072 #, gcc-internal-format
30073 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
30074 msgstr "Se devolvió un vector GCC por referencia: extensión de ABI no estándar sin garantía de compatibilidad"
30075
30076-#: config/rs6000/rs6000.c:7561
30077+#: config/rs6000/rs6000.c:7560
30078 #, gcc-internal-format
30079 msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
30080 msgstr "no se puede devolver un valor en el registro vector porque las instrucciones altivec están desactivadas, use -maltivec para activarlas"
30081
30082-#: config/rs6000/rs6000.c:7904
30083+#: config/rs6000/rs6000.c:7903
30084 #, gcc-internal-format
30085 msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
30086 msgstr "no se puede pasar argumentos en el registro vector porque las instrucciones altivec están desactivadas, use -maltivec para activarlas"
30087
30088-#: config/rs6000/rs6000.c:8830
30089+#: config/rs6000/rs6000.c:8829
30090 #, gcc-internal-format
30091 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
30092 msgstr "vector GCC pasado por referencia: extensión ABI que no es estándar sin garantía de compatibilidad"
30093
30094-#: config/rs6000/rs6000.c:9459
30095+#: config/rs6000/rs6000.c:9458
30096 #, gcc-internal-format, gfc-internal-format
30097 msgid "internal error: builtin function %s already processed"
30098 msgstr "error interno: la función interna %s ya se procesó"
30099
30100-#: config/rs6000/rs6000.c:9832
30101+#: config/rs6000/rs6000.c:9831
30102 #, gcc-internal-format
30103 msgid "argument 1 must be a 5-bit signed literal"
30104 msgstr "el argumento 1 debe ser una literal con signo de 5-bit"
30105
30106-#: config/rs6000/rs6000.c:9935 config/rs6000/rs6000.c:10952
30107+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
30108 #, gcc-internal-format
30109 msgid "argument 2 must be a 5-bit unsigned literal"
30110 msgstr "el argumento 2 debe ser una literal sin signo de 5-bit"
30111
30112-#: config/rs6000/rs6000.c:9974
30113+#: config/rs6000/rs6000.c:9973
30114 #, gcc-internal-format
30115 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
30116 msgstr "el argumento 1 de __builtin_altivec_predicate debe ser una constante"
30117
30118-#: config/rs6000/rs6000.c:10026
30119+#: config/rs6000/rs6000.c:10025
30120 #, gcc-internal-format
30121 msgid "argument 1 of __builtin_altivec_predicate is out of range"
30122 msgstr "el argumento 1 de __builtin_altivec_predicate está fuera de rango"
30123
30124-#: config/rs6000/rs6000.c:10283
30125+#: config/rs6000/rs6000.c:10282
30126 #, gcc-internal-format
30127 msgid "argument 3 must be a 4-bit unsigned literal"
30128 msgstr "el argumento 3 debe ser una literal sin signo de 4-bit"
30129
30130-#: config/rs6000/rs6000.c:10301
30131+#: config/rs6000/rs6000.c:10300
30132 #, gcc-internal-format
30133 msgid "argument 3 must be a 2-bit unsigned literal"
30134 msgstr "el argumento 3 debe ser una literal sin signo de 2-bit"
30135
30136-#: config/rs6000/rs6000.c:10313
30137+#: config/rs6000/rs6000.c:10312
30138 #, gcc-internal-format
30139 msgid "argument 3 must be a 1-bit unsigned literal"
30140 msgstr "el argumento 3 debe ser una literal sin signo de 1-bit"
30141
30142-#: config/rs6000/rs6000.c:10496
30143+#: config/rs6000/rs6000.c:10495
30144 #, gcc-internal-format
30145 msgid "argument to %qs must be a 2-bit unsigned literal"
30146 msgstr "el argumento para %qs debe ser una literal sin signo de 2-bit"
30147
30148-#: config/rs6000/rs6000.c:10637
30149+#: config/rs6000/rs6000.c:10636
30150 #, gcc-internal-format
30151 msgid "unresolved overload for Altivec builtin %qF"
30152 msgstr "sobrecarga sin resolver para el interno Altivec %qF"
30153
30154-#: config/rs6000/rs6000.c:10743
30155+#: config/rs6000/rs6000.c:10742
30156 #, gcc-internal-format
30157 msgid "argument to dss must be a 2-bit unsigned literal"
30158 msgstr "el argumento para dss debe ser una literal sin signo de 2-bit"
30159
30160 # continuar aqui
30161-#: config/rs6000/rs6000.c:11072
30162+#: config/rs6000/rs6000.c:11071
30163 #, gcc-internal-format
30164 msgid "argument 1 of __builtin_paired_predicate must be a constant"
30165 msgstr "el argumento 1 de __builtin_paired_predicate debe ser una constante"
30166
30167-#: config/rs6000/rs6000.c:11119
30168+#: config/rs6000/rs6000.c:11118
30169 #, gcc-internal-format
30170 msgid "argument 1 of __builtin_paired_predicate is out of range"
30171 msgstr "el argumento 1 de __builtin_paired_predicate está fuera de rango"
30172
30173-#: config/rs6000/rs6000.c:11144
30174+#: config/rs6000/rs6000.c:11143
30175 #, gcc-internal-format
30176 msgid "argument 1 of __builtin_spe_predicate must be a constant"
30177 msgstr "el argumento 1 de __builtin_spe_predicate debe ser una constante"
30178
30179-#: config/rs6000/rs6000.c:11216
30180+#: config/rs6000/rs6000.c:11215
30181 #, gcc-internal-format
30182 msgid "argument 1 of __builtin_spe_predicate is out of range"
30183 msgstr "el argumento 1 de __builtin_spe_predicate está fuera de rango"
30184
30185-#: config/rs6000/rs6000.c:11298
30186+#: config/rs6000/rs6000.c:11297
30187 #, gcc-internal-format, gfc-internal-format
30188 msgid "Builtin function %s is only valid for the cell processor"
30189 msgstr "La función interna %s sólo es válida para el procesador cell"
30190
30191-#: config/rs6000/rs6000.c:11300
30192+#: config/rs6000/rs6000.c:11299
30193 #, gcc-internal-format, gfc-internal-format
30194 msgid "Builtin function %s requires the -mvsx option"
30195 msgstr "La función interna %s requiere la opción -mvsx"
30196
30197-#: config/rs6000/rs6000.c:11302
30198+#: config/rs6000/rs6000.c:11301
30199 #, gcc-internal-format, gfc-internal-format
30200 msgid "Builtin function %s requires the -maltivec option"
30201 msgstr "La función interna %s requiere la opción -maltivec"
30202
30203-#: config/rs6000/rs6000.c:11304
30204+#: config/rs6000/rs6000.c:11303
30205 #, gcc-internal-format, gfc-internal-format
30206 msgid "Builtin function %s requires the -mpaired option"
30207 msgstr "La función interna %s requiere la opción -mpaired"
30208
30209-#: config/rs6000/rs6000.c:11306
30210+#: config/rs6000/rs6000.c:11305
30211 #, gcc-internal-format, gfc-internal-format
30212 msgid "Builtin function %s requires the -mspe option"
30213 msgstr "La función interna %s requiere la opción -mspe"
30214
30215-#: config/rs6000/rs6000.c:11308
30216+#: config/rs6000/rs6000.c:11307
30217 #, gcc-internal-format, gfc-internal-format
30218 msgid "Builtin function %s is not supported with the current options"
30219 msgstr "La función interna %s no se admite con las opciones actuales"
30220
30221-#: config/rs6000/rs6000.c:12568
30222+#: config/rs6000/rs6000.c:12567
30223 #, gcc-internal-format, gfc-internal-format
30224 msgid "internal error: builtin function %s had no type"
30225 msgstr "error interno: la función interna %s no tiene tipo"
30226
30227-#: config/rs6000/rs6000.c:12575
30228+#: config/rs6000/rs6000.c:12574
30229 #, gcc-internal-format, gfc-internal-format
30230 msgid "internal error: builtin function %s had an unexpected return type %s"
30231 msgstr "error interno: la función interna %s tiene un tipo de devolución inesperado %s"
30232
30233-#: config/rs6000/rs6000.c:12591
30234+#: config/rs6000/rs6000.c:12590
30235 #, gcc-internal-format, gfc-internal-format
30236 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
30237 msgstr "error interno: función interna %s, el argumento %d tiene el tipo de argumento inesperado %s"
30238
30239-#: config/rs6000/rs6000.c:18577
30240+#: config/rs6000/rs6000.c:18576
30241 #, gcc-internal-format
30242 msgid "stack frame too large"
30243 msgstr "marco de pila demasiado grande"
30244
30245-#: config/rs6000/rs6000.c:22051
30246+#: config/rs6000/rs6000.c:22050
30247 #, gcc-internal-format
30248 msgid "no profiling of 64-bit code for this ABI"
30249 msgstr "no hay análisis de perfil del código de 64-bit para esta ABI"
30250
30251-#: config/rs6000/rs6000.c:24036
30252+#: config/rs6000/rs6000.c:24059
30253 #, gcc-internal-format
30254 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
30255 msgstr "No se puede tomar la dirección de una función anindada si se usa la opción -mno-pointers-to-nested-functions."
30256
30257-#: config/rs6000/rs6000.c:24117
30258+#: config/rs6000/rs6000.c:24140
30259 #, gcc-internal-format
30260 msgid "use of %<long double%> in AltiVec types is invalid"
30261 msgstr "el uso de %<long double%> en tipos AltiVec es inválido"
30262
30263-#: config/rs6000/rs6000.c:24119
30264+#: config/rs6000/rs6000.c:24142
30265 #, gcc-internal-format
30266 msgid "use of boolean types in AltiVec types is invalid"
30267 msgstr "el uso de tipos booleanos en tipos AltiVec es inválido"
30268
30269-#: config/rs6000/rs6000.c:24121
30270+#: config/rs6000/rs6000.c:24144
30271 #, gcc-internal-format
30272 msgid "use of %<complex%> in AltiVec types is invalid"
30273 msgstr "el uso de %<complex%> en tipos AltiVec es inválido"
30274
30275-#: config/rs6000/rs6000.c:24123
30276+#: config/rs6000/rs6000.c:24146
30277 #, gcc-internal-format
30278 msgid "use of decimal floating point types in AltiVec types is invalid"
30279 msgstr "el uso de tipos de coma flotante decimal en tipos AltiVec es inválido"
30280
30281-#: config/rs6000/rs6000.c:24129
30282+#: config/rs6000/rs6000.c:24152
30283 #, gcc-internal-format
30284 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
30285 msgstr "el uso de %<long%> en tipos AltiVec es inválido para código de 64 bit sin -mvsx"
30286
30287-#: config/rs6000/rs6000.c:24132
30288+#: config/rs6000/rs6000.c:24155
30289 #, gcc-internal-format
30290 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
30291 msgstr "el uso de %<long%> en tipos AltiVec es obsoleto; use %<int%>"
30292
30293-#: config/rs6000/rs6000.c:24137
30294+#: config/rs6000/rs6000.c:24160
30295 #, gcc-internal-format
30296 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
30297 msgstr "el uso de %<long long%> en tipos AltiVec es inválido sin -mvsx"
30298
30299-#: config/rs6000/rs6000.c:24140
30300+#: config/rs6000/rs6000.c:24163
30301 #, gcc-internal-format
30302 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
30303 msgstr "el uso de %<double%> en tipos AltiVec es inválido sin -mvsx"
30304
30305-#: config/rs6000/rs6000.c:26979
30306+#: config/rs6000/rs6000.c:27002
30307 #, gcc-internal-format, gfc-internal-format
30308 msgid "emitting microcode insn %s\t[%s] #%d"
30309 msgstr "se emite el insn de microcódigo %s\t[%s] #%d"
30310
30311-#: config/rs6000/rs6000.c:26983
30312+#: config/rs6000/rs6000.c:27006
30313 #, gcc-internal-format, gfc-internal-format
30314 msgid "emitting conditional microcode insn %s\t[%s] #%d"
30315 msgstr "se emite el insn de microcódigo condicional %s\t[%s] #%d"
30316
30317-#: config/rs6000/rs6000.c:27207
30318+#: config/rs6000/rs6000.c:27230
30319 #, gcc-internal-format, gfc-internal-format
30320 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
30321 msgstr "cpu \"%s\" inválido para %s\"%s\"%s"
30322
30323-#: config/rs6000/rs6000.c:27210
30324+#: config/rs6000/rs6000.c:27233
30325 #, gcc-internal-format, gfc-internal-format
30326 msgid "%s\"%s\"%s is not allowed"
30327 msgstr "%s\"%s\"%s no está definido"
30328
30329-#: config/rs6000/rs6000.c:27212
30330+#: config/rs6000/rs6000.c:27235
30331 #, gcc-internal-format, gfc-internal-format
30332 msgid "%s\"%s\"%s is invalid"
30333 msgstr "%s\"%s\"%s es inválido"
30334@@ -25386,63 +25386,63 @@
30335 msgid "%qs uses dynamic stack allocation"
30336 msgstr "%qs utiliza alojamiento dinámico de pila"
30337
30338-#: config/sh/sh.c:775
30339+#: config/sh/sh.c:768
30340 #, gcc-internal-format
30341 msgid "ignoring -fschedule-insns because of exception handling bug"
30342 msgstr "se descarta -fschedule-insns debido a un error de manejo de excepciones"
30343
30344-#: config/sh/sh.c:796
30345+#: config/sh/sh.c:784
30346 #, gcc-internal-format
30347 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
30348 msgstr "actualmente las tablas de desenredo requieren un puntero de marco o -maccumulate-outgoing-args para ser correctas"
30349
30350-#: config/sh/sh.c:7674
30351+#: config/sh/sh.c:7677
30352 #, gcc-internal-format
30353 msgid "__builtin_saveregs not supported by this subtarget"
30354 msgstr "no se admite __builtin_saveregs en este subobjetivo"
30355
30356-#: config/sh/sh.c:8838
30357+#: config/sh/sh.c:8841
30358 #, gcc-internal-format
30359 msgid "%qE attribute only applies to interrupt functions"
30360 msgstr "el atributo %qE se aplica solamente a funciones de interrupción"
30361
30362-#: config/sh/sh.c:8896
30363+#: config/sh/sh.c:8899
30364 #, gcc-internal-format
30365 msgid "%qE attribute is supported only for SH2A"
30366 msgstr "el atributo %qE solo se admite para SH2A"
30367
30368-#: config/sh/sh.c:8926
30369+#: config/sh/sh.c:8929
30370 #, gcc-internal-format
30371 msgid "attribute interrupt_handler is not compatible with -m5-compact"
30372 msgstr "el atributo interrupt_handler no es compatible con -m5-compact"
30373
30374-#: config/sh/sh.c:8943
30375+#: config/sh/sh.c:8946
30376 #, gcc-internal-format
30377 msgid "%qE attribute only applies to SH2A"
30378 msgstr "el atributo %qE solo se aplica a SH2A"
30379
30380-#: config/sh/sh.c:8965
30381+#: config/sh/sh.c:8968
30382 #, gcc-internal-format
30383 msgid "%qE attribute argument should be between 0 to 255"
30384 msgstr "el argumento del atributo %qE debe estar entre 0 y 255"
30385
30386 #. The argument must be a constant string.
30387-#: config/sh/sh.c:9038
30388+#: config/sh/sh.c:9041
30389 #, gcc-internal-format
30390 msgid "%qE attribute argument not a string constant"
30391 msgstr "el argumento del atributo %qE no es una constante de cadena"
30392
30393-#: config/sh/sh.c:11618
30394+#: config/sh/sh.c:11621
30395 #, gcc-internal-format
30396 msgid "r0 needs to be available as a call-clobbered register"
30397 msgstr "r0 necesita estar disponible como un registro sobreescrito por llamada"
30398
30399-#: config/sh/sh.c:11639
30400+#: config/sh/sh.c:11642
30401 #, gcc-internal-format
30402 msgid "need a second call-clobbered general purpose register"
30403 msgstr "se necesita un segundo registro de propósito general sobreescrito por llamada"
30404
30405-#: config/sh/sh.c:11647
30406+#: config/sh/sh.c:11650
30407 #, gcc-internal-format
30408 msgid "need a call-clobbered target register"
30409 msgstr "se necesita un registro objetivo sobreescrito por llamada"
30410@@ -25564,12 +25564,12 @@
30411 msgid "__BELOW100__ attribute not allowed with auto storage class"
30412 msgstr "no se permite el atributo __BELOW100__ con una clase de auto almacenamiento"
30413
30414-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
30415+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
30416 #, gcc-internal-format
30417 msgid "bad builtin icode"
30418 msgstr "icode interno erróneo"
30419
30420-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
30421+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
30422 #, gcc-internal-format
30423 msgid "operand must be an immediate of the right size"
30424 msgstr "el operando debe ser un inmediato del tamaño correcto"
30425@@ -25784,38 +25784,38 @@
30426 msgid "-fexcess-precision=standard for Ada"
30427 msgstr "-fexcess-precision=standard para Ada"
30428
30429-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
30430-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
30431+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
30432+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
30433 #, gcc-internal-format
30434 msgid "%qs attribute ignored"
30435 msgstr "se descarta el atributo %qs"
30436
30437-#: ada/gcc-interface/utils.c:5430
30438+#: ada/gcc-interface/utils.c:5421
30439 #, gcc-internal-format
30440 msgid "%qs attribute requires prototypes with named arguments"
30441 msgstr "el atributo %qs requiere prototipos con argumentos nombrados"
30442
30443-#: ada/gcc-interface/utils.c:5439
30444+#: ada/gcc-interface/utils.c:5430
30445 #, gcc-internal-format
30446 msgid "%qs attribute only applies to variadic functions"
30447 msgstr "el atributo %qs se aplica solamente a funciones variadic"
30448
30449-#: ada/gcc-interface/utils.c:5510
30450+#: ada/gcc-interface/utils.c:5501
30451 #, gcc-internal-format
30452 msgid "%qE attribute has no effect"
30453 msgstr "el atributo %qE no tiene efecto"
30454
30455-#: ada/gcc-interface/utils.c:5616
30456+#: ada/gcc-interface/utils.c:5607
30457 #, gcc-internal-format
30458 msgid "invalid vector type for attribute %qs"
30459 msgstr "tipo de vector inválido para el atributo %qs"
30460
30461-#: ada/gcc-interface/utils.c:5679
30462+#: ada/gcc-interface/utils.c:5670
30463 #, gcc-internal-format
30464 msgid "attribute %qs applies to array types only"
30465 msgstr "el atributo %qs solamente se aplica a tipos de matriz"
30466
30467-#: ada/gcc-interface/utils.c:5706
30468+#: ada/gcc-interface/utils.c:5697
30469 #, gcc-internal-format
30470 msgid "invalid element type for attribute %qs"
30471 msgstr "tipo de elemento inválido para el atributo %qs"
30472@@ -26252,7 +26252,7 @@
30473 msgid "passing %qT chooses %qT over %qT"
30474 msgstr "al pasar %qT se escoge %qT sobre %qT"
30475
30476-#: cp/call.c:8070 cp/name-lookup.c:5495
30477+#: cp/call.c:8070 cp/name-lookup.c:5500
30478 #, gcc-internal-format
30479 msgid " in call to %qD"
30480 msgstr " en la llamada a %qD"
30481@@ -26312,426 +26312,426 @@
30482 msgid "invalid initialization of reference of type %qT from expression of type %qT"
30483 msgstr "inicialización inválida de la referencia de tipo %qT desde una expresión de tipo %qT"
30484
30485-#: cp/class.c:296
30486+#: cp/class.c:297
30487 #, gcc-internal-format
30488 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
30489 msgstr "no se puede convertir de la base %qT al tipo derivado %qT a través de la base virtual %qT"
30490
30491-#: cp/class.c:998
30492+#: cp/class.c:999
30493 #, gcc-internal-format
30494 msgid "Java class %qT cannot have a destructor"
30495 msgstr "la clase Java %qT no puede tener un destructor"
30496
30497-#: cp/class.c:1000
30498+#: cp/class.c:1001
30499 #, gcc-internal-format
30500 msgid "Java class %qT cannot have an implicit non-trivial destructor"
30501 msgstr "la clase Java %qT no puede tener un destructor implícito que no es trivial"
30502
30503-#: cp/class.c:1103
30504+#: cp/class.c:1104
30505 #, gcc-internal-format
30506 msgid "%q+#D cannot be overloaded"
30507 msgstr "no se puede sobrecargar %q+#D"
30508
30509-#: cp/class.c:1104
30510+#: cp/class.c:1105
30511 #, gcc-internal-format
30512 msgid "with %q+#D"
30513 msgstr "con %q+#D"
30514
30515-#: cp/class.c:1173
30516+#: cp/class.c:1174
30517 #, gcc-internal-format
30518 msgid "conflicting access specifications for method %q+D, ignored"
30519 msgstr "especificaciones de acceso en conflicto para el método %q+D, descartado"
30520
30521-#: cp/class.c:1176
30522+#: cp/class.c:1177
30523 #, gcc-internal-format
30524 msgid "conflicting access specifications for field %qE, ignored"
30525 msgstr "especificaciones de acceso en conflicto para el campo %qE, descartado"
30526
30527-#: cp/class.c:1238 cp/class.c:1246
30528+#: cp/class.c:1239 cp/class.c:1247
30529 #, gcc-internal-format
30530 msgid "%q+D invalid in %q#T"
30531 msgstr "%q+D inválido en %q#T"
30532
30533-#: cp/class.c:1239
30534+#: cp/class.c:1240
30535 #, gcc-internal-format
30536 msgid " because of local method %q+#D with same name"
30537 msgstr " debido al método local %q+#D con el mismo nombre"
30538
30539-#: cp/class.c:1247
30540+#: cp/class.c:1248
30541 #, gcc-internal-format
30542 msgid " because of local member %q+#D with same name"
30543 msgstr " debido al miembro local %q+#D con el mismo nombre"
30544
30545-#: cp/class.c:1291
30546+#: cp/class.c:1292
30547 #, gcc-internal-format
30548 msgid "cannot derive from %<final%> base %qT in derived type %qT"
30549 msgstr "no se puede derivar de la base %<final%> %qT al tipo derivado %qT"
30550
30551-#: cp/class.c:1303
30552+#: cp/class.c:1304
30553 #, gcc-internal-format
30554 msgid "base class %q#T has a non-virtual destructor"
30555 msgstr "la clase base %q#T tiene un destructor no virtual"
30556
30557-#: cp/class.c:1707
30558+#: cp/class.c:1708
30559 #, gcc-internal-format
30560 msgid "all member functions in class %qT are private"
30561 msgstr "todos las funciones miembros en la clase %qT son privadas"
30562
30563-#: cp/class.c:1719
30564+#: cp/class.c:1720
30565 #, gcc-internal-format
30566 msgid "%q#T only defines a private destructor and has no friends"
30567 msgstr "%q#T solamente define un destructor privado y no tiene friends"
30568
30569-#: cp/class.c:1764
30570+#: cp/class.c:1765
30571 #, gcc-internal-format
30572 msgid "%q#T only defines private constructors and has no friends"
30573 msgstr "%q#T solamente define constructores privados y no tiene friends"
30574
30575 # Ojo, no es impostor, sino impositor, el que impone. cfuga
30576-#: cp/class.c:2157
30577+#: cp/class.c:2158
30578 #, gcc-internal-format
30579 msgid "no unique final overrider for %qD in %qT"
30580 msgstr "no hay un impositor único final para %qD en %qT"
30581
30582-#: cp/class.c:2524
30583+#: cp/class.c:2525
30584 #, gcc-internal-format
30585 msgid "%q+#D marked final, but is not virtual"
30586 msgstr "se marca %q+#D como final, pero no es virtual"
30587
30588-#: cp/class.c:2526
30589+#: cp/class.c:2527
30590 #, gcc-internal-format
30591 msgid "%q+#D marked override, but does not override"
30592 msgstr "%q+#D se marca como override, pero no hace override"
30593
30594 #. Here we know it is a hider, and no overrider exists.
30595-#: cp/class.c:2595
30596+#: cp/class.c:2596
30597 #, gcc-internal-format
30598 msgid "%q+D was hidden"
30599 msgstr "%q+D estaba escondido"
30600
30601-#: cp/class.c:2596
30602+#: cp/class.c:2597
30603 #, gcc-internal-format
30604 msgid " by %q+D"
30605 msgstr " por %q+D"
30606
30607-#: cp/class.c:2639 cp/decl2.c:1359
30608+#: cp/class.c:2640 cp/decl2.c:1359
30609 #, gcc-internal-format
30610 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
30611 msgstr "%q+#D inválido; un union anónimo sólo puede tener miembros con datos no estáticos"
30612
30613-#: cp/class.c:2642
30614+#: cp/class.c:2643
30615 #, gcc-internal-format
30616 msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
30617 msgstr "%q+#D inválido; un struct anónimo sólo puede tener miembros con datos no estáticos"
30618
30619-#: cp/class.c:2650 cp/decl2.c:1365
30620+#: cp/class.c:2651 cp/decl2.c:1365
30621 #, gcc-internal-format
30622 msgid "private member %q+#D in anonymous union"
30623 msgstr "miembro privado %q+#D en union anónima"
30624
30625-#: cp/class.c:2652
30626+#: cp/class.c:2653
30627 #, gcc-internal-format
30628 msgid "private member %q+#D in anonymous struct"
30629 msgstr "miembro privado %q+#D en struct anónimo"
30630
30631-#: cp/class.c:2657 cp/decl2.c:1367
30632+#: cp/class.c:2658 cp/decl2.c:1367
30633 #, gcc-internal-format
30634 msgid "protected member %q+#D in anonymous union"
30635 msgstr "miembro protegido %q+#D en union anónima"
30636
30637-#: cp/class.c:2659
30638+#: cp/class.c:2660
30639 #, gcc-internal-format
30640 msgid "protected member %q+#D in anonymous struct"
30641 msgstr "miembro protegido %q+#D en struct anónimo"
30642
30643-#: cp/class.c:2887
30644+#: cp/class.c:2904
30645 #, gcc-internal-format
30646 msgid "bit-field %q+#D with non-integral type"
30647 msgstr "campo de bits %q+#D con tipo no entero"
30648
30649-#: cp/class.c:2903
30650+#: cp/class.c:2920
30651 #, gcc-internal-format
30652 msgid "bit-field %q+D width not an integer constant"
30653 msgstr "la anchura del campo de bits %q+D no es una constante entera"
30654
30655-#: cp/class.c:2908
30656+#: cp/class.c:2925
30657 #, gcc-internal-format
30658 msgid "negative width in bit-field %q+D"
30659 msgstr "anchura negativa en el campo de bits %q+D"
30660
30661-#: cp/class.c:2913
30662+#: cp/class.c:2930
30663 #, gcc-internal-format
30664 msgid "zero width for bit-field %q+D"
30665 msgstr "anchura cero para el campo de bits %q+D"
30666
30667-#: cp/class.c:2919
30668+#: cp/class.c:2936
30669 #, gcc-internal-format
30670 msgid "width of %q+D exceeds its type"
30671 msgstr "la anchura de %q+D excede su tipo"
30672
30673-#: cp/class.c:2923
30674+#: cp/class.c:2940
30675 #, gcc-internal-format
30676 msgid "%q+D is too small to hold all values of %q#T"
30677 msgstr "%q+D es demasiado pequeño para contener todos los valores de %q#T"
30678
30679-#: cp/class.c:2982
30680+#: cp/class.c:2999
30681 #, gcc-internal-format
30682 msgid "member %q+#D with constructor not allowed in union"
30683 msgstr "no se permite el miembro %q+#D con constructor en la union"
30684
30685-#: cp/class.c:2985
30686+#: cp/class.c:3002
30687 #, gcc-internal-format
30688 msgid "member %q+#D with destructor not allowed in union"
30689 msgstr "no se permite el miembro %q+#D con destructor en la union"
30690
30691-#: cp/class.c:2987
30692+#: cp/class.c:3004
30693 #, gcc-internal-format
30694 msgid "member %q+#D with copy assignment operator not allowed in union"
30695 msgstr "no se permite el miembro %q+#D con operador de asignación de copia en la union"
30696
30697-#: cp/class.c:2991
30698+#: cp/class.c:3008
30699 #, gcc-internal-format
30700 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
30701 msgstr "las uniones sin restricción sólo están disponibles con -std=c++11 o -std=gnu++11"
30702
30703-#: cp/class.c:3025
30704+#: cp/class.c:3042
30705 #, gcc-internal-format
30706 msgid "multiple fields in union %qT initialized"
30707 msgstr "múltiples campos inicializados en la unión %qT"
30708
30709-#: cp/class.c:3109
30710+#: cp/class.c:3126
30711 #, gcc-internal-format
30712 msgid "%q+D may not be static because it is a member of a union"
30713 msgstr "%q+D no debe ser static porque es el miembro de una unión"
30714
30715-#: cp/class.c:3114
30716+#: cp/class.c:3131
30717 #, gcc-internal-format
30718 msgid "%q+D may not have reference type %qT because it is a member of a union"
30719 msgstr "%q+D no puede tener el tipo de referencia %qT porque es el miembro de una unión"
30720
30721-#: cp/class.c:3125
30722+#: cp/class.c:3142
30723 #, gcc-internal-format
30724 msgid "field %q+D invalidly declared function type"
30725 msgstr "el campo %q+D inválidamente se declara como un tipo de función"
30726
30727-#: cp/class.c:3131
30728+#: cp/class.c:3148
30729 #, gcc-internal-format
30730 msgid "field %q+D invalidly declared method type"
30731 msgstr "el campo %q+D inválidamente se declara como un tipo de método"
30732
30733-#: cp/class.c:3187
30734+#: cp/class.c:3204
30735 #, gcc-internal-format
30736 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
30737 msgstr "se descartan los atributos packed por el campo %q+#D sin empacar que no es POD"
30738
30739-#: cp/class.c:3285
30740+#: cp/class.c:3302
30741 #, gcc-internal-format
30742 msgid "field %q+#D with same name as class"
30743 msgstr "campo %q+#D con el mismo nombre que la clase"
30744
30745-#: cp/class.c:3308
30746+#: cp/class.c:3325
30747 #, gcc-internal-format
30748 msgid "%q#T has pointer data members"
30749 msgstr "%q#T tiene miembros punteros a datos"
30750
30751-#: cp/class.c:3313
30752+#: cp/class.c:3330
30753 #, gcc-internal-format
30754 msgid " but does not override %<%T(const %T&)%>"
30755 msgstr " pero no se impone a %<%T(const %T&)%>"
30756
30757-#: cp/class.c:3315
30758+#: cp/class.c:3332
30759 #, gcc-internal-format
30760 msgid " or %<operator=(const %T&)%>"
30761 msgstr " o a %<operator=(cont %T&)%>"
30762
30763-#: cp/class.c:3319
30764+#: cp/class.c:3336
30765 #, gcc-internal-format
30766 msgid " but does not override %<operator=(const %T&)%>"
30767 msgstr " pero no se impone a %<operator=(const %T&)%>"
30768
30769-#: cp/class.c:3790
30770+#: cp/class.c:3807
30771 #, gcc-internal-format
30772 msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
30773 msgstr "el desplazamiento de la base vacía %qT puede no cumplir con la ABI y puede cambiar en una versión futura de GCC"
30774
30775-#: cp/class.c:3917
30776+#: cp/class.c:3934
30777 #, gcc-internal-format
30778 msgid "class %qT will be considered nearly empty in a future version of GCC"
30779 msgstr "la clase %qT se considerará casi vacía en una versión futura de GCC"
30780
30781-#: cp/class.c:3999
30782+#: cp/class.c:4016
30783 #, gcc-internal-format
30784 msgid "initializer specified for non-virtual method %q+D"
30785 msgstr "se especificó un inicializador para el método %q+D que no es virtual"
30786
30787-#: cp/class.c:4390
30788+#: cp/class.c:4407
30789 #, gcc-internal-format
30790 msgid "method overrides both %<transaction_pure%> and %qE methods"
30791 msgstr "el método anula tanto %<transaction_pure%> como los métodos %qE"
30792
30793-#: cp/class.c:4411
30794+#: cp/class.c:4428
30795 #, gcc-internal-format
30796 msgid "method declared %qE overriding %qE method"
30797 msgstr "el método declarado como %qE anula el método %qE"
30798
30799-#: cp/class.c:4877 cp/semantics.c:5729
30800+#: cp/class.c:4894 cp/semantics.c:5729
30801 #, gcc-internal-format
30802 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
30803 msgstr "la clase envolvente de la función miembro que no es estática constexpr %q+#D no es un tipo literal"
30804
30805-#: cp/class.c:4902
30806+#: cp/class.c:4919
30807 #, gcc-internal-format
30808 msgid "%q+T is not literal because:"
30809 msgstr "%q+T no es literal porque:"
30810
30811-#: cp/class.c:4904
30812+#: cp/class.c:4921
30813 #, gcc-internal-format
30814 msgid " %q+T has a non-trivial destructor"
30815 msgstr " %q+T tiene un destructor que no es trivial"
30816
30817-#: cp/class.c:4909
30818+#: cp/class.c:4926
30819 #, gcc-internal-format
30820 msgid " %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
30821 msgstr " %q+T no es un agregado, no tiene un constructor trivial por defecto y no tiene un constructor constexpr que no es un constructor copy o move"
30822
30823-#: cp/class.c:4945
30824+#: cp/class.c:4962
30825 #, gcc-internal-format
30826 msgid " base class %qT of %q+T is non-literal"
30827 msgstr " la clase base %qT de %q+T no es literal"
30828
30829-#: cp/class.c:4959
30830+#: cp/class.c:4976
30831 #, gcc-internal-format
30832 msgid " non-static data member %q+D has non-literal type"
30833 msgstr " el dato miembro que no es estático %q+D tiene un tipo que no es literal"
30834
30835-#: cp/class.c:5071
30836+#: cp/class.c:5089
30837 #, gcc-internal-format
30838 msgid "non-static reference %q+#D in class without a constructor"
30839 msgstr "referencia %q+#D que no es static en una clase sin un constructor"
30840
30841-#: cp/class.c:5076
30842+#: cp/class.c:5094
30843 #, gcc-internal-format
30844 msgid "non-static const member %q+#D in class without a constructor"
30845 msgstr "miembro const %q+#D que no es static en una clase sin un constructor"
30846
30847 #. If the function is defaulted outside the class, we just
30848 #. give the synthesis error.
30849-#: cp/class.c:5102
30850+#: cp/class.c:5120
30851 #, gcc-internal-format
30852 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
30853 msgstr "se declaró %q+D para tomar referencia const, pero la declaración implícita tomaría algo que no es const"
30854
30855-#: cp/class.c:5105
30856+#: cp/class.c:5123
30857 #, gcc-internal-format
30858 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
30859 msgstr "se declaró %q+D para tomar referencia que no es const y no se puede definir por omisión en el cuerpo de clase"
30860
30861-#: cp/class.c:5329
30862+#: cp/class.c:5347
30863 #, gcc-internal-format
30864 msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
30865 msgstr "el desplazamiento de la base virtual %qT no cumple con la ABI y puede cambiar en una versión futura de GCC"
30866
30867-#: cp/class.c:5430
30868+#: cp/class.c:5448
30869 #, gcc-internal-format
30870 msgid "direct base %qT inaccessible in %qT due to ambiguity"
30871 msgstr "base directa %qT inaccesible en %qT debido a ambigüedad"
30872
30873-#: cp/class.c:5442
30874+#: cp/class.c:5460
30875 #, gcc-internal-format
30876 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
30877 msgstr "base virtual %qT inaccesible en %qT debido a ambigüedad"
30878
30879-#: cp/class.c:5628
30880+#: cp/class.c:5646
30881 #, gcc-internal-format
30882 msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
30883 msgstr "el tamaño asignado a %qT puede no cumplir con la ABI y puede cambiar en una versión futura de GCC"
30884
30885-#: cp/class.c:5668
30886+#: cp/class.c:5686
30887 #, gcc-internal-format
30888 msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
30889 msgstr "el desplazamiento de %qD tal vez no cumple con la ABI y puede cambiar en una versión futura de GCC"
30890
30891-#: cp/class.c:5696
30892+#: cp/class.c:5714
30893 #, gcc-internal-format
30894 msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
30895 msgstr "el desplazamiento de %q+D no cumple con la ABI y puede cambiar en una versión futura de GCC"
30896
30897-#: cp/class.c:5706
30898+#: cp/class.c:5724
30899 #, gcc-internal-format
30900 msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
30901 msgstr "%q+D contiene clases vacías las cuales pueden causar que las clases base se coloquen en diferentes ubicaciones en una versión futura de GCC"
30902
30903-#: cp/class.c:5794
30904+#: cp/class.c:5812
30905 #, gcc-internal-format
30906 msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
30907 msgstr "la disposición de clases derivadas de la clase vacía %qT puede cambiar en una versión futura de GCC"
30908
30909-#: cp/class.c:5963 cp/decl.c:11829 cp/parser.c:18586
30910+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
30911 #, gcc-internal-format
30912 msgid "redefinition of %q#T"
30913 msgstr "redefinición de %q#T"
30914
30915-#: cp/class.c:6114
30916+#: cp/class.c:6123
30917 #, gcc-internal-format
30918 msgid "%q#T has virtual functions and accessible non-virtual destructor"
30919 msgstr "%q#T tiene funciones virtuales y destructor no virtual accesible"
30920
30921-#: cp/class.c:6140
30922+#: cp/class.c:6149
30923 #, gcc-internal-format
30924 msgid "type transparent class %qT does not have any fields"
30925 msgstr "la clase transparente tipo %qT no tiene ningún campo"
30926
30927-#: cp/class.c:6146
30928+#: cp/class.c:6155
30929 #, gcc-internal-format
30930 msgid "type transparent class %qT has base classes"
30931 msgstr "la clase transparente tipo %qT tiene clases base"
30932
30933-#: cp/class.c:6150
30934+#: cp/class.c:6159
30935 #, gcc-internal-format
30936 msgid "type transparent class %qT has virtual functions"
30937 msgstr "la clase transparente tipo %qT tiene funciones virtuales"
30938
30939-#: cp/class.c:6252
30940+#: cp/class.c:6300
30941 #, gcc-internal-format
30942 msgid "trying to finish struct, but kicked out due to previous parse errors"
30943 msgstr "se trató de terminar struct, pero fue sacado debido a errores previos de decodificación"
30944
30945-#: cp/class.c:6758
30946+#: cp/class.c:6810
30947 #, gcc-internal-format
30948 msgid "language string %<\"%E\"%> not recognized"
30949 msgstr "no se reconoce la cadena de lenguaje %<\"%E\"%>"
30950
30951-#: cp/class.c:6848
30952+#: cp/class.c:6900
30953 #, gcc-internal-format
30954 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
30955 msgstr "no se puede resolver la función sobrecargada %qD basándose en la conversión al tipo %qT"
30956
30957-#: cp/class.c:6972
30958+#: cp/class.c:7024
30959 #, gcc-internal-format
30960 msgid "no matches converting function %qD to type %q#T"
30961 msgstr "no hay coincidencias al convertir la función %qD al tipo %q#T"
30962
30963-#: cp/class.c:6995
30964+#: cp/class.c:7047
30965 #, gcc-internal-format
30966 msgid "converting overloaded function %qD to type %q#T is ambiguous"
30967 msgstr "la conversión de la función sobrecargada %qD al tipo %q#T es ambigua"
30968
30969-#: cp/class.c:7022
30970+#: cp/class.c:7074
30971 #, gcc-internal-format
30972 msgid "assuming pointer to member %qD"
30973 msgstr "asumiendo el puntero a miembro %qD"
30974
30975-#: cp/class.c:7025
30976+#: cp/class.c:7077
30977 #, gcc-internal-format
30978 msgid "(a pointer to member can only be formed with %<&%E%>)"
30979 msgstr "(un puntero a miembro solamente se puede formar con %<&%E%>)"
30980
30981-#: cp/class.c:7087 cp/class.c:7121
30982+#: cp/class.c:7139 cp/class.c:7173
30983 #, gcc-internal-format
30984 msgid "not enough type information"
30985 msgstr "no hay suficiente información de tipo"
30986
30987-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
30988+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
30989 #, gcc-internal-format
30990 msgid "cannot convert %qE from type %qT to type %qT"
30991 msgstr "no se puede convertir %qE desde el tipo %qT al tipo %qT"
30992@@ -26741,12 +26741,12 @@
30993 #. A name N used in a class S shall refer to the same declaration
30994 #. in its context and when re-evaluated in the completed scope of
30995 #. S.
30996-#: cp/class.c:7415 cp/decl.c:1287
30997+#: cp/class.c:7467 cp/decl.c:1287
30998 #, gcc-internal-format
30999 msgid "declaration of %q#D"
31000 msgstr "la declaración de %q#D"
31001
31002-#: cp/class.c:7416
31003+#: cp/class.c:7468
31004 #, gcc-internal-format
31005 msgid "changes meaning of %qD from %q+#D"
31006 msgstr "cambia el significado de %qD a partir de %q+#D"
31007@@ -26766,7 +26766,7 @@
31008 msgid "conversion of %qE from %qT to %qT is ambiguous"
31009 msgstr "la conversión de %qE desde %qT a %qT es ambigua"
31010
31011-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
31012+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
31013 #, gcc-internal-format
31014 msgid "zero as null pointer constant"
31015 msgstr "cero como constante de puntero nulo"
31016@@ -27669,7 +27669,7 @@
31017 msgid "name used in a GNU-style designated initializer for an array"
31018 msgstr "se usó un nombre en un inicializador designado de estilo GNU para una matriz"
31019
31020-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
31021+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
31022 #, gcc-internal-format
31023 msgid "non-trivial designated initializers not supported"
31024 msgstr "no se admiten los inicializadores designados como no triviales"
31025@@ -27762,8 +27762,8 @@
31026 msgid "C99 designator %qE outside aggregate initializer"
31027 msgstr "asignador C99 %qE fuera del inicializador agregado"
31028
31029-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
31030-#: cp/typeck2.c:1299 cp/typeck2.c:1346
31031+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
31032+#: cp/typeck2.c:1302 cp/typeck2.c:1349
31033 #, gcc-internal-format
31034 msgid "too many initializers for %qT"
31035 msgstr "demasiados inicializadores para %qT"
31036@@ -28294,7 +28294,7 @@
31037 msgstr "el tipo %qT no es derivado del tipo %T"
31038
31039 # FIXME traducción
31040-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
31041+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
31042 #, gcc-internal-format
31043 msgid "declaration of %qD as non-function"
31044 msgstr "la declaración de %qD como algo que no es función"
31045@@ -28605,374 +28605,369 @@
31046
31047 #: cp/decl.c:9497
31048 #, gcc-internal-format
31049-msgid "both %<const%> and %<constexpr%> cannot be used here"
31050-msgstr "no se pueden usar aquí %<const%> ni %<constexpr%>"
31051-
31052-#: cp/decl.c:9499
31053-#, gcc-internal-format
31054 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
31055 msgstr "no se pueden usar aquí %<volatile%> ni %<constexpr%>"
31056
31057-#: cp/decl.c:9511
31058+#: cp/decl.c:9509
31059 #, gcc-internal-format
31060 msgid "template-id %qD used as a declarator"
31061 msgstr "el id de plantilla %qD se usa como un declarador"
31062
31063-#: cp/decl.c:9562
31064+#: cp/decl.c:9560
31065 #, gcc-internal-format
31066 msgid "member functions are implicitly friends of their class"
31067 msgstr "las funciones miembros son implícitamente friends de su clase"
31068
31069-#: cp/decl.c:9567
31070+#: cp/decl.c:9565
31071 #, gcc-internal-format
31072 msgid "extra qualification %<%T::%> on member %qs"
31073 msgstr "calificación extra %<%T::%> en el miembro %qs"
31074
31075-#: cp/decl.c:9597
31076+#: cp/decl.c:9595
31077 #, gcc-internal-format
31078 msgid "cannot define member function %<%T::%s%> within %<%T%>"
31079 msgstr "no se puede definir la función miembro %<%T::%s%> dentro de %<%T%>"
31080
31081-#: cp/decl.c:9599
31082+#: cp/decl.c:9597
31083 #, gcc-internal-format
31084 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
31085 msgstr "no se puede declarar la función miembro %<%T::%s%> dentro de %<%T%>"
31086
31087-#: cp/decl.c:9608
31088+#: cp/decl.c:9606
31089 #, gcc-internal-format
31090 msgid "cannot declare member %<%T::%s%> within %qT"
31091 msgstr "no se puede declarar el miembro %<%T::%s%> dentro de %qT"
31092
31093-#: cp/decl.c:9634
31094+#: cp/decl.c:9632
31095 #, gcc-internal-format
31096 msgid "non-parameter %qs cannot be a parameter pack"
31097 msgstr "%qs que no es parámetro no puede ser un paquete de parámetro"
31098
31099-#: cp/decl.c:9644
31100+#: cp/decl.c:9642
31101 #, gcc-internal-format
31102 msgid "size of array %qs is too large"
31103 msgstr "el tamaño de la matriz %qs es demasiado grande"
31104
31105-#: cp/decl.c:9655
31106+#: cp/decl.c:9653
31107 #, gcc-internal-format
31108 msgid "data member may not have variably modified type %qT"
31109 msgstr "los datos miembro pueden no tener el tipo modificado variablemente %qT"
31110
31111-#: cp/decl.c:9657
31112+#: cp/decl.c:9655
31113 #, gcc-internal-format
31114 msgid "parameter may not have variably modified type %qT"
31115 msgstr "el parámetro puede no tener el tipo modificado variablemente %qT"
31116
31117 #. [dcl.fct.spec] The explicit specifier shall only be used in
31118 #. declarations of constructors within a class definition.
31119-#: cp/decl.c:9665
31120+#: cp/decl.c:9663
31121 #, gcc-internal-format
31122 msgid "only declarations of constructors can be %<explicit%>"
31123 msgstr "solamente las declaraciones de constructores pueden ser %<explicit%>"
31124
31125-#: cp/decl.c:9673
31126+#: cp/decl.c:9671
31127 #, gcc-internal-format
31128 msgid "non-member %qs cannot be declared %<mutable%>"
31129 msgstr "el no-miembro %qs no se puede declarar %<mutable%>"
31130
31131-#: cp/decl.c:9678
31132+#: cp/decl.c:9676
31133 #, gcc-internal-format
31134 msgid "non-object member %qs cannot be declared %<mutable%>"
31135 msgstr "el miembro que no es objeto %qs no se puede declarar %<mutable%>"
31136
31137-#: cp/decl.c:9684
31138+#: cp/decl.c:9682
31139 #, gcc-internal-format
31140 msgid "function %qs cannot be declared %<mutable%>"
31141 msgstr "la función %qs no se puede declarar %<mutable%>"
31142
31143-#: cp/decl.c:9689
31144+#: cp/decl.c:9687
31145 #, gcc-internal-format
31146 msgid "static %qs cannot be declared %<mutable%>"
31147 msgstr "static %qs no se puede declarar %<mutable%>"
31148
31149-#: cp/decl.c:9694
31150+#: cp/decl.c:9692
31151 #, gcc-internal-format
31152 msgid "const %qs cannot be declared %<mutable%>"
31153 msgstr "const %qs no se puede declarar %<mutable%>"
31154
31155-#: cp/decl.c:9699
31156+#: cp/decl.c:9697
31157 #, gcc-internal-format
31158 msgid "reference %qs cannot be declared %<mutable%>"
31159 msgstr "la referencia %qs no se puede declarar %<mutable%>"
31160
31161-#: cp/decl.c:9734
31162+#: cp/decl.c:9732
31163 #, gcc-internal-format
31164 msgid "typedef declared %<auto%>"
31165 msgstr "la definición de tipo se declaró %<auto%>"
31166
31167-#: cp/decl.c:9744
31168+#: cp/decl.c:9742
31169 #, gcc-internal-format
31170 msgid "typedef name may not be a nested-name-specifier"
31171 msgstr "el nombre del typedef puede no ser un especificador-de-nombre-anidado"
31172
31173-#: cp/decl.c:9762
31174+#: cp/decl.c:9760
31175 #, gcc-internal-format
31176 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
31177 msgstr "ISO C++ prohíbe el tipo anidado %qD con el mismo nombre que la clase que lo contiene"
31178
31179-#: cp/decl.c:9864
31180+#: cp/decl.c:9862
31181 #, gcc-internal-format
31182 msgid "qualified function types cannot be used to declare static member functions"
31183 msgstr "los tipos de función calificados no se pueden usar para declarar una función miembro estática"
31184
31185-#: cp/decl.c:9866
31186+#: cp/decl.c:9864
31187 #, gcc-internal-format
31188 msgid "qualified function types cannot be used to declare free functions"
31189 msgstr "los tipos de función calificados no se pueden usar para declarar funciones libres"
31190
31191-#: cp/decl.c:9893
31192+#: cp/decl.c:9891
31193 #, gcc-internal-format
31194 msgid "type qualifiers specified for friend class declaration"
31195 msgstr "se especificaron calificadores de tipo para la declaración de clase friend"
31196
31197-#: cp/decl.c:9898
31198+#: cp/decl.c:9896
31199 #, gcc-internal-format
31200 msgid "%<inline%> specified for friend class declaration"
31201 msgstr "se especificó %<inline%> para la declaración de clase friend"
31202
31203-#: cp/decl.c:9906
31204+#: cp/decl.c:9904
31205 #, gcc-internal-format
31206 msgid "template parameters cannot be friends"
31207 msgstr "los parámetros de la plantilla no pueden ser friends"
31208
31209-#: cp/decl.c:9908
31210+#: cp/decl.c:9906
31211 #, gcc-internal-format
31212 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
31213 msgstr "la declaración friend requere una llave de clase, p.e. %<friend class %T::%D%>"
31214
31215-#: cp/decl.c:9912
31216+#: cp/decl.c:9910
31217 #, gcc-internal-format
31218 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
31219 msgstr "la declaración friend requiere una llave de clase, p.e. %<friend %#T%>"
31220
31221-#: cp/decl.c:9925
31222+#: cp/decl.c:9923
31223 #, gcc-internal-format
31224 msgid "trying to make class %qT a friend of global scope"
31225 msgstr "se intenta hacer que la clase %qT sea un friend de ámbito global"
31226
31227-#: cp/decl.c:9943
31228+#: cp/decl.c:9941
31229 #, gcc-internal-format
31230 msgid "invalid qualifiers on non-member function type"
31231 msgstr "calificadores inválidos en el tipo de función que no es miembro"
31232
31233-#: cp/decl.c:9953
31234+#: cp/decl.c:9951
31235 #, gcc-internal-format
31236 msgid "abstract declarator %qT used as declaration"
31237 msgstr "el declarador abstracto %qT se usó como declaración"
31238
31239-#: cp/decl.c:9982
31240+#: cp/decl.c:9980
31241 #, gcc-internal-format
31242 msgid "cannot use %<::%> in parameter declaration"
31243 msgstr "no se puede usar %<::%> en la declaración de parámetros"
31244
31245-#: cp/decl.c:9986
31246+#: cp/decl.c:9984
31247 #, gcc-internal-format
31248 msgid "parameter declared %<auto%>"
31249 msgstr "el parámetro se declaró %<auto%>"
31250
31251-#: cp/decl.c:10028
31252+#: cp/decl.c:10026
31253 #, gcc-internal-format
31254 msgid "non-static data member declared %<auto%>"
31255 msgstr "se declaró el miembro dato que no es static como %<auto%>"
31256
31257 #. Something like struct S { int N::j; };
31258-#: cp/decl.c:10050
31259+#: cp/decl.c:10048
31260 #, gcc-internal-format
31261 msgid "invalid use of %<::%>"
31262 msgstr "uso inválido de %<::%>"
31263
31264-#: cp/decl.c:10072
31265+#: cp/decl.c:10070
31266 #, gcc-internal-format
31267 msgid "declaration of function %qD in invalid context"
31268 msgstr "declaración de la función %qD en un contexto inválido"
31269
31270-#: cp/decl.c:10081
31271+#: cp/decl.c:10079
31272 #, gcc-internal-format
31273 msgid "function %qD declared virtual inside a union"
31274 msgstr "la función %qD se declaró virtual dentro de un union"
31275
31276-#: cp/decl.c:10090
31277+#: cp/decl.c:10088
31278 #, gcc-internal-format
31279 msgid "%qD cannot be declared virtual, since it is always static"
31280 msgstr "%qD no se puede declarar virtual, ya que siempre es static"
31281
31282-#: cp/decl.c:10106
31283+#: cp/decl.c:10104
31284 #, gcc-internal-format
31285 msgid "expected qualified name in friend declaration for destructor %qD"
31286 msgstr "se esperaba un nombre calificado en la declaración friend para el destructor %qD"
31287
31288-#: cp/decl.c:10113
31289+#: cp/decl.c:10111
31290 #, gcc-internal-format
31291 msgid "declaration of %qD as member of %qT"
31292 msgstr "declaración de %qD como miembro de %qT"
31293
31294-#: cp/decl.c:10119
31295+#: cp/decl.c:10117
31296 #, gcc-internal-format
31297 msgid "a destructor cannot be %<constexpr%>"
31298 msgstr "un destructor no puede ser %<constexpr%>"
31299
31300-#: cp/decl.c:10125
31301+#: cp/decl.c:10123
31302 #, gcc-internal-format
31303 msgid "expected qualified name in friend declaration for constructor %qD"
31304 msgstr "se esperaba un nombre calificado en la declaración friend para el constructor %qD"
31305
31306-#: cp/decl.c:10171
31307+#: cp/decl.c:10169
31308 #, gcc-internal-format
31309 msgid "field %qD has incomplete type"
31310 msgstr "el campo %qD tiene tipo de dato incompleto"
31311
31312-#: cp/decl.c:10173
31313+#: cp/decl.c:10171
31314 #, gcc-internal-format
31315 msgid "name %qT has incomplete type"
31316 msgstr "el nombre %qT tiene tipo de dato incompleto"
31317
31318-#: cp/decl.c:10182
31319+#: cp/decl.c:10180
31320 #, gcc-internal-format
31321 msgid " in instantiation of template %qT"
31322 msgstr " en la instanciación de la plantilla %qT"
31323
31324-#: cp/decl.c:10191
31325+#: cp/decl.c:10189
31326 #, gcc-internal-format
31327 msgid "%qE is neither function nor member function; cannot be declared friend"
31328 msgstr "%qE no es ni función ni función miembro; no se puede declarar friend"
31329
31330-#: cp/decl.c:10243
31331+#: cp/decl.c:10241
31332 #, gcc-internal-format
31333 msgid "constexpr static data member %qD must have an initializer"
31334 msgstr "el miembro dato static constexpr %qD debe tener un inicializador"
31335
31336-#: cp/decl.c:10252
31337+#: cp/decl.c:10250
31338 #, gcc-internal-format
31339 msgid "non-static data member %qE declared %<constexpr%>"
31340 msgstr "se declaró el miembro dato que no es static %qE como %<constexpr%>"
31341
31342-#: cp/decl.c:10302
31343+#: cp/decl.c:10300
31344 #, gcc-internal-format
31345 msgid "storage class %<auto%> invalid for function %qs"
31346 msgstr "la clase de almacenamiento %<auto%> es inválida para la función %qs"
31347
31348-#: cp/decl.c:10304
31349+#: cp/decl.c:10302
31350 #, gcc-internal-format
31351 msgid "storage class %<register%> invalid for function %qs"
31352 msgstr "la clase de almacenamiento %<register%> es inválida para la función %qs"
31353
31354-#: cp/decl.c:10306
31355+#: cp/decl.c:10304
31356 #, gcc-internal-format
31357 msgid "storage class %<__thread%> invalid for function %qs"
31358 msgstr "la clase de almacenamiento %<__thread%> es inválida para la función %qs"
31359
31360-#: cp/decl.c:10309
31361+#: cp/decl.c:10307
31362 #, gcc-internal-format
31363 msgid "virt-specifiers in %qs not allowed outside a class definition"
31364 msgstr "no se permiten los especificadores-virt en %qs fuera de una definición de clase"
31365
31366-#: cp/decl.c:10320
31367+#: cp/decl.c:10318
31368 #, gcc-internal-format
31369 msgid "%<static%> specified invalid for function %qs declared out of global scope"
31370 msgstr "el especificador %<static%> es inválido para la función %qs declarada fuera del ámbito global"
31371
31372-#: cp/decl.c:10324
31373+#: cp/decl.c:10322
31374 #, gcc-internal-format
31375 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
31376 msgstr "el especificador %<inline%> es inválido para la función %qs declarada fuera del ámbito global"
31377
31378-#: cp/decl.c:10332
31379+#: cp/decl.c:10330
31380 #, gcc-internal-format
31381 msgid "virtual non-class function %qs"
31382 msgstr "función virtual %qs que no es clase"
31383
31384-#: cp/decl.c:10339
31385+#: cp/decl.c:10337
31386 #, gcc-internal-format
31387 msgid "%qs defined in a non-class scope"
31388 msgstr "se definió %qs en un ámbito que no es una clase"
31389
31390-#: cp/decl.c:10340
31391+#: cp/decl.c:10338
31392 #, gcc-internal-format
31393 msgid "%qs declared in a non-class scope"
31394 msgstr "se declaró %qs en un ámbito que no es una clase"
31395
31396-#: cp/decl.c:10368
31397+#: cp/decl.c:10366
31398 #, gcc-internal-format
31399 msgid "cannot declare member function %qD to have static linkage"
31400 msgstr "no se puede declarar que la función miembro %qD tenga enlace estático"
31401
31402 #. FIXME need arm citation
31403-#: cp/decl.c:10375
31404+#: cp/decl.c:10373
31405 #, gcc-internal-format
31406 msgid "cannot declare static function inside another function"
31407 msgstr "no se puede declarar una función static dentro de otra función"
31408
31409-#: cp/decl.c:10405
31410+#: cp/decl.c:10403
31411 #, gcc-internal-format
31412 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
31413 msgstr "%<static%> puede no ser utilizado cuando se define (opuesto a la declaración) un dato miembro static"
31414
31415-#: cp/decl.c:10412
31416+#: cp/decl.c:10410
31417 #, gcc-internal-format
31418 msgid "static member %qD declared %<register%>"
31419 msgstr "se declaró el miembro static %qD como %<register%>"
31420
31421-#: cp/decl.c:10418
31422+#: cp/decl.c:10416
31423 #, gcc-internal-format
31424 msgid "cannot explicitly declare member %q#D to have extern linkage"
31425 msgstr "no se puede declarar explícitamente que el miembro %q#D tenga un enlace externo"
31426
31427-#: cp/decl.c:10425
31428+#: cp/decl.c:10423
31429 #, gcc-internal-format
31430 msgid "declaration of constexpr variable %qD is not a definition"
31431 msgstr "la declaración de la variable constexpr %qD no es una definición"
31432
31433-#: cp/decl.c:10438
31434+#: cp/decl.c:10436
31435 #, gcc-internal-format
31436 msgid "%qs initialized and declared %<extern%>"
31437 msgstr "%qs inicializado y declarado como %<extern%>"
31438
31439-#: cp/decl.c:10442
31440+#: cp/decl.c:10440
31441 #, gcc-internal-format
31442 msgid "%qs has both %<extern%> and initializer"
31443 msgstr "%qs tiene %<extern%> e inicializador al mismo tiempo"
31444
31445-#: cp/decl.c:10570
31446+#: cp/decl.c:10568
31447 #, gcc-internal-format
31448 msgid "default argument for %q#D has type %qT"
31449 msgstr "el argumento por defecto de %q#D tiene tipo %qT"
31450
31451-#: cp/decl.c:10573
31452+#: cp/decl.c:10571
31453 #, gcc-internal-format
31454 msgid "default argument for parameter of type %qT has type %qT"
31455 msgstr "el argumento por defecto para el parámetro del tipo %qT tiene el tipo %qT"
31456
31457-#: cp/decl.c:10601
31458+#: cp/decl.c:10599
31459 #, gcc-internal-format
31460 msgid "default argument %qE uses %qD"
31461 msgstr "el argumento por defecto %qE usa %qD"
31462
31463-#: cp/decl.c:10603
31464+#: cp/decl.c:10601
31465 #, gcc-internal-format
31466 msgid "default argument %qE uses local variable %qD"
31467 msgstr "el argumento por defecto %qE usa la variable local %qD"
31468
31469-#: cp/decl.c:10691
31470+#: cp/decl.c:10689
31471 #, gcc-internal-format
31472 msgid "parameter %qD has Java class type"
31473 msgstr "el parámetro %qD tiene tipo de clase Java"
31474
31475-#: cp/decl.c:10719
31476+#: cp/decl.c:10717
31477 #, gcc-internal-format
31478 msgid "parameter %qD invalidly declared method type"
31479 msgstr "el parámetro %qD se declaró inválidamente como tipo de método"
31480
31481-#: cp/decl.c:10744
31482+#: cp/decl.c:10742
31483 #, gcc-internal-format
31484 msgid "parameter %qD includes pointer to array of unknown bound %qT"
31485 msgstr "el parámetro %qD incluye un puntero a matriz %qT de límite desconocido"
31486
31487-#: cp/decl.c:10746
31488+#: cp/decl.c:10744
31489 #, gcc-internal-format
31490 msgid "parameter %qD includes reference to array of unknown bound %qT"
31491 msgstr "el parámetro %qD incluye una referencia a matriz %qT de límite desconocido"
31492@@ -28992,170 +28987,170 @@
31493 #. or implicitly defined), there's no need to worry about their
31494 #. existence. Theoretically, they should never even be
31495 #. instantiated, but that's hard to forestall.
31496-#: cp/decl.c:10987
31497+#: cp/decl.c:10998
31498 #, gcc-internal-format
31499 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
31500 msgstr "constructor inválido; tal vez quiso decir %<%T (const %T&)%>"
31501
31502-#: cp/decl.c:11109
31503+#: cp/decl.c:11120
31504 #, gcc-internal-format
31505 msgid "%qD may not be declared within a namespace"
31506 msgstr "%qD no se puede declarar dentro de un espacio de nombres"
31507
31508-#: cp/decl.c:11114
31509+#: cp/decl.c:11125
31510 #, gcc-internal-format
31511 msgid "%qD may not be declared as static"
31512 msgstr "%qD no se puede declarar como static"
31513
31514-#: cp/decl.c:11140
31515+#: cp/decl.c:11151
31516 #, gcc-internal-format
31517 msgid "%qD must be a nonstatic member function"
31518 msgstr "%qD debe ser una función miembro que no sea static"
31519
31520-#: cp/decl.c:11149
31521+#: cp/decl.c:11160
31522 #, gcc-internal-format
31523 msgid "%qD must be either a non-static member function or a non-member function"
31524 msgstr "%qD debe ser una función miembro que no sea static o una función que no sea miembro"
31525
31526-#: cp/decl.c:11171
31527+#: cp/decl.c:11182
31528 #, gcc-internal-format
31529 msgid "%qD must have an argument of class or enumerated type"
31530 msgstr "%qD debe tener un argumento de tipo clase o enumerado"
31531
31532-#: cp/decl.c:11200
31533+#: cp/decl.c:11211
31534 #, gcc-internal-format
31535 msgid "conversion to a reference to void will never use a type conversion operator"
31536 msgstr "la conversión a una referencia a void nunca usará un operador de conversión de tipo"
31537
31538-#: cp/decl.c:11202
31539+#: cp/decl.c:11213
31540 #, gcc-internal-format
31541 msgid "conversion to void will never use a type conversion operator"
31542 msgstr "la conversión a void nunca usará un operador de conversión de tipo"
31543
31544-#: cp/decl.c:11209
31545+#: cp/decl.c:11220
31546 #, gcc-internal-format
31547 msgid "conversion to a reference to the same type will never use a type conversion operator"
31548 msgstr "la conversión a una referencia al mismo tipo nunca usará un operador de conversión de tipo"
31549
31550-#: cp/decl.c:11211
31551+#: cp/decl.c:11222
31552 #, gcc-internal-format
31553 msgid "conversion to the same type will never use a type conversion operator"
31554 msgstr "la conversión al mismo tipo nunca usará un operador de conversión de tipo"
31555
31556-#: cp/decl.c:11219
31557+#: cp/decl.c:11230
31558 #, gcc-internal-format
31559 msgid "conversion to a reference to a base class will never use a type conversion operator"
31560 msgstr "la conversión a una referencia a una clase base nunca usará un operador de conversión de tipo"
31561
31562-#: cp/decl.c:11221
31563+#: cp/decl.c:11232
31564 #, gcc-internal-format
31565 msgid "conversion to a base class will never use a type conversion operator"
31566 msgstr "la conversión a una clase base nunca usará un operador de conversión de tipo"
31567
31568 #. 13.4.0.3
31569-#: cp/decl.c:11230
31570+#: cp/decl.c:11241
31571 #, gcc-internal-format
31572 msgid "ISO C++ prohibits overloading operator ?:"
31573 msgstr "ISO C++ prohíbe la sobrecarga del operador ?:"
31574
31575-#: cp/decl.c:11235
31576+#: cp/decl.c:11246
31577 #, gcc-internal-format
31578 msgid "%qD must not have variable number of arguments"
31579 msgstr "%qD no debe tener un número variable de argumentos"
31580
31581-#: cp/decl.c:11286
31582+#: cp/decl.c:11297
31583 #, gcc-internal-format
31584 msgid "postfix %qD must take %<int%> as its argument"
31585 msgstr "el postfijo %qD debe tomar %<int%> como su argumento"
31586
31587-#: cp/decl.c:11289
31588+#: cp/decl.c:11300
31589 #, gcc-internal-format
31590 msgid "postfix %qD must take %<int%> as its second argument"
31591 msgstr "el postfijo %qD debe tomar %<int%> como su segundo argumento"
31592
31593-#: cp/decl.c:11297
31594+#: cp/decl.c:11308
31595 #, gcc-internal-format
31596 msgid "%qD must take either zero or one argument"
31597 msgstr "%qD debe tomar cero o un argumentos"
31598
31599-#: cp/decl.c:11299
31600+#: cp/decl.c:11310
31601 #, gcc-internal-format
31602 msgid "%qD must take either one or two arguments"
31603 msgstr "%qD debe tomar uno o dos argumentos"
31604
31605 # En esta traducción se emplea 'devolver' por 'return'. Si embargo, aquí
31606 # se cambió por cacofonía: no es agradable escuchar 'debe devolver'. cfuga
31607-#: cp/decl.c:11321
31608+#: cp/decl.c:11332
31609 #, gcc-internal-format
31610 msgid "prefix %qD should return %qT"
31611 msgstr "el prefijo %qD debe regresar %qT"
31612
31613-#: cp/decl.c:11327
31614+#: cp/decl.c:11338
31615 #, gcc-internal-format
31616 msgid "postfix %qD should return %qT"
31617 msgstr "el postfijo %qD debe regresar %qT"
31618
31619-#: cp/decl.c:11336
31620+#: cp/decl.c:11347
31621 #, gcc-internal-format
31622 msgid "%qD must take %<void%>"
31623 msgstr "%qD debe tomar %<void%>"
31624
31625-#: cp/decl.c:11338 cp/decl.c:11347
31626+#: cp/decl.c:11349 cp/decl.c:11358
31627 #, gcc-internal-format
31628 msgid "%qD must take exactly one argument"
31629 msgstr "%qD debe tomar un argumento exactamente"
31630
31631-#: cp/decl.c:11349
31632+#: cp/decl.c:11360
31633 #, gcc-internal-format
31634 msgid "%qD must take exactly two arguments"
31635 msgstr "%qD debe tomar dos argumentos exactamente"
31636
31637-#: cp/decl.c:11358
31638+#: cp/decl.c:11369
31639 #, gcc-internal-format
31640 msgid "user-defined %qD always evaluates both arguments"
31641 msgstr "el %qD definido por el usuario siempre evalúa ambos argumentos"
31642
31643-#: cp/decl.c:11372
31644+#: cp/decl.c:11383
31645 #, gcc-internal-format
31646 msgid "%qD should return by value"
31647 msgstr "%qD debe devolver por valor"
31648
31649-#: cp/decl.c:11383 cp/decl.c:11388
31650+#: cp/decl.c:11394 cp/decl.c:11399
31651 #, gcc-internal-format
31652 msgid "%qD cannot have default arguments"
31653 msgstr "%qD no puede tener argumentos por defecto"
31654
31655-#: cp/decl.c:11449
31656+#: cp/decl.c:11460
31657 #, gcc-internal-format
31658 msgid "using template type parameter %qT after %qs"
31659 msgstr "usando el parámetro de tipo plantilla %qT después de %qs"
31660
31661-#: cp/decl.c:11471
31662+#: cp/decl.c:11482
31663 #, gcc-internal-format
31664 msgid "using alias template specialization %qT after %qs"
31665 msgstr "se usa especialización de plantilla %qT alias después de %qs"
31666
31667-#: cp/decl.c:11474
31668+#: cp/decl.c:11485
31669 #, gcc-internal-format
31670 msgid "using typedef-name %qD after %qs"
31671 msgstr "se usó el nombre de definición de tipo %qD después de %qs"
31672
31673-#: cp/decl.c:11476
31674+#: cp/decl.c:11487
31675 #, gcc-internal-format
31676 msgid "%qD has a previous declaration here"
31677 msgstr "%qD tiene una declaración previa aquí"
31678
31679-#: cp/decl.c:11484
31680+#: cp/decl.c:11495
31681 #, gcc-internal-format
31682 msgid "%qT referred to as %qs"
31683 msgstr "se refirió a %qT como %qs"
31684
31685-#: cp/decl.c:11485 cp/decl.c:11492
31686+#: cp/decl.c:11496 cp/decl.c:11503
31687 #, gcc-internal-format
31688 msgid "%q+T has a previous declaration here"
31689 msgstr "%q+T tiene una declaración previa aquí"
31690
31691-#: cp/decl.c:11491
31692+#: cp/decl.c:11502
31693 #, gcc-internal-format
31694 msgid "%qT referred to as enum"
31695 msgstr "se refirió a %qT como un enum"
31696@@ -29167,90 +29162,90 @@
31697 #. void f(class C); // No template header here
31698 #.
31699 #. then the required template argument is missing.
31700-#: cp/decl.c:11506
31701+#: cp/decl.c:11517
31702 #, gcc-internal-format
31703 msgid "template argument required for %<%s %T%>"
31704 msgstr "se requiere un argumento de plantilla para %<%s %T%>"
31705
31706-#: cp/decl.c:11554 cp/name-lookup.c:3052
31707+#: cp/decl.c:11565 cp/name-lookup.c:3057
31708 #, gcc-internal-format
31709 msgid "%qD has the same name as the class in which it is declared"
31710 msgstr "%qD tiene el mismo nombre que la clase en la cual se declaró"
31711
31712-#: cp/decl.c:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
31713-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
31714+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
31715+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
31716 #, gcc-internal-format
31717 msgid "reference to %qD is ambiguous"
31718 msgstr "la referencia a %qD es ambigua"
31719
31720-#: cp/decl.c:11696
31721+#: cp/decl.c:11707
31722 #, gcc-internal-format
31723 msgid "use of enum %q#D without previous declaration"
31724 msgstr "uso del enum %q#D sin declaración previa"
31725
31726-#: cp/decl.c:11717
31727+#: cp/decl.c:11728
31728 #, gcc-internal-format
31729 msgid "redeclaration of %qT as a non-template"
31730 msgstr "redeclaración de %qT como algo que no es plantilla"
31731
31732-#: cp/decl.c:11718
31733+#: cp/decl.c:11729
31734 #, gcc-internal-format
31735 msgid "previous declaration %q+D"
31736 msgstr "declaración previa de %q+D"
31737
31738-#: cp/decl.c:11852
31739+#: cp/decl.c:11863
31740 #, gcc-internal-format
31741 msgid "derived union %qT invalid"
31742 msgstr "union derivada %qT inválida"
31743
31744-#: cp/decl.c:11861
31745+#: cp/decl.c:11872
31746 #, gcc-internal-format
31747 msgid "Java class %qT cannot have multiple bases"
31748 msgstr "la clase Java %qT no puede tener bases múltiples"
31749
31750-#: cp/decl.c:11872
31751+#: cp/decl.c:11883
31752 #, gcc-internal-format
31753 msgid "Java class %qT cannot have virtual bases"
31754 msgstr "la clase Java %qT no puede tener bases virtuales"
31755
31756 # No me gusta mucho esta traducción. Creo que es mejor
31757 # "el tipo base %qT no es de tipo struct o clase". cfuga
31758-#: cp/decl.c:11892
31759+#: cp/decl.c:11903
31760 #, gcc-internal-format
31761 msgid "base type %qT fails to be a struct or class type"
31762 msgstr "el tipo base %qT falla en ser un tipo struct o clase"
31763
31764-#: cp/decl.c:11925
31765+#: cp/decl.c:11936
31766 #, gcc-internal-format
31767 msgid "recursive type %qT undefined"
31768 msgstr "tipo recursivo %qT sin definir"
31769
31770-#: cp/decl.c:11927
31771+#: cp/decl.c:11938
31772 #, gcc-internal-format
31773 msgid "duplicate base type %qT invalid"
31774 msgstr "tipo base duplicado %qT inválido"
31775
31776-#: cp/decl.c:12051
31777+#: cp/decl.c:12062
31778 #, gcc-internal-format
31779 msgid "scoped/unscoped mismatch in enum %q#T"
31780 msgstr "no coinciden scoped/unscoped en el enum %q#T"
31781
31782-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
31783+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
31784 #, gcc-internal-format
31785 msgid "previous definition here"
31786 msgstr "la definición previa está aquí"
31787
31788-#: cp/decl.c:12059
31789+#: cp/decl.c:12070
31790 #, gcc-internal-format
31791 msgid "underlying type mismatch in enum %q#T"
31792 msgstr "no coincide el tipo subyacente en el enum %q#T"
31793
31794-#: cp/decl.c:12071
31795+#: cp/decl.c:12082
31796 #, gcc-internal-format
31797 msgid "different underlying type in enum %q#T"
31798 msgstr "tipos subyacentes diferentes en el enum %q#T"
31799
31800-#: cp/decl.c:12138
31801+#: cp/decl.c:12149
31802 #, gcc-internal-format
31803 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
31804 msgstr "el tipo subyacente %<%T%> de %<%T%> debe ser un tipo integral"
31805@@ -29259,72 +29254,72 @@
31806 #.
31807 #. IF no integral type can represent all the enumerator values, the
31808 #. enumeration is ill-formed.
31809-#: cp/decl.c:12272
31810+#: cp/decl.c:12283
31811 #, gcc-internal-format
31812 msgid "no integral type can represent all of the enumerator values for %qT"
31813 msgstr "ningún tipo integral puede representar todos los valores de enumerador de %qT"
31814
31815-#: cp/decl.c:12407
31816+#: cp/decl.c:12424
31817 #, gcc-internal-format
31818 msgid "enumerator value for %qD is not an integer constant"
31819 msgstr "el valor de enumerador para %qD no es una constante entera"
31820
31821-#: cp/decl.c:12457
31822+#: cp/decl.c:12474
31823 #, gcc-internal-format
31824 msgid "incremented enumerator value is too large for %<unsigned long%>"
31825 msgstr "el valor del enumerador incrementado es demasiado grande para %<unsigned long%>"
31826
31827-#: cp/decl.c:12469
31828+#: cp/decl.c:12486
31829 #, gcc-internal-format
31830 msgid "overflow in enumeration values at %qD"
31831 msgstr "desbordamiento en valores de enumeración en %qD"
31832
31833-#: cp/decl.c:12489
31834+#: cp/decl.c:12506
31835 #, gcc-internal-format
31836 msgid "enumerator value %E is too large for underlying type %<%T%>"
31837 msgstr "el valor de enumerador %E es demasiado grande para el tipo subyacente %<%T%>"
31838
31839-#: cp/decl.c:12586
31840+#: cp/decl.c:12603
31841 #, gcc-internal-format
31842 msgid "return type %q#T is incomplete"
31843 msgstr "el tipo de devolución %q#T es un tipo de dato incompleto"
31844
31845-#: cp/decl.c:12588
31846+#: cp/decl.c:12605
31847 #, gcc-internal-format
31848 msgid "return type has Java class type %q#T"
31849 msgstr "el tipo de devolución tiene tipo de clase Java %q#T"
31850
31851-#: cp/decl.c:12712 cp/typeck.c:7909
31852+#: cp/decl.c:12729 cp/typeck.c:7909
31853 #, gcc-internal-format
31854 msgid "%<operator=%> should return a reference to %<*this%>"
31855 msgstr "%<operator=%> debe devolver una referencia a %<*this%>"
31856
31857-#: cp/decl.c:12807
31858+#: cp/decl.c:12824
31859 #, gcc-internal-format
31860 msgid "no previous declaration for %q+D"
31861 msgstr "no hay declaración previa para %q+D"
31862
31863-#: cp/decl.c:13022
31864+#: cp/decl.c:13039
31865 #, gcc-internal-format
31866 msgid "invalid function declaration"
31867 msgstr "declaración de función inválida"
31868
31869-#: cp/decl.c:13106
31870+#: cp/decl.c:13123
31871 #, gcc-internal-format
31872 msgid "parameter %qD declared void"
31873 msgstr "el parámetro %qD se declaró void"
31874
31875-#: cp/decl.c:13559
31876+#: cp/decl.c:13576
31877 #, gcc-internal-format
31878 msgid "parameter %q+D set but not used"
31879 msgstr "se define el parámetro %q+D pero no se usa"
31880
31881-#: cp/decl.c:13654
31882+#: cp/decl.c:13671
31883 #, gcc-internal-format
31884 msgid "invalid member function declaration"
31885 msgstr "declaración de la función miembro inválida"
31886
31887-#: cp/decl.c:13668
31888+#: cp/decl.c:13685
31889 #, gcc-internal-format
31890 msgid "%qD is already defined in class %qT"
31891 msgstr "%qD ya se definió en la clase %qT"
31892@@ -29672,7 +29667,7 @@
31893 msgid "throwing NULL, which has integral, not pointer type"
31894 msgstr "arrojando NULL, que tiene un tipo integral, que no es puntero"
31895
31896-#: cp/except.c:743 cp/init.c:2308
31897+#: cp/except.c:743 cp/init.c:2310
31898 #, gcc-internal-format
31899 msgid "%qD should never be overloaded"
31900 msgstr "%qD nunca se debe sobrecargar"
31901@@ -29931,152 +29926,152 @@
31902 msgid "bad array initializer"
31903 msgstr "inicializador de matriz erróneo"
31904
31905-#: cp/init.c:1778 cp/semantics.c:2780
31906+#: cp/init.c:1780 cp/semantics.c:2780
31907 #, gcc-internal-format
31908 msgid "%qT is not a class type"
31909 msgstr "%qT no es un tipo de clase"
31910
31911-#: cp/init.c:1832
31912+#: cp/init.c:1834
31913 #, gcc-internal-format
31914 msgid "incomplete type %qT does not have member %qD"
31915 msgstr "el tipo incompleto %qT no tiene al miembro %qD"
31916
31917-#: cp/init.c:1845
31918+#: cp/init.c:1847
31919 #, gcc-internal-format
31920 msgid "invalid pointer to bit-field %qD"
31921 msgstr "puntero inválido al campo de bits %qD"
31922
31923-#: cp/init.c:1922
31924+#: cp/init.c:1924
31925 #, gcc-internal-format
31926 msgid "invalid use of non-static member function %qD"
31927 msgstr "uso inválido de la función miembro no static %qD"
31928
31929-#: cp/init.c:1928
31930+#: cp/init.c:1930
31931 #, gcc-internal-format
31932 msgid "invalid use of non-static data member %qD"
31933 msgstr "uso inválido del dato miembro no static %qD"
31934
31935-#: cp/init.c:2110
31936+#: cp/init.c:2112
31937 #, gcc-internal-format
31938 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
31939 msgstr "un miembro referencia sin inicializar en %q#T usa %<new%> sin un inicializador new"
31940
31941-#: cp/init.c:2113
31942+#: cp/init.c:2115
31943 #, gcc-internal-format
31944 msgid "uninitialized reference member in %q#T"
31945 msgstr "miembro referencia sin inicializar en %q#T"
31946
31947-#: cp/init.c:2125
31948+#: cp/init.c:2127
31949 #, gcc-internal-format
31950 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
31951 msgstr "un miembro const sin inicializar en %q#T usa %<new%> sin un inicializador new"
31952
31953-#: cp/init.c:2128
31954+#: cp/init.c:2130
31955 #, gcc-internal-format
31956 msgid "uninitialized const member in %q#T"
31957 msgstr "miembro const sin inicializar en %q#T"
31958
31959-#: cp/init.c:2225
31960+#: cp/init.c:2227
31961 #, gcc-internal-format
31962 msgid "invalid type %<void%> for new"
31963 msgstr "tipo %<void%> inválido para new"
31964
31965-#: cp/init.c:2268
31966+#: cp/init.c:2270
31967 #, gcc-internal-format
31968 msgid "uninitialized const in %<new%> of %q#T"
31969 msgstr "const sin inicializar en %<new%> de %q#T"
31970
31971-#: cp/init.c:2302
31972+#: cp/init.c:2304
31973 #, gcc-internal-format
31974 msgid "call to Java constructor with %qs undefined"
31975 msgstr "llamado a constructor Java con %qs sin definir"
31976
31977-#: cp/init.c:2318
31978+#: cp/init.c:2320
31979 #, gcc-internal-format
31980 msgid "Java class %q#T object allocated using placement new"
31981 msgstr "se aloja el objeto de clase Java %q#T usando una ubicación new"
31982
31983-#: cp/init.c:2348
31984+#: cp/init.c:2350
31985 #, gcc-internal-format
31986 msgid "no suitable %qD found in class %qT"
31987 msgstr "no se encontró un %qD adecuado en la clase %qT"
31988
31989-#: cp/init.c:2355 cp/search.c:1107
31990+#: cp/init.c:2357 cp/search.c:1107
31991 #, gcc-internal-format
31992 msgid "request for member %qD is ambiguous"
31993 msgstr "la petición para el miembro %qD es ambigua"
31994
31995-#: cp/init.c:2563
31996+#: cp/init.c:2565
31997 #, gcc-internal-format
31998 msgid "non-constant array size in new, unable to verify length of initializer-list"
31999 msgstr "tamaño de matriz no constante en new, no se puede verificar la longitud de la lista del inicializador"
32000
32001-#: cp/init.c:2574
32002+#: cp/init.c:2576
32003 #, gcc-internal-format
32004 msgid "parenthesized initializer in array new"
32005 msgstr "inicializador entre paréntesis en la matriz new"
32006
32007-#: cp/init.c:2808
32008+#: cp/init.c:2810
32009 #, gcc-internal-format
32010 msgid "size in array new must have integral type"
32011 msgstr "el tamaño de la matriz nueva debe tener un tipo integral"
32012
32013-#: cp/init.c:2822
32014+#: cp/init.c:2824
32015 #, gcc-internal-format
32016 msgid "new cannot be applied to a reference type"
32017 msgstr "new no se puede aplicar a un tipo de referencia"
32018
32019-#: cp/init.c:2831
32020+#: cp/init.c:2833
32021 #, gcc-internal-format
32022 msgid "new cannot be applied to a function type"
32023 msgstr "new no se puede aplicar a un tipo de función"
32024
32025-#: cp/init.c:2875
32026+#: cp/init.c:2877
32027 #, gcc-internal-format
32028 msgid "call to Java constructor, while %<jclass%> undefined"
32029 msgstr "llamado a constructor Java, mientras %<jclass%> está indefinido"
32030
32031-#: cp/init.c:2893
32032+#: cp/init.c:2895
32033 #, gcc-internal-format
32034 msgid "can%'t find %<class$%> in %qT"
32035 msgstr "no se puede encontrar %<class$%> en %qT"
32036
32037-#: cp/init.c:3382
32038+#: cp/init.c:3384
32039 #, gcc-internal-format
32040 msgid "initializer ends prematurely"
32041 msgstr "el inicializador termina prematuramente"
32042
32043-#: cp/init.c:3446
32044+#: cp/init.c:3448
32045 #, gcc-internal-format
32046 msgid "cannot initialize multi-dimensional array with initializer"
32047 msgstr "no se pueden inicializar matrices multidimensionales con el inicializador"
32048
32049-#: cp/init.c:3620
32050+#: cp/init.c:3622
32051 #, gcc-internal-format
32052 msgid "possible problem detected in invocation of delete operator:"
32053 msgstr "se detectó un posible problema en la invocación del operador delete:"
32054
32055-#: cp/init.c:3624
32056+#: cp/init.c:3626
32057 #, gcc-internal-format
32058 msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined"
32059 msgstr "no se llamará ni al destructor ni al operador delete específico de la clase, aún si se declaran cuando se defina la clase"
32060
32061-#: cp/init.c:3640
32062+#: cp/init.c:3642
32063 #, gcc-internal-format
32064 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
32065 msgstr "si borra un objeto de tipo de clase abstracta %qT que tiene un destructor que no es virtual, puede causar conducta indefinida"
32066
32067-#: cp/init.c:3645
32068+#: cp/init.c:3647
32069 #, gcc-internal-format
32070 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
32071 msgstr "si borra un objeto de tipo de clase polimórfica %qT que tiene un destructor que no es virtual, puede causar conducta indefinida"
32072
32073-#: cp/init.c:3667
32074+#: cp/init.c:3669
32075 #, gcc-internal-format
32076 msgid "unknown array size in delete"
32077 msgstr "tamaño de matriz desconocida en delete"
32078
32079-#: cp/init.c:3936
32080+#: cp/init.c:3938
32081 #, gcc-internal-format
32082 msgid "type to vector delete is neither pointer or array type"
32083 msgstr "el tipo de vector delete no es del tipo puntero ni matriz"
32084@@ -30166,12 +30161,12 @@
32085 msgid "string literal in function template signature"
32086 msgstr "literal de cadena en la firma de plantilla de función"
32087
32088-#: cp/mangle.c:3244
32089+#: cp/mangle.c:3249
32090 #, gcc-internal-format
32091 msgid "the mangled name of %qD will change in a future version of GCC"
32092 msgstr "el nombre revuelto de %qD cambiará en una versión futura de GCC"
32093
32094-#: cp/mangle.c:3388
32095+#: cp/mangle.c:3393
32096 #, gcc-internal-format
32097 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
32098 msgstr "-fabi-version=6 (o =0) evita este error con un cambio en la decodificación"
32099@@ -30181,12 +30176,12 @@
32100 msgid "generic thunk code fails for method %q#D which uses %<...%>"
32101 msgstr "el código de thunk genérico falló para el método %q#D que utiliza %<...%>"
32102
32103-#: cp/method.c:664 cp/method.c:1003
32104+#: cp/method.c:664 cp/method.c:1002
32105 #, gcc-internal-format
32106 msgid "non-static const member %q#D, can%'t use default assignment operator"
32107 msgstr "el miembro const %q#D que no es static, no puede usar el operador de asignación por defecto"
32108
32109-#: cp/method.c:670 cp/method.c:1009
32110+#: cp/method.c:670 cp/method.c:1008
32111 #, gcc-internal-format
32112 msgid "non-static reference member %q#D, can%'t use default assignment operator"
32113 msgstr "el miembro de referencia %q#D que no es static, no puede usar el operador de asignación por defecto"
32114@@ -30201,98 +30196,98 @@
32115 msgid "union member %q+D with non-trivial %qD"
32116 msgstr "miembro union %q+D con %qD que no es trivial"
32117
32118-#: cp/method.c:964
32119+#: cp/method.c:963
32120 #, gcc-internal-format
32121 msgid "defaulted constructor calls non-constexpr %q+D"
32122 msgstr "un constructor por defecto llama a %q+D que no es constexpr"
32123
32124-#: cp/method.c:1025
32125+#: cp/method.c:1024
32126 #, gcc-internal-format
32127 msgid "initializer for %q+#D is invalid"
32128 msgstr "el inicializador para %q+#D es inválido"
32129
32130-#: cp/method.c:1048
32131+#: cp/method.c:1047
32132 #, gcc-internal-format
32133 msgid "uninitialized non-static const member %q#D"
32134 msgstr "miembro const que no es estático %q#D sin inicializar"
32135
32136-#: cp/method.c:1055
32137+#: cp/method.c:1054
32138 #, gcc-internal-format
32139 msgid "uninitialized non-static reference member %q#D"
32140 msgstr "miembro referencia que no es estático %q#D sin inicializar"
32141
32142-#: cp/method.c:1071
32143+#: cp/method.c:1070
32144 #, gcc-internal-format
32145 msgid "defaulted default constructor does not initialize %q+#D"
32146 msgstr "el constructor por defecto en efecto no inicializa %q+#D"
32147
32148 #. A trivial constructor doesn't have any NSDMI.
32149-#: cp/method.c:1220
32150+#: cp/method.c:1223
32151 #, gcc-internal-format
32152 msgid "defaulted default constructor does not initialize any non-static data member"
32153 msgstr "el constructor por defecto en efecto no inicializa ningún dato miembro que no es static"
32154
32155-#: cp/method.c:1298
32156+#: cp/method.c:1304
32157 #, gcc-internal-format
32158 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
32159 msgstr "%qT tiene bases virtuales, no se puede generar el operador de asignación move por defecto"
32160
32161-#: cp/method.c:1388
32162+#: cp/method.c:1395
32163 #, gcc-internal-format
32164 msgid "a lambda closure type has a deleted default constructor"
32165 msgstr "un tipo de conclusión lambda tiene un constructor por defecto borrado"
32166
32167-#: cp/method.c:1391
32168+#: cp/method.c:1398
32169 #, gcc-internal-format
32170 msgid "a lambda closure type has a deleted copy assignment operator"
32171 msgstr "un tipo de conclusión lambda tiene un operador de asignación por copia borrado"
32172
32173-#: cp/method.c:1401
32174+#: cp/method.c:1408
32175 #, gcc-internal-format
32176 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
32177 msgstr "%q+#D se declara implícitamente como deleted porque %qT declara un constructor move o un operador de asignación move"
32178
32179-#: cp/method.c:1411
32180+#: cp/method.c:1418
32181 #, gcc-internal-format
32182 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
32183 msgstr "%q+#D es implícitamente deleted por que la definición por defecto estaría mal formada:"
32184
32185-#: cp/method.c:1621
32186+#: cp/method.c:1630
32187 #, gcc-internal-format
32188 msgid "defaulted declaration %q+D"
32189 msgstr "declaración definida por defecto %q+D"
32190
32191-#: cp/method.c:1623
32192+#: cp/method.c:1632
32193 #, gcc-internal-format
32194 msgid "does not match expected signature %qD"
32195 msgstr "no coincide la firma esperada %qD"
32196
32197-#: cp/method.c:1637
32198+#: cp/method.c:1646
32199 #, gcc-internal-format
32200 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
32201 msgstr "la función %q+D definida por defecto en su primera declaración tiene una excepción de especificación que difiere de la declaración implícita %q#D"
32202
32203-#: cp/method.c:1658
32204+#: cp/method.c:1667
32205 #, gcc-internal-format
32206 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
32207 msgstr "la función %q+D explícitamente por defecto no se puede declarar como constexpr porque la declaración implícita no es constexpr:"
32208
32209-#: cp/method.c:1680
32210+#: cp/method.c:1689
32211 #, gcc-internal-format
32212 msgid "a template cannot be defaulted"
32213 msgstr "una plantilla no se puede definir por defecto"
32214
32215-#: cp/method.c:1708
32216+#: cp/method.c:1717
32217 #, gcc-internal-format
32218 msgid "%qD cannot be defaulted"
32219 msgstr "%qD no se puede definir por defecto"
32220
32221-#: cp/method.c:1717
32222+#: cp/method.c:1726
32223 #, gcc-internal-format
32224 msgid "defaulted function %q+D with default argument"
32225 msgstr "función definida por defecto %q+D con argumento por defecto"
32226
32227-#: cp/method.c:1805
32228+#: cp/method.c:1818
32229 #, gcc-internal-format
32230 msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
32231 msgstr "la disposición vtable para la clase %qT puede no cumplir con la ABI y puede cambiar en una versión futura de GCC debido al destructor virtual implícito"
32232@@ -30429,154 +30424,154 @@
32233 msgid "%s %s %p %d\n"
32234 msgstr "%s %s %p %d\n"
32235
32236-#: cp/name-lookup.c:2252
32237+#: cp/name-lookup.c:2257
32238 #, gcc-internal-format
32239 msgid "%q#D hides constructor for %q#T"
32240 msgstr "%q#D esconde el destructor para %q#T"
32241
32242-#: cp/name-lookup.c:2269
32243+#: cp/name-lookup.c:2274
32244 #, gcc-internal-format
32245 msgid "%q#D conflicts with previous using declaration %q#D"
32246 msgstr "%q#D genera un conflicto con la declaración previa en uso %q#D"
32247
32248-#: cp/name-lookup.c:2292
32249+#: cp/name-lookup.c:2297
32250 #, gcc-internal-format
32251 msgid "previous non-function declaration %q+#D"
32252 msgstr "la declaración previa %q+#D que no es función"
32253
32254-#: cp/name-lookup.c:2293
32255+#: cp/name-lookup.c:2298
32256 #, gcc-internal-format
32257 msgid "conflicts with function declaration %q#D"
32258 msgstr "genera un conflicto con la declaración de la función %q#D"
32259
32260 #. It's a nested name with template parameter dependent scope.
32261 #. This can only be using-declaration for class member.
32262-#: cp/name-lookup.c:2383 cp/name-lookup.c:2408
32263+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
32264 #, gcc-internal-format
32265 msgid "%qT is not a namespace"
32266 msgstr "%qT no es un espacio de nombres"
32267
32268 #. 7.3.3/5
32269 #. A using-declaration shall not name a template-id.
32270-#: cp/name-lookup.c:2393
32271+#: cp/name-lookup.c:2398
32272 #, gcc-internal-format
32273 msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
32274 msgstr "una declaración de uso no puede especificar un id de plantilla. Intente %<using %D%>"
32275
32276-#: cp/name-lookup.c:2400
32277+#: cp/name-lookup.c:2405
32278 #, gcc-internal-format
32279 msgid "namespace %qD not allowed in using-declaration"
32280 msgstr "no se permite el espacio de nombres %qD en la declaración using"
32281
32282-#: cp/name-lookup.c:2436
32283+#: cp/name-lookup.c:2441
32284 #, gcc-internal-format
32285 msgid "%qD not declared"
32286 msgstr "no se declaró %qD"
32287
32288-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
32289-#: cp/name-lookup.c:2558
32290+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
32291+#: cp/name-lookup.c:2563
32292 #, gcc-internal-format
32293 msgid "%qD is already declared in this scope"
32294 msgstr "%qD ya se declaró en este ámbito"
32295
32296-#: cp/name-lookup.c:3201
32297+#: cp/name-lookup.c:3206
32298 #, gcc-internal-format
32299 msgid "using-declaration for non-member at class scope"
32300 msgstr "declaración de uso para un no miembro en el ámbito de la clase"
32301
32302-#: cp/name-lookup.c:3208
32303+#: cp/name-lookup.c:3213
32304 #, gcc-internal-format
32305 msgid "%<%T::%D%> names destructor"
32306 msgstr "%<%T::%D%> nombra al destructor"
32307
32308-#: cp/name-lookup.c:3213
32309+#: cp/name-lookup.c:3218
32310 #, gcc-internal-format
32311 msgid "%<%T::%D%> names constructor"
32312 msgstr "%<%T::%D%> nombra al constructor"
32313
32314-#: cp/name-lookup.c:3218
32315+#: cp/name-lookup.c:3223
32316 #, gcc-internal-format
32317 msgid "%<%T::%D%> names constructor in %qT"
32318 msgstr "%<%T::%D%> nombra al constructor en %qT"
32319
32320-#: cp/name-lookup.c:3268
32321+#: cp/name-lookup.c:3273
32322 #, gcc-internal-format
32323 msgid "no members matching %<%T::%D%> in %q#T"
32324 msgstr "no hay miembros que coincidan con %<%T::%D%> en %q#T"
32325
32326-#: cp/name-lookup.c:3355
32327+#: cp/name-lookup.c:3360
32328 #, gcc-internal-format
32329 msgid "declaration of %qD not in a namespace surrounding %qD"
32330 msgstr "la declaración de %qD no está en un espacio de nombres alrededor de %qD"
32331
32332-#: cp/name-lookup.c:3363
32333+#: cp/name-lookup.c:3368
32334 #, gcc-internal-format
32335 msgid "explicit qualification in declaration of %qD"
32336 msgstr "calificación explícita en la declaración de %qD"
32337
32338-#: cp/name-lookup.c:3446
32339+#: cp/name-lookup.c:3451
32340 #, gcc-internal-format
32341 msgid "%qD should have been declared inside %qD"
32342 msgstr "%qD se debería declarar dentro de %qD"
32343
32344-#: cp/name-lookup.c:3490
32345+#: cp/name-lookup.c:3495
32346 #, gcc-internal-format
32347 msgid "%qD attribute requires a single NTBS argument"
32348 msgstr "el atributo %qD requiere un solo argumento NTBS"
32349
32350-#: cp/name-lookup.c:3497
32351+#: cp/name-lookup.c:3502
32352 #, gcc-internal-format
32353 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
32354 msgstr "el atributo %qD no tiene signifcado porque los miembros del espacio de nombres anónimo tiene símbolos locales"
32355
32356-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
32357+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
32358 #, gcc-internal-format
32359 msgid "%qD attribute directive ignored"
32360 msgstr "se descarta la directiva de atributo %qD"
32361
32362-#: cp/name-lookup.c:3550
32363+#: cp/name-lookup.c:3555
32364 #, gcc-internal-format
32365 msgid "namespace alias %qD not allowed here, assuming %qD"
32366 msgstr "no se permite aquí el alias del espacio de nombres %qD, se asume que es %qD"
32367
32368-#: cp/name-lookup.c:3882
32369+#: cp/name-lookup.c:3887
32370 #, gcc-internal-format
32371 msgid "strong using only meaningful at namespace scope"
32372 msgstr "el uso de strong solamente tiene significado en el ámbito de espacio de nombres"
32373
32374-#: cp/name-lookup.c:3886
32375+#: cp/name-lookup.c:3891
32376 #, gcc-internal-format
32377 msgid "current namespace %qD does not enclose strongly used namespace %qD"
32378 msgstr "el espacio de nombres actual %qD no contiene al espacio de nombres %qD usado con frecuencia"
32379
32380-#: cp/name-lookup.c:4224
32381+#: cp/name-lookup.c:4229
32382 #, gcc-internal-format
32383 msgid "maximum limit of %d namespaces searched for %qE"
32384 msgstr "límite máximo de %d espacios de nombres buscados para %qE"
32385
32386-#: cp/name-lookup.c:4234
32387+#: cp/name-lookup.c:4239
32388 #, gcc-internal-format
32389 msgid "suggested alternative:"
32390 msgid_plural "suggested alternatives:"
32391 msgstr[0] "alternativa sugerida:"
32392 msgstr[1] "alternativas sugeridas:"
32393
32394-#: cp/name-lookup.c:4238
32395+#: cp/name-lookup.c:4243
32396 #, gcc-internal-format
32397 msgid " %qE"
32398 msgstr " %qE"
32399
32400-#: cp/name-lookup.c:5494
32401+#: cp/name-lookup.c:5499
32402 #, gcc-internal-format
32403 msgid "argument dependent lookup finds %q+D"
32404 msgstr "la búsqueda dependiente del argumento encuentra %q+D"
32405
32406-#: cp/name-lookup.c:5990
32407+#: cp/name-lookup.c:5995
32408 #, gcc-internal-format
32409 msgid "XXX entering pop_everything ()\n"
32410 msgstr "XXX entrando a pop_everything ()\n"
32411
32412-#: cp/name-lookup.c:5999
32413+#: cp/name-lookup.c:6004
32414 #, gcc-internal-format
32415 msgid "XXX leaving pop_everything ()\n"
32416 msgstr "XXX saliendo de pop_everything ()\n"
32417@@ -30706,7 +30701,7 @@
32418 msgid "floating-point literal cannot appear in a constant-expression"
32419 msgstr "una literal de coma flotante no puede aparecer en una expresión constante"
32420
32421-#: cp/parser.c:2645 cp/pt.c:13536
32422+#: cp/parser.c:2645 cp/pt.c:13562
32423 #, gcc-internal-format
32424 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
32425 msgstr "una conversión a un tipo diferente de un tipo integral o de enumeración no puede aparecer en una expresión constante"
32426@@ -30934,7 +30929,7 @@
32427 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
32428 msgstr "los sufijos de operador literal que no están precedidos por %<_%> están reservados para estandarización futura"
32429
32430-#: cp/parser.c:4841 cp/parser.c:16238
32431+#: cp/parser.c:4841 cp/parser.c:16241
32432 #, gcc-internal-format
32433 msgid "expected unqualified-id"
32434 msgstr "se esperaba un id sin calificar"
32435@@ -31126,7 +31121,7 @@
32436 msgid "compound-statement in constexpr function"
32437 msgstr "declaración compuesta en una función constexpr"
32438
32439-#: cp/parser.c:9160 cp/parser.c:22274
32440+#: cp/parser.c:9160 cp/parser.c:22269
32441 #, gcc-internal-format
32442 msgid "expected selection-statement"
32443 msgstr "se esperaba una declaración de selección"
32444@@ -31156,7 +31151,7 @@
32445 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
32446 msgstr "tipos begin/end inconsistentes para la declaración %<for%> basada en rango: %qT y %qT"
32447
32448-#: cp/parser.c:9749 cp/parser.c:22277
32449+#: cp/parser.c:9749 cp/parser.c:22272
32450 #, gcc-internal-format
32451 msgid "expected iteration-statement"
32452 msgstr "se esperaba una declaración de iteración"
32453@@ -31172,12 +31167,12 @@
32454 msgid "ISO C++ forbids computed gotos"
32455 msgstr "ISO C++ prohíbe los gotos calculados"
32456
32457-#: cp/parser.c:9931 cp/parser.c:22280
32458+#: cp/parser.c:9931 cp/parser.c:22275
32459 #, gcc-internal-format
32460 msgid "expected jump-statement"
32461 msgstr "se esperaba una declaración de salto"
32462
32463-#: cp/parser.c:10063 cp/parser.c:18871
32464+#: cp/parser.c:10063 cp/parser.c:18866
32465 #, gcc-internal-format
32466 msgid "extra %<;%>"
32467 msgstr "<;%> extra"
32468@@ -31214,7 +31209,7 @@
32469 msgid "class definition may not be declared a friend"
32470 msgstr "la definición de clase no se puede declarar como friend"
32471
32472-#: cp/parser.c:10847 cp/parser.c:19243
32473+#: cp/parser.c:10847 cp/parser.c:19238
32474 #, gcc-internal-format
32475 msgid "templates may not be %<virtual%>"
32476 msgstr "las plantillas no pueden ser %<virtual%>"
32477@@ -31290,12 +31285,12 @@
32478 msgid "keyword %<export%> not implemented, and will be ignored"
32479 msgstr "no se admite la palabra clave %<export%>, y se descartará"
32480
32481-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
32482+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
32483 #, gcc-internal-format
32484 msgid "template parameter pack %qD cannot have a default argument"
32485 msgstr "el paquete de parámetros plantilla %qD no puede tener un argumento por defecto"
32486
32487-#: cp/parser.c:12119 cp/parser.c:17348
32488+#: cp/parser.c:12119 cp/parser.c:17351
32489 #, gcc-internal-format
32490 msgid "template parameter pack cannot have a default argument"
32491 msgstr "el paquete de parámetros plantilla no puede tener un argumento por defecto"
32492@@ -31310,7 +31305,7 @@
32493 msgid "expected template-id"
32494 msgstr "se esperaba un id de plantilla"
32495
32496-#: cp/parser.c:12453 cp/parser.c:22238
32497+#: cp/parser.c:12453 cp/parser.c:22233
32498 #, gcc-internal-format
32499 msgid "expected %<<%>"
32500 msgstr "se esperaba %<<%>"
32501@@ -31437,12 +31432,12 @@
32502 msgid "cannot add an enumerator list to a template instantiation"
32503 msgstr "no se puede agregar una lista de enumerador a una instanciación de plantilla"
32504
32505-#: cp/parser.c:14493 cp/parser.c:18444
32506+#: cp/parser.c:14493 cp/parser.c:18431
32507 #, gcc-internal-format
32508 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
32509 msgstr "la declaración de %qD en el espacio de nombres %qD el cual no incluye a %qD"
32510
32511-#: cp/parser.c:14498 cp/parser.c:18449
32512+#: cp/parser.c:14498 cp/parser.c:18436
32513 #, gcc-internal-format
32514 msgid "declaration of %qD in %qD which does not enclose %qD"
32515 msgstr "la declaración de %qD en %qD la cual no incluye a %qD"
32516@@ -31487,73 +31482,73 @@
32517 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
32518 msgstr "las declaraciones access son obsoletas en favor de las declaraciones using: sugerencia: use la palabra clave %<using%>"
32519
32520-#: cp/parser.c:15094
32521+#: cp/parser.c:15097
32522 #, gcc-internal-format
32523 msgid "types may not be defined in alias template declarations"
32524 msgstr "no se pueden definir tipos en declaraciones de plantilla alias"
32525
32526-#: cp/parser.c:15541
32527+#: cp/parser.c:15544
32528 #, gcc-internal-format
32529 msgid "a function-definition is not allowed here"
32530 msgstr "una definición de función no se permite aquí"
32531
32532-#: cp/parser.c:15553
32533+#: cp/parser.c:15556
32534 #, gcc-internal-format
32535 msgid "an asm-specification is not allowed on a function-definition"
32536 msgstr "no se permite una especificación-asm en una definición-de-función"
32537
32538-#: cp/parser.c:15557
32539+#: cp/parser.c:15560
32540 #, gcc-internal-format
32541 msgid "attributes are not allowed on a function-definition"
32542 msgstr "no se permiten atributos en una definición-de-función"
32543
32544-#: cp/parser.c:15594
32545+#: cp/parser.c:15597
32546 #, gcc-internal-format
32547 msgid "expected constructor, destructor, or type conversion"
32548 msgstr "se esperaba un constructor, un destructor, o una conversión de tipo"
32549
32550 #. Anything else is an error.
32551-#: cp/parser.c:15629 cp/parser.c:17509
32552+#: cp/parser.c:15632 cp/parser.c:17512
32553 #, gcc-internal-format
32554 msgid "expected initializer"
32555 msgstr "se esperaba un inicializador"
32556
32557-#: cp/parser.c:15649
32558+#: cp/parser.c:15652
32559 #, gcc-internal-format
32560 msgid "invalid type in declaration"
32561 msgstr "tipo inválido en la declaración"
32562
32563-#: cp/parser.c:15725
32564+#: cp/parser.c:15728
32565 #, gcc-internal-format
32566 msgid "initializer provided for function"
32567 msgstr "se proporcionó un inicializador para la función"
32568
32569-#: cp/parser.c:15757
32570+#: cp/parser.c:15760
32571 #, gcc-internal-format
32572 msgid "attributes after parenthesized initializer ignored"
32573 msgstr "se descartan los atributos después del inicializador entre paréntesis"
32574
32575-#: cp/parser.c:16161
32576+#: cp/parser.c:16164
32577 #, gcc-internal-format
32578 msgid "array bound is not an integer constant"
32579 msgstr "el límite de la matriz no es una constante entera"
32580
32581-#: cp/parser.c:16282
32582+#: cp/parser.c:16285
32583 #, gcc-internal-format
32584 msgid "cannot define member of dependent typedef %qT"
32585 msgstr "no se puede definir el miembro de la definición de tipo dependiente %qT"
32586
32587-#: cp/parser.c:16286
32588+#: cp/parser.c:16289
32589 #, gcc-internal-format
32590 msgid "%<%T::%E%> is not a type"
32591 msgstr "%<%T::%E%> no es un tipo"
32592
32593-#: cp/parser.c:16314
32594+#: cp/parser.c:16317
32595 #, gcc-internal-format
32596 msgid "invalid use of constructor as a template"
32597 msgstr "uso inválido del constructor como una plantilla"
32598
32599-#: cp/parser.c:16316
32600+#: cp/parser.c:16319
32601 #, gcc-internal-format
32602 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
32603 msgstr "use %<%T::%D%> en lugar de %<%T::%D%> para nombrar el constructor en un nombre calificado"
32604@@ -31562,247 +31557,247 @@
32605 #. here because we do not have enough
32606 #. information about its original syntactic
32607 #. form.
32608-#: cp/parser.c:16333
32609+#: cp/parser.c:16336
32610 #, gcc-internal-format
32611 msgid "invalid declarator"
32612 msgstr "declarador inválido"
32613
32614-#: cp/parser.c:16399
32615+#: cp/parser.c:16402
32616 #, gcc-internal-format
32617 msgid "expected declarator"
32618 msgstr "se esperaba un declarador"
32619
32620-#: cp/parser.c:16494
32621+#: cp/parser.c:16497
32622 #, gcc-internal-format
32623 msgid "%qD is a namespace"
32624 msgstr "%qD es un espacio de nombres"
32625
32626-#: cp/parser.c:16496
32627+#: cp/parser.c:16499
32628 #, gcc-internal-format
32629 msgid "cannot form pointer to member of non-class %q#T"
32630 msgstr "no se puede formar un puntero al miembro de %q#T que no es clase"
32631
32632-#: cp/parser.c:16513
32633+#: cp/parser.c:16516
32634 #, gcc-internal-format
32635 msgid "expected ptr-operator"
32636 msgstr "se esperaba un operador puntero"
32637
32638-#: cp/parser.c:16572
32639+#: cp/parser.c:16575
32640 #, gcc-internal-format
32641 msgid "duplicate cv-qualifier"
32642 msgstr "calificador-cv duplicado"
32643
32644-#: cp/parser.c:16630
32645+#: cp/parser.c:16633
32646 #, gcc-internal-format
32647 msgid "duplicate virt-specifier"
32648 msgstr "especificador-virt duplicado"
32649
32650-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
32651+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
32652 #, gcc-internal-format
32653 msgid "invalid use of %<auto%>"
32654 msgstr "uso inválido de %<auto%>"
32655
32656-#: cp/parser.c:16811
32657+#: cp/parser.c:16814
32658 #, gcc-internal-format
32659 msgid "types may not be defined in template arguments"
32660 msgstr "no se pueden definir tipos en argumentos de plantilla"
32661
32662-#: cp/parser.c:16892
32663+#: cp/parser.c:16895
32664 #, gcc-internal-format
32665 msgid "expected type-specifier"
32666 msgstr "se esperaba un especificador de tipo"
32667
32668-#: cp/parser.c:17136
32669+#: cp/parser.c:17139
32670 #, gcc-internal-format
32671 msgid "expected %<,%> or %<...%>"
32672 msgstr "se esperaba %<,%> o %<...%>"
32673
32674-#: cp/parser.c:17193
32675+#: cp/parser.c:17196
32676 #, gcc-internal-format
32677 msgid "types may not be defined in parameter types"
32678 msgstr "no se pueden definir tipos en tipos de parámetro"
32679
32680-#: cp/parser.c:17319
32681+#: cp/parser.c:17322
32682 #, gcc-internal-format
32683 msgid "deprecated use of default argument for parameter of non-function"
32684 msgstr "uso obsoleto del argumento por defecto para el parámetro de una no función"
32685
32686-#: cp/parser.c:17323
32687+#: cp/parser.c:17326
32688 #, gcc-internal-format
32689 msgid "default arguments are only permitted for function parameters"
32690 msgstr "los argumentos por defecto sólo se permiten para parámetros de función"
32691
32692-#: cp/parser.c:17342
32693+#: cp/parser.c:17345
32694 #, gcc-internal-format
32695 msgid "parameter pack %qD cannot have a default argument"
32696 msgstr "el paquete de parámetros %qD no puede tener un argumento por defecto"
32697
32698-#: cp/parser.c:17350
32699+#: cp/parser.c:17353
32700 #, gcc-internal-format
32701 msgid "parameter pack cannot have a default argument"
32702 msgstr "el paquete de parámetros no puede tener un argumento por defecto"
32703
32704-#: cp/parser.c:17637
32705+#: cp/parser.c:17640
32706 #, gcc-internal-format
32707 msgid "ISO C++ does not allow designated initializers"
32708 msgstr "ISO C++ no permite inicializadores designados"
32709
32710-#: cp/parser.c:17651
32711+#: cp/parser.c:17654
32712 #, gcc-internal-format
32713 msgid "ISO C++ does not allow C99 designated initializers"
32714 msgstr "ISO C++ no permite inicializadores designados de C99"
32715
32716-#: cp/parser.c:17755 cp/parser.c:17879
32717+#: cp/parser.c:17758 cp/parser.c:17882
32718 #, gcc-internal-format
32719 msgid "expected class-name"
32720 msgstr "se esperaba un nombre de clase"
32721
32722-#: cp/parser.c:18067
32723+#: cp/parser.c:18056
32724 #, gcc-internal-format
32725 msgid "expected %<;%> after class definition"
32726 msgstr "se esperaba %<;%> después de la definición de clase"
32727
32728-#: cp/parser.c:18069
32729+#: cp/parser.c:18058
32730 #, gcc-internal-format
32731 msgid "expected %<;%> after struct definition"
32732 msgstr "se esperaba %<;%> después de la definición de struct"
32733
32734-#: cp/parser.c:18071
32735+#: cp/parser.c:18060
32736 #, gcc-internal-format
32737 msgid "expected %<;%> after union definition"
32738 msgstr "se esperaba %<;%> después de la definición de union"
32739
32740-#: cp/parser.c:18392
32741+#: cp/parser.c:18379
32742 #, gcc-internal-format
32743 msgid "expected %<{%> or %<:%>"
32744 msgstr "se esperaba %<{%> o %<:%>"
32745
32746-#: cp/parser.c:18403
32747+#: cp/parser.c:18390
32748 #, gcc-internal-format
32749 msgid "cannot specify %<override%> for a class"
32750 msgstr "no se puede especificar %<override%> para una clase"
32751
32752-#: cp/parser.c:18411
32753+#: cp/parser.c:18398
32754 #, gcc-internal-format
32755 msgid "global qualification of class name is invalid"
32756 msgstr "la calificación global del nombre de clase es inválida"
32757
32758-#: cp/parser.c:18418
32759+#: cp/parser.c:18405
32760 #, gcc-internal-format
32761 msgid "qualified name does not name a class"
32762 msgstr "el nombre calificado no nombra una clase"
32763
32764-#: cp/parser.c:18430
32765+#: cp/parser.c:18417
32766 #, gcc-internal-format
32767 msgid "invalid class name in declaration of %qD"
32768 msgstr "nombre de clase inválido en la declaración de %qD"
32769
32770-#: cp/parser.c:18463
32771+#: cp/parser.c:18450
32772 #, gcc-internal-format
32773 msgid "extra qualification not allowed"
32774 msgstr "no se permite la calificación extra"
32775
32776-#: cp/parser.c:18475
32777+#: cp/parser.c:18462
32778 #, gcc-internal-format
32779 msgid "an explicit specialization must be preceded by %<template <>%>"
32780 msgstr "una especialización explícita se debe preceder con %<template <>%>"
32781
32782-#: cp/parser.c:18505
32783+#: cp/parser.c:18492
32784 #, gcc-internal-format
32785 msgid "function template %qD redeclared as a class template"
32786 msgstr "la plantilla de función %qD se redeclaró commo una plantilla de clase"
32787
32788-#: cp/parser.c:18536
32789+#: cp/parser.c:18523
32790 #, gcc-internal-format
32791 msgid "could not resolve typename type"
32792 msgstr "no se puede resolver el tipo typename"
32793
32794-#: cp/parser.c:18588
32795+#: cp/parser.c:18575
32796 #, gcc-internal-format
32797 msgid "previous definition of %q+#T"
32798 msgstr "definición previa de %q+#T"
32799
32800-#: cp/parser.c:18661 cp/parser.c:22283
32801+#: cp/parser.c:18656 cp/parser.c:22278
32802 #, gcc-internal-format
32803 msgid "expected class-key"
32804 msgstr "se esperaba una llave de clase"
32805
32806-#: cp/parser.c:18890
32807+#: cp/parser.c:18885
32808 #, gcc-internal-format
32809 msgid "in C++03 a class-key must be used when declaring a friend"
32810 msgstr "en C++03 se debe usar una llave-clase cuando se declara un friend"
32811
32812-#: cp/parser.c:18908
32813+#: cp/parser.c:18903
32814 #, gcc-internal-format
32815 msgid "friend declaration does not name a class or function"
32816 msgstr "la declaración friend no nombra una clase o función"
32817
32818-#: cp/parser.c:19118
32819+#: cp/parser.c:19113
32820 #, gcc-internal-format
32821 msgid "pure-specifier on function-definition"
32822 msgstr "especificador-pure en la definición-de-función"
32823
32824-#: cp/parser.c:19166
32825+#: cp/parser.c:19161
32826 #, gcc-internal-format
32827 msgid "expected %<;%> at end of member declaration"
32828 msgstr "se esperaba %<;%> al final de la declaración miembro"
32829
32830-#: cp/parser.c:19237
32831+#: cp/parser.c:19232
32832 #, gcc-internal-format
32833 msgid "invalid pure specifier (only %<= 0%> is allowed)"
32834 msgstr "especificador pure inválido (sólo se permite %<= 0%>)"
32835
32836-#: cp/parser.c:19272
32837+#: cp/parser.c:19267
32838 #, gcc-internal-format
32839 msgid "a brace-enclosed initializer is not allowed here"
32840 msgstr "un inicializador dentro de llaves no se permite aquí"
32841
32842-#: cp/parser.c:19403
32843+#: cp/parser.c:19398
32844 #, gcc-internal-format
32845 msgid "%<virtual%> specified more than once in base-specified"
32846 msgstr "se especificó %<virtual%> más de una vez en la base especificada"
32847
32848-#: cp/parser.c:19423
32849+#: cp/parser.c:19418
32850 #, gcc-internal-format
32851 msgid "more than one access specifier in base-specified"
32852 msgstr "más de un especificador de acceso en la base especificada"
32853
32854-#: cp/parser.c:19447
32855+#: cp/parser.c:19442
32856 #, gcc-internal-format
32857 msgid "keyword %<typename%> not allowed outside of templates"
32858 msgstr "no se permite la palabra clave %<typename%> fuera de las plantillas"
32859
32860-#: cp/parser.c:19450
32861+#: cp/parser.c:19445
32862 #, gcc-internal-format
32863 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
32864 msgstr "no se permite la palabra clave %<typename%> en este contexto (la clase base es implícitamente un tipo)"
32865
32866-#: cp/parser.c:19543 cp/parser.c:19625
32867+#: cp/parser.c:19538 cp/parser.c:19620
32868 #, gcc-internal-format
32869 msgid "types may not be defined in an exception-specification"
32870 msgstr "no se pueden definir tipos en una especificación de excepción"
32871
32872-#: cp/parser.c:19607
32873+#: cp/parser.c:19602
32874 #, gcc-internal-format
32875 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
32876 msgstr "las especificaciones de excepción dinámicas son obsoletas en C++0x; utilice %<noexcept%> en su lugar"
32877
32878-#: cp/parser.c:19806
32879+#: cp/parser.c:19801
32880 #, gcc-internal-format
32881 msgid "types may not be defined in exception-declarations"
32882 msgstr "no se pueden definir tipos en declaraciones de excepción"
32883
32884-#: cp/parser.c:20706
32885+#: cp/parser.c:20701
32886 #, gcc-internal-format
32887 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
32888 msgstr "el miembro especializado %<%T::%E%> requiere sintaxis %<template<>%>"
32889
32890-#: cp/parser.c:20711
32891+#: cp/parser.c:20706
32892 #, gcc-internal-format
32893 msgid "invalid declaration of %<%T::%E%>"
32894 msgstr "declaración inválida de %<%T::%E%>"
32895
32896-#: cp/parser.c:20715
32897+#: cp/parser.c:20710
32898 #, gcc-internal-format
32899 msgid "too few template-parameter-lists"
32900 msgstr "faltan listas-de-parámetros-de-plantilla"
32901@@ -31811,317 +31806,317 @@
32902 #. something like:
32903 #.
32904 #. template <class T> template <class U> void S::f();
32905-#: cp/parser.c:20722
32906+#: cp/parser.c:20717
32907 #, gcc-internal-format
32908 msgid "too many template-parameter-lists"
32909 msgstr "demasiadas listas-de-parámetros-de-plantilla"
32910
32911-#: cp/parser.c:21019
32912+#: cp/parser.c:21014
32913 #, gcc-internal-format
32914 msgid "named return values are no longer supported"
32915 msgstr "ya no se admiten los valores de devolución nombrados"
32916
32917-#: cp/parser.c:21106
32918+#: cp/parser.c:21101
32919 #, gcc-internal-format
32920 msgid "invalid declaration of member template in local class"
32921 msgstr "declaración inválida de plantilla miembro en la clase local"
32922
32923-#: cp/parser.c:21115
32924+#: cp/parser.c:21110
32925 #, gcc-internal-format
32926 msgid "template with C linkage"
32927 msgstr "plantilla con enlace C"
32928
32929-#: cp/parser.c:21134
32930+#: cp/parser.c:21129
32931 #, gcc-internal-format
32932 msgid "invalid explicit specialization"
32933 msgstr "especialización explícita inválida"
32934
32935-#: cp/parser.c:21220
32936+#: cp/parser.c:21215
32937 #, gcc-internal-format
32938 msgid "literal operator template %qD has invalid parameter list. Expected non-type template argument pack <char...>"
32939 msgstr "la plantilla de operador literal %qD tiene una lista de parámetros inválida. Se esperaba un paquete de argumentos de plantilla que no sean de tipo <char...>"
32940
32941-#: cp/parser.c:21294
32942+#: cp/parser.c:21289
32943 #, gcc-internal-format
32944 msgid "template declaration of %<typedef%>"
32945 msgstr "declaración plantilla de %<typedef%>"
32946
32947-#: cp/parser.c:21371
32948+#: cp/parser.c:21366
32949 #, gcc-internal-format
32950 msgid "explicit template specialization cannot have a storage class"
32951 msgstr "la especialización de plantilla explícita no puede tener una clase de almacenamiento"
32952
32953-#: cp/parser.c:21606
32954+#: cp/parser.c:21601
32955 #, gcc-internal-format
32956 msgid "%<>>%> should be %<> >%> within a nested template argument list"
32957 msgstr "%<>>%> debe ser %<> >%> dentro de una lista de argumentos de plantilla anidada"
32958
32959-#: cp/parser.c:21619
32960+#: cp/parser.c:21614
32961 #, gcc-internal-format
32962 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
32963 msgstr "%<>>%> sobrante, use %<>%> para terminar una lista de argumentos de plantilla"
32964
32965-#: cp/parser.c:22025
32966+#: cp/parser.c:22020
32967 #, gcc-internal-format
32968 msgid "invalid use of %qD in linkage specification"
32969 msgstr "uso inválido de %qD en la especificación de enlace"
32970
32971-#: cp/parser.c:22038
32972+#: cp/parser.c:22033
32973 #, gcc-internal-format
32974 msgid "%<__thread%> before %qD"
32975 msgstr "%<__thread%> antes de %qD"
32976
32977-#: cp/parser.c:22141
32978+#: cp/parser.c:22136
32979 #, gcc-internal-format
32980 msgid "expected %<new%>"
32981 msgstr "se esperaba %<new%>"
32982
32983-#: cp/parser.c:22144
32984+#: cp/parser.c:22139
32985 #, gcc-internal-format
32986 msgid "expected %<delete%>"
32987 msgstr "se esperaba %<delete%>"
32988
32989-#: cp/parser.c:22147
32990+#: cp/parser.c:22142
32991 #, gcc-internal-format
32992 msgid "expected %<return%>"
32993 msgstr "se esperaba %<return%>"
32994
32995-#: cp/parser.c:22153
32996+#: cp/parser.c:22148
32997 #, gcc-internal-format
32998 msgid "expected %<extern%>"
32999 msgstr "se esperaba %<extern%>"
33000
33001-#: cp/parser.c:22156
33002+#: cp/parser.c:22151
33003 #, gcc-internal-format
33004 msgid "expected %<static_assert%>"
33005 msgstr "se esperaba %<static_assert%>"
33006
33007-#: cp/parser.c:22159
33008+#: cp/parser.c:22154
33009 #, gcc-internal-format
33010 msgid "expected %<decltype%>"
33011 msgstr "se esperaba %<decltype%>"
33012
33013-#: cp/parser.c:22162
33014+#: cp/parser.c:22157
33015 #, gcc-internal-format
33016 msgid "expected %<operator%>"
33017 msgstr "se esperaba %<operator%>"
33018
33019-#: cp/parser.c:22165
33020+#: cp/parser.c:22160
33021 #, gcc-internal-format
33022 msgid "expected %<class%>"
33023 msgstr "se esperaba %<class%>"
33024
33025-#: cp/parser.c:22168
33026+#: cp/parser.c:22163
33027 #, gcc-internal-format
33028 msgid "expected %<template%>"
33029 msgstr "se esperaba %<template%>"
33030
33031-#: cp/parser.c:22171
33032+#: cp/parser.c:22166
33033 #, gcc-internal-format
33034 msgid "expected %<namespace%>"
33035 msgstr "se esperaba %<namespace%>"
33036
33037-#: cp/parser.c:22174
33038+#: cp/parser.c:22169
33039 #, gcc-internal-format
33040 msgid "expected %<using%>"
33041 msgstr "se esperaba %<using%>"
33042
33043-#: cp/parser.c:22177
33044+#: cp/parser.c:22172
33045 #, gcc-internal-format
33046 msgid "expected %<asm%>"
33047 msgstr "se esperaba %<asm%>"
33048
33049-#: cp/parser.c:22180
33050+#: cp/parser.c:22175
33051 #, gcc-internal-format
33052 msgid "expected %<try%>"
33053 msgstr "se esperaba %<try%>"
33054
33055-#: cp/parser.c:22183
33056+#: cp/parser.c:22178
33057 #, gcc-internal-format
33058 msgid "expected %<catch%>"
33059 msgstr "se esperaba %<catch%>"
33060
33061-#: cp/parser.c:22186
33062+#: cp/parser.c:22181
33063 #, gcc-internal-format
33064 msgid "expected %<throw%>"
33065 msgstr "se esperaba %<throw%>"
33066
33067-#: cp/parser.c:22189
33068+#: cp/parser.c:22184
33069 #, gcc-internal-format
33070 msgid "expected %<__label__%>"
33071 msgstr "se esperaba %<__label__%>"
33072
33073-#: cp/parser.c:22192
33074+#: cp/parser.c:22187
33075 #, gcc-internal-format
33076 msgid "expected %<@try%>"
33077 msgstr "se esperaba %<@try%>"
33078
33079-#: cp/parser.c:22195
33080+#: cp/parser.c:22190
33081 #, gcc-internal-format
33082 msgid "expected %<@synchronized%>"
33083 msgstr "se esperaba %<@synchronized%>"
33084
33085-#: cp/parser.c:22198
33086+#: cp/parser.c:22193
33087 #, gcc-internal-format
33088 msgid "expected %<@throw%>"
33089 msgstr "se esperaba %<@throw%>"
33090
33091-#: cp/parser.c:22201
33092+#: cp/parser.c:22196
33093 #, gcc-internal-format
33094 msgid "expected %<__transaction_atomic%>"
33095 msgstr "se esperaba %<__transaction_atomic%>"
33096
33097-#: cp/parser.c:22204
33098+#: cp/parser.c:22199
33099 #, gcc-internal-format
33100 msgid "expected %<__transaction_relaxed%>"
33101 msgstr "se esperaba %<__transaction_relaxed%>"
33102
33103-#: cp/parser.c:22235
33104+#: cp/parser.c:22230
33105 #, gcc-internal-format
33106 msgid "expected %<::%>"
33107 msgstr "se esperaba %<::%>"
33108
33109-#: cp/parser.c:22247
33110+#: cp/parser.c:22242
33111 #, gcc-internal-format
33112 msgid "expected %<...%>"
33113 msgstr "se esperaba %<...%>"
33114
33115-#: cp/parser.c:22250
33116+#: cp/parser.c:22245
33117 #, gcc-internal-format
33118 msgid "expected %<*%>"
33119 msgstr "se esperaba %<*%>"
33120
33121-#: cp/parser.c:22253
33122+#: cp/parser.c:22248
33123 #, gcc-internal-format
33124 msgid "expected %<~%>"
33125 msgstr "se esperaba %<~%>"
33126
33127-#: cp/parser.c:22259
33128+#: cp/parser.c:22254
33129 #, gcc-internal-format
33130 msgid "expected %<:%> or %<::%>"
33131 msgstr "se esperaba %<:%> o %<::%>"
33132
33133-#: cp/parser.c:22287
33134+#: cp/parser.c:22282
33135 #, gcc-internal-format
33136 msgid "expected %<class%>, %<typename%>, or %<template%>"
33137 msgstr "se esperaba %<class%>, %<typename%> o %<template%>"
33138
33139-#: cp/parser.c:22525
33140+#: cp/parser.c:22520
33141 #, gcc-internal-format
33142 msgid "%qs tag used in naming %q#T"
33143 msgstr "se usó la etiqueta %qs al nombrar a %q#T"
33144
33145-#: cp/parser.c:22530
33146+#: cp/parser.c:22525
33147 #, gcc-internal-format
33148 msgid "%q#T was previously declared here"
33149 msgstr "%q#T se declaró previamente aquí"
33150
33151-#: cp/parser.c:22549
33152+#: cp/parser.c:22544
33153 #, gcc-internal-format
33154 msgid "%qD redeclared with different access"
33155 msgstr "%qD se redeclaró con acceso diferente"
33156
33157-#: cp/parser.c:22568
33158+#: cp/parser.c:22563
33159 #, gcc-internal-format
33160 msgid "%<template%> (as a disambiguator) is only allowed within templates"
33161 msgstr "%<template%> (como desambiguador) sólo se permite dentro de plantillas"
33162
33163-#: cp/parser.c:22801
33164+#: cp/parser.c:22796
33165 #, gcc-internal-format
33166 msgid "file ends in default argument"
33167 msgstr "el fichero termina en el argumento por defecto"
33168
33169-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
33170+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
33171 #, gcc-internal-format
33172 msgid "misplaced %<@%D%> Objective-C++ construct"
33173 msgstr "construct Objective-C++ %<@%D%> mal ubicado"
33174
33175-#: cp/parser.c:23127
33176+#: cp/parser.c:23122
33177 #, gcc-internal-format
33178 msgid "objective-c++ message argument(s) are expected"
33179 msgstr "se esperaba(n) argumento(s) de mensaje de objective-c++"
33180
33181-#: cp/parser.c:23156
33182+#: cp/parser.c:23151
33183 #, gcc-internal-format
33184 msgid "%<@encode%> must specify a type as an argument"
33185 msgstr "%<@encode%> debe especificar un tipo como un argumento"
33186
33187-#: cp/parser.c:23532
33188+#: cp/parser.c:23527
33189 #, gcc-internal-format
33190 msgid "invalid Objective-C++ selector name"
33191 msgstr "nombre de selector Objective-C++ inválido"
33192
33193-#: cp/parser.c:23607 cp/parser.c:23625
33194+#: cp/parser.c:23602 cp/parser.c:23620
33195 #, gcc-internal-format
33196 msgid "objective-c++ method declaration is expected"
33197 msgstr "se esperaba una declaración de método de objective-c++"
33198
33199-#: cp/parser.c:23619 cp/parser.c:23684
33200+#: cp/parser.c:23614 cp/parser.c:23679
33201 #, gcc-internal-format
33202 msgid "method attributes must be specified at the end"
33203 msgstr "los atributos de método se deben especificar al final"
33204
33205-#: cp/parser.c:23727
33206+#: cp/parser.c:23722
33207 #, gcc-internal-format
33208 msgid "stray %qs between Objective-C++ methods"
33209 msgstr "%qs sobrante después de los métodos Objective-C++"
33210
33211-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
33212+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
33213 #, gcc-internal-format
33214 msgid "invalid type for instance variable"
33215 msgstr "tipo inválido para la variable de de instancia"
33216
33217-#: cp/parser.c:24061
33218+#: cp/parser.c:24056
33219 #, gcc-internal-format
33220 msgid "identifier expected after %<@protocol%>"
33221 msgstr "se esperaba un identificador después de %<@protocol%>"
33222
33223-#: cp/parser.c:24232
33224+#: cp/parser.c:24227
33225 #, gcc-internal-format
33226 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
33227 msgstr "los atributos no se pueden especificar antes de la palabra clave de Objective-C++ %<@%D%>"
33228
33229-#: cp/parser.c:24239
33230+#: cp/parser.c:24234
33231 #, gcc-internal-format
33232 msgid "prefix attributes are ignored before %<@%D%>"
33233 msgstr "se descartan los atributos de prefijo antes de %<@%D%>"
33234
33235-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
33236+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
33237 #, gcc-internal-format
33238 msgid "invalid type for property"
33239 msgstr "tipo inválido para la propiedad"
33240
33241-#: cp/parser.c:26256
33242+#: cp/parser.c:26251
33243 #, gcc-internal-format
33244 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
33245 msgstr "no se permite la inicialización entre paréntesis para el bucle %<for%> en OpenMP"
33246
33247-#: cp/parser.c:26423 cp/pt.c:12731
33248+#: cp/parser.c:26418 cp/pt.c:12757
33249 #, gcc-internal-format
33250 msgid "iteration variable %qD should not be reduction"
33251 msgstr "la variable de iteración %qD no debe ser reduction"
33252
33253-#: cp/parser.c:26491
33254+#: cp/parser.c:26486
33255 #, gcc-internal-format
33256 msgid "not enough collapsed for loops"
33257 msgstr "no se colapsó lo suficiente para los bucles"
33258
33259-#: cp/parser.c:27049 cp/semantics.c:5019
33260+#: cp/parser.c:27044 cp/semantics.c:5019
33261 #, gcc-internal-format
33262 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
33263 msgstr "%<__transaction_relaxed%> sin activar el soporte de memoria transaccional"
33264
33265-#: cp/parser.c:27051 cp/semantics.c:5021
33266+#: cp/parser.c:27046 cp/semantics.c:5021
33267 #, gcc-internal-format
33268 msgid "%<__transaction_atomic%> without transactional memory support enabled"
33269 msgstr "%<__transaction_atomic%> sin activar el soporte de memoria transaccional"
33270
33271-#: cp/parser.c:27248
33272+#: cp/parser.c:27243
33273 #, gcc-internal-format
33274 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
33275 msgstr "basura al final de %<#pragma GCC pch_preprocess%>"
33276
33277-#: cp/parser.c:27427
33278+#: cp/parser.c:27422
33279 #, gcc-internal-format
33280 msgid "inter-module optimizations not implemented for C++"
33281 msgstr "no se han implementado las optimizaciones intermódulos para C++"
33282@@ -32827,17 +32822,17 @@
33283 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
33284 msgstr "la profundidad de instanciación de la plantilla excede el máximo de %d (use -ftemplate-depth= para incrementar el máximo) al instanciar %qD"
33285
33286-#: cp/pt.c:9443
33287+#: cp/pt.c:9455
33288 #, gcc-internal-format
33289 msgid "mismatched argument pack lengths while expanding %<%T%>"
33290 msgstr "no coinciden las longitudes de los paquetes de argumentos al expandir %<%T%>"
33291
33292-#: cp/pt.c:9447
33293+#: cp/pt.c:9459
33294 #, gcc-internal-format
33295 msgid "mismatched argument pack lengths while expanding %<%E%>"
33296 msgstr "no coinciden las longitudes de los paquetes de argumentos al expandir %<%E%>"
33297
33298-#: cp/pt.c:10573
33299+#: cp/pt.c:10585
33300 #, gcc-internal-format
33301 msgid "instantiation of %q+D as type %qT"
33302 msgstr "instanciación de %q+D como tipo %qT"
33303@@ -32855,257 +32850,257 @@
33304 #.
33305 #. is an attempt to declare a variable with function
33306 #. type.
33307-#: cp/pt.c:10731
33308+#: cp/pt.c:10757
33309 #, gcc-internal-format
33310 msgid "variable %qD has function type"
33311 msgstr "la variable %qD tiene tipo de función"
33312
33313-#: cp/pt.c:10900
33314+#: cp/pt.c:10926
33315 #, gcc-internal-format
33316 msgid "invalid parameter type %qT"
33317 msgstr "tipo de parámetro %qT inválido"
33318
33319-#: cp/pt.c:10902
33320+#: cp/pt.c:10928
33321 #, gcc-internal-format
33322 msgid "in declaration %q+D"
33323 msgstr "en la declaración %q+D"
33324
33325-#: cp/pt.c:10979
33326+#: cp/pt.c:11005
33327 #, gcc-internal-format
33328 msgid "function returning an array"
33329 msgstr "la función devuelve una matriz"
33330
33331-#: cp/pt.c:10981
33332+#: cp/pt.c:11007
33333 #, gcc-internal-format
33334 msgid "function returning a function"
33335 msgstr "la función devuelve una función"
33336
33337-#: cp/pt.c:11011
33338+#: cp/pt.c:11037
33339 #, gcc-internal-format
33340 msgid "creating pointer to member function of non-class type %qT"
33341 msgstr "se crea un puntero a función miembro del tipo %qT que no es clase"
33342
33343-#: cp/pt.c:11552
33344+#: cp/pt.c:11578
33345 #, gcc-internal-format
33346 msgid "forming reference to void"
33347 msgstr "se forma la referencia a void"
33348
33349-#: cp/pt.c:11554
33350+#: cp/pt.c:11580
33351 #, gcc-internal-format
33352 msgid "forming pointer to reference type %qT"
33353 msgstr "se forma un puntero para referenciar al tipo %qT"
33354
33355-#: cp/pt.c:11556
33356+#: cp/pt.c:11582
33357 #, gcc-internal-format
33358 msgid "forming reference to reference type %qT"
33359 msgstr "se forma una referencia para referenciar al tipo %qT"
33360
33361-#: cp/pt.c:11605
33362+#: cp/pt.c:11631
33363 #, gcc-internal-format
33364 msgid "creating pointer to member of non-class type %qT"
33365 msgstr "se crea un puntero al miembro del tipo %qT que no es clase"
33366
33367-#: cp/pt.c:11611
33368+#: cp/pt.c:11637
33369 #, gcc-internal-format
33370 msgid "creating pointer to member reference type %qT"
33371 msgstr "se crea un puntero al miembro de referencia de tipo %qT"
33372
33373-#: cp/pt.c:11617
33374+#: cp/pt.c:11643
33375 #, gcc-internal-format
33376 msgid "creating pointer to member of type void"
33377 msgstr "se crea un puntero al miembro de tipo void"
33378
33379-#: cp/pt.c:11679
33380+#: cp/pt.c:11705
33381 #, gcc-internal-format
33382 msgid "creating array of %qT"
33383 msgstr "se crea la matriz de %qT"
33384
33385-#: cp/pt.c:11685
33386+#: cp/pt.c:11711
33387 #, gcc-internal-format
33388 msgid "creating array of %qT, which is an abstract class type"
33389 msgstr "se crea la matriz de %qT, la cual es un tipo de clase abstracta"
33390
33391-#: cp/pt.c:11714
33392+#: cp/pt.c:11740
33393 #, gcc-internal-format
33394 msgid "%qT is not a class, struct, or union type"
33395 msgstr "%qT no es de tipo clase, struct o union"
33396
33397-#: cp/pt.c:11751
33398+#: cp/pt.c:11777
33399 #, gcc-internal-format
33400 msgid "%qT resolves to %qT, which is not an enumeration type"
33401 msgstr "%qT resuelve a %qT, el cual no es un tipo enumerado"
33402
33403-#: cp/pt.c:11759
33404+#: cp/pt.c:11785
33405 #, gcc-internal-format
33406 msgid "%qT resolves to %qT, which is is not a class type"
33407 msgstr "%qT resuelve a %qT, el cual no es un tipo de clase"
33408
33409-#: cp/pt.c:11876
33410+#: cp/pt.c:11902
33411 #, gcc-internal-format
33412 msgid "use of %qs in template"
33413 msgstr "uso de %qs en la plantilla"
33414
33415-#: cp/pt.c:12016
33416+#: cp/pt.c:12042
33417 #, gcc-internal-format
33418 msgid "qualifying type %qT does not match destructor name ~%qT"
33419 msgstr "el tipo calificador %qT no coincide con el nombre del destructor ~%qT"
33420
33421-#: cp/pt.c:12031
33422+#: cp/pt.c:12057
33423 #, gcc-internal-format
33424 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
33425 msgstr "el nombre dependiente %qE se decodifica como un no tipo, pero la instanciación genera un tipo"
33426
33427-#: cp/pt.c:12033
33428+#: cp/pt.c:12059
33429 #, gcc-internal-format
33430 msgid "say %<typename %E%> if a type is meant"
33431 msgstr "escriba %<typename %E%> si quiere un tipo"
33432
33433-#: cp/pt.c:12186
33434+#: cp/pt.c:12212
33435 #, gcc-internal-format
33436 msgid "using invalid field %qD"
33437 msgstr "se usa el campo inválido %qD"
33438
33439-#: cp/pt.c:12541 cp/pt.c:13351
33440+#: cp/pt.c:12567 cp/pt.c:13377
33441 #, gcc-internal-format
33442 msgid "invalid use of pack expansion expression"
33443 msgstr "uso inválido de la expresión de expansión de paquete"
33444
33445-#: cp/pt.c:12545 cp/pt.c:13355
33446+#: cp/pt.c:12571 cp/pt.c:13381
33447 #, gcc-internal-format
33448 msgid "use %<...%> to expand argument pack"
33449 msgstr "use %<...%> para expandir el paquete de argumentos"
33450
33451-#: cp/pt.c:13931
33452+#: cp/pt.c:13957
33453 #, gcc-internal-format
33454 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
33455 msgstr "%qD no se declaró en este ámbito, y no se encontraron declaraciones en la búsqueda dependiente de argumentos en el punto de la instanciación"
33456
33457-#: cp/pt.c:13940
33458+#: cp/pt.c:13966
33459 #, gcc-internal-format
33460 msgid "declarations in dependent base %qT are not found by unqualified lookup"
33461 msgstr "no se encontraron declaraciones en la base dependiente %qT pur la búsqueda no calificada"
33462
33463-#: cp/pt.c:13945
33464+#: cp/pt.c:13971
33465 #, gcc-internal-format
33466 msgid "use %<this->%D%> instead"
33467 msgstr "use %<this->%D%> en su lugar"
33468
33469-#: cp/pt.c:13948
33470+#: cp/pt.c:13974
33471 #, gcc-internal-format
33472 msgid "use %<%T::%D%> instead"
33473 msgstr "use %<%T::%D%> en su lugar"
33474
33475-#: cp/pt.c:13952
33476+#: cp/pt.c:13978
33477 #, gcc-internal-format
33478 msgid "%q+D declared here, later in the translation unit"
33479 msgstr "%q+D se declaró aquí, después en la unidad de translación"
33480
33481-#: cp/pt.c:14185
33482+#: cp/pt.c:14211
33483 #, gcc-internal-format
33484 msgid "%qT is not a class or namespace"
33485 msgstr "%qT no es una clase o un espacio de nombres"
33486
33487-#: cp/pt.c:14188
33488+#: cp/pt.c:14214
33489 #, gcc-internal-format
33490 msgid "%qD is not a class or namespace"
33491 msgstr "%qD no es una clase o un espacio de nombres"
33492
33493-#: cp/pt.c:14480
33494+#: cp/pt.c:14506
33495 #, gcc-internal-format
33496 msgid "%qT is/uses anonymous type"
33497 msgstr "%qT es/usa un tipo anónimo"
33498
33499-#: cp/pt.c:14482
33500+#: cp/pt.c:14508
33501 #, gcc-internal-format
33502 msgid "template argument for %qD uses local type %qT"
33503 msgstr "el argumento de plantilla para %qD usa el tipo local %qT"
33504
33505-#: cp/pt.c:14492
33506+#: cp/pt.c:14518
33507 #, gcc-internal-format
33508 msgid "%qT is a variably modified type"
33509 msgstr "%qT es un tipo modificado variablemente"
33510
33511-#: cp/pt.c:14503
33512+#: cp/pt.c:14529
33513 #, gcc-internal-format
33514 msgid "integral expression %qE is not constant"
33515 msgstr "la expresión integral %qE no es una constante"
33516
33517-#: cp/pt.c:14521
33518+#: cp/pt.c:14547
33519 #, gcc-internal-format
33520 msgid " trying to instantiate %qD"
33521 msgstr " se trata de instanciar %qD"
33522
33523-#: cp/pt.c:17842
33524+#: cp/pt.c:17868
33525 #, gcc-internal-format
33526 msgid "ambiguous class template instantiation for %q#T"
33527 msgstr "instanciación de plantilla clase ambigua para %q#T"
33528
33529-#: cp/pt.c:17846
33530+#: cp/pt.c:17872
33531 #, gcc-internal-format
33532 msgid "%s %+#T"
33533 msgstr "%s %+#T"
33534
33535-#: cp/pt.c:17870 cp/pt.c:17953
33536+#: cp/pt.c:17896 cp/pt.c:17979
33537 #, gcc-internal-format
33538 msgid "explicit instantiation of non-template %q#D"
33539 msgstr "instanciación explícita de %q#D que no es plantilla"
33540
33541-#: cp/pt.c:17885
33542+#: cp/pt.c:17911
33543 #, gcc-internal-format
33544 msgid "%qD is not a static data member of a class template"
33545 msgstr "%qD no es un dato miembro static de una plantilla de clase"
33546
33547-#: cp/pt.c:17891 cp/pt.c:17948
33548+#: cp/pt.c:17917 cp/pt.c:17974
33549 #, gcc-internal-format
33550 msgid "no matching template for %qD found"
33551 msgstr "no se encontró una plantilla coincidente para %qD"
33552
33553-#: cp/pt.c:17896
33554+#: cp/pt.c:17922
33555 #, gcc-internal-format
33556 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
33557 msgstr "el tipo %qT para la instanciación explícita %qD no coincide con el tipo declarado %qT"
33558
33559-#: cp/pt.c:17904
33560+#: cp/pt.c:17930
33561 #, gcc-internal-format
33562 msgid "explicit instantiation of %q#D"
33563 msgstr "instanciación explícita de %q#D"
33564
33565-#: cp/pt.c:17940
33566+#: cp/pt.c:17966
33567 #, gcc-internal-format
33568 msgid "duplicate explicit instantiation of %q#D"
33569 msgstr "instanciación explícita duplicada de %q#D"
33570
33571-#: cp/pt.c:17963 cp/pt.c:18060
33572+#: cp/pt.c:17989 cp/pt.c:18086
33573 #, gcc-internal-format
33574 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
33575 msgstr "ISO C++ 1998 prohíbe el uso de %<extern%> en instanciaciones explícitas"
33576
33577-#: cp/pt.c:17968 cp/pt.c:18077
33578+#: cp/pt.c:17994 cp/pt.c:18103
33579 #, gcc-internal-format
33580 msgid "storage class %qD applied to template instantiation"
33581 msgstr "clase de almacenamiento %qD aplicada a la instanciación de una plantilla"
33582
33583-#: cp/pt.c:18036
33584+#: cp/pt.c:18062
33585 #, gcc-internal-format
33586 msgid "explicit instantiation of non-class template %qD"
33587 msgstr "instanciación explícita de la plantilla %qD que no es clase"
33588
33589-#: cp/pt.c:18038
33590+#: cp/pt.c:18064
33591 #, gcc-internal-format
33592 msgid "explicit instantiation of non-template type %qT"
33593 msgstr "instanciación explícita del tipo %qT que no es plantilla"
33594
33595-#: cp/pt.c:18047
33596+#: cp/pt.c:18073
33597 #, gcc-internal-format
33598 msgid "explicit instantiation of %q#T before definition of template"
33599 msgstr "instanciación explícita de %q#T antes de la definición de la plantilla"
33600
33601-#: cp/pt.c:18065
33602+#: cp/pt.c:18091
33603 #, gcc-internal-format
33604 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
33605 msgstr "ISO C++ prohíbe el uso de %qE en las instanciaciones explícitas"
33606
33607-#: cp/pt.c:18111
33608+#: cp/pt.c:18137
33609 #, gcc-internal-format
33610 msgid "duplicate explicit instantiation of %q#T"
33611 msgstr "instanciación explícita duplicada de %q#T"
33612@@ -33117,32 +33112,32 @@
33613 #. member function or static data member of a class template
33614 #. shall be present in every translation unit in which it is
33615 #. explicitly instantiated.
33616-#: cp/pt.c:18665
33617+#: cp/pt.c:18692
33618 #, gcc-internal-format
33619 msgid "explicit instantiation of %qD but no definition available"
33620 msgstr "instanciación explícita de %qD pero no hay una definición disponible"
33621
33622-#: cp/pt.c:18841
33623+#: cp/pt.c:18873
33624 #, gcc-internal-format
33625 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
33626 msgstr "la profundidad de instanciación de la plantilla excede el máximo de %d al instanciar %q+D, posiblemente de la generación de tabla virtual (use -ftemplate-depth= para incrementar el máximo)"
33627
33628-#: cp/pt.c:19221
33629+#: cp/pt.c:19253
33630 #, gcc-internal-format
33631 msgid "invalid template non-type parameter"
33632 msgstr "parámetro que no es tipo plantilla inválido"
33633
33634-#: cp/pt.c:19223
33635+#: cp/pt.c:19255
33636 #, gcc-internal-format
33637 msgid "%q#T is not a valid type for a template non-type parameter"
33638 msgstr "%q#T no es un tipo válido para un parámetro que no es tipo plantilla"
33639
33640-#: cp/pt.c:20309
33641+#: cp/pt.c:20346
33642 #, gcc-internal-format
33643 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
33644 msgstr "la deducción de una lista inicializadora encerrada entre llaves requiere #include <initializer_list>"
33645
33646-#: cp/pt.c:20367
33647+#: cp/pt.c:20404
33648 #, gcc-internal-format
33649 msgid "variable %q#D with %<auto%> type used in its own initializer"
33650 msgstr "se usó la variable %q#D con tipo %<auto%> en su propio inicializador"
33651@@ -33150,12 +33145,12 @@
33652 #. If type is error_mark_node a diagnostic must have been
33653 #. emitted by now. Also, having a mention to '<type error>'
33654 #. in the diagnostic is not really useful to the user.
33655-#: cp/pt.c:20399
33656+#: cp/pt.c:20436
33657 #, gcc-internal-format
33658 msgid "unable to deduce %qT from %qE"
33659 msgstr "no se puede deducir %qT de %qE"
33660
33661-#: cp/pt.c:20410
33662+#: cp/pt.c:20447
33663 #, gcc-internal-format
33664 msgid "inconsistent deduction for %qT: %qT and then %qT"
33665 msgstr "deducción inconsistente para %qT: %qT y después %qT"
33666@@ -33392,7 +33387,7 @@
33667 msgid "invalid base-class specification"
33668 msgstr "especificación de clase base inválida"
33669
33670-#: cp/semantics.c:2996 cp/semantics.c:8816
33671+#: cp/semantics.c:2996 cp/semantics.c:8857
33672 #, gcc-internal-format
33673 msgid "%qD is not captured"
33674 msgstr "%qD no se capturó"
33675@@ -33565,263 +33560,263 @@
33676 msgid "%q#T has virtual base classes"
33677 msgstr "%q#T tiene clases base virtuales"
33678
33679-#: cp/semantics.c:5876
33680+#: cp/semantics.c:5873
33681 #, gcc-internal-format
33682 msgid "constexpr constructor does not have empty body"
33683 msgstr "el constructor constexpr no tiene cuerpo vacío"
33684
33685-#: cp/semantics.c:6039
33686+#: cp/semantics.c:6068
33687 #, gcc-internal-format
33688 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
33689 msgstr "el constructor %<constexpr%> para union %qT debe inicializar exactamente un dato miembro que no es static"
33690
33691-#: cp/semantics.c:6077
33692+#: cp/semantics.c:6108
33693 #, gcc-internal-format
33694 msgid "uninitialized member %qD in %<constexpr%> constructor"
33695 msgstr "miembro %qD sin inicializar en el constructor %<constexpr%>"
33696
33697-#: cp/semantics.c:6108
33698+#: cp/semantics.c:6139
33699 #, gcc-internal-format
33700 msgid "body of constexpr function %qD not a return-statement"
33701 msgstr "el cuerpo de la función constexpr %qD no es una declaración de devolución"
33702
33703-#: cp/semantics.c:6163
33704+#: cp/semantics.c:6194
33705 #, gcc-internal-format
33706 msgid "%q+D is not usable as a constexpr function because:"
33707 msgstr "%q+D no se puede usar como una función constexpr porque:"
33708
33709-#: cp/semantics.c:6487
33710+#: cp/semantics.c:6518
33711 #, gcc-internal-format
33712 msgid "expression %qE does not designate a constexpr function"
33713 msgstr "la expresión %qE no designa una función constexpr"
33714
33715-#: cp/semantics.c:6501 cp/semantics.c:8085
33716+#: cp/semantics.c:6532 cp/semantics.c:8126
33717 #, gcc-internal-format
33718 msgid "call to non-constexpr function %qD"
33719 msgstr "llamada a la función %qD que no es constexpr"
33720
33721 #. The definition of fun was somehow unsuitable.
33722-#: cp/semantics.c:6529
33723+#: cp/semantics.c:6560
33724 #, gcc-internal-format
33725 msgid "%qD called in a constant expression"
33726 msgstr "se llamó %qD en una expresión constante"
33727
33728-#: cp/semantics.c:6533
33729+#: cp/semantics.c:6564
33730 #, gcc-internal-format
33731 msgid "%qD used before its definition"
33732 msgstr "se usó %qD antes de su definición"
33733
33734-#: cp/semantics.c:6567
33735+#: cp/semantics.c:6598
33736 #, gcc-internal-format
33737 msgid "call has circular dependency"
33738 msgstr "la llamada tiene una dependencia circular"
33739
33740-#: cp/semantics.c:6575
33741+#: cp/semantics.c:6606
33742 #, gcc-internal-format, gfc-internal-format
33743 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
33744 msgstr "la profundidad de evaluación de constexpr excede el máximo de %d (use -fconstexpr-depth= para incrementar el máximo)"
33745
33746-#: cp/semantics.c:6653
33747+#: cp/semantics.c:6684
33748 #, gcc-internal-format
33749 msgid "%q+E is not a constant expression"
33750 msgstr "%q+E no es una expresión constante"
33751
33752-#: cp/semantics.c:6793
33753+#: cp/semantics.c:6824
33754 #, gcc-internal-format
33755 msgid "array subscript out of bound"
33756 msgstr "el subíndice de la matriz está fuera de los límites"
33757
33758-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
33759+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
33760 #, gcc-internal-format
33761 msgid "%qE is not a constant expression"
33762 msgstr "%qE no es una expresión constante"
33763
33764-#: cp/semantics.c:6845
33765+#: cp/semantics.c:6876
33766 #, gcc-internal-format
33767 msgid "mutable %qD is not usable in a constant expression"
33768 msgstr "%qD mutable no se puede usar en una expresión constante"
33769
33770-#: cp/semantics.c:6860
33771+#: cp/semantics.c:6891
33772 #, gcc-internal-format
33773 msgid "accessing %qD member instead of initialized %qD member in constant expression"
33774 msgstr "se accede al miembro %qD en lugar del miembro inicializado %qD en la expresión constante"
33775
33776-#: cp/semantics.c:7401
33777+#: cp/semantics.c:7438
33778 #, gcc-internal-format
33779 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
33780 msgstr "se accede al valor de %qE a través de glvalue %qT en una expresión constante"
33781
33782-#: cp/semantics.c:7432
33783+#: cp/semantics.c:7473
33784 #, gcc-internal-format
33785 msgid "the value of %qD is not usable in a constant expression"
33786 msgstr "el valor de %qD no se puede usar en una expresión constante"
33787
33788-#: cp/semantics.c:7439
33789+#: cp/semantics.c:7480
33790 #, gcc-internal-format
33791 msgid "%qD used in its own initializer"
33792 msgstr "se usó %qD en su propio inicializador"
33793
33794-#: cp/semantics.c:7444
33795+#: cp/semantics.c:7485
33796 #, gcc-internal-format
33797 msgid "%q#D is not const"
33798 msgstr "%q#D no es const"
33799
33800-#: cp/semantics.c:7447
33801+#: cp/semantics.c:7488
33802 #, gcc-internal-format
33803 msgid "%q#D is volatile"
33804 msgstr "%q+#D es volatile"
33805
33806-#: cp/semantics.c:7451
33807+#: cp/semantics.c:7492
33808 #, gcc-internal-format
33809 msgid "%qD was not initialized with a constant expression"
33810 msgstr "%qD no se inicializó con una expresion constante"
33811
33812-#: cp/semantics.c:7460
33813+#: cp/semantics.c:7501
33814 #, gcc-internal-format
33815 msgid "%qD was not declared %<constexpr%>"
33816 msgstr "%qD no se declaró %<constexpr%>"
33817
33818-#: cp/semantics.c:7463
33819+#: cp/semantics.c:7504
33820 #, gcc-internal-format
33821 msgid "%qD does not have integral or enumeration type"
33822 msgstr "%qD no tiene tipo integral o de enumeración"
33823
33824-#: cp/semantics.c:7524 cp/semantics.c:8217
33825+#: cp/semantics.c:7565 cp/semantics.c:8258
33826 #, gcc-internal-format
33827 msgid "use of the value of the object being constructed in a constant expression"
33828 msgstr "uso del valor del objeto en construcción en una expresión constante"
33829
33830-#: cp/semantics.c:7552 cp/semantics.c:8355
33831+#: cp/semantics.c:7593 cp/semantics.c:8396
33832 #, gcc-internal-format
33833 msgid "temporary of non-literal type %qT in a constant expression"
33834 msgstr "temporal del tipo %qT que no es literal en una expresión constante"
33835
33836-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
33837+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
33838 #, gcc-internal-format
33839 msgid "expression %qE is not a constant-expression"
33840 msgstr "la expresión %qE no es una expresión constante"
33841
33842-#: cp/semantics.c:7805
33843+#: cp/semantics.c:7846
33844 #, gcc-internal-format
33845 msgid "unexpected expression %qE of kind %s"
33846 msgstr "expresión %qE inesperada de género %s"
33847
33848-#: cp/semantics.c:7836
33849+#: cp/semantics.c:7877
33850 #, gcc-internal-format
33851 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
33852 msgstr "%qT no puede ser el tipo de una expresión constante completa porque tiene sub-objetos mutables"
33853
33854-#: cp/semantics.c:7849
33855+#: cp/semantics.c:7890
33856 #, gcc-internal-format
33857 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
33858 msgstr "conversión del tipo puntero %qT al tipo aritmético %qT en una expresión constante"
33859
33860-#: cp/semantics.c:8020
33861+#: cp/semantics.c:8061
33862 #, gcc-internal-format
33863 msgid "expression %qE has side-effects"
33864 msgstr "la expresión %qE tiene efectos colaterales"
33865
33866-#: cp/semantics.c:8103
33867+#: cp/semantics.c:8144
33868 #, gcc-internal-format
33869 msgid "calling a member function of the object being constructed in a constant expression"
33870 msgstr "se llamó a una función miembro del objeto en construcción en una expresión constante"
33871
33872-#: cp/semantics.c:8185
33873+#: cp/semantics.c:8226
33874 #, gcc-internal-format
33875 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
33876 msgstr "la dirección de un objeto %qE con hilo local o almacenamiento automático no es una expresión constante"
33877
33878-#: cp/semantics.c:8271
33879+#: cp/semantics.c:8312
33880 #, gcc-internal-format
33881 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
33882 msgstr "la expresión id de tipo no es una expresión constante porque %qE es de tipo polimórfico"
33883
33884-#: cp/semantics.c:8284
33885+#: cp/semantics.c:8325
33886 #, gcc-internal-format
33887 msgid "difference of two pointer expressions is not a constant expression"
33888 msgstr "la diferencia de dos expresiones puntero no es una expresión constante"
33889
33890-#: cp/semantics.c:8303
33891+#: cp/semantics.c:8344
33892 #, gcc-internal-format
33893 msgid "pointer comparison expression is not a constant expression"
33894 msgstr "la expresión de comparación de punteros no es una expresión constante"
33895
33896-#: cp/semantics.c:8404
33897+#: cp/semantics.c:8445
33898 #, gcc-internal-format
33899 msgid "division by zero is not a constant-expression"
33900 msgstr "la división entre cero no es una expresión constante"
33901
33902-#: cp/semantics.c:8517
33903+#: cp/semantics.c:8558
33904 #, gcc-internal-format
33905 msgid "non-constant array initialization"
33906 msgstr "inicialización de una matriz que no es constante"
33907
33908-#: cp/semantics.c:8523
33909+#: cp/semantics.c:8564
33910 #, gcc-internal-format, gfc-internal-format
33911 msgid "unexpected AST of kind %s"
33912 msgstr "AST inesperado de género %s"
33913
33914-#: cp/semantics.c:9013
33915+#: cp/semantics.c:9054
33916 #, gcc-internal-format
33917 msgid "cannot capture %qE by reference"
33918 msgstr "no se puede capturar %qE por referencia"
33919
33920-#: cp/semantics.c:9036
33921+#: cp/semantics.c:9077
33922 #, gcc-internal-format
33923 msgid "already captured %qD in lambda expression"
33924 msgstr "ya se capturó %qD en la expresión lambda"
33925
33926-#: cp/semantics.c:9182
33927+#: cp/semantics.c:9223
33928 #, gcc-internal-format
33929 msgid "%<this%> was not captured for this lambda function"
33930 msgstr "no se capturó %<this%> para esta función lambda"
33931
33932-#: cp/tree.c:1025
33933+#: cp/tree.c:1037
33934 #, gcc-internal-format
33935 msgid "%qV qualifiers cannot be applied to %qT"
33936 msgstr "los calificadores %qV no se pueden aplicar a %qT"
33937
33938-#: cp/tree.c:2805
33939+#: cp/tree.c:2817
33940 #, gcc-internal-format
33941 msgid "%qE attribute can only be applied to Java class definitions"
33942 msgstr "el atributo %qE sólo se puede aplicar a definiciones de clases Java"
33943
33944-#: cp/tree.c:2834
33945+#: cp/tree.c:2846
33946 #, gcc-internal-format
33947 msgid "%qE attribute can only be applied to class definitions"
33948 msgstr "el atributo %qE sólo se puede aplicar a definiciones de clase"
33949
33950-#: cp/tree.c:2840
33951+#: cp/tree.c:2852
33952 #, gcc-internal-format
33953 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
33954 msgstr "%qE es obsoleto; las vtables de g++ ahora son compatibles con COM por defecto"
33955
33956-#: cp/tree.c:2864
33957+#: cp/tree.c:2876
33958 #, gcc-internal-format
33959 msgid "requested init_priority is not an integer constant"
33960 msgstr "la init_priority solicitada no es una constante entera"
33961
33962-#: cp/tree.c:2885
33963+#: cp/tree.c:2897
33964 #, gcc-internal-format
33965 msgid "can only use %qE attribute on file-scope definitions of objects of class type"
33966 msgstr "solo se puede usar el atributo %qE en definiciones de rango de fichero de objetos de tipo class"
33967
33968-#: cp/tree.c:2893
33969+#: cp/tree.c:2905
33970 #, gcc-internal-format
33971 msgid "requested init_priority is out of range"
33972 msgstr "la init_priority solicitada está fuera de rango"
33973
33974-#: cp/tree.c:2903
33975+#: cp/tree.c:2915
33976 #, gcc-internal-format
33977 msgid "requested init_priority is reserved for internal use"
33978 msgstr "la init_priority solicitada está reservada para uso interno"
33979
33980-#: cp/tree.c:2914
33981+#: cp/tree.c:2926
33982 #, gcc-internal-format
33983 msgid "%qE attribute is not supported on this platform"
33984 msgstr "el atributo %qE no se admite en esta plataforma"
33985
33986-#: cp/tree.c:3594
33987+#: cp/tree.c:3606
33988 #, gcc-internal-format, gfc-internal-format
33989 msgid "lang_* check: failed in %s, at %s:%d"
33990 msgstr "revisión lang_*: falló en %s, en %s:%d"
33991@@ -34764,122 +34759,122 @@
33992 msgid "cannot initialize arrays using this syntax"
33993 msgstr "no se puede inicializar matrices usando esta sintaxis"
33994
33995-#: cp/typeck2.c:832
33996+#: cp/typeck2.c:835
33997 #, gcc-internal-format
33998 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
33999 msgstr "conversión estrechadora de %qE desde %qT a %qT dentro de { }"
34000
34001-#: cp/typeck2.c:836
34002+#: cp/typeck2.c:839
34003 #, gcc-internal-format
34004 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
34005 msgstr "la conversión estrechadora de %qE desde %qT a %qT dentro de { } está mal formada en C++11"
34006
34007-#: cp/typeck2.c:899
34008+#: cp/typeck2.c:902
34009 #, gcc-internal-format
34010 msgid "int-array initialized from non-wide string"
34011 msgstr "matriz de enteros inicializada con una cadena que no es ancha"
34012
34013-#: cp/typeck2.c:905
34014+#: cp/typeck2.c:908
34015 #, gcc-internal-format
34016 msgid "int-array initialized from incompatible wide string"
34017 msgstr "matriz de enteros inicializada con una cadena ancha incompatible"
34018
34019-#: cp/typeck2.c:925
34020+#: cp/typeck2.c:928
34021 #, gcc-internal-format
34022 msgid "initializer-string for array of chars is too long"
34023 msgstr "la cadena del inicializador para la matriz de caracteres es demasiado larga"
34024
34025-#: cp/typeck2.c:973
34026+#: cp/typeck2.c:976
34027 #, gcc-internal-format
34028 msgid "cannot initialize aggregate of type %qT with a compound literal"
34029 msgstr "no se puede inicializar el agregado del tipo %qT con una literal compuesta"
34030
34031-#: cp/typeck2.c:991
34032+#: cp/typeck2.c:994
34033 #, gcc-internal-format
34034 msgid "array must be initialized with a brace-enclosed initializer"
34035 msgstr "la matriz se debe inicializar con un inicializador dentro de llaves"
34036
34037-#: cp/typeck2.c:1220 cp/typeck2.c:1249
34038+#: cp/typeck2.c:1223 cp/typeck2.c:1252
34039 #, gcc-internal-format
34040 msgid "missing initializer for member %qD"
34041 msgstr "falta el inicializador para el miembro %qD"
34042
34043-#: cp/typeck2.c:1227
34044+#: cp/typeck2.c:1230
34045 #, gcc-internal-format
34046 msgid "uninitialized const member %qD"
34047 msgstr "miembro const %qD sin inicializar"
34048
34049-#: cp/typeck2.c:1234
34050+#: cp/typeck2.c:1237
34051 #, gcc-internal-format
34052 msgid "member %qD with uninitialized const fields"
34053 msgstr "miembro %qD con campos const sin inicializar"
34054
34055-#: cp/typeck2.c:1241
34056+#: cp/typeck2.c:1244
34057 #, gcc-internal-format
34058 msgid "member %qD is uninitialized reference"
34059 msgstr "el miembro %qD es una referencia sin inicializar"
34060
34061-#: cp/typeck2.c:1321
34062+#: cp/typeck2.c:1324
34063 #, gcc-internal-format
34064 msgid "no field %qD found in union being initialized"
34065 msgstr "no existe el campo %qD en la union que se está inicializando"
34066
34067-#: cp/typeck2.c:1332
34068+#: cp/typeck2.c:1335
34069 #, gcc-internal-format
34070 msgid "index value instead of field name in union initializer"
34071 msgstr "valor de índice en lugar del nombre del campo en el inicializador de union"
34072
34073-#: cp/typeck2.c:1500
34074+#: cp/typeck2.c:1503
34075 #, gcc-internal-format
34076 msgid "circular pointer delegation detected"
34077 msgstr "se detectó una delegación de puntero circular"
34078
34079-#: cp/typeck2.c:1513
34080+#: cp/typeck2.c:1516
34081 #, gcc-internal-format
34082 msgid "base operand of %<->%> has non-pointer type %qT"
34083 msgstr "el operando base de %<->%> tiene el tipo %qT que no es puntero"
34084
34085-#: cp/typeck2.c:1537
34086+#: cp/typeck2.c:1540
34087 #, gcc-internal-format
34088 msgid "result of %<operator->()%> yields non-pointer result"
34089 msgstr "el resultado de %<operator->()%> produce un resultado que no es puntero"
34090
34091-#: cp/typeck2.c:1539
34092+#: cp/typeck2.c:1542
34093 #, gcc-internal-format
34094 msgid "base operand of %<->%> is not a pointer"
34095 msgstr "el operando base de %<->%> no es un puntero"
34096
34097-#: cp/typeck2.c:1564
34098+#: cp/typeck2.c:1567
34099 #, gcc-internal-format
34100 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
34101 msgstr "no se puede usar %qE como un puntero miembro, porque es de tipo %qT"
34102
34103-#: cp/typeck2.c:1573
34104+#: cp/typeck2.c:1576
34105 #, gcc-internal-format
34106 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
34107 msgstr "no se puede aplicar el puntero a miembro %qE a %qE, el cual es del tipo %qT que no es clase"
34108
34109-#: cp/typeck2.c:1595
34110+#: cp/typeck2.c:1598
34111 #, gcc-internal-format
34112 msgid "pointer to member type %qT incompatible with object type %qT"
34113 msgstr "el tipo de puntero a miembro %qT es incompatible con el tipo objeto %qT"
34114
34115-#: cp/typeck2.c:1663
34116+#: cp/typeck2.c:1666
34117 #, gcc-internal-format
34118 msgid "functional cast to array type %qT"
34119 msgstr "conversión funcional al tipo de matriz %qT"
34120
34121-#: cp/typeck2.c:1684
34122+#: cp/typeck2.c:1687
34123 #, gcc-internal-format
34124 msgid "invalid value-initialization of reference type"
34125 msgstr "inicialización por valor inválida del tipo de referencia"
34126
34127-#: cp/typeck2.c:1913
34128+#: cp/typeck2.c:1916
34129 #, gcc-internal-format
34130 msgid "call to function %qD which throws incomplete type %q#T"
34131 msgstr "llamada a la función %qD la cual arroja el tipo incompleto %q#T"
34132
34133-#: cp/typeck2.c:1916
34134+#: cp/typeck2.c:1919
34135 #, gcc-internal-format
34136 msgid "call to function which throws incomplete type %q#T"
34137 msgstr "llamada a una función la cual arroja el tipo incompleto %q#T"
34138@@ -34939,187 +34934,187 @@
34139 msgid "The Hollerith constant at %L is too long to convert to %s"
34140 msgstr "La constante Hollerith en %L es demasiado grande para convertirse a %s"
34141
34142-#: fortran/array.c:98
34143+#: fortran/array.c:96
34144 #, gcc-internal-format, gfc-internal-format
34145 msgid "Expected array subscript at %C"
34146 msgstr "Se esperaba un subíndice de matriz en %C"
34147
34148-#: fortran/array.c:107
34149+#: fortran/array.c:105
34150 #, gcc-internal-format, gfc-internal-format
34151 msgid "Unexpected '*' in coarray subscript at %C"
34152 msgstr "'*' inesperado en el subíndice de comatriz en %C"
34153
34154-#: fortran/array.c:131
34155+#: fortran/array.c:129
34156 #, gcc-internal-format, gfc-internal-format
34157 msgid "Strides not allowed in coarray subscript at %C"
34158 msgstr "no se permiten trancos en el subíndice de comatriz en %C"
34159
34160-#: fortran/array.c:139
34161+#: fortran/array.c:137
34162 #, gcc-internal-format, gfc-internal-format
34163 msgid "Expected array subscript stride at %C"
34164 msgstr "Se esperaba un gran tranco de subíndice de matriz en %C"
34165
34166-#: fortran/array.c:196
34167+#: fortran/array.c:194
34168 #, gcc-internal-format, gfc-internal-format
34169 msgid "Invalid form of array reference at %C"
34170 msgstr "Forma inválida de referencia a matriz en %C"
34171
34172-#: fortran/array.c:201 fortran/array.c:267
34173+#: fortran/array.c:199 fortran/array.c:272
34174 #, gcc-internal-format, gfc-internal-format
34175 msgid "Array reference at %C cannot have more than %d dimensions"
34176 msgstr "La referencia a matriz en %C no puede tener más de %d dimensiones"
34177
34178-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
34179-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
34180+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
34181+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
34182 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
34183-#: fortran/simplify.c:4538
34184+#: fortran/simplify.c:4541
34185 #, gcc-internal-format, gfc-internal-format
34186 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
34187 msgstr "Comatrices desactivadas en %C, use -fcoarray= para activar"
34188
34189-#: fortran/array.c:222
34190+#: fortran/array.c:220
34191 #, gcc-internal-format, gfc-internal-format
34192 msgid "Unexpected coarray designator at %C"
34193 msgstr "Designador de comatriz inesperado en %C"
34194
34195-#: fortran/array.c:237
34196+#: fortran/array.c:235
34197 #, gcc-internal-format, gfc-internal-format
34198 msgid "Too few codimensions at %C, expected %d not %d"
34199 msgstr "Faltan codimensiones en %C, se esperaban %d no %d"
34200
34201-#: fortran/array.c:243
34202+#: fortran/array.c:241
34203 #, gcc-internal-format, gfc-internal-format
34204 msgid "Too many codimensions at %C, expected %d not %d"
34205 msgstr "Demasiadas codimensiones en %C, se esperaban %d no %d"
34206
34207-#: fortran/array.c:253
34208+#: fortran/array.c:251 fortran/array.c:259
34209 #, gcc-internal-format, gfc-internal-format
34210 msgid "Unexpected '*' for codimension %d of %d at %C"
34211 msgstr "'*' inesperado para la codimensión %d de %d en %C"
34212
34213-#: fortran/array.c:256
34214+#: fortran/array.c:254
34215 #, gcc-internal-format, gfc-internal-format
34216 msgid "Invalid form of coarray reference at %C"
34217 msgstr "Forma inválida de referencia a comatriz en %C"
34218
34219-#: fortran/array.c:261
34220+#: fortran/array.c:266
34221 #, gcc-internal-format, gfc-internal-format
34222 msgid "Invalid codimension %d at %C, only %d codimensions exist"
34223 msgstr "Codimensión %d inválida en %C, sólo existen %d codimensiones"
34224
34225-#: fortran/array.c:313
34226+#: fortran/array.c:318
34227 #, gcc-internal-format, gfc-internal-format
34228 msgid "Variable '%s' at %L in this context must be constant"
34229 msgstr "La variable '%s' en %L en este contexto debe ser constante"
34230
34231-#: fortran/array.c:316
34232+#: fortran/array.c:321
34233 #, gcc-internal-format, gfc-internal-format
34234 msgid "Expression at %L in this context must be constant"
34235 msgstr "La expresión en %L en este contexto debe ser constante"
34236
34237-#: fortran/array.c:407
34238+#: fortran/array.c:412
34239 #, gcc-internal-format, gfc-internal-format
34240 msgid "Expected expression in array specification at %C"
34241 msgstr "Se esperaba una expresión en la especificación de matriz en %C"
34242
34243-#: fortran/array.c:486
34244+#: fortran/array.c:491
34245 #, gcc-internal-format, gfc-internal-format
34246 msgid "Bad array specification for implied-shape array at %C"
34247 msgstr "Especificación de matriz errónea para una matriz de forma implícita en %C"
34248
34249-#: fortran/array.c:502 fortran/array.c:614
34250+#: fortran/array.c:507 fortran/array.c:619
34251 #, gcc-internal-format, gfc-internal-format
34252 msgid "Bad array specification for an explicitly shaped array at %C"
34253 msgstr "Especificación de matriz errónea para una matriz formada explícita en %C"
34254
34255-#: fortran/array.c:512 fortran/array.c:624
34256+#: fortran/array.c:517 fortran/array.c:629
34257 #, gcc-internal-format, gfc-internal-format
34258 msgid "Bad array specification for assumed shape array at %C"
34259 msgstr "Especificación de matriz errónea para una matriz de forma asumida en %C"
34260
34261-#: fortran/array.c:526 fortran/array.c:638
34262+#: fortran/array.c:531 fortran/array.c:643
34263 #, gcc-internal-format, gfc-internal-format
34264 msgid "Bad specification for deferred shape array at %C"
34265 msgstr "Especificación de matriz errónea para una matriz de forma diferida en %C"
34266
34267-#: fortran/array.c:536 fortran/array.c:642
34268+#: fortran/array.c:541 fortran/array.c:647
34269 #, gcc-internal-format, gfc-internal-format
34270 msgid "Bad specification for assumed size array at %C"
34271 msgstr "Especificación errónea para la matriz de tamaño asumido en %C"
34272
34273-#: fortran/array.c:545 fortran/array.c:651
34274+#: fortran/array.c:550 fortran/array.c:656
34275 #, gcc-internal-format, gfc-internal-format
34276 msgid "Expected another dimension in array declaration at %C"
34277 msgstr "Se esperaba otra dimensión en la declaración de matriz %C"
34278
34279-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
34280+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
34281 #, gcc-internal-format, gfc-internal-format
34282 msgid "Array specification at %C has more than %d dimensions"
34283 msgstr "La especificación de matriz en %C tiene más de %d dimensiones"
34284
34285-#: fortran/array.c:557
34286+#: fortran/array.c:562
34287 #, gcc-internal-format, gfc-internal-format
34288 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
34289 msgstr "Fortran 2008: La especificación de matriz en %C tiene más de 7 dimensiones"
34290
34291-#: fortran/array.c:570
34292+#: fortran/array.c:575
34293 #, gcc-internal-format, gfc-internal-format
34294 msgid "Fortran 2008: Coarray declaration at %C"
34295 msgstr "Fortran 2008: Declaración de comatriz en %C"
34296
34297-#: fortran/array.c:665
34298+#: fortran/array.c:670
34299 #, gcc-internal-format, gfc-internal-format
34300 msgid "Upper bound of last coarray dimension must be '*' at %C"
34301 msgstr "El límite superior de la última dimensión de comatriz debe ser '*' en %C"
34302
34303-#: fortran/array.c:885
34304+#: fortran/array.c:890
34305 #, gcc-internal-format, gfc-internal-format
34306 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
34307 msgstr "El iterador-DO '%s' en %L está dentro de un iterador del mismo nombre"
34308
34309-#: fortran/array.c:977 fortran/array.c:1109
34310+#: fortran/array.c:982 fortran/array.c:1114
34311 #, gcc-internal-format, gfc-internal-format
34312 msgid "Syntax error in array constructor at %C"
34313 msgstr "Error sintáctico en el constructor de matriz en %C"
34314
34315-#: fortran/array.c:1029
34316+#: fortran/array.c:1034
34317 #, gcc-internal-format, gfc-internal-format
34318 msgid "Fortran 2003: [...] style array constructors at %C"
34319 msgstr "Fortran 2003: Constructores de matriz de estilo [...] en %C"
34320
34321-#: fortran/array.c:1049
34322+#: fortran/array.c:1054
34323 #, gcc-internal-format, gfc-internal-format
34324 msgid "Fortran 2003: Array constructor including type specification at %C"
34325 msgstr "Fortran 2003: Los constructores de matriz incluyen especificación de tipo en %C"
34326
34327-#: fortran/array.c:1055 fortran/match.c:3465
34328+#: fortran/array.c:1060 fortran/match.c:3465
34329 #, gcc-internal-format, gfc-internal-format
34330 msgid "Type-spec at %L cannot contain a deferred type parameter"
34331 msgstr "La especificación de tipo en %L no puede tener un parámetro de tipo diferido"
34332
34333-#: fortran/array.c:1071
34334+#: fortran/array.c:1076
34335 #, gcc-internal-format, gfc-internal-format
34336 msgid "Empty array constructor at %C is not allowed"
34337 msgstr "No se permite un constructor de matriz vacío en %C"
34338
34339-#: fortran/array.c:1156
34340+#: fortran/array.c:1161
34341 #, gcc-internal-format, gfc-internal-format
34342 msgid "Element in %s array constructor at %L is %s"
34343 msgstr "El elemento en el constructor de matriz %s en %L es %s"
34344
34345-#: fortran/array.c:1484
34346+#: fortran/array.c:1489
34347 #, gcc-internal-format, gfc-internal-format
34348 msgid "Iterator step at %L cannot be zero"
34349 msgstr "El paso de iterador en %L no puede ser cero"
34350
34351 #. Problems occur when we get something like
34352 #. integer :: a(lots) = (/(i, i=1, lots)/)
34353-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
34354+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
34355 #, gcc-internal-format, gfc-internal-format
34356 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See -fmax-array-constructor option"
34357 msgstr "El número de elementos en el constructor de matriz en %L requiere un incremento del límite superior %d permitido. Vea la opción -fmax-array-constructor"
34358
34359-#: fortran/array.c:1818
34360+#: fortran/array.c:1823
34361 #, gcc-internal-format, gfc-internal-format
34362 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
34363 msgstr "Longitudes de CHARACTER diferentes (%d/%d) en el constructor de matriz en %L"
34364@@ -35154,7 +35149,7 @@
34365 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
34366 msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser INTEGER o PROCEDURE"
34367
34368-#: fortran/check.c:168 fortran/check.c:5193
34369+#: fortran/check.c:168 fortran/check.c:5197
34370 #, gcc-internal-format, gfc-internal-format
34371 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
34372 msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser una constante"
34373@@ -35266,7 +35261,7 @@
34374 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
34375 msgstr "Longitudes de caracteres desiguales (%ld/%ld) en %s en %L"
34376
34377-#: fortran/check.c:854 fortran/check.c:5162
34378+#: fortran/check.c:854 fortran/check.c:5166
34379 #, gcc-internal-format, gfc-internal-format
34380 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
34381 msgstr "Los argumentos '%s' y '%s' del intrínseco '%s' en %L deben tener el mismo tipo"
34382@@ -35349,8 +35344,8 @@
34383
34384 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
34385 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
34386-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
34387-#: fortran/check.c:4235
34388+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
34389+#: fortran/check.c:4239
34390 #, gcc-internal-format, gfc-internal-format
34391 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
34392 msgstr "Fortran 2003: Intrínseco '%s' con argumento KIND en %L"
34393@@ -35495,7 +35490,7 @@
34394 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
34395 msgstr "Fortran 2003: Intrínseco NULL con MOLD alojable en %L"
34396
34397-#: fortran/check.c:2925 fortran/check.c:4182
34398+#: fortran/check.c:2925 fortran/check.c:4186
34399 #, gcc-internal-format, gfc-internal-format
34400 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
34401 msgstr "El argumento '%s' del intrínseco '%s' en %L debe proveer por lo menos tantos elementos como valores .TRUE. presentes en '%s' (%ld/%d)"
34402@@ -35625,42 +35620,42 @@
34403 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
34404 msgstr "No se permite el argumento DIM sin un argumento ARRAY para el intrínseco THIS_IMAGE en %L"
34405
34406-#: fortran/check.c:4046
34407+#: fortran/check.c:4050
34408 #, gcc-internal-format, gfc-internal-format
34409 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
34410 msgstr "El argumento 'MOLD' del intrínseco 'TRANSFER' en %L no debe ser %s"
34411
34412-#: fortran/check.c:4074
34413+#: fortran/check.c:4078
34414 #, gcc-internal-format, gfc-internal-format
34415 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
34416 msgstr "El TRANSFER intrínseco en %L tiene un resultado parcialmente indefinido: tamaño de la fuente %ld < tamaño del resultado %ld"
34417
34418-#: fortran/check.c:4196
34419+#: fortran/check.c:4200
34420 #, gcc-internal-format, gfc-internal-format
34421 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
34422 msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser del mismo rango que '%s' o ser un escalar"
34423
34424-#: fortran/check.c:4209
34425+#: fortran/check.c:4213
34426 #, gcc-internal-format, gfc-internal-format
34427 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
34428 msgstr "Los argumentos '%s' y '%s' del intrínseco '%s' en %L deben tener forma idéntica."
34429
34430-#: fortran/check.c:4468 fortran/check.c:4500
34431+#: fortran/check.c:4472 fortran/check.c:4504
34432 #, gcc-internal-format, gfc-internal-format
34433 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
34434 msgstr "El tamaño del argumento '%s' del intrínseco '%s' en %L es demasiado pequeño (%i/%i)"
34435
34436-#: fortran/check.c:4508
34437+#: fortran/check.c:4512
34438 #, gcc-internal-format, gfc-internal-format
34439 msgid "Too many arguments to %s at %L"
34440 msgstr "Demasiados argumentos para %s en %L"
34441
34442-#: fortran/check.c:4794
34443+#: fortran/check.c:4798
34444 #, gcc-internal-format, gfc-internal-format
34445 msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
34446 msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser de un género que no sea más ancho que el género por defecto (%d)"
34447
34448-#: fortran/check.c:5146 fortran/check.c:5154
34449+#: fortran/check.c:5150 fortran/check.c:5158
34450 #, gcc-internal-format, gfc-internal-format
34451 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
34452 msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser INTEGER o LOGICAL"
34453@@ -35672,7 +35667,7 @@
34454
34455 #. Since the extension field is 8 bit wide, we can only have
34456 #. up to 255 extension levels.
34457-#: fortran/class.c:556 fortran/decl.c:7561
34458+#: fortran/class.c:556 fortran/decl.c:7562
34459 #, gcc-internal-format, gfc-internal-format
34460 msgid "Maximum extension level reached with type '%s' at %L"
34461 msgstr "Se alcanzó el nivel de extensión máximo con el tipo '%s' en %L"
34462@@ -35957,7 +35952,7 @@
34463 # como `apuntado'. cfuga
34464 # Referencia: http://gcc.gnu.org/onlinedocs/gfortran/Cray-pointers.html
34465 #
34466-#: fortran/decl.c:1898 fortran/decl.c:6418
34467+#: fortran/decl.c:1898 fortran/decl.c:6419
34468 #, gcc-internal-format, gfc-internal-format
34469 msgid "Duplicate array spec for Cray pointee at %C"
34470 msgstr "Especificación de matriz duplicada para el apuntado Cray en %C"
34471@@ -35972,7 +35967,7 @@
34472 msgid "Extension: Old-style initialization at %C"
34473 msgstr "Extensión: Inicialización de estilo antiguo en %C"
34474
34475-#: fortran/decl.c:2008 fortran/decl.c:4916
34476+#: fortran/decl.c:2008 fortran/decl.c:4917
34477 #, gcc-internal-format, gfc-internal-format
34478 msgid "Initialization at %C isn't for a pointer variable"
34479 msgstr "La inicialización en %C no es para una variable puntero"
34480@@ -35982,7 +35977,7 @@
34481 msgid "Pointer initialization at %C requires '=>', not '='"
34482 msgstr "La inicialización de puntero en %C requiere '=>', no '='"
34483
34484-#: fortran/decl.c:2030 fortran/decl.c:7713
34485+#: fortran/decl.c:2030 fortran/decl.c:7714
34486 #, gcc-internal-format, gfc-internal-format
34487 msgid "Expected an initialization expression at %C"
34488 msgstr "Se esperaba una expresión de inicialización en %C"
34489@@ -36179,7 +36174,7 @@
34490 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
34491 msgstr "Fortran 2008: Atributo CONTIGUOUS en %C"
34492
34493-#: fortran/decl.c:3724 fortran/decl.c:6713
34494+#: fortran/decl.c:3724 fortran/decl.c:6714
34495 #, gcc-internal-format, gfc-internal-format
34496 msgid "PROTECTED at %C only allowed in specification part of a module"
34497 msgstr "Sólo se permite PROTECTED en %C en la parte de especificación de un módulo"
34498@@ -36199,834 +36194,834 @@
34499 msgid "Fortran 2003: VOLATILE attribute at %C"
34500 msgstr "Fortran 2003: Atributo VOLATILE en %C"
34501
34502-#: fortran/decl.c:3816
34503+#: fortran/decl.c:3817
34504 #, gcc-internal-format, gfc-internal-format
34505 msgid "Multiple identifiers provided with single NAME= specifier at %C"
34506 msgstr "Se proveen múltiples identificadores con un sólo especificador NAME= en %C"
34507
34508-#: fortran/decl.c:3913
34509+#: fortran/decl.c:3914
34510 #, gcc-internal-format, gfc-internal-format
34511 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
34512 msgstr "La función implícitamente declarada BIND(C) '%s' en %L no puede ser interoperable con C"
34513
34514-#: fortran/decl.c:3934
34515+#: fortran/decl.c:3935
34516 #, gcc-internal-format, gfc-internal-format
34517 msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
34518 msgstr "La variable '%s' en el bloque común '%s' en %L no puede ser un género interoperable con C ya que el bloque común '%s' es BIND(C)"
34519
34520-#: fortran/decl.c:3943
34521+#: fortran/decl.c:3944
34522 #, gcc-internal-format, gfc-internal-format
34523 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
34524 msgstr "La declaración de tipo '%s' en %L no es interoperable con C pero es BIND(C)"
34525
34526-#: fortran/decl.c:3947
34527+#: fortran/decl.c:3948
34528 #, gcc-internal-format, gfc-internal-format
34529 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
34530 msgstr "La variable '%s' en %L no es de un género interoperable con C pero es BIND(C)"
34531
34532-#: fortran/decl.c:3959
34533+#: fortran/decl.c:3960
34534 #, gcc-internal-format, gfc-internal-format
34535 msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
34536 msgstr "La variable '%s' en el bloque común '%s' en %L no se puede declarar con BIND(C) porque no es un global"
34537
34538-#: fortran/decl.c:3973
34539+#: fortran/decl.c:3974
34540 #, gcc-internal-format, gfc-internal-format
34541 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
34542 msgstr "La variable '%s' en %L no puede tener los atributos POINTER y BIND(C) al mismo tiempo"
34543
34544-#: fortran/decl.c:3981
34545+#: fortran/decl.c:3982
34546 #, gcc-internal-format, gfc-internal-format
34547 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
34548 msgstr "La variable '%s' en %L no puede tener los atributos ALLOCATABLE y BIND(C) al mismo tiempo"
34549
34550-#: fortran/decl.c:3993
34551+#: fortran/decl.c:3994
34552 #, gcc-internal-format, gfc-internal-format
34553 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
34554 msgstr "El tipo de devolución de la función BIND(C) '%s' en %L no puede ser una matriz"
34555
34556-#: fortran/decl.c:4001
34557+#: fortran/decl.c:4002
34558 #, gcc-internal-format, gfc-internal-format
34559 msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
34560 msgstr "El tipo de devolución de la función BIND(C) '%s' en %L no puede ser una cadena de caracteres"
34561
34562 #. Use gfc_warning_now because we won't say that the symbol fails
34563 #. just because of this.
34564-#: fortran/decl.c:4012
34565+#: fortran/decl.c:4013
34566 #, gcc-internal-format, gfc-internal-format
34567 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
34568 msgstr "El símbolo '%s' en %L se marcó PRIVATE pero se le dio la etiqueta de asignación '%s'"
34569
34570-#: fortran/decl.c:4088
34571+#: fortran/decl.c:4089
34572 #, gcc-internal-format, gfc-internal-format
34573 msgid "Need either entity or common block name for attribute specification statement at %C"
34574 msgstr "Se necesita una entidad o un nombre de bloque común para la declaración de especificación de atributo en %C"
34575
34576-#: fortran/decl.c:4135
34577+#: fortran/decl.c:4136
34578 #, gcc-internal-format, gfc-internal-format
34579 msgid "Missing entity or common block name for attribute specification statement at %C"
34580 msgstr "Falta la entidad o el nombre de bloque común para la declaración de especificación de atributo en %C"
34581
34582 #. Now we have an error, which we signal, and then fix up
34583 #. because the knock-on is plain and simple confusing.
34584-#: fortran/decl.c:4244
34585+#: fortran/decl.c:4245
34586 #, gcc-internal-format, gfc-internal-format
34587 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
34588 msgstr "El tipo derivado en %C no se definió previamente y no puede aparecer en una definición de tipo derivado"
34589
34590-#: fortran/decl.c:4276
34591+#: fortran/decl.c:4277
34592 #, gcc-internal-format, gfc-internal-format
34593 msgid "Syntax error in data declaration at %C"
34594 msgstr "Error sintáctico en la declaración de datos en %C"
34595
34596-#: fortran/decl.c:4350
34597+#: fortran/decl.c:4351
34598 #, gcc-internal-format, gfc-internal-format
34599 msgid "Fortran 2008: IMPURE procedure at %C"
34600 msgstr "Fortran 2008: Procedimiento IMPURE en %C"
34601
34602-#: fortran/decl.c:4363
34603+#: fortran/decl.c:4364
34604 #, gcc-internal-format, gfc-internal-format
34605 msgid "PURE and IMPURE must not appear both at %C"
34606 msgstr "No deben aparecer PURE con IMPURE en %C"
34607
34608-#: fortran/decl.c:4469
34609+#: fortran/decl.c:4470
34610 #, gcc-internal-format, gfc-internal-format
34611 msgid "Name '%s' at %C is the name of the procedure"
34612 msgstr "El nombre '%s' en %C es el nombre del procedimiento"
34613
34614-#: fortran/decl.c:4481
34615+#: fortran/decl.c:4482
34616 #, gcc-internal-format, gfc-internal-format
34617 msgid "Unexpected junk in formal argument list at %C"
34618 msgstr "Basura inesperada en la lista de argumentos formales en %C"
34619
34620-#: fortran/decl.c:4498
34621+#: fortran/decl.c:4499
34622 #, gcc-internal-format, gfc-internal-format
34623 msgid "Duplicate symbol '%s' in formal argument list at %C"
34624 msgstr "Símbolo '%s' duplicado en la lista de argumentos formales en %C"
34625
34626-#: fortran/decl.c:4549
34627+#: fortran/decl.c:4550
34628 #, gcc-internal-format, gfc-internal-format
34629 msgid "RESULT variable at %C must be different than function name"
34630 msgstr "La variable RESULT en %C debe ser diferente que el nombre de la función"
34631
34632-#: fortran/decl.c:4626
34633+#: fortran/decl.c:4627
34634 #, gcc-internal-format, gfc-internal-format
34635 msgid "Unexpected junk after function declaration at %C"
34636 msgstr "Basura inesperada después de la declaración de la función en %C"
34637
34638-#: fortran/decl.c:4636 fortran/decl.c:5670
34639+#: fortran/decl.c:4637 fortran/decl.c:5671
34640 #, gcc-internal-format, gfc-internal-format
34641 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
34642 msgstr "Fortran 2008: El atributo BIND(C) en %L no se puede especificar para un procedimiento internal"
34643
34644-#: fortran/decl.c:4780
34645+#: fortran/decl.c:4781
34646 #, gcc-internal-format, gfc-internal-format
34647 msgid "Interface '%s' at %C may not be generic"
34648 msgstr "La interfaz '%s' en %C puede no ser generic"
34649
34650-#: fortran/decl.c:4786
34651+#: fortran/decl.c:4787
34652 #, gcc-internal-format, gfc-internal-format
34653 msgid "Interface '%s' at %C may not be a statement function"
34654 msgstr "La interfaz '%s' en %C puede no ser una función de declaración"
34655
34656-#: fortran/decl.c:4799
34657+#: fortran/decl.c:4800
34658 #, gcc-internal-format, gfc-internal-format
34659 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
34660 msgstr "El procedimiento intrínseco '%s' no se permite en la declaración PROCEDURE en %C"
34661
34662-#: fortran/decl.c:4854
34663+#: fortran/decl.c:4855
34664 #, gcc-internal-format, gfc-internal-format
34665 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
34666 msgstr "El atributo BIND(C) en %C requiere una interfaz con BIND(C)"
34667
34668-#: fortran/decl.c:4861
34669+#: fortran/decl.c:4862
34670 #, gcc-internal-format, gfc-internal-format
34671 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
34672 msgstr "El procedimiento BIND(C) con NAME no debe tener atributo POINTER en %C"
34673
34674-#: fortran/decl.c:4867
34675+#: fortran/decl.c:4868
34676 #, gcc-internal-format, gfc-internal-format
34677 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
34678 msgstr "El procedimiento dummy en %C no puede tener atributo BIND(C) con NAME"
34679
34680-#: fortran/decl.c:4891
34681+#: fortran/decl.c:4892
34682 #, gcc-internal-format, gfc-internal-format
34683 msgid "Procedure '%s' at %L already has basic type of %s"
34684 msgstr "El procedimiento '%s' en %L ya tenía el tipo básico de %s"
34685
34686-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
34687+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
34688 #, gcc-internal-format, gfc-internal-format
34689 msgid "Syntax error in PROCEDURE statement at %C"
34690 msgstr "Error sintáctico en la declaración PROCEDURE en %C"
34691
34692-#: fortran/decl.c:4989 fortran/decl.c:8096
34693+#: fortran/decl.c:4990 fortran/decl.c:8097
34694 #, gcc-internal-format, gfc-internal-format
34695 msgid "Expected '::' after binding-attributes at %C"
34696 msgstr "Se esperaba '::' después de los atributos de enlazado en %C"
34697
34698-#: fortran/decl.c:4996
34699+#: fortran/decl.c:4997
34700 #, gcc-internal-format, gfc-internal-format
34701 msgid "NOPASS or explicit interface required at %C"
34702 msgstr "Se requiere NOPASS o una interfaz explícita en %C"
34703
34704-#: fortran/decl.c:5000
34705+#: fortran/decl.c:5001
34706 #, gcc-internal-format, gfc-internal-format
34707 msgid "Fortran 2003: Procedure pointer component at %C"
34708 msgstr "Fortran 2003: Procedimiento de componente puntero en %C"
34709
34710-#: fortran/decl.c:5065
34711+#: fortran/decl.c:5066
34712 #, gcc-internal-format, gfc-internal-format
34713 msgid "Syntax error in procedure pointer component at %C"
34714 msgstr "Error sintáctico en el procedimiento de componente puntero en %C"
34715
34716-#: fortran/decl.c:5082
34717+#: fortran/decl.c:5083
34718 #, gcc-internal-format, gfc-internal-format
34719 msgid "PROCEDURE at %C must be in a generic interface"
34720 msgstr "PROCEDURE en %C debe estar en una interfaz genérica"
34721
34722-#: fortran/decl.c:5148
34723+#: fortran/decl.c:5149
34724 #, gcc-internal-format, gfc-internal-format
34725 msgid "Fortran 2003: PROCEDURE statement at %C"
34726 msgstr "Fortran 2003: Declaración PROCEDURE en %C"
34727
34728-#: fortran/decl.c:5216
34729+#: fortran/decl.c:5217
34730 #, gcc-internal-format, gfc-internal-format
34731 msgid "Expected formal argument list in function definition at %C"
34732 msgstr "Se esperaba una lista de argumentos formales en la definición de la función en %C"
34733
34734-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
34735-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
34736+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
34737+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
34738 #: fortran/symbol.c:1588
34739 #, gcc-internal-format, gfc-internal-format
34740 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
34741 msgstr "El atributo BIND(C) en %L sólo se puede usar para variables o bloques comunes"
34742
34743-#: fortran/decl.c:5359
34744+#: fortran/decl.c:5360
34745 #, gcc-internal-format, gfc-internal-format
34746 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
34747 msgstr "Característica obsoleta de Fortran 2008: declaración ENTRY en %C"
34748
34749-#: fortran/decl.c:5369
34750+#: fortran/decl.c:5370
34751 #, gcc-internal-format, gfc-internal-format
34752 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
34753 msgstr "La declaración ENTRY en %C no puede aparecer dentro de un PROGRAM"
34754
34755-#: fortran/decl.c:5372
34756+#: fortran/decl.c:5373
34757 #, gcc-internal-format, gfc-internal-format
34758 msgid "ENTRY statement at %C cannot appear within a MODULE"
34759 msgstr "La declaración ENTRY en %C no puede aparecer dentro de un MODULE"
34760
34761-#: fortran/decl.c:5375
34762+#: fortran/decl.c:5376
34763 #, gcc-internal-format, gfc-internal-format
34764 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
34765 msgstr "La declaración ENTRY en %C no puede aparecer dentro de un BLOCK DATA"
34766
34767-#: fortran/decl.c:5379
34768+#: fortran/decl.c:5380
34769 #, gcc-internal-format, gfc-internal-format
34770 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
34771 msgstr "La declaración ENTRY en %C no puede aparecer dentro de un INTERFACE"
34772
34773-#: fortran/decl.c:5383
34774+#: fortran/decl.c:5384
34775 #, gcc-internal-format, gfc-internal-format
34776 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
34777 msgstr "La declaración ENTRY en %C no puede aparecer dentro de un bloque DERIVED TYPE"
34778
34779-#: fortran/decl.c:5387
34780+#: fortran/decl.c:5388
34781 #, gcc-internal-format, gfc-internal-format
34782 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
34783 msgstr "La declaración ENTRY en %C no puede aparecer dentro de un bloque IF-THEN"
34784
34785-#: fortran/decl.c:5392
34786+#: fortran/decl.c:5393
34787 #, gcc-internal-format, gfc-internal-format
34788 msgid "ENTRY statement at %C cannot appear within a DO block"
34789 msgstr "La declaración ENTRY en %C no puede aparecer dentro de un bloque DO"
34790
34791-#: fortran/decl.c:5396
34792+#: fortran/decl.c:5397
34793 #, gcc-internal-format, gfc-internal-format
34794 msgid "ENTRY statement at %C cannot appear within a SELECT block"
34795 msgstr "La declaración ENTRY en %C no puede aparecer dentro de un bloque SELECT"
34796
34797-#: fortran/decl.c:5400
34798+#: fortran/decl.c:5401
34799 #, gcc-internal-format, gfc-internal-format
34800 msgid "ENTRY statement at %C cannot appear within a FORALL block"
34801 msgstr "La declaración ENTRY en %C no puede aparecer dentro de un bloque FORALL"
34802
34803-#: fortran/decl.c:5404
34804+#: fortran/decl.c:5405
34805 #, gcc-internal-format, gfc-internal-format
34806 msgid "ENTRY statement at %C cannot appear within a WHERE block"
34807 msgstr "La declaración ENTRY en %C no puede aparecer dentro de un bloque WHERE"
34808
34809-#: fortran/decl.c:5408
34810+#: fortran/decl.c:5409
34811 #, gcc-internal-format, gfc-internal-format
34812 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
34813 msgstr "La declaración ENTRY en %C no puede aparecer dentro de un subprograma contenido"
34814
34815-#: fortran/decl.c:5426
34816+#: fortran/decl.c:5427
34817 #, gcc-internal-format, gfc-internal-format
34818 msgid "ENTRY statement at %C cannot appear in a contained procedure"
34819 msgstr "La declaración ENTRY en %C no puede aparecer dentro de un procedimiento contenido"
34820
34821-#: fortran/decl.c:5480 fortran/decl.c:5678
34822+#: fortran/decl.c:5481 fortran/decl.c:5679
34823 #, gcc-internal-format, gfc-internal-format
34824 msgid "Missing required parentheses before BIND(C) at %C"
34825 msgstr "Faltan los paréntesis requeridos antes de BIND(C) en %C"
34826
34827-#: fortran/decl.c:5736 fortran/decl.c:5752
34828+#: fortran/decl.c:5737 fortran/decl.c:5753
34829 #, gcc-internal-format, gfc-internal-format
34830 msgid "Syntax error in NAME= specifier for binding label at %C"
34831 msgstr "Error sintáctico en el especificador NAME= para la etiqueta de asignación %C"
34832
34833-#: fortran/decl.c:5767
34834+#: fortran/decl.c:5768
34835 #, gcc-internal-format, gfc-internal-format
34836 msgid "Missing closing quote '\"' for binding label at %C"
34837 msgstr "Falta la comilla '\"' que cierra en la etiqueta de asignación en %C"
34838
34839-#: fortran/decl.c:5776
34840+#: fortran/decl.c:5777
34841 #, gcc-internal-format, gfc-internal-format
34842 msgid "Missing closing quote ''' for binding label at %C"
34843 msgstr "Falta la comilla ''' que cierra en la etiqueta de asignación en %C"
34844
34845-#: fortran/decl.c:5786
34846+#: fortran/decl.c:5787
34847 #, gcc-internal-format, gfc-internal-format
34848 msgid "Missing closing paren for binding label at %C"
34849 msgstr "Falta el paréntesis que cierra en la etiqueta de asignación en %C"
34850
34851-#: fortran/decl.c:5792
34852+#: fortran/decl.c:5793
34853 #, gcc-internal-format, gfc-internal-format
34854 msgid "No binding name is allowed in BIND(C) at %C"
34855 msgstr "No se permite un nombre de enlazado en BIND(C) en %C"
34856
34857-#: fortran/decl.c:5798
34858+#: fortran/decl.c:5799
34859 #, gcc-internal-format, gfc-internal-format
34860 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
34861 msgstr "Para el procedimiento dummy %s, no se permite un nombre de enlazado en BIND(C) en %C"
34862
34863-#: fortran/decl.c:5827
34864+#: fortran/decl.c:5828
34865 #, gcc-internal-format, gfc-internal-format
34866 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
34867 msgstr "No se permite NAME en BIND(C) para ABSTRACT INTERFACE en %C"
34868
34869-#: fortran/decl.c:6032
34870+#: fortran/decl.c:6033
34871 #, gcc-internal-format, gfc-internal-format
34872 msgid "Unexpected END statement at %C"
34873 msgstr "Declaración END inesperada en %C"
34874
34875-#: fortran/decl.c:6040
34876+#: fortran/decl.c:6041
34877 #, gcc-internal-format, gfc-internal-format
34878 msgid "Fortran 2008: END statement instead of %s statement at %L"
34879 msgstr "Fortran 2008: Declaración END en lugar de una declaración %s en %L"
34880
34881 #. We would have required END [something].
34882-#: fortran/decl.c:6048
34883+#: fortran/decl.c:6049
34884 #, gcc-internal-format, gfc-internal-format
34885 msgid "%s statement expected at %L"
34886 msgstr "Se esperaba %s en la declaración en %L"
34887
34888-#: fortran/decl.c:6059
34889+#: fortran/decl.c:6060
34890 #, gcc-internal-format, gfc-internal-format
34891 msgid "Expecting %s statement at %C"
34892 msgstr "Se esperaba la declaración %s en %C"
34893
34894-#: fortran/decl.c:6075
34895+#: fortran/decl.c:6076
34896 #, gcc-internal-format, gfc-internal-format
34897 msgid "Expected block name of '%s' in %s statement at %C"
34898 msgstr "Se esperaba el nombre de bloque de '%s' en la declaración %s en %C"
34899
34900-#: fortran/decl.c:6092
34901+#: fortran/decl.c:6093
34902 #, gcc-internal-format, gfc-internal-format
34903 msgid "Expected terminating name at %C"
34904 msgstr "Se esperaba un nombre terminal en %C"
34905
34906-#: fortran/decl.c:6101 fortran/decl.c:6109
34907+#: fortran/decl.c:6102 fortran/decl.c:6110
34908 #, gcc-internal-format, gfc-internal-format
34909 msgid "Expected label '%s' for %s statement at %C"
34910 msgstr "Se esperaba la etiqueta '%s' para la declaración %s en %C"
34911
34912-#: fortran/decl.c:6174
34913+#: fortran/decl.c:6175
34914 #, gcc-internal-format, gfc-internal-format
34915 msgid "Missing array specification at %L in DIMENSION statement"
34916 msgstr "Falta la especificación de matriz en %L en la declaración DIMENSION"
34917
34918-#: fortran/decl.c:6182
34919+#: fortran/decl.c:6183
34920 #, gcc-internal-format, gfc-internal-format
34921 msgid "Dimensions specified for %s at %L after its initialisation"
34922 msgstr "Se especificarion dimensiones para %s en %L después de su inicialización"
34923
34924-#: fortran/decl.c:6190
34925+#: fortran/decl.c:6191
34926 #, gcc-internal-format, gfc-internal-format
34927 msgid "Missing array specification at %L in CODIMENSION statement"
34928 msgstr "Falta la especificación de matriz en %L en la declaración CODIMENSION"
34929
34930-#: fortran/decl.c:6199
34931+#: fortran/decl.c:6200
34932 #, gcc-internal-format, gfc-internal-format
34933 msgid "Array specification must be deferred at %L"
34934 msgstr "La especificación de matriz se debe diferir en %L"
34935
34936-#: fortran/decl.c:6298
34937+#: fortran/decl.c:6299
34938 #, gcc-internal-format, gfc-internal-format
34939 msgid "Unexpected character in variable list at %C"
34940 msgstr "Carácter inesperado en la lista de variables en %C"
34941
34942-#: fortran/decl.c:6335
34943+#: fortran/decl.c:6336
34944 #, gcc-internal-format, gfc-internal-format
34945 msgid "Expected '(' at %C"
34946 msgstr "Se esperaba '(' en %C"
34947
34948-#: fortran/decl.c:6349 fortran/decl.c:6389
34949+#: fortran/decl.c:6350 fortran/decl.c:6390
34950 #, gcc-internal-format, gfc-internal-format
34951 msgid "Expected variable name at %C"
34952 msgstr "se esperaba un nombre variable en %C"
34953
34954-#: fortran/decl.c:6365
34955+#: fortran/decl.c:6366
34956 #, gcc-internal-format, gfc-internal-format
34957 msgid "Cray pointer at %C must be an integer"
34958 msgstr "El puntero Cray en %C debe ser un entero"
34959
34960-#: fortran/decl.c:6369
34961+#: fortran/decl.c:6370
34962 #, gcc-internal-format, gfc-internal-format
34963 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
34964 msgstr "El puntero Cray en %C tiene %d bytes de precisión; las direcciones de memoria requieren %d bytes"
34965
34966-#: fortran/decl.c:6375
34967+#: fortran/decl.c:6376
34968 #, gcc-internal-format, gfc-internal-format
34969 msgid "Expected \",\" at %C"
34970 msgstr "Se esperaba \",\" en %C"
34971
34972-#: fortran/decl.c:6438
34973+#: fortran/decl.c:6439
34974 #, gcc-internal-format, gfc-internal-format
34975 msgid "Expected \")\" at %C"
34976 msgstr "Se esperaba \")\" en %C"
34977
34978-#: fortran/decl.c:6450
34979+#: fortran/decl.c:6451
34980 #, gcc-internal-format, gfc-internal-format
34981 msgid "Expected \",\" or end of statement at %C"
34982 msgstr "Se esperaba \",\" o el final de la declaración en %C"
34983
34984-#: fortran/decl.c:6476
34985+#: fortran/decl.c:6477
34986 #, gcc-internal-format, gfc-internal-format
34987 msgid "INTENT is not allowed inside of BLOCK at %C"
34988 msgstr "No se permite INTENT dentro de BLOCK en %C"
34989
34990-#: fortran/decl.c:6508
34991+#: fortran/decl.c:6509
34992 #, gcc-internal-format, gfc-internal-format
34993 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
34994 msgstr "No se permite OPTIONAL dentro de BLOCK en %C"
34995
34996-#: fortran/decl.c:6527
34997+#: fortran/decl.c:6528
34998 #, gcc-internal-format, gfc-internal-format
34999 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
35000 msgstr "La declaración de punteros Cray en %C requiere la opción -fcray-pointer"
35001
35002-#: fortran/decl.c:6566
35003+#: fortran/decl.c:6567
35004 #, gcc-internal-format, gfc-internal-format
35005 msgid "Fortran 2008: CONTIGUOUS statement at %C"
35006 msgstr "Fortran 2008: Declaración CONTIGUOUS en %C"
35007
35008-#: fortran/decl.c:6664
35009+#: fortran/decl.c:6665
35010 #, gcc-internal-format, gfc-internal-format
35011 msgid "Access specification of the %s operator at %C has already been specified"
35012 msgstr "La especificación de acceso del operador %s en %C ya se había especificado"
35013
35014-#: fortran/decl.c:6681
35015+#: fortran/decl.c:6682
35016 #, gcc-internal-format, gfc-internal-format
35017 msgid "Access specification of the .%s. operator at %C has already been specified"
35018 msgstr "La especificación de acceso del operador .%s. en %C ya se había especificado"
35019
35020-#: fortran/decl.c:6719
35021+#: fortran/decl.c:6720
35022 #, gcc-internal-format, gfc-internal-format
35023 msgid "Fortran 2003: PROTECTED statement at %C"
35024 msgstr "Fortran 2003: Declaración PROTECTED en %C"
35025
35026-#: fortran/decl.c:6759
35027+#: fortran/decl.c:6760
35028 #, gcc-internal-format, gfc-internal-format
35029 msgid "Syntax error in PROTECTED statement at %C"
35030 msgstr "Error sintáctico en la declaración PROTECTED en %C"
35031
35032-#: fortran/decl.c:6783
35033+#: fortran/decl.c:6784
35034 #, gcc-internal-format, gfc-internal-format
35035 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
35036 msgstr "Sólo se permite la declaración PRIVATE en %C en la parte de especificación de un módulo"
35037
35038-#: fortran/decl.c:6820
35039+#: fortran/decl.c:6821
35040 #, gcc-internal-format, gfc-internal-format
35041 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
35042 msgstr "Sólo se permite la declaración PRIVATE en %C en la parte de especificación de un módulo"
35043
35044-#: fortran/decl.c:6848
35045+#: fortran/decl.c:6849
35046 #, gcc-internal-format, gfc-internal-format
35047 msgid "Expected variable name at %C in PARAMETER statement"
35048 msgstr "Se esperaba un nombre de variable en %C en la declaración PARAMETER"
35049
35050-#: fortran/decl.c:6855
35051+#: fortran/decl.c:6856
35052 #, gcc-internal-format, gfc-internal-format
35053 msgid "Expected = sign in PARAMETER statement at %C"
35054 msgstr "Se esperaba un signo = en la declaración PARAMETER en %C"
35055
35056-#: fortran/decl.c:6861
35057+#: fortran/decl.c:6862
35058 #, gcc-internal-format, gfc-internal-format
35059 msgid "Expected expression at %C in PARAMETER statement"
35060 msgstr "Se esperaba una expresión en %C en la declaración PARAMETER"
35061
35062-#: fortran/decl.c:6881
35063+#: fortran/decl.c:6882
35064 #, gcc-internal-format, gfc-internal-format
35065 msgid "Initializing already initialized variable at %C"
35066 msgstr "Se inicializa una variable ya inicializada en %C"
35067
35068-#: fortran/decl.c:6916
35069+#: fortran/decl.c:6917
35070 #, gcc-internal-format, gfc-internal-format
35071 msgid "Unexpected characters in PARAMETER statement at %C"
35072 msgstr "Caracteres inesperados en la declaración PARAMETER en %C"
35073
35074-#: fortran/decl.c:6940
35075+#: fortran/decl.c:6941
35076 #, gcc-internal-format, gfc-internal-format
35077 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
35078 msgstr "Declaración SAVE incondicional en %C después de una declaración SAVE previa"
35079
35080-#: fortran/decl.c:6952
35081+#: fortran/decl.c:6953
35082 #, gcc-internal-format, gfc-internal-format
35083 msgid "SAVE statement at %C follows blanket SAVE statement"
35084 msgstr "Declaración SAVE en %C después de una declaración SAVE incondicional"
35085
35086-#: fortran/decl.c:6999
35087+#: fortran/decl.c:7000
35088 #, gcc-internal-format, gfc-internal-format
35089 msgid "Syntax error in SAVE statement at %C"
35090 msgstr "Error sintáctico en la declaración SAVE en %C"
35091
35092-#: fortran/decl.c:7013
35093+#: fortran/decl.c:7014
35094 #, gcc-internal-format, gfc-internal-format
35095 msgid "VALUE is not allowed inside of BLOCK at %C"
35096 msgstr "No se permite VALUE dentro de BLOCK en %C"
35097
35098-#: fortran/decl.c:7017
35099+#: fortran/decl.c:7018
35100 #, gcc-internal-format, gfc-internal-format
35101 msgid "Fortran 2003: VALUE statement at %C"
35102 msgstr "Fortran 2003: Declaración VALUE en %C"
35103
35104-#: fortran/decl.c:7057
35105+#: fortran/decl.c:7058
35106 #, gcc-internal-format, gfc-internal-format
35107 msgid "Syntax error in VALUE statement at %C"
35108 msgstr "Error sintáctico en la declaración VALUE en %C"
35109
35110-#: fortran/decl.c:7068
35111+#: fortran/decl.c:7069
35112 #, gcc-internal-format, gfc-internal-format
35113 msgid "Fortran 2003: VOLATILE statement at %C"
35114 msgstr "Fortran 2003: Declaración VOLATILE en %C"
35115
35116-#: fortran/decl.c:7092
35117+#: fortran/decl.c:7093
35118 #, gcc-internal-format, gfc-internal-format
35119 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
35120 msgstr "Se especifica VOLATILE para la variable de comatriz '%s' en %C, la cual es asociada a uso/anfitrión"
35121
35122-#: fortran/decl.c:7118
35123+#: fortran/decl.c:7119
35124 #, gcc-internal-format, gfc-internal-format
35125 msgid "Syntax error in VOLATILE statement at %C"
35126 msgstr "Error sintáctico en la declaración VOLATILE en %C"
35127
35128-#: fortran/decl.c:7129
35129+#: fortran/decl.c:7130
35130 #, gcc-internal-format, gfc-internal-format
35131 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
35132 msgstr "Fortran 2003: Declaración ASYNCHRONOUS en %C"
35133
35134-#: fortran/decl.c:7171
35135+#: fortran/decl.c:7172
35136 #, gcc-internal-format, gfc-internal-format
35137 msgid "Syntax error in ASYNCHRONOUS statement at %C"
35138 msgstr "Error sintáctico en la declaración ASYNCHRONOUS en %C"
35139
35140-#: fortran/decl.c:7195
35141+#: fortran/decl.c:7196
35142 #, gcc-internal-format, gfc-internal-format
35143 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
35144 msgstr "MODULE PROCEDURE en %C debe estar en una interfaz genérica de módulo"
35145
35146-#: fortran/decl.c:7220
35147+#: fortran/decl.c:7221
35148 #, gcc-internal-format, gfc-internal-format
35149 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
35150 msgstr "Fortran 2008: dos puntos dobles en la declaración MODULE PROCEDURE en %L"
35151
35152-#: fortran/decl.c:7254
35153+#: fortran/decl.c:7255
35154 #, gcc-internal-format, gfc-internal-format
35155 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
35156 msgstr "El procedimiento intrínseco en %L no puede ser un MODULE PROCEDURE"
35157
35158-#: fortran/decl.c:7303
35159+#: fortran/decl.c:7304
35160 #, gcc-internal-format, gfc-internal-format
35161 msgid "Ambiguous symbol in TYPE definition at %C"
35162 msgstr "Símbolo ambiguo en la definición TYPE en %C"
35163
35164-#: fortran/decl.c:7309
35165+#: fortran/decl.c:7310
35166 #, gcc-internal-format, gfc-internal-format
35167 msgid "No such symbol in TYPE definition at %C"
35168 msgstr "No existe ese símbolo en la definición TYPE en %C"
35169
35170-#: fortran/decl.c:7317
35171+#: fortran/decl.c:7318
35172 #, gcc-internal-format, gfc-internal-format
35173 msgid "'%s' in EXTENDS expression at %C is not a derived type"
35174 msgstr "'%s' en la expresión EXTENDS en %C no es un tipo derivado"
35175
35176-#: fortran/decl.c:7324
35177+#: fortran/decl.c:7325
35178 #, gcc-internal-format, gfc-internal-format
35179 msgid "'%s' cannot be extended at %C because it is BIND(C)"
35180 msgstr "'%s' no se puede extender en %C porque es BIND(C)"
35181
35182-#: fortran/decl.c:7331
35183+#: fortran/decl.c:7332
35184 #, gcc-internal-format, gfc-internal-format
35185 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
35186 msgstr "'%s' no se puede extender en %C porque es un tipo SEQUENCE"
35187
35188-#: fortran/decl.c:7354
35189+#: fortran/decl.c:7355
35190 #, gcc-internal-format, gfc-internal-format
35191 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
35192 msgstr "El tipo derivado en %C sólo puede ser PRIVATE en la parte de especificación de un módulo"
35193
35194-#: fortran/decl.c:7366
35195+#: fortran/decl.c:7367
35196 #, gcc-internal-format, gfc-internal-format
35197 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
35198 msgstr "El tipo derivado en %C sólo puede ser PUBLIC en la parte de especificación de un módulo"
35199
35200-#: fortran/decl.c:7387
35201+#: fortran/decl.c:7388
35202 #, gcc-internal-format, gfc-internal-format
35203 msgid "Fortran 2003: ABSTRACT type at %C"
35204 msgstr "Fortran 2003: Tipo ABSTRACT en %C"
35205
35206-#: fortran/decl.c:7452
35207+#: fortran/decl.c:7453
35208 #, gcc-internal-format, gfc-internal-format
35209 msgid "Expected :: in TYPE definition at %C"
35210 msgstr "Se esperaba :: en la definición TYPE en %C"
35211
35212-#: fortran/decl.c:7463
35213+#: fortran/decl.c:7464
35214 #, gcc-internal-format, gfc-internal-format
35215 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
35216 msgstr "El nombre de tipo '%s' en %C no puede ser el mismo que un tipo intrínseco"
35217
35218-#: fortran/decl.c:7473
35219+#: fortran/decl.c:7474
35220 #, gcc-internal-format, gfc-internal-format
35221 msgid "Derived type name '%s' at %C already has a basic type of %s"
35222 msgstr "El nombre de tipo derivado '%s' en %C ya tiene un tipo básico de %s"
35223
35224-#: fortran/decl.c:7490
35225+#: fortran/decl.c:7491
35226 #, gcc-internal-format, gfc-internal-format
35227 msgid "Derived type definition of '%s' at %C has already been defined"
35228 msgstr "La definición del tipo derivado de '%s' en %C ya se había definido"
35229
35230-#: fortran/decl.c:7598
35231+#: fortran/decl.c:7599
35232 #, gcc-internal-format, gfc-internal-format
35233 msgid "Cray Pointee at %C cannot be assumed shape array"
35234 msgstr "El Apuntado Cray en %C no puede ser una matriz de forma asumida"
35235
35236-#: fortran/decl.c:7618
35237+#: fortran/decl.c:7619
35238 #, gcc-internal-format, gfc-internal-format
35239 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
35240 msgstr "Fortran 2003: ENUM y ENUMERATOR en %C"
35241
35242-#: fortran/decl.c:7651
35243+#: fortran/decl.c:7652
35244 #, gcc-internal-format, gfc-internal-format
35245 msgid "Enumerator exceeds the C integer type at %C"
35246 msgstr "El enumerador excede el tipo entero de C en %C"
35247
35248-#: fortran/decl.c:7730
35249+#: fortran/decl.c:7731
35250 #, gcc-internal-format, gfc-internal-format
35251 msgid "ENUMERATOR %L not initialized with integer expression"
35252 msgstr "ENUMERATOR %L no se inicializó con una expresión entera"
35253
35254-#: fortran/decl.c:7778
35255+#: fortran/decl.c:7779
35256 #, gcc-internal-format, gfc-internal-format
35257 msgid "ENUM definition statement expected before %C"
35258 msgstr "Se esperaba una declaración de definición ENUM antes de %C"
35259
35260-#: fortran/decl.c:7814
35261+#: fortran/decl.c:7815
35262 #, gcc-internal-format, gfc-internal-format
35263 msgid "Syntax error in ENUMERATOR definition at %C"
35264 msgstr "Error sintáctico en la definición ENUMERATOR en %C"
35265
35266-#: fortran/decl.c:7861 fortran/decl.c:7876
35267+#: fortran/decl.c:7862 fortran/decl.c:7877
35268 #, gcc-internal-format, gfc-internal-format
35269 msgid "Duplicate access-specifier at %C"
35270 msgstr "Especificador de acceso duplicado en %C"
35271
35272-#: fortran/decl.c:7896
35273+#: fortran/decl.c:7897
35274 #, gcc-internal-format, gfc-internal-format
35275 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
35276 msgstr "Los atributos de enlace ya especifican paso, NOPASS ilegal en %C"
35277
35278-#: fortran/decl.c:7916
35279+#: fortran/decl.c:7917
35280 #, gcc-internal-format, gfc-internal-format
35281 msgid "Binding attributes already specify passing, illegal PASS at %C"
35282 msgstr "Los atributos de enlace ya especifican paso, PASS ilegal en %C"
35283
35284-#: fortran/decl.c:7943
35285+#: fortran/decl.c:7944
35286 #, gcc-internal-format, gfc-internal-format
35287 msgid "Duplicate POINTER attribute at %C"
35288 msgstr "Atributo POINTER duplicado en %C"
35289
35290-#: fortran/decl.c:7961
35291+#: fortran/decl.c:7962
35292 #, gcc-internal-format, gfc-internal-format
35293 msgid "Duplicate NON_OVERRIDABLE at %C"
35294 msgstr "NON_OVERRIDABLE duplicado en %C"
35295
35296-#: fortran/decl.c:7977
35297+#: fortran/decl.c:7978
35298 #, gcc-internal-format, gfc-internal-format
35299 msgid "Duplicate DEFERRED at %C"
35300 msgstr "DEFERRED duplicado en %C"
35301
35302-#: fortran/decl.c:7990
35303+#: fortran/decl.c:7991
35304 #, gcc-internal-format, gfc-internal-format
35305 msgid "Expected access-specifier at %C"
35306 msgstr "Se esperaba un especificador de acceso en %C"
35307
35308-#: fortran/decl.c:7992
35309+#: fortran/decl.c:7993
35310 #, gcc-internal-format, gfc-internal-format
35311 msgid "Expected binding attribute at %C"
35312 msgstr "Se esperaba un atributo de enlace en %C"
35313
35314-#: fortran/decl.c:8000
35315+#: fortran/decl.c:8001
35316 #, gcc-internal-format, gfc-internal-format
35317 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
35318 msgstr "No pueden aparecer NON_OVERRIDABLE y DEFERRED al mismo tiempo en %C"
35319
35320-#: fortran/decl.c:8012
35321+#: fortran/decl.c:8013
35322 #, gcc-internal-format, gfc-internal-format
35323 msgid "POINTER attribute is required for procedure pointer component at %C"
35324 msgstr "Se requiere el atributo POINTER para el procedimiento de componente puntero en %C"
35325
35326-#: fortran/decl.c:8054
35327+#: fortran/decl.c:8055
35328 #, gcc-internal-format, gfc-internal-format
35329 msgid "Interface-name expected after '(' at %C"
35330 msgstr "Se esperaba un nombre de interfaz después de '(' en %C"
35331
35332-#: fortran/decl.c:8060
35333+#: fortran/decl.c:8061
35334 #, gcc-internal-format, gfc-internal-format
35335 msgid "')' expected at %C"
35336 msgstr "Se esperaba ')' en %C"
35337
35338-#: fortran/decl.c:8080
35339+#: fortran/decl.c:8081
35340 #, gcc-internal-format, gfc-internal-format
35341 msgid "Interface must be specified for DEFERRED binding at %C"
35342 msgstr "Se debe especificar una interfaz para el enlace DEFERRED en %C"
35343
35344-#: fortran/decl.c:8085
35345+#: fortran/decl.c:8086
35346 #, gcc-internal-format, gfc-internal-format
35347 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
35348 msgstr "PROCEDURE(interface) en %C se debe declarar DEFERRED"
35349
35350-#: fortran/decl.c:8108
35351+#: fortran/decl.c:8109
35352 #, gcc-internal-format, gfc-internal-format
35353 msgid "Expected binding name at %C"
35354 msgstr "Se esperaba un nombre de enlace en %C"
35355
35356-#: fortran/decl.c:8112
35357+#: fortran/decl.c:8113
35358 #, gcc-internal-format, gfc-internal-format
35359 msgid "Fortran 2008: PROCEDURE list at %C"
35360 msgstr "Fortran 2008: Lista PROCEDURE en %C"
35361
35362-#: fortran/decl.c:8125
35363+#: fortran/decl.c:8126
35364 #, gcc-internal-format, gfc-internal-format
35365 msgid "'=> target' is invalid for DEFERRED binding at %C"
35366 msgstr "'=> objetivo' es inválido para el enlace DEFERRED en %C"
35367
35368-#: fortran/decl.c:8131
35369+#: fortran/decl.c:8132
35370 #, gcc-internal-format, gfc-internal-format
35371 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
35372 msgstr "Se necesita '::' en el enlace PROCEDURE con objetivo explícito en %C"
35373
35374-#: fortran/decl.c:8141
35375+#: fortran/decl.c:8142
35376 #, gcc-internal-format, gfc-internal-format
35377 msgid "Expected binding target after '=>' at %C"
35378 msgstr "Se esperaba un objetivo de enlace después de '=>' en %C"
35379
35380-#: fortran/decl.c:8158
35381+#: fortran/decl.c:8159
35382 #, gcc-internal-format, gfc-internal-format
35383 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
35384 msgstr "El tipo '%s' que contiene el enlace DEFERRED en %C no es ABSTRACT"
35385
35386-#: fortran/decl.c:8169
35387+#: fortran/decl.c:8170
35388 #, gcc-internal-format, gfc-internal-format
35389 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
35390 msgstr "Ya existe un procedimiento con nombre de enlazado '%s' para el tipo derivado '%s' en %C"
35391
35392-#: fortran/decl.c:8218
35393+#: fortran/decl.c:8219
35394 #, gcc-internal-format, gfc-internal-format
35395 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
35396 msgstr "GENERIC en %C debe estar dentro de un tipo derivado CONTAINS"
35397
35398-#: fortran/decl.c:8238
35399+#: fortran/decl.c:8239
35400 #, gcc-internal-format, gfc-internal-format
35401 msgid "Expected '::' at %C"
35402 msgstr "Se esperaba '::' en %C"
35403
35404-#: fortran/decl.c:8250
35405+#: fortran/decl.c:8251
35406 #, gcc-internal-format, gfc-internal-format
35407 msgid "Expected generic name or operator descriptor at %C"
35408 msgstr "Se esperaba un nombre genérico o un descriptor de operador en %C"
35409
35410-#: fortran/decl.c:8276
35411+#: fortran/decl.c:8277
35412 #, gcc-internal-format, gfc-internal-format
35413 msgid "Expected '=>' at %C"
35414 msgstr "Se esperaba '=>' en %C"
35415
35416-#: fortran/decl.c:8318
35417+#: fortran/decl.c:8319
35418 #, gcc-internal-format, gfc-internal-format
35419 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
35420 msgstr "Ya existe un procedimiento que no es genérico con el nombre de enlace '%s' para el tipo derivado '%s' en %C"
35421
35422-#: fortran/decl.c:8326
35423+#: fortran/decl.c:8327
35424 #, gcc-internal-format, gfc-internal-format
35425 msgid "Binding at %C must have the same access as already defined binding '%s'"
35426 msgstr "El enlace en %C debe tener el mismo acceso que el enlace '%s' que ya está definido"
35427
35428-#: fortran/decl.c:8375
35429+#: fortran/decl.c:8376
35430 #, gcc-internal-format, gfc-internal-format
35431 msgid "Expected specific binding name at %C"
35432 msgstr "Se esperaba un nombre de enlace específico en %C"
35433
35434-#: fortran/decl.c:8385
35435+#: fortran/decl.c:8386
35436 #, gcc-internal-format, gfc-internal-format
35437 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
35438 msgstr "Ya se definió '%s' como un enlace específico para el genérico '%s' en %C"
35439
35440-#: fortran/decl.c:8403
35441+#: fortran/decl.c:8404
35442 #, gcc-internal-format, gfc-internal-format
35443 msgid "Junk after GENERIC binding at %C"
35444 msgstr "Basura después del enlace GENERIC en %C"
35445
35446-#: fortran/decl.c:8438
35447+#: fortran/decl.c:8439
35448 #, gcc-internal-format, gfc-internal-format
35449 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
35450 msgstr "La declaración FINAL en %C debe estar dentro de una sección de tipo derivado CONTAINS"
35451
35452-#: fortran/decl.c:8449
35453+#: fortran/decl.c:8450
35454 #, gcc-internal-format, gfc-internal-format
35455 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
35456 msgstr "La declaración de tipo derivado con FINAL en %C debe estar en la parte de especificación de un MODULE"
35457
35458-#: fortran/decl.c:8471
35459+#: fortran/decl.c:8472
35460 #, gcc-internal-format, gfc-internal-format
35461 msgid "Empty FINAL at %C"
35462 msgstr "FINAL vacío en %C"
35463
35464-#: fortran/decl.c:8478
35465+#: fortran/decl.c:8479
35466 #, gcc-internal-format, gfc-internal-format
35467 msgid "Expected module procedure name at %C"
35468 msgstr "Se esperaba un nombre de procedimiento de módulo en %C"
35469
35470-#: fortran/decl.c:8488
35471+#: fortran/decl.c:8489
35472 #, gcc-internal-format, gfc-internal-format
35473 msgid "Expected ',' at %C"
35474 msgstr "Se esperaba ',' en %C"
35475
35476-#: fortran/decl.c:8494
35477+#: fortran/decl.c:8495
35478 #, gcc-internal-format, gfc-internal-format
35479 msgid "Unknown procedure name \"%s\" at %C"
35480 msgstr "Nombre de procedimiento \"%s\" desconocido en %C"
35481
35482-#: fortran/decl.c:8508
35483+#: fortran/decl.c:8509
35484 #, gcc-internal-format, gfc-internal-format
35485 msgid "'%s' at %C is already defined as FINAL procedure!"
35486 msgstr "¡'%s' en %C ya se había definido como un procedimiento FINAL!"
35487
35488-#: fortran/decl.c:8577
35489+#: fortran/decl.c:8578
35490 #, gcc-internal-format, gfc-internal-format
35491 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
35492 msgstr "Atributo desconocido en la declaración !GCC$ ATTRIBUTES en %C"
35493
35494-#: fortran/decl.c:8624
35495+#: fortran/decl.c:8625
35496 #, gcc-internal-format, gfc-internal-format
35497 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
35498 msgstr "Error sintáctico en la declaración !GCC$ ATTRIBUTES en %C"
35499@@ -37266,27 +37261,27 @@
35500 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
35501 msgstr "Extensión: se usa la literal BOZ en %L para inicializar la variable '%s' que no es entera"
35502
35503-#: fortran/expr.c:3177 fortran/resolve.c:9095
35504+#: fortran/expr.c:3177 fortran/resolve.c:9097
35505 #, gcc-internal-format, gfc-internal-format
35506 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
35507 msgstr "Extensión: la literal BOZ en %L está fuera de una declaración DATA y fuera de INT/REAL/DBLE/CMPLX"
35508
35509-#: fortran/expr.c:3187 fortran/resolve.c:9105
35510+#: fortran/expr.c:3187 fortran/resolve.c:9107
35511 #, gcc-internal-format, gfc-internal-format
35512 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
35513 msgstr "La literal BOZ en %L se transfiere por bits al símbolo '%s' que no es entero"
35514
35515-#: fortran/expr.c:3195 fortran/resolve.c:9114
35516+#: fortran/expr.c:3195 fortran/resolve.c:9116
35517 #, gcc-internal-format, gfc-internal-format
35518 msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
35519 msgstr "Desborde aritmético por debajo del BOZ transferido por bits en %L. Esta revisión se puede desactivar con la opción -fno-range-check"
35520
35521-#: fortran/expr.c:3199 fortran/resolve.c:9118
35522+#: fortran/expr.c:3199 fortran/resolve.c:9120
35523 #, gcc-internal-format, gfc-internal-format
35524 msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
35525 msgstr "Desborde aritmético del BOZ transferido por bits en %L. Esta revisión se puede desactivar con la opción -fno-range-check"
35526
35527-#: fortran/expr.c:3203 fortran/resolve.c:9122
35528+#: fortran/expr.c:3203 fortran/resolve.c:9124
35529 #, gcc-internal-format, gfc-internal-format
35530 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
35531 msgstr "NaN aritmético del BOZ transferido por bits en %L. Esta revisión se puede desactivar con la opción -fno-range-check"
35532@@ -37547,7 +37542,7 @@
35533 msgstr "no se puede abrir el fichero de entrada: %s"
35534
35535 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
35536-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
35537+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
35538 #: fortran/trans-intrinsic.c:5422
35539 #, gcc-internal-format, gfc-internal-format
35540 msgid "Creating array temporary at %L"
35541@@ -37663,12 +37658,12 @@
35542 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
35543 msgstr "El segundo argumento de la asignación definida en %L debe ser INTENT(IN)"
35544
35545-#: fortran/interface.c:705 fortran/resolve.c:13759
35546+#: fortran/interface.c:705 fortran/resolve.c:13761
35547 #, gcc-internal-format, gfc-internal-format
35548 msgid "First argument of operator interface at %L must be INTENT(IN)"
35549 msgstr "El primer argumento de la interfaz de operador en %L debe ser INTENT(IN)"
35550
35551-#: fortran/interface.c:712 fortran/resolve.c:13777
35552+#: fortran/interface.c:712 fortran/resolve.c:13779
35553 #, gcc-internal-format, gfc-internal-format
35554 msgid "Second argument of operator interface at %L must be INTENT(IN)"
35555 msgstr "El segundo argumento de la interfaz de operador en %L debe ser INTENT(IN)"
35556@@ -39689,7 +39684,7 @@
35557 msgid "Unexpected junk after NOWAIT clause at %C"
35558 msgstr "Basura inesperada después de la cláusula NOWAIT en %C"
35559
35560-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
35561+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
35562 #, gcc-internal-format, gfc-internal-format
35563 msgid "IF clause at %L requires a scalar LOGICAL expression"
35564 msgstr "La cláusula IF en %L requiere una expresión LOGICAL escalar"
35565@@ -40778,943 +40773,943 @@
35566 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
35567 msgstr "El argumento '%s' de la subrutina pure '%s' en %L debe tener especificado su INTENT o tener el atributo VALUE"
35568
35569-#: fortran/resolve.c:381
35570+#: fortran/resolve.c:383
35571 #, gcc-internal-format, gfc-internal-format
35572 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
35573 msgstr "El argumento dummy de comatriz '%s' en %L para un procedimiento elemental"
35574
35575-#: fortran/resolve.c:389
35576+#: fortran/resolve.c:391
35577 #, gcc-internal-format, gfc-internal-format
35578 msgid "Argument '%s' of elemental procedure at %L must be scalar"
35579 msgstr "El argumento '%s' del procedimiento elemental en %L debe ser escalar"
35580
35581-#: fortran/resolve.c:398
35582+#: fortran/resolve.c:400
35583 #, gcc-internal-format, gfc-internal-format
35584 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
35585 msgstr "El argumento '%s' del procedimiento elemental en %L no puede tener el atributo ALLOCATABLE"
35586
35587-#: fortran/resolve.c:408
35588+#: fortran/resolve.c:410
35589 #, gcc-internal-format, gfc-internal-format
35590 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
35591 msgstr "El argumento '%s' del procedimiento elemental en %L no puede tener el atributo POINTER"
35592
35593-#: fortran/resolve.c:416
35594+#: fortran/resolve.c:418
35595 #, gcc-internal-format, gfc-internal-format
35596 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
35597 msgstr "No se permite el procedimiento dummy '%s' en el procedimiento elemental '%s' en %L"
35598
35599-#: fortran/resolve.c:424
35600+#: fortran/resolve.c:426
35601 #, gcc-internal-format, gfc-internal-format
35602 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
35603 msgstr "El argumento '%s' del procedimiento elemental '%s' en %L debe tener especificado su INTENT"
35604
35605-#: fortran/resolve.c:436
35606+#: fortran/resolve.c:438
35607 #, gcc-internal-format, gfc-internal-format
35608 msgid "Argument '%s' of statement function at %L must be scalar"
35609 msgstr "El argumento '%s' de la función de declaración en %L debe ser escalar"
35610
35611-#: fortran/resolve.c:446
35612+#: fortran/resolve.c:448
35613 #, gcc-internal-format, gfc-internal-format
35614 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
35615 msgstr "El argumento con valor de carácter '%s' de la función de declaración en %L debe tener longitud constante"
35616
35617-#: fortran/resolve.c:504
35618+#: fortran/resolve.c:506
35619 #, gcc-internal-format, gfc-internal-format
35620 msgid "Contained function '%s' at %L has no IMPLICIT type"
35621 msgstr "La función contenida '%s' en %L no es de tipo IMPLICIT"
35622
35623-#: fortran/resolve.c:507
35624+#: fortran/resolve.c:509
35625 #, gcc-internal-format, gfc-internal-format
35626 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
35627 msgstr "El resultado '%s ' de la función contenida '%s' en %L no es de tipo IMPLICIT"
35628
35629-#: fortran/resolve.c:531
35630+#: fortran/resolve.c:533
35631 #, gcc-internal-format, gfc-internal-format
35632 msgid "Character-valued %s '%s' at %L must not be assumed length"
35633 msgstr "La función %s valuada con carácter '%s' en %L no debe tener longitud asumida"
35634
35635-#: fortran/resolve.c:706
35636+#: fortran/resolve.c:708
35637 #, gcc-internal-format, gfc-internal-format
35638 msgid "Function %s at %L has entries with mismatched array specifications"
35639 msgstr "El procedimiento %s en %L tiene entradas con especificaciones de matriz no coincidentes"
35640
35641-#: fortran/resolve.c:723
35642+#: fortran/resolve.c:725
35643 #, gcc-internal-format, gfc-internal-format
35644 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
35645 msgstr "Extensión: La función %s en %L con entradas que devuelven variables de longitudes de cadena diferentes"
35646
35647-#: fortran/resolve.c:750
35648+#: fortran/resolve.c:752
35649 #, gcc-internal-format, gfc-internal-format
35650 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
35651 msgstr "El resultado de FUNCTION %s no puede ser una matriz en FUNCTION %s en %L"
35652
35653-#: fortran/resolve.c:754
35654+#: fortran/resolve.c:756
35655 #, gcc-internal-format, gfc-internal-format
35656 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
35657 msgstr "El resultado de ENTRY %s no puede ser una matriz en FUNCTION %s en %L"
35658
35659-#: fortran/resolve.c:761
35660+#: fortran/resolve.c:763
35661 #, gcc-internal-format, gfc-internal-format
35662 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
35663 msgstr "El resultado de FUNCTION %s no puede ser un POINTER en FUNCTION %s en %L"
35664
35665-#: fortran/resolve.c:765
35666+#: fortran/resolve.c:767
35667 #, gcc-internal-format, gfc-internal-format
35668 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
35669 msgstr "El resultado de ENTRY %s no puede ser un POINTER en FUNCTION %s en %L"
35670
35671-#: fortran/resolve.c:803
35672+#: fortran/resolve.c:805
35673 #, gcc-internal-format, gfc-internal-format
35674 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
35675 msgstr "El resultado de FUNCTION %s no puede ser de tipo %s en FUNCTION %s en %L"
35676
35677-#: fortran/resolve.c:808
35678+#: fortran/resolve.c:810
35679 #, gcc-internal-format, gfc-internal-format
35680 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
35681 msgstr "El resultado de ENTRY %s no puede ser de tipo %s en FUNCTION %s en %L"
35682
35683-#: fortran/resolve.c:851
35684+#: fortran/resolve.c:853
35685 #, gcc-internal-format, gfc-internal-format
35686 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
35687 msgstr "La variable '%s' en %L está en COMMON pero sólo se permite la inicialización en BLOCK DATA"
35688
35689-#: fortran/resolve.c:855
35690+#: fortran/resolve.c:857
35691 #, gcc-internal-format, gfc-internal-format
35692 msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
35693 msgstr "La variable inicializada '%s' en %L está en un COMMON vacío pero la inicialización sólo se permite en bloques common nombrados"
35694
35695-#: fortran/resolve.c:866
35696+#: fortran/resolve.c:868
35697 #, gcc-internal-format, gfc-internal-format
35698 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
35699 msgstr "La variable de tipo derivado '%s' en COMMON en %L no tiene el atributo SEQUENCE ni el atributo BIND(C)"
35700
35701-#: fortran/resolve.c:870
35702+#: fortran/resolve.c:872
35703 #, gcc-internal-format, gfc-internal-format
35704 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
35705 msgstr "La variable de tipo derivado '%s' en COMMON en %L tiene un componente ultimate que es allocatable"
35706
35707-#: fortran/resolve.c:874
35708+#: fortran/resolve.c:876
35709 #, gcc-internal-format, gfc-internal-format
35710 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
35711 msgstr "La variable de tipo derivado '%s' en COMMON en %L tal vez no tiene inicializador por defecto"
35712
35713-#: fortran/resolve.c:904
35714+#: fortran/resolve.c:906
35715 #, gcc-internal-format, gfc-internal-format
35716 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
35717 msgstr "El bloque COMMON '%s' en %L se usa como PARAMETER en %L"
35718
35719-#: fortran/resolve.c:908
35720+#: fortran/resolve.c:910
35721 #, gcc-internal-format, gfc-internal-format
35722 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
35723 msgstr "El bloque COMMON '%s' en %L no puede tener el atributo EXTERNAL"
35724
35725-#: fortran/resolve.c:912
35726+#: fortran/resolve.c:914
35727 #, gcc-internal-format, gfc-internal-format
35728 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
35729 msgstr "El bloque COMMON '%s' en %L también es un procedimiento intrínseco"
35730
35731-#: fortran/resolve.c:916
35732+#: fortran/resolve.c:918
35733 #, gcc-internal-format, gfc-internal-format
35734 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
35735 msgstr "Fortran 2003: El bloque COMMON '%s' en %L también es un resultado de función"
35736
35737-#: fortran/resolve.c:921
35738+#: fortran/resolve.c:923
35739 #, gcc-internal-format, gfc-internal-format
35740 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
35741 msgstr "Fortran 2003: El bloque COMMON '%s' en %L también es un procedimiento global"
35742
35743-#: fortran/resolve.c:985
35744+#: fortran/resolve.c:987
35745 #, gcc-internal-format, gfc-internal-format
35746 msgid "Components of structure constructor '%s' at %L are PRIVATE"
35747 msgstr "Los componentes del constructor de estructura '%s' en %L son PRIVATE"
35748
35749-#: fortran/resolve.c:1021
35750+#: fortran/resolve.c:1023
35751 #, gcc-internal-format, gfc-internal-format
35752 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
35753 msgstr "El rango del elemento en el constructor de estructura en %L no coincide con el del componente (%d/%d)"
35754
35755-#: fortran/resolve.c:1043
35756+#: fortran/resolve.c:1045
35757 #, gcc-internal-format, gfc-internal-format
35758 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
35759 msgstr "El elemento en el constructor de estructura en %L, para el componente puntero '%s', es %s pero debería ser %s"
35760
35761-#: fortran/resolve.c:1122
35762+#: fortran/resolve.c:1124
35763 #, gcc-internal-format, gfc-internal-format
35764 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
35765 msgstr "El NULL en el constructor de estructura en %L se aplica para el componente '%s', el cual no es ni POINTER ni ALLOCATABLE"
35766
35767-#: fortran/resolve.c:1155
35768+#: fortran/resolve.c:1157
35769 #, gcc-internal-format, gfc-internal-format
35770 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
35771 msgstr "No coincide la interfaz en el componente puntero-a-procedimiento '%s' en el constructor de estructura en %L: %s"
35772
35773-#: fortran/resolve.c:1171
35774+#: fortran/resolve.c:1173
35775 #, gcc-internal-format, gfc-internal-format
35776 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
35777 msgstr "El elemento en el constructor de estructura en %L, para el componente puntero '%s', debe ser un POINTER o un TARGET"
35778
35779-#: fortran/resolve.c:1182
35780+#: fortran/resolve.c:1184
35781 #, gcc-internal-format, gfc-internal-format
35782 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
35783 msgstr "El objetivo de inicialización de puntero en %L no debe ser ALLOCATABLE"
35784
35785-#: fortran/resolve.c:1188
35786+#: fortran/resolve.c:1190
35787 #, gcc-internal-format, gfc-internal-format
35788 msgid "Pointer initialization target at %L must have the SAVE attribute"
35789 msgstr "El objetivo de inicialización de puntero en %L debe tener el atributo SAVE"
35790
35791-#: fortran/resolve.c:1199
35792+#: fortran/resolve.c:1201
35793 #, gcc-internal-format, gfc-internal-format
35794 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
35795 msgstr "Expresión inválida en el constructor de estructura para el componente puntero '%s' en %L en el procedimiento PURE"
35796
35797-#: fortran/resolve.c:1328
35798+#: fortran/resolve.c:1330
35799 #, gcc-internal-format, gfc-internal-format
35800 msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
35801 msgstr "El límite superior en la última dimensión debe aparecer en la referencia a la matriz de tamaño asumido '%s' en %L"
35802
35803-#: fortran/resolve.c:1390
35804+#: fortran/resolve.c:1392
35805 #, gcc-internal-format, gfc-internal-format
35806 msgid "'%s' at %L is ambiguous"
35807 msgstr "'%s' en %L es ambiguo"
35808
35809-#: fortran/resolve.c:1394
35810+#: fortran/resolve.c:1396
35811 #, gcc-internal-format, gfc-internal-format
35812 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
35813 msgstr "El procedimiento GENERIC '%s' no se permite como un argumento actual en %L"
35814
35815-#: fortran/resolve.c:1506
35816+#: fortran/resolve.c:1508
35817 #, gcc-internal-format, gfc-internal-format
35818 msgid "Type specified for intrinsic function '%s' at %L is ignored"
35819 msgstr "Se descarta el tipo para la función intrínseca '%s' en %L"
35820
35821-#: fortran/resolve.c:1519
35822+#: fortran/resolve.c:1521
35823 #, gcc-internal-format, gfc-internal-format
35824 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
35825 msgstr "La subrutina intrínseca '%s' en %L no debe tener un especificador de tipo"
35826
35827-#: fortran/resolve.c:1530
35828+#: fortran/resolve.c:1532
35829 #, gcc-internal-format, gfc-internal-format
35830 msgid "'%s' declared INTRINSIC at %L does not exist"
35831 msgstr "No existe '%s' declarado como INTRINSIC en %L"
35832
35833-#: fortran/resolve.c:1541
35834+#: fortran/resolve.c:1543
35835 #, gcc-internal-format, gfc-internal-format
35836 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
35837 msgstr "El intrínseco '%s' declarado como INTRINSIC en %L no está disponible en la configuración actual de estándares pero %s. Use una opción -std=* apropiada o active -fall-intrinsics para poder usarlo."
35838
35839-#: fortran/resolve.c:1577
35840+#: fortran/resolve.c:1579
35841 #, gcc-internal-format, gfc-internal-format
35842 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively. Declare it RECURSIVE or use -frecursive"
35843 msgstr "El procedimiento que no es RECURSIVE '%s' en %L posiblemente se está llamando a sí mismo recursivamente. Declárelo RECURSIVE o utilice -frecursive"
35844
35845-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
35846+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
35847 #, gcc-internal-format, gfc-internal-format
35848 msgid "Label %d referenced at %L is never defined"
35849 msgstr "La etiqueta %d referenciada en %L nunca se define"
35850
35851-#: fortran/resolve.c:1655
35852+#: fortran/resolve.c:1657
35853 #, gcc-internal-format, gfc-internal-format
35854 msgid "Statement function '%s' at %L is not allowed as an actual argument"
35855 msgstr "La función de declaración '%s' en %L no se permite como un argumento actual"
35856
35857-#: fortran/resolve.c:1663
35858+#: fortran/resolve.c:1665
35859 #, gcc-internal-format, gfc-internal-format
35860 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
35861 msgstr "El intrínseco '%s' en %L no se permite como un argumento actual"
35862
35863-#: fortran/resolve.c:1671
35864+#: fortran/resolve.c:1673
35865 #, gcc-internal-format, gfc-internal-format
35866 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
35867 msgstr "Fortran 2008: Se usa el procedimiento interno '%s' como un argumento actual en %L"
35868
35869-#: fortran/resolve.c:1679
35870+#: fortran/resolve.c:1681
35871 #, gcc-internal-format, gfc-internal-format
35872 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
35873 msgstr "El procedimiento ELEMENTAL que no es INTRINSIC '%s' no se permite como un argumento actual en %L"
35874
35875-#: fortran/resolve.c:1706
35876+#: fortran/resolve.c:1708
35877 #, gcc-internal-format, gfc-internal-format
35878 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
35879 msgstr "No se puede encontrar un procedimiento INTRINSIC específico para la referencia '%s' en %L"
35880
35881-#: fortran/resolve.c:1728
35882+#: fortran/resolve.c:1730
35883 #, gcc-internal-format, gfc-internal-format
35884 msgid "Symbol '%s' at %L is ambiguous"
35885 msgstr "El símbolo '%s' en %L es ambiguo"
35886
35887-#: fortran/resolve.c:1783
35888+#: fortran/resolve.c:1785
35889 #, gcc-internal-format, gfc-internal-format
35890 msgid "By-value argument at %L is not of numeric type"
35891 msgstr "El argumento por valor en %L no es de tipo numérico"
35892
35893-#: fortran/resolve.c:1790
35894+#: fortran/resolve.c:1792
35895 #, gcc-internal-format, gfc-internal-format
35896 msgid "By-value argument at %L cannot be an array or an array section"
35897 msgstr "El argumento por valor en %L no puede ser una matriz o una sección de matriz"
35898
35899-#: fortran/resolve.c:1804
35900+#: fortran/resolve.c:1806
35901 #, gcc-internal-format, gfc-internal-format
35902 msgid "By-value argument at %L is not allowed in this context"
35903 msgstr "El argumento por valor en %L no se permite en este contexto"
35904
35905-#: fortran/resolve.c:1816
35906+#: fortran/resolve.c:1818
35907 #, gcc-internal-format, gfc-internal-format
35908 msgid "Passing internal procedure at %L by location not allowed"
35909 msgstr "No se permite el paso del procedimiento interno en %L por ubicación"
35910
35911-#: fortran/resolve.c:1827
35912+#: fortran/resolve.c:1829
35913 #, gcc-internal-format, gfc-internal-format
35914 msgid "Coindexed actual argument at %L with ultimate pointer component"
35915 msgstr "Argumento actual coindizado en %L con componente puntero último"
35916
35917-#: fortran/resolve.c:1950
35918+#: fortran/resolve.c:1952
35919 #, gcc-internal-format, gfc-internal-format
35920 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
35921 msgstr "'%s' en %L es una matriz y OPTIONAL; SI FALTA, no puede ser el argumento actual de un procedimiento ELEMENTAL a menos que exista un argumento que no sea opcional con el mismo rango (12.4.1.5)"
35922
35923-#: fortran/resolve.c:1989
35924+#: fortran/resolve.c:1991
35925 #, gcc-internal-format, gfc-internal-format
35926 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
35927 msgstr "El argumento actual en %L para el dummy INTENT(%s) '%s' de la subrutina ELEMENTAL '%s' es un escalar, pero otro argumento actual es una matriz"
35928
35929-#: fortran/resolve.c:2151
35930+#: fortran/resolve.c:2153
35931 #, gcc-internal-format, gfc-internal-format
35932 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
35933 msgstr "No coincide la longitud de caracteres en el tipo de devolución de la función '%s' en %L (%ld/%ld)"
35934
35935-#: fortran/resolve.c:2159
35936+#: fortran/resolve.c:2161
35937 #, gcc-internal-format, gfc-internal-format
35938 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
35939 msgstr "No coincide el tiop de devolución de la función '%s' en %L (%s/%s)"
35940
35941-#: fortran/resolve.c:2178
35942+#: fortran/resolve.c:2180
35943 #, gcc-internal-format, gfc-internal-format
35944 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
35945 msgstr "El argumento dummy '%s' del procedimiento '%s' en %L tiene un atributo que requiere una interfaz explícita para este procedimiento"
35946
35947-#: fortran/resolve.c:2188
35948+#: fortran/resolve.c:2190
35949 #, gcc-internal-format, gfc-internal-format
35950 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
35951 msgstr "El procedimiento '%s' en %L con argumento dummy de forma asumida '%s' debe tener una interfaz explícita"
35952
35953-#: fortran/resolve.c:2196
35954+#: fortran/resolve.c:2198
35955 #, gcc-internal-format, gfc-internal-format
35956 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
35957 msgstr "El procedimiento '%s' en %L con argumento dummy de comatriz '%s' debe tener una interfaz explícita"
35958
35959-#: fortran/resolve.c:2204
35960+#: fortran/resolve.c:2206
35961 #, gcc-internal-format, gfc-internal-format
35962 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
35963 msgstr "El procedimiento '%s' en %L con un argumento de tipo derivado parametrizado '%s' debe tener una interfaz explícita"
35964
35965-#: fortran/resolve.c:2213
35966+#: fortran/resolve.c:2215
35967 #, gcc-internal-format, gfc-internal-format
35968 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
35969 msgstr "El procedimiento '%s' en %L con argumento dummy polimórfico '%s' debe tener una interfaz explícita"
35970
35971-#: fortran/resolve.c:2225
35972+#: fortran/resolve.c:2227
35973 #, gcc-internal-format, gfc-internal-format
35974 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
35975 msgstr "La referencia a la función '%s' en %L necesita una INTERFACE explícita o el rango es incorrecto"
35976
35977-#: fortran/resolve.c:2237
35978+#: fortran/resolve.c:2239
35979 #, gcc-internal-format, gfc-internal-format
35980 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
35981 msgstr "La función '%s' en %L con un resultado POINTER o ALLOCATABLE debe tener una interfaz explícita"
35982
35983-#: fortran/resolve.c:2250
35984+#: fortran/resolve.c:2252
35985 #, gcc-internal-format, gfc-internal-format
35986 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
35987 msgstr "La función de longitud de carácter automática '%s' que no es constante en %L debe una interfaz explícita"
35988
35989-#: fortran/resolve.c:2260
35990+#: fortran/resolve.c:2262
35991 #, gcc-internal-format, gfc-internal-format
35992 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
35993 msgstr "El procedimiento ELEMENTAL '%s' en %L debe tener una interfaz explícita"
35994
35995-#: fortran/resolve.c:2267
35996+#: fortran/resolve.c:2269
35997 #, gcc-internal-format, gfc-internal-format
35998 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
35999 msgstr "El procedimiento '%s' en %L con atributo BIND(C) debe tener una interfaz explícita"
36000
36001-#: fortran/resolve.c:2373
36002+#: fortran/resolve.c:2375
36003 #, gcc-internal-format, gfc-internal-format
36004 msgid "There is no specific function for the generic '%s' at %L"
36005 msgstr "No hay una función específica para el genérico '%s' en %L"
36006
36007-#: fortran/resolve.c:2391
36008+#: fortran/resolve.c:2393
36009 #, gcc-internal-format, gfc-internal-format
36010 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
36011 msgstr "La función genérica '%s' en %L no es consistente con una interfaz intrínseca específica"
36012
36013-#: fortran/resolve.c:2429
36014+#: fortran/resolve.c:2431
36015 #, gcc-internal-format, gfc-internal-format
36016 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
36017 msgstr "La función '%s' en %L es INTRINSIC pero no es compatible con un intrínseco"
36018
36019-#: fortran/resolve.c:2478
36020+#: fortran/resolve.c:2480
36021 #, gcc-internal-format, gfc-internal-format
36022 msgid "Unable to resolve the specific function '%s' at %L"
36023 msgstr "No se puede resolver la función específica '%s' en %L"
36024
36025-#: fortran/resolve.c:2534 fortran/resolve.c:13694
36026+#: fortran/resolve.c:2536 fortran/resolve.c:13696
36027 #, gcc-internal-format, gfc-internal-format
36028 msgid "Function '%s' at %L has no IMPLICIT type"
36029 msgstr "La función '%s' en %L no es de tipo IMPLICIT"
36030
36031-#: fortran/resolve.c:2735
36032+#: fortran/resolve.c:2737
36033 #, gcc-internal-format, gfc-internal-format
36034 msgid "Argument to '%s' at %L is not a variable"
36035 msgstr "El argumento de '%s' en %L no es una variable"
36036
36037-#: fortran/resolve.c:2779
36038+#: fortran/resolve.c:2781
36039 #, gcc-internal-format, gfc-internal-format
36040 msgid "More actual than formal arguments in '%s' call at %L"
36041 msgstr "Más argumentos actuales que formales en la llamada '%s' en %L"
36042
36043-#: fortran/resolve.c:2791
36044+#: fortran/resolve.c:2793
36045 #, gcc-internal-format, gfc-internal-format
36046 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
36047 msgstr "El parámetro '%s' para '%s' en %L debe ser un TARGET o un puntero asociado"
36048
36049-#: fortran/resolve.c:2800
36050+#: fortran/resolve.c:2802
36051 #, gcc-internal-format, gfc-internal-format
36052 msgid "Coindexed argument not permitted in '%s' call at %L"
36053 msgstr "No se permite un argumento coindizado en la llamada '%s' en %L"
36054
36055-#: fortran/resolve.c:2823
36056+#: fortran/resolve.c:2825
36057 #, gcc-internal-format, gfc-internal-format
36058 msgid "Array section not permitted in '%s' call at %L"
36059 msgstr "No se permite una sección de matriz en la llamada '%s' en %L"
36060
36061-#: fortran/resolve.c:2834
36062+#: fortran/resolve.c:2836
36063 #, gcc-internal-format, gfc-internal-format
36064 msgid "Array section in '%s' call at %L"
36065 msgstr "Sección de matriz en la llamada '%s' en %L"
36066
36067-#: fortran/resolve.c:2853
36068+#: fortran/resolve.c:2855
36069 #, gcc-internal-format, gfc-internal-format
36070 msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
36071 msgstr "La variable alojable '%s' usada como un parámetro para '%s' en %L no debe ser una matriz de tamaño cero"
36072
36073-#: fortran/resolve.c:2870
36074+#: fortran/resolve.c:2872
36075 #, gcc-internal-format, gfc-internal-format
36076 msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
36077 msgstr "La matriz de forma asumida '%s' en %L no puede ser un argumento para el procedimiento '%s' porque no es interoperable con C"
36078
36079-#: fortran/resolve.c:2880
36080+#: fortran/resolve.c:2882
36081 #, gcc-internal-format, gfc-internal-format
36082 msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
36083 msgstr "La matriz de forma diferida '%s' en %L no puede ser un argumento para el procedimiento '%s' porque no es interoperable con C"
36084
36085-#: fortran/resolve.c:2903 fortran/resolve.c:2940
36086+#: fortran/resolve.c:2905 fortran/resolve.c:2942
36087 #, gcc-internal-format, gfc-internal-format
36088 msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
36089 msgstr "El argumento CHARACTER '%s' para '%s' en %L debe ser de longitud 1"
36090
36091 #. Case 1c, section 15.1.2.5, J3/04-007: an associated
36092 #. scalar pointer.
36093-#: fortran/resolve.c:2916
36094+#: fortran/resolve.c:2918
36095 #, gcc-internal-format, gfc-internal-format
36096 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
36097 msgstr "El argumento '%s' para '%s' en %L debe ser un POINTER escalar asociado"
36098
36099-#: fortran/resolve.c:2932
36100+#: fortran/resolve.c:2934
36101 #, gcc-internal-format, gfc-internal-format
36102 msgid "Parameter '%s' to '%s' at %L must be a scalar"
36103 msgstr "El argumento '%s' para '%s' en %L debe ser un escalar"
36104
36105-#: fortran/resolve.c:2948
36106+#: fortran/resolve.c:2950
36107 #, gcc-internal-format, gfc-internal-format
36108 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
36109 msgstr "El parámetro '%s' para '%s' en %L no debe ser polimórfico"
36110
36111 #. TODO: Update this error message to allow for procedure
36112 #. pointers once they are implemented.
36113-#: fortran/resolve.c:2961
36114+#: fortran/resolve.c:2963
36115 #, gcc-internal-format, gfc-internal-format
36116 msgid "Parameter '%s' to '%s' at %L must be a procedure"
36117 msgstr "El parámetro '%s' para '%s' en %L debe ser un procedimiento"
36118
36119-#: fortran/resolve.c:2969
36120+#: fortran/resolve.c:2971
36121 #, gcc-internal-format, gfc-internal-format
36122 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
36123 msgstr "El parámetro '%s' para '%s' en %L debe ser BIND(C)"
36124
36125-#: fortran/resolve.c:3018
36126+#: fortran/resolve.c:3020
36127 #, gcc-internal-format, gfc-internal-format
36128 msgid "'%s' at %L is not a function"
36129 msgstr "'%s' en %L no es una función"
36130
36131-#: fortran/resolve.c:3026 fortran/resolve.c:3657
36132+#: fortran/resolve.c:3028 fortran/resolve.c:3659
36133 #, gcc-internal-format, gfc-internal-format
36134 msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
36135 msgstr "La ABSTRACT INTERFACE '%s' no se debe referenciar en %L"
36136
36137 #. Internal procedures are taken care of in resolve_contained_fntype.
36138-#: fortran/resolve.c:3081
36139+#: fortran/resolve.c:3083
36140 #, gcc-internal-format, gfc-internal-format
36141 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
36142 msgstr "La función '%s' se declara CHARACTER(*) y no se puede usar en %L ya que no es un argumento de prueba"
36143
36144-#: fortran/resolve.c:3134
36145+#: fortran/resolve.c:3136
36146 #, gcc-internal-format, gfc-internal-format
36147 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
36148 msgstr "La función definida por el usuario '%s' que no es ELEMENTAL en %L no se permite en la construcción WORKSHARE"
36149
36150-#: fortran/resolve.c:3184
36151+#: fortran/resolve.c:3186
36152 #, gcc-internal-format, gfc-internal-format
36153 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
36154 msgstr "La referencia a la función '%s' que no es PURE en %L está dentro de un FORALL %s"
36155
36156-#: fortran/resolve.c:3191
36157+#: fortran/resolve.c:3193
36158 #, gcc-internal-format, gfc-internal-format
36159 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
36160 msgstr "La referencia a la función '%s' que no es PURE en %L está dentro de un DO CONCURRENT %s"
36161
36162-#: fortran/resolve.c:3198
36163+#: fortran/resolve.c:3200
36164 #, gcc-internal-format, gfc-internal-format
36165 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
36166 msgstr "La referencia de función a '%s' en %L apunta a un procedimiento que no es PURE dentro de un procedimiento PURE"
36167
36168-#: fortran/resolve.c:3217
36169+#: fortran/resolve.c:3219
36170 #, gcc-internal-format, gfc-internal-format
36171 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
36172 msgstr "ENTRY '%s' en %L no se puede llamar recursivamente, porque la función '%s' no es RECURSIVE"
36173
36174-#: fortran/resolve.c:3221
36175+#: fortran/resolve.c:3223
36176 #, gcc-internal-format, gfc-internal-format
36177 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
36178 msgstr "La función '%s' en %L no se puede llamar recursivamente, porque no es RECURSIVE"
36179
36180-#: fortran/resolve.c:3260
36181+#: fortran/resolve.c:3262
36182 #, gcc-internal-format, gfc-internal-format
36183 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
36184 msgstr "La llamada a subrutina a '%s' en el bloque FORALL en %L no es PURE"
36185
36186-#: fortran/resolve.c:3263
36187+#: fortran/resolve.c:3265
36188 #, gcc-internal-format, gfc-internal-format
36189 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
36190 msgstr "La llamada a subrutina a '%s' en el bloque DO CONCURRENT en %L no es PURE"
36191
36192-#: fortran/resolve.c:3266
36193+#: fortran/resolve.c:3268
36194 #, gcc-internal-format, gfc-internal-format
36195 msgid "Subroutine call to '%s' at %L is not PURE"
36196 msgstr "La llamada a subrutina a '%s' en %L no es PURE"
36197
36198-#: fortran/resolve.c:3332
36199+#: fortran/resolve.c:3334
36200 #, gcc-internal-format, gfc-internal-format
36201 msgid "There is no specific subroutine for the generic '%s' at %L"
36202 msgstr "No hay una subrutina específica para el genérico '%s' en %L"
36203
36204-#: fortran/resolve.c:3341
36205+#: fortran/resolve.c:3343
36206 #, gcc-internal-format, gfc-internal-format
36207 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
36208 msgstr "La subrutina genérica '%s' en %L no es consistente con una interfaz de subrutina intrínseca"
36209
36210-#: fortran/resolve.c:3450
36211+#: fortran/resolve.c:3452
36212 #, gcc-internal-format, gfc-internal-format
36213 msgid "Missing SHAPE parameter for call to %s at %L"
36214 msgstr "Falta el parámetro SHAPE para la llamada a %s en %L"
36215
36216-#: fortran/resolve.c:3458
36217+#: fortran/resolve.c:3460
36218 #, gcc-internal-format, gfc-internal-format
36219 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
36220 msgstr "El parámetro SHAPE para la llamada a %s en %L debe ser una matriz INTEGER de rango 1"
36221
36222-#: fortran/resolve.c:3525
36223+#: fortran/resolve.c:3527
36224 #, gcc-internal-format, gfc-internal-format
36225 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
36226 msgstr "La subrutina '%s' en %L es INTRINSIC pero no es compatible con un intrínseco"
36227
36228-#: fortran/resolve.c:3569
36229+#: fortran/resolve.c:3571
36230 #, gcc-internal-format, gfc-internal-format
36231 msgid "Unable to resolve the specific subroutine '%s' at %L"
36232 msgstr "No se puede resolver la subrutina específica '%s' en %L"
36233
36234-#: fortran/resolve.c:3629
36235+#: fortran/resolve.c:3631
36236 #, gcc-internal-format, gfc-internal-format
36237 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
36238 msgstr "'%s' en %L tiene un tipo, el cual no es consistente con CALL en %L"
36239
36240-#: fortran/resolve.c:3667
36241+#: fortran/resolve.c:3669
36242 #, gcc-internal-format, gfc-internal-format
36243 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
36244 msgstr "ENTRY '%s' en %L no se puede llamar recursivamente, porque la subrutina '%s' no es RECURSIVE"
36245
36246-#: fortran/resolve.c:3671
36247+#: fortran/resolve.c:3673
36248 #, gcc-internal-format, gfc-internal-format
36249 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
36250 msgstr "SUBROUTINE '%s' en %L no se puede llamar recursivamente, porque no es RECURSIVE"
36251
36252-#: fortran/resolve.c:3747
36253+#: fortran/resolve.c:3749
36254 #, gcc-internal-format, gfc-internal-format
36255 msgid "Shapes for operands at %L and %L are not conformable"
36256 msgstr "Las formas para los operandos en %L y %L no son conformables"
36257
36258-#: fortran/resolve.c:4245
36259+#: fortran/resolve.c:4247
36260 #, gcc-internal-format, gfc-internal-format
36261 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
36262 msgstr "La referencia de matriz en %L está fuera de los límites (%ld < %ld) en la dimensión %d"
36263
36264-#: fortran/resolve.c:4250
36265+#: fortran/resolve.c:4252
36266 #, gcc-internal-format, gfc-internal-format
36267 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
36268 msgstr "La referencia de matriz en %L está fuera de los límites (%ld < %ld) en la codimensión %d"
36269
36270-#: fortran/resolve.c:4260
36271+#: fortran/resolve.c:4262
36272 #, gcc-internal-format, gfc-internal-format
36273 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
36274 msgstr "La referencia de matriz en %L está fuera de los límites (%ld > %ld) en la dimensión %d"
36275
36276-#: fortran/resolve.c:4265
36277+#: fortran/resolve.c:4267
36278 #, gcc-internal-format, gfc-internal-format
36279 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
36280 msgstr "La referencia de matriz en %L está fuera de los límites (%ld > %ld) en la codimensión %d"
36281
36282-#: fortran/resolve.c:4285
36283+#: fortran/resolve.c:4287
36284 #, gcc-internal-format, gfc-internal-format
36285 msgid "Illegal stride of zero at %L"
36286 msgstr "Tranco ilegal de cero en %L"
36287
36288-#: fortran/resolve.c:4302
36289+#: fortran/resolve.c:4304
36290 #, gcc-internal-format, gfc-internal-format
36291 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
36292 msgstr "La referencia de matriz inferior en %L está fuera de los límites (%ld < %ld) en la dimensión %d"
36293
36294-#: fortran/resolve.c:4310
36295+#: fortran/resolve.c:4312
36296 #, gcc-internal-format, gfc-internal-format
36297 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
36298 msgstr "La referencia de matriz inferior en %L está fuera de los límites (%ld > %ld) en la dimensión %d"
36299
36300-#: fortran/resolve.c:4326
36301+#: fortran/resolve.c:4328
36302 #, gcc-internal-format, gfc-internal-format
36303 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
36304 msgstr "La referencia de matriz superior en %L está fuera de los límites (%ld < %ld) en la dimensión %d"
36305
36306-#: fortran/resolve.c:4335
36307+#: fortran/resolve.c:4337
36308 #, gcc-internal-format, gfc-internal-format
36309 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
36310 msgstr "La referencia de matriz superior en %L está fuera de los límites (%ld > %ld) en la dimensión %d"
36311
36312-#: fortran/resolve.c:4374
36313+#: fortran/resolve.c:4376
36314 #, gcc-internal-format, gfc-internal-format
36315 msgid "Rightmost upper bound of assumed size array section not specified at %L"
36316 msgstr "No se especificó el límite superior a la derecha de la sección de matriz de tamaño asumido en %L"
36317
36318-#: fortran/resolve.c:4384
36319+#: fortran/resolve.c:4386
36320 #, gcc-internal-format, gfc-internal-format
36321 msgid "Rank mismatch in array reference at %L (%d/%d)"
36322 msgstr "El rango no coincide en la referencia de matriz en %L (%d/%d)"
36323
36324-#: fortran/resolve.c:4392
36325+#: fortran/resolve.c:4394
36326 #, gcc-internal-format, gfc-internal-format
36327 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
36328 msgstr "El rango de coíndice no coincide en la referencia de matriz en %L (%d/%d)"
36329
36330-#: fortran/resolve.c:4408
36331+#: fortran/resolve.c:4410
36332 #, gcc-internal-format, gfc-internal-format
36333 msgid "Coindex of codimension %d must be a scalar at %L"
36334 msgstr "El coíndice en la codimensión %d debe ser un escalar en %L"
36335
36336-#: fortran/resolve.c:4436
36337+#: fortran/resolve.c:4438
36338 #, gcc-internal-format, gfc-internal-format
36339 msgid "Array index at %L must be scalar"
36340 msgstr "El índice de matriz en %L debe ser escalar"
36341
36342-#: fortran/resolve.c:4442
36343+#: fortran/resolve.c:4444
36344 #, gcc-internal-format, gfc-internal-format
36345 msgid "Array index at %L must be of INTEGER type, found %s"
36346 msgstr "El índice de matriz en %L debe ser de tipo INTEGER, se encontró %s"
36347
36348-#: fortran/resolve.c:4448
36349+#: fortran/resolve.c:4450
36350 #, gcc-internal-format, gfc-internal-format
36351 msgid "Extension: REAL array index at %L"
36352 msgstr "Extensión: índice de matriz REAL en %L"
36353
36354-#: fortran/resolve.c:4487
36355+#: fortran/resolve.c:4489
36356 #, gcc-internal-format, gfc-internal-format
36357 msgid "Argument dim at %L must be scalar"
36358 msgstr "El argumento dim en %L debe ser escalar"
36359
36360-#: fortran/resolve.c:4494
36361+#: fortran/resolve.c:4496
36362 #, gcc-internal-format, gfc-internal-format
36363 msgid "Argument dim at %L must be of INTEGER type"
36364 msgstr "El argumento dim en %L debe ser de tipo entero"
36365
36366-#: fortran/resolve.c:4604
36367+#: fortran/resolve.c:4606
36368 #, gcc-internal-format, gfc-internal-format
36369 msgid "Array index at %L is an array of rank %d"
36370 msgstr "El índice de matriz en %L es una matriz de rango %d"
36371
36372-#: fortran/resolve.c:4702
36373+#: fortran/resolve.c:4704
36374 #, gcc-internal-format, gfc-internal-format
36375 msgid "Substring start index at %L must be of type INTEGER"
36376 msgstr "El índice de inicio de la subcadena en %L debe ser de tipo INTEGER"
36377
36378-#: fortran/resolve.c:4709
36379+#: fortran/resolve.c:4711
36380 #, gcc-internal-format, gfc-internal-format
36381 msgid "Substring start index at %L must be scalar"
36382 msgstr "El índice de inicio de la subcadena en %L debe ser escalar"
36383
36384-#: fortran/resolve.c:4718
36385+#: fortran/resolve.c:4720
36386 #, gcc-internal-format, gfc-internal-format
36387 msgid "Substring start index at %L is less than one"
36388 msgstr "El índice de inicio de la subcadena en %L es menor a uno"
36389
36390-#: fortran/resolve.c:4731
36391+#: fortran/resolve.c:4733
36392 #, gcc-internal-format, gfc-internal-format
36393 msgid "Substring end index at %L must be of type INTEGER"
36394 msgstr "El índice de final de la subcadena en %L debe ser de tipo INTEGER"
36395
36396-#: fortran/resolve.c:4738
36397+#: fortran/resolve.c:4740
36398 #, gcc-internal-format, gfc-internal-format
36399 msgid "Substring end index at %L must be scalar"
36400 msgstr "El índice de final de la subcadena en %L debe ser escalar"
36401
36402-#: fortran/resolve.c:4748
36403+#: fortran/resolve.c:4750
36404 #, gcc-internal-format, gfc-internal-format
36405 msgid "Substring end index at %L exceeds the string length"
36406 msgstr "El índice de final de la subcadena en %L excede la longitud de la cadena"
36407
36408-#: fortran/resolve.c:4758
36409+#: fortran/resolve.c:4760
36410 #, gcc-internal-format, gfc-internal-format
36411 msgid "Substring end index at %L is too large"
36412 msgstr "El índice de final de la subcadena en %L es demasiado grande"
36413
36414-#: fortran/resolve.c:4904
36415+#: fortran/resolve.c:4906
36416 #, gcc-internal-format, gfc-internal-format
36417 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
36418 msgstr "El componente a la derecha de una referencia de parte con rango que no es cero no debe tener el atributo POINTER en %L"
36419
36420-#: fortran/resolve.c:4911
36421+#: fortran/resolve.c:4913
36422 #, gcc-internal-format, gfc-internal-format
36423 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
36424 msgstr "El componente a la derecha de una referencia de parte con rango que no es cero no debe tener el atributo ALLOCATABLE en %L"
36425
36426-#: fortran/resolve.c:4930
36427+#: fortran/resolve.c:4932
36428 #, gcc-internal-format, gfc-internal-format
36429 msgid "Two or more part references with nonzero rank must not be specified at %L"
36430 msgstr "No se deben especificar dos o más referencias de parte con rango que no es cero en %L"
36431
36432-#: fortran/resolve.c:5135
36433+#: fortran/resolve.c:5137
36434 #, gcc-internal-format, gfc-internal-format
36435 msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
36436 msgstr "La variable '%s', usada en una expresión de especificación, se referencía en %L antes de la declaración ENTRY en la cual es un parámetro"
36437
36438-#: fortran/resolve.c:5140
36439+#: fortran/resolve.c:5142
36440 #, gcc-internal-format, gfc-internal-format
36441 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
36442 msgstr "La variable '%s' se usa en %L antes de la declaración ENTRY en la cual es un parámetro"
36443
36444-#: fortran/resolve.c:5204
36445+#: fortran/resolve.c:5206
36446 #, gcc-internal-format, gfc-internal-format
36447 msgid "Polymorphic subobject of coindexed object at %L"
36448 msgstr "Subobjecto polimórfico de un objeto coindizado en %L"
36449
36450-#: fortran/resolve.c:5217
36451+#: fortran/resolve.c:5219
36452 #, gcc-internal-format, gfc-internal-format
36453 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
36454 msgstr "Objeto coindizado con subcomponente alojable polimórfico en %L"
36455
36456-#: fortran/resolve.c:5543
36457+#: fortran/resolve.c:5545
36458 #, gcc-internal-format, gfc-internal-format
36459 msgid "Passed-object at %L must be scalar"
36460 msgstr "El objeto pasado en %L debe ser escalar"
36461
36462-#: fortran/resolve.c:5550
36463+#: fortran/resolve.c:5552
36464 #, gcc-internal-format, gfc-internal-format
36465 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
36466 msgstr "El objeto base para la llamada a componente procedimiento-puntero en %L es de tipo ABSTRACT '%s'"
36467
36468-#: fortran/resolve.c:5582
36469+#: fortran/resolve.c:5584
36470 #, gcc-internal-format, gfc-internal-format
36471 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
36472 msgstr "El objeto base para la llamada a procedimiento enlazada a tipo en %L es de tipo ABSTRACT '%s'"
36473
36474-#: fortran/resolve.c:5591
36475+#: fortran/resolve.c:5593
36476 #, gcc-internal-format, gfc-internal-format
36477 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
36478 msgstr "El objeto base para la llamada a procedimiento enlazada a tipo NOPASS en %L debe ser escalar"
36479
36480 #. Nothing matching found!
36481-#: fortran/resolve.c:5775
36482+#: fortran/resolve.c:5777
36483 #, gcc-internal-format, gfc-internal-format
36484 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
36485 msgstr "No se encontró un enlace específico coincidente para la llamada al GENERIC '%s' en %L"
36486
36487-#: fortran/resolve.c:5802
36488+#: fortran/resolve.c:5804
36489 #, gcc-internal-format, gfc-internal-format
36490 msgid "'%s' at %L should be a SUBROUTINE"
36491 msgstr "'%s' en %L debe ser una SUBROUTINE"
36492
36493-#: fortran/resolve.c:5849
36494+#: fortran/resolve.c:5851
36495 #, gcc-internal-format, gfc-internal-format
36496 msgid "'%s' at %L should be a FUNCTION"
36497 msgstr "'%s' en %L debe ser una FUNCTION"
36498
36499-#: fortran/resolve.c:6366
36500+#: fortran/resolve.c:6368
36501 #, gcc-internal-format, gfc-internal-format
36502 msgid "%s at %L must be a scalar"
36503 msgstr "%s en %L debe ser un escalar"
36504
36505-#: fortran/resolve.c:6376
36506+#: fortran/resolve.c:6378
36507 #, gcc-internal-format, gfc-internal-format
36508 msgid "Deleted feature: %s at %L must be integer"
36509 msgstr "Característica eliminada: %s en %L debe ser entero"
36510
36511-#: fortran/resolve.c:6380 fortran/resolve.c:6387
36512+#: fortran/resolve.c:6382 fortran/resolve.c:6389
36513 #, gcc-internal-format, gfc-internal-format
36514 msgid "%s at %L must be INTEGER"
36515 msgstr "%s en %L debe ser INTEGER"
36516
36517-#: fortran/resolve.c:6428
36518+#: fortran/resolve.c:6430
36519 #, gcc-internal-format, gfc-internal-format
36520 msgid "Step expression in DO loop at %L cannot be zero"
36521 msgstr "La expresión de paso en el bucle DO en %L no puede ser cero"
36522
36523-#: fortran/resolve.c:6463
36524+#: fortran/resolve.c:6465
36525 #, gcc-internal-format, gfc-internal-format
36526 msgid "DO loop at %L will be executed zero times"
36527 msgstr "El bucle DO en %L se ejecutará cero veces"
36528
36529-#: fortran/resolve.c:6524
36530+#: fortran/resolve.c:6526
36531 #, gcc-internal-format, gfc-internal-format
36532 msgid "FORALL index-name at %L must be a scalar INTEGER"
36533 msgstr "El nombre de índice FORALL en %L debe ser un INTEGER escalar"
36534
36535-#: fortran/resolve.c:6529
36536+#: fortran/resolve.c:6531
36537 #, gcc-internal-format, gfc-internal-format
36538 msgid "FORALL start expression at %L must be a scalar INTEGER"
36539 msgstr "La expresión de inicio FORALL en %L debe ser un INTEGER escalar"
36540
36541-#: fortran/resolve.c:6536
36542+#: fortran/resolve.c:6538
36543 #, gcc-internal-format, gfc-internal-format
36544 msgid "FORALL end expression at %L must be a scalar INTEGER"
36545 msgstr "La expresión de fin FORALL en %L debe ser un INTEGER escalar"
36546
36547-#: fortran/resolve.c:6544
36548+#: fortran/resolve.c:6546
36549 #, gcc-internal-format, gfc-internal-format
36550 msgid "FORALL stride expression at %L must be a scalar %s"
36551 msgstr "La expresión de tranco FORALL en %L debe ser un %s escalar"
36552
36553-#: fortran/resolve.c:6549
36554+#: fortran/resolve.c:6551
36555 #, gcc-internal-format, gfc-internal-format
36556 msgid "FORALL stride expression at %L cannot be zero"
36557 msgstr "La expresión de tranco FORALL en %L no puede ser cero"
36558
36559-#: fortran/resolve.c:6565
36560+#: fortran/resolve.c:6567
36561 #, gcc-internal-format, gfc-internal-format
36562 msgid "FORALL index '%s' may not appear in triplet specification at %L"
36563 msgstr "El índice FORALL '%s' no puede aparecer en la especificación triplet en %L"
36564
36565-#: fortran/resolve.c:6661 fortran/resolve.c:6944
36566+#: fortran/resolve.c:6663 fortran/resolve.c:6946
36567 #, gcc-internal-format, gfc-internal-format
36568 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
36569 msgstr "El objeto de alojamiento en %L debe ser ALLOCATABLE o un POINTER"
36570
36571-#: fortran/resolve.c:6669 fortran/resolve.c:6910
36572+#: fortran/resolve.c:6671 fortran/resolve.c:6912
36573 #, gcc-internal-format, gfc-internal-format
36574 msgid "Coindexed allocatable object at %L"
36575 msgstr "Objeto alojable coindizado en %L"
36576
36577-#: fortran/resolve.c:6774
36578+#: fortran/resolve.c:6776
36579 #, gcc-internal-format, gfc-internal-format
36580 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
36581 msgstr "La expresión fuente en %L debe ser escalar o tener el mismo rango que el objeto de alojamiento en %L"
36582
36583-#: fortran/resolve.c:6802
36584+#: fortran/resolve.c:6804
36585 #, gcc-internal-format, gfc-internal-format
36586 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
36587 msgstr "La expresión fuente en %L y el objeto de alojamiento en %L deben tener la misma forma"
36588
36589-#: fortran/resolve.c:6955
36590+#: fortran/resolve.c:6957
36591 #, gcc-internal-format, gfc-internal-format
36592 msgid "Type of entity at %L is type incompatible with source-expr at %L"
36593 msgstr "El tipo de entidad en %L es de tipo incompatible con la expresión fuente en %L"
36594
36595-#: fortran/resolve.c:6968
36596+#: fortran/resolve.c:6970
36597 #, gcc-internal-format, gfc-internal-format
36598 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
36599 msgstr "El objeto de alojamiento en %L y la expresión fuente en %L deben tener el mismo parámetro de tipo de género"
36600
36601-#: fortran/resolve.c:6982
36602+#: fortran/resolve.c:6984
36603 #, gcc-internal-format, gfc-internal-format
36604 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
36605 msgstr "La expresión fuente en %L no puede ser de tipo LOCK_TYPE ni tener un componente LOCK_TYPE si el objeto-alojado en %L es una comatriz"
36606
36607-#: fortran/resolve.c:6995
36608+#: fortran/resolve.c:6997
36609 #, gcc-internal-format, gfc-internal-format
36610 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
36611 msgstr "El alojamiento %s del tipo de base ABSTRACT en %L requiere una especificación de tipo o una expresión source"
36612
36613-#: fortran/resolve.c:7006
36614+#: fortran/resolve.c:7008
36615 #, gcc-internal-format, gfc-internal-format
36616 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
36617 msgstr "Alojar %s en %L con especificación de tipo requiere el mismo parámetro de longitud de carácter que el de la declaración"
36618
36619-#: fortran/resolve.c:7091
36620+#: fortran/resolve.c:7093
36621 #, gcc-internal-format, gfc-internal-format
36622 msgid "Array specification required in ALLOCATE statement at %L"
36623 msgstr "Se requiere una especificación de matriz en la declaración ALLOCATE en %L"
36624
36625-#: fortran/resolve.c:7105
36626+#: fortran/resolve.c:7107
36627 #, gcc-internal-format, gfc-internal-format
36628 msgid "Coarray specification required in ALLOCATE statement at %L"
36629 msgstr "Se requiere una especificación de comatriz en la declaración ALLOCATE en %L"
36630
36631-#: fortran/resolve.c:7132
36632+#: fortran/resolve.c:7134
36633 #, gcc-internal-format, gfc-internal-format
36634 msgid "Bad array specification in ALLOCATE statement at %L"
36635 msgstr "Especificación de matriz errónea en la declaración ALLOCATE en %L"
36636
36637-#: fortran/resolve.c:7151
36638+#: fortran/resolve.c:7153
36639 #, gcc-internal-format, gfc-internal-format
36640 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
36641 msgstr "'%s' no debe aparecer en la especificación de matriz en %L en la misma declaración ALLOCATE donde se aloja a sí misma"
36642
36643-#: fortran/resolve.c:7166
36644+#: fortran/resolve.c:7168
36645 #, gcc-internal-format, gfc-internal-format
36646 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
36647 msgstr "Se esperaba '*' en la especificación de comatriz en la declaración ALLOCATE en %L"
36648
36649-#: fortran/resolve.c:7177
36650+#: fortran/resolve.c:7179
36651 #, gcc-internal-format, gfc-internal-format
36652 msgid "Bad coarray specification in ALLOCATE statement at %L"
36653 msgstr "Especificación de comatriz errónea en la declaración ALLOCATE en %L"
36654
36655-#: fortran/resolve.c:7207
36656+#: fortran/resolve.c:7209
36657 #, gcc-internal-format, gfc-internal-format
36658 msgid "Stat-variable at %L must be a scalar INTEGER variable"
36659 msgstr "La variable stat en %L debe ser una variable INTEGER escalar"
36660
36661-#: fortran/resolve.c:7230
36662+#: fortran/resolve.c:7232
36663 #, gcc-internal-format, gfc-internal-format
36664 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
36665 msgstr "La variable stat en %L no no debe ser %sd dentro de la misma declaración %s"
36666
36667-#: fortran/resolve.c:7241
36668+#: fortran/resolve.c:7243
36669 #, gcc-internal-format, gfc-internal-format
36670 msgid "ERRMSG at %L is useless without a STAT tag"
36671 msgstr "ERRMSG en %L es inútil sin una etiqueta STAT"
36672
36673-#: fortran/resolve.c:7251
36674+#: fortran/resolve.c:7253
36675 #, gcc-internal-format, gfc-internal-format
36676 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
36677 msgstr "La variable errmsg en %L debe ser una variable CHARACTER escalar"
36678
36679-#: fortran/resolve.c:7274
36680+#: fortran/resolve.c:7276
36681 #, gcc-internal-format, gfc-internal-format
36682 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
36683 msgstr "La variable errmsg en %L no debe ser %sd dentro de la misma declaración %s"
36684
36685-#: fortran/resolve.c:7304
36686+#: fortran/resolve.c:7306
36687 #, gcc-internal-format, gfc-internal-format
36688 msgid "Allocate-object at %L also appears at %L"
36689 msgstr "El objeto de alojamiento en %L también aparece en %L"
36690
36691-#: fortran/resolve.c:7310 fortran/resolve.c:7316
36692+#: fortran/resolve.c:7312 fortran/resolve.c:7318
36693 #, gcc-internal-format, gfc-internal-format
36694 msgid "Allocate-object at %L is subobject of object at %L"
36695 msgstr "El objeto de alojamiento en %L es un subobjeto del objeto en %L"
36696@@ -41723,175 +41718,175 @@
36697 #. element in the list. Either way, we must
36698 #. issue an error and get the next case from P.
36699 #. FIXME: Sort P and Q by line number.
36700-#: fortran/resolve.c:7511
36701+#: fortran/resolve.c:7513
36702 #, gcc-internal-format, gfc-internal-format
36703 msgid "CASE label at %L overlaps with CASE label at %L"
36704 msgstr "La etiqueta CASE en %L se encima con la etiqueta CASE en %L"
36705
36706-#: fortran/resolve.c:7562
36707+#: fortran/resolve.c:7564
36708 #, gcc-internal-format, gfc-internal-format
36709 msgid "Expression in CASE statement at %L must be of type %s"
36710 msgstr "La expresión en la declaración CASE en %L debe ser de tipo %s"
36711
36712-#: fortran/resolve.c:7573
36713+#: fortran/resolve.c:7575
36714 #, gcc-internal-format, gfc-internal-format
36715 msgid "Expression in CASE statement at %L must be of kind %d"
36716 msgstr "La expresión en la declaración CASE en %L debe ser de género %d"
36717
36718-#: fortran/resolve.c:7586
36719+#: fortran/resolve.c:7588
36720 #, gcc-internal-format, gfc-internal-format
36721 msgid "Expression in CASE statement at %L must be scalar"
36722 msgstr "La expresión en la declaración CASE en %L debe ser escalar"
36723
36724-#: fortran/resolve.c:7632
36725+#: fortran/resolve.c:7634
36726 #, gcc-internal-format, gfc-internal-format
36727 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
36728 msgstr "La expresión de selección en una declaración GOTO computada en %L debe ser una expresión entera escalar"
36729
36730-#: fortran/resolve.c:7650
36731+#: fortran/resolve.c:7652
36732 #, gcc-internal-format, gfc-internal-format
36733 msgid "Argument of SELECT statement at %L cannot be %s"
36734 msgstr "El argumento de la declaración SELECT en %L no puede ser %s"
36735
36736-#: fortran/resolve.c:7668 fortran/resolve.c:7676
36737+#: fortran/resolve.c:7670 fortran/resolve.c:7678
36738 #, gcc-internal-format, gfc-internal-format
36739 msgid "Expression in CASE statement at %L is not in the range of %s"
36740 msgstr "La expresión en la declaración CASE en %L no está en el rango de %s"
36741
36742-#: fortran/resolve.c:7738 fortran/resolve.c:8048
36743+#: fortran/resolve.c:7740 fortran/resolve.c:8050
36744 #, gcc-internal-format, gfc-internal-format
36745 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
36746 msgstr "El DEFAULT CASE en %L no puede tener después un segundo DEFAULT CASE en %L"
36747
36748-#: fortran/resolve.c:7764
36749+#: fortran/resolve.c:7766
36750 #, gcc-internal-format, gfc-internal-format
36751 msgid "Logical range in CASE statement at %L is not allowed"
36752 msgstr "No se permite un rango lógico en una declaración CASE en %L"
36753
36754-#: fortran/resolve.c:7776
36755+#: fortran/resolve.c:7778
36756 #, gcc-internal-format, gfc-internal-format
36757 msgid "Constant logical value in CASE statement is repeated at %L"
36758 msgstr "Se repite un valor lógico constante en una declaración CASE en %L"
36759
36760-#: fortran/resolve.c:7790
36761+#: fortran/resolve.c:7792
36762 #, gcc-internal-format, gfc-internal-format
36763 msgid "Range specification at %L can never be matched"
36764 msgstr "La especificación de rango en %L nunca puede coincidir"
36765
36766-#: fortran/resolve.c:7893
36767+#: fortran/resolve.c:7895
36768 #, gcc-internal-format, gfc-internal-format
36769 msgid "Logical SELECT CASE block at %L has more that two cases"
36770 msgstr "El bloque SELECT CASE lógico en %L tiene más de dos cases"
36771
36772-#: fortran/resolve.c:7958
36773+#: fortran/resolve.c:7960
36774 #, gcc-internal-format, gfc-internal-format
36775 msgid "Associate-name '%s' at %L is used as array"
36776 msgstr "Se usa el nombre asociado '%s' en %L como una matriz"
36777
36778-#: fortran/resolve.c:8000
36779+#: fortran/resolve.c:8002
36780 #, gcc-internal-format, gfc-internal-format
36781 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
36782 msgstr "El selector debe ser polimórfico en la declaración SELECT TYPE en %L"
36783
36784-#: fortran/resolve.c:8026
36785+#: fortran/resolve.c:8028
36786 #, gcc-internal-format, gfc-internal-format
36787 msgid "Derived type '%s' at %L must be extensible"
36788 msgstr "El tipo derivado '%s' en %L debe ser extensible"
36789
36790-#: fortran/resolve.c:8036
36791+#: fortran/resolve.c:8038
36792 #, gcc-internal-format, gfc-internal-format
36793 msgid "Derived type '%s' at %L must be an extension of '%s'"
36794 msgstr "El tipo derivado '%s' en %L debe ser una extensión de '%s'"
36795
36796-#: fortran/resolve.c:8208
36797+#: fortran/resolve.c:8210
36798 #, gcc-internal-format, gfc-internal-format
36799 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
36800 msgstr "Bloque CLASS IS doble en la declaración SELECT TYPE en %L"
36801
36802-#: fortran/resolve.c:8299
36803+#: fortran/resolve.c:8301
36804 #, gcc-internal-format, gfc-internal-format
36805 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
36806 msgstr "El NULL intrínseco en %L en la declaración de transferencia de datos requiere MOLD="
36807
36808 #. FIXME: Test for defined input/output.
36809-#: fortran/resolve.c:8327
36810+#: fortran/resolve.c:8329
36811 #, gcc-internal-format, gfc-internal-format
36812 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
36813 msgstr "El elemento de transferencia de datos en %L no puede ser polimórfico a menos que se procese con un procedimiento de entrada/salida definido"
36814
36815-#: fortran/resolve.c:8339
36816+#: fortran/resolve.c:8341
36817 #, gcc-internal-format, gfc-internal-format
36818 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
36819 msgstr "El elemento de transferencia de datos en %L no puede tener componentes POINTER a menos que se procese con un procedimiento de entrada/salida definido"
36820
36821-#: fortran/resolve.c:8348
36822+#: fortran/resolve.c:8350
36823 #, gcc-internal-format, gfc-internal-format
36824 msgid "Data transfer element at %L cannot have procedure pointer components"
36825 msgstr "El elemento de transferencia de datos en %L no puede tener componentes de puntero a procedimiento"
36826
36827-#: fortran/resolve.c:8355
36828+#: fortran/resolve.c:8357
36829 #, gcc-internal-format, gfc-internal-format
36830 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
36831 msgstr "El elemento de transferencia de datos en %L no puede tener componentes ALLOCATABLE a menos que se procese con un procedimiento de entrada/salida definido"
36832
36833-#: fortran/resolve.c:8363
36834+#: fortran/resolve.c:8365
36835 #, gcc-internal-format, gfc-internal-format
36836 msgid "Data transfer element at %L cannot have PRIVATE components"
36837 msgstr "El elemento de transferencia de datos en %L no puede tener componentes PRIVATE"
36838
36839-#: fortran/resolve.c:8372
36840+#: fortran/resolve.c:8374
36841 #, gcc-internal-format, gfc-internal-format
36842 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
36843 msgstr "El elemento de transferencia de datos en %L no puede ser una referencia completa a una matriz de tamaño asumido"
36844
36845-#: fortran/resolve.c:8422
36846+#: fortran/resolve.c:8424
36847 #, gcc-internal-format, gfc-internal-format
36848 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
36849 msgstr "La variable lock en %L debe ser un escalar de tipo LOCK_TYPE"
36850
36851-#: fortran/resolve.c:8429 fortran/resolve.c:8493
36852+#: fortran/resolve.c:8431 fortran/resolve.c:8495
36853 #, gcc-internal-format, gfc-internal-format
36854 msgid "STAT= argument at %L must be a scalar INTEGER variable"
36855 msgstr "El argumento STAT= en %L debe ser una variable INTEGER escalar"
36856
36857-#: fortran/resolve.c:8441 fortran/resolve.c:8500
36858+#: fortran/resolve.c:8443 fortran/resolve.c:8502
36859 #, gcc-internal-format, gfc-internal-format
36860 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
36861 msgstr "El argumento ERRMSG= en %L debe ser una variable CHARACTER escalar"
36862
36863-#: fortran/resolve.c:8453
36864+#: fortran/resolve.c:8455
36865 #, gcc-internal-format, gfc-internal-format
36866 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
36867 msgstr "El argumento ACQUIRED_LOCK= en %L debe ser una variable LOGICAL escalar"
36868
36869-#: fortran/resolve.c:8470
36870+#: fortran/resolve.c:8472
36871 #, gcc-internal-format, gfc-internal-format
36872 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
36873 msgstr "El argumento de conjunto de imagen %L debe ser un escalar o una expresión INTEGER de rango 1"
36874
36875-#: fortran/resolve.c:8474 fortran/resolve.c:8484
36876+#: fortran/resolve.c:8476 fortran/resolve.c:8486
36877 #, gcc-internal-format, gfc-internal-format
36878 msgid "Imageset argument at %L must between 1 and num_images()"
36879 msgstr "El argumento de conjunto de imagen en %L debe estar entre 1 y num_images()"
36880
36881-#: fortran/resolve.c:8527
36882+#: fortran/resolve.c:8529
36883 #, gcc-internal-format, gfc-internal-format
36884 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
36885 msgstr "La declaración en %L no es una declaración de objetivo de ramificación válida para la declaración de ramificación en %L"
36886
36887-#: fortran/resolve.c:8536
36888+#: fortran/resolve.c:8538
36889 #, gcc-internal-format, gfc-internal-format
36890 msgid "Branch at %L may result in an infinite loop"
36891 msgstr "La ramificación en %L puede resultar en un bucle infinito"
36892
36893 #. Note: A label at END CRITICAL does not leave the CRITICAL
36894 #. construct as END CRITICAL is still part of it.
36895-#: fortran/resolve.c:8553 fortran/resolve.c:8576
36896+#: fortran/resolve.c:8555 fortran/resolve.c:8578
36897 #, gcc-internal-format, gfc-internal-format
36898 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
36899 msgstr "La declaración GOTO en %L deja la construcción CRITICAL por la etiqueta en %L"
36900
36901-#: fortran/resolve.c:8557 fortran/resolve.c:8582
36902+#: fortran/resolve.c:8559 fortran/resolve.c:8584
36903 #, gcc-internal-format, gfc-internal-format
36904 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
36905 msgstr "La declaración GOTO en %L deja la construcción DO CONCURRENT por la etiqueta en %L"
36906@@ -41899,950 +41894,950 @@
36907 #. The label is not in an enclosing block, so illegal. This was
36908 #. allowed in Fortran 66, so we allow it as extension. No
36909 #. further checks are necessary in this case.
36910-#: fortran/resolve.c:8597
36911+#: fortran/resolve.c:8599
36912 #, gcc-internal-format, gfc-internal-format
36913 msgid "Label at %L is not in the same block as the GOTO statement at %L"
36914 msgstr "La etiqueta en %L no está en el mismo bloque que la declaración GOTO en %L"
36915
36916-#: fortran/resolve.c:8669
36917+#: fortran/resolve.c:8671
36918 #, gcc-internal-format, gfc-internal-format
36919 msgid "WHERE mask at %L has inconsistent shape"
36920 msgstr "La máscara WHERE en %L tiene forma inconsistente"
36921
36922-#: fortran/resolve.c:8685
36923+#: fortran/resolve.c:8687
36924 #, gcc-internal-format, gfc-internal-format
36925 msgid "WHERE assignment target at %L has inconsistent shape"
36926 msgstr "El objetivo de asignación WHERE en %L tiene forma inconsistente"
36927
36928-#: fortran/resolve.c:8693 fortran/resolve.c:8780
36929+#: fortran/resolve.c:8695 fortran/resolve.c:8782
36930 #, gcc-internal-format, gfc-internal-format
36931 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
36932 msgstr "Asignación definida por el usuario de un no-ELEMENTAL en WHERE en %L"
36933
36934-#: fortran/resolve.c:8703 fortran/resolve.c:8790
36935+#: fortran/resolve.c:8705 fortran/resolve.c:8792
36936 #, gcc-internal-format, gfc-internal-format
36937 msgid "Unsupported statement inside WHERE at %L"
36938 msgstr "Declaración sin soporte dentro de WHERE en %L"
36939
36940-#: fortran/resolve.c:8734
36941+#: fortran/resolve.c:8736
36942 #, gcc-internal-format, gfc-internal-format
36943 msgid "Assignment to a FORALL index variable at %L"
36944 msgstr "Asignación a una variable de índice FORALL en %L"
36945
36946-#: fortran/resolve.c:8743
36947+#: fortran/resolve.c:8745
36948 #, gcc-internal-format, gfc-internal-format
36949 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
36950 msgstr "No se usa el FORALL con índice '%s' en el lado izquierdo de la asignación en %L y podría causar múltiples asignaciones a este objeto"
36951
36952-#: fortran/resolve.c:8912
36953+#: fortran/resolve.c:8914
36954 #, gcc-internal-format, gfc-internal-format
36955 msgid "An outer FORALL construct already has an index with this name %L"
36956 msgstr "Una construcción FORALL externa ya tiene un índice con este nombre %L"
36957
36958-#: fortran/resolve.c:8992
36959+#: fortran/resolve.c:8994
36960 #, gcc-internal-format, gfc-internal-format
36961 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
36962 msgstr "la cláusula WHERE/ELSEWHERE en %L requiere una matriz LOGICAL"
36963
36964-#: fortran/resolve.c:9146
36965+#: fortran/resolve.c:9148
36966 #, gcc-internal-format, gfc-internal-format
36967 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
36968 msgstr "Se truncará la expresión CHARACTER en la asignación (%d/%d) en %L"
36969
36970-#: fortran/resolve.c:9178
36971+#: fortran/resolve.c:9180
36972 #, gcc-internal-format, gfc-internal-format
36973 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
36974 msgstr "La expresión con coíndice en %L se asigna a una variable de tipo derivado con un componente POINTER en un procedimiento PURE"
36975
36976-#: fortran/resolve.c:9183
36977+#: fortran/resolve.c:9185
36978 #, gcc-internal-format, gfc-internal-format
36979 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
36980 msgstr "La variable impura en %L se asigna a una variable de tipo derivado con un componente POINTER en un procedimiento PURE (12.6)"
36981
36982-#: fortran/resolve.c:9193
36983+#: fortran/resolve.c:9195
36984 #, gcc-internal-format, gfc-internal-format
36985 msgid "Assignment to coindexed variable at %L in a PURE procedure"
36986 msgstr "Asignación a una variable coindizada en %L en un procedimiento PURE"
36987
36988-#: fortran/resolve.c:9224
36989+#: fortran/resolve.c:9226
36990 #, gcc-internal-format, gfc-internal-format
36991 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
36992 msgstr "La variable no debe ser polimórfica en la asignación intrínseca en %L - revise que hay una subrutina específica coincidente para el operador '='"
36993
36994-#: fortran/resolve.c:9233
36995+#: fortran/resolve.c:9235
36996 #, gcc-internal-format, gfc-internal-format
36997 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
36998 msgstr "La variable coindizada no debe tener un componente último alojable en la asignación en %L"
36999
37000-#: fortran/resolve.c:9368
37001+#: fortran/resolve.c:9370
37002 #, gcc-internal-format, gfc-internal-format
37003 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
37004 msgstr "La declaración ASSIGNED GOTO en %L requiere una variable INTEGER"
37005
37006-#: fortran/resolve.c:9371
37007+#: fortran/resolve.c:9373
37008 #, gcc-internal-format, gfc-internal-format
37009 msgid "Variable '%s' has not been assigned a target label at %L"
37010 msgstr "La variable '%s' no se ha asignado a una etiqueta objetivo en %L"
37011
37012-#: fortran/resolve.c:9382
37013+#: fortran/resolve.c:9384
37014 #, gcc-internal-format, gfc-internal-format
37015 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
37016 msgstr "La declaración RETURN alternativa en %L requiere de un especificador de devolución SCALAR-INTEGER"
37017
37018-#: fortran/resolve.c:9417
37019+#: fortran/resolve.c:9419
37020 #, gcc-internal-format, gfc-internal-format
37021 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
37022 msgstr "La declaración de ASSIGN en %L requiere una variable INTEGER escalar por defecto"
37023
37024-#: fortran/resolve.c:9450
37025+#: fortran/resolve.c:9452
37026 #, gcc-internal-format, gfc-internal-format
37027 msgid "Arithmetic IF statement at %L requires a numeric expression"
37028 msgstr "La declaración IF aritmética en %L requiere una expresión numérica"
37029
37030-#: fortran/resolve.c:9509
37031+#: fortran/resolve.c:9511
37032 #, gcc-internal-format, gfc-internal-format
37033 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
37034 msgstr "La condición de salida del bucle DO WHILE en %L debe ser una expresión LOGICAL escalar"
37035
37036-#: fortran/resolve.c:9593
37037+#: fortran/resolve.c:9595
37038 #, gcc-internal-format, gfc-internal-format
37039 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
37040 msgstr "La cláusula de máscara FORALL en %L requiere una expresión LOGICAL escalar"
37041
37042-#: fortran/resolve.c:9675 fortran/resolve.c:9728
37043+#: fortran/resolve.c:9677 fortran/resolve.c:9730
37044 #, gcc-internal-format, gfc-internal-format
37045 msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
37046 msgstr "La etiqueta enlazante '%s' para el bloque común '%s' en %L colisiona con la entidad global '%s' en %L"
37047
37048 #. Common block names match but binding labels do not.
37049-#: fortran/resolve.c:9693
37050+#: fortran/resolve.c:9695
37051 #, gcc-internal-format, gfc-internal-format
37052 msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
37053 msgstr "La etiqueta enlazante '%s' para el bloque común '%s' en %L no coincide con la etiqueta enlazante '%s' para el bloque común '%s' en %L"
37054
37055-#: fortran/resolve.c:9740
37056+#: fortran/resolve.c:9742
37057 #, gcc-internal-format, gfc-internal-format
37058 msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
37059 msgstr "La etiqueta enlazante '%s' para el bloque común '%s' en %L colisiona con la entidad global '%s' en %L"
37060
37061 #. Make sure global procedures don't collide with anything.
37062-#: fortran/resolve.c:9792
37063+#: fortran/resolve.c:9794
37064 #, gcc-internal-format, gfc-internal-format
37065 msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
37066 msgstr "La etiqueta enlazante '%s' en %L colisiona con la entidad global '%s' en %L"
37067
37068 #. Make sure procedures in interface bodies don't collide.
37069-#: fortran/resolve.c:9805
37070+#: fortran/resolve.c:9807
37071 #, gcc-internal-format, gfc-internal-format
37072 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
37073 msgstr "La etiqueta enlazante '%s' en el cuerpo de interfaz en %L colisiona con la entidad global '%s' en %L"
37074
37075-#: fortran/resolve.c:9818
37076+#: fortran/resolve.c:9820
37077 #, gcc-internal-format, gfc-internal-format
37078 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
37079 msgstr "La etiqueta enlazante '%s' en %L colisiona con la entidad global '%s' en %L"
37080
37081-#: fortran/resolve.c:9897
37082+#: fortran/resolve.c:9899
37083 #, gcc-internal-format, gfc-internal-format
37084 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
37085 msgstr "La variable CHARACTER en %L tiene longitud negativa %d, la longitud se estableció a cero"
37086
37087-#: fortran/resolve.c:9910
37088+#: fortran/resolve.c:9912
37089 #, gcc-internal-format, gfc-internal-format
37090 msgid "String length at %L is too large"
37091 msgstr "La longitud de la cadena en %L es demasiado grande"
37092
37093-#: fortran/resolve.c:10247
37094+#: fortran/resolve.c:10250
37095 #, gcc-internal-format, gfc-internal-format
37096 msgid "Allocatable array '%s' at %L must have a deferred shape"
37097 msgstr "La matriz allocatable '%s' en %L debe tener una forma diferida"
37098
37099-#: fortran/resolve.c:10251
37100+#: fortran/resolve.c:10254
37101 #, gcc-internal-format, gfc-internal-format
37102 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
37103 msgstr "El objeto escalar '%s' en %L no puede ser ALLOCATABLE"
37104
37105-#: fortran/resolve.c:10259
37106+#: fortran/resolve.c:10262
37107 #, gcc-internal-format, gfc-internal-format
37108 msgid "Array pointer '%s' at %L must have a deferred shape"
37109 msgstr "La matriz de puntero '%s' en %L debe tener una forma diferida"
37110
37111-#: fortran/resolve.c:10269
37112+#: fortran/resolve.c:10272
37113 #, gcc-internal-format, gfc-internal-format
37114 msgid "Array '%s' at %L cannot have a deferred shape"
37115 msgstr "La matriz '%s' en %L no puede tener una forma diferida"
37116
37117-#: fortran/resolve.c:10282
37118+#: fortran/resolve.c:10285
37119 #, gcc-internal-format, gfc-internal-format
37120 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
37121 msgstr "El tipo '%s' de la variable CLASS '%s' en %L no es extensible"
37122
37123-#: fortran/resolve.c:10294
37124+#: fortran/resolve.c:10297
37125 #, gcc-internal-format, gfc-internal-format
37126 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
37127 msgstr "La variable CLASS '%s' en %L debe ser dummy, allocatable o pointer"
37128
37129-#: fortran/resolve.c:10325
37130+#: fortran/resolve.c:10328
37131 #, gcc-internal-format, gfc-internal-format
37132 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
37133 msgstr "El tipo '%s' no se puede asociar al anfitrión en %L porque está bloqueado por un objeto incompatible del mismo nombre declarado en %L"
37134
37135-#: fortran/resolve.c:10347
37136+#: fortran/resolve.c:10350
37137 #, gcc-internal-format, gfc-internal-format
37138 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
37139 msgstr "Fortran 2008: SAVE implícito para la variable de módulo '%s' en %L, se necesita por la inicialización por defecto"
37140
37141 #. The shape of a main program or module array needs to be
37142 #. constant.
37143-#: fortran/resolve.c:10394
37144+#: fortran/resolve.c:10397
37145 #, gcc-internal-format, gfc-internal-format
37146 msgid "The module or main program array '%s' at %L must have constant shape"
37147 msgstr "El módulo o la matriz del programa principal '%s' en %L deben tener una forma constante"
37148
37149-#: fortran/resolve.c:10403
37150+#: fortran/resolve.c:10406
37151 #, gcc-internal-format, gfc-internal-format
37152 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
37153 msgstr "La entidad '%s' en %L tiene un parámetro de tipo diferido y requiere el atributo pointer o allocatable"
37154
37155-#: fortran/resolve.c:10417
37156+#: fortran/resolve.c:10420
37157 #, gcc-internal-format, gfc-internal-format
37158 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
37159 msgstr "La entidad con longitud de carácter asumida en %L debe ser un argumento de prueba o un PARAMETER"
37160
37161-#: fortran/resolve.c:10436
37162+#: fortran/resolve.c:10439
37163 #, gcc-internal-format, gfc-internal-format
37164 msgid "'%s' at %L must have constant character length in this context"
37165 msgstr "'%s' en %L debe tener longitud de cáracter constante en este contexto"
37166
37167-#: fortran/resolve.c:10442
37168+#: fortran/resolve.c:10445
37169 #, gcc-internal-format, gfc-internal-format
37170 msgid "COMMON variable '%s' at %L must have constant character length"
37171 msgstr "La variable COMMON '%s' en %L debe tener longitud de cáracter constante en este contexto"
37172
37173-#: fortran/resolve.c:10487
37174+#: fortran/resolve.c:10490
37175 #, gcc-internal-format, gfc-internal-format
37176 msgid "Allocatable '%s' at %L cannot have an initializer"
37177 msgstr "El allocatable '%s' en %L no puede tener un inicializador"
37178
37179-#: fortran/resolve.c:10490
37180+#: fortran/resolve.c:10493
37181 #, gcc-internal-format, gfc-internal-format
37182 msgid "External '%s' at %L cannot have an initializer"
37183 msgstr "El external '%s' en %L no puede tener un inicializador"
37184
37185-#: fortran/resolve.c:10494
37186+#: fortran/resolve.c:10497
37187 #, gcc-internal-format, gfc-internal-format
37188 msgid "Dummy '%s' at %L cannot have an initializer"
37189 msgstr "El dummy '%s' en %L no puede tener un inicializador"
37190
37191-#: fortran/resolve.c:10497
37192+#: fortran/resolve.c:10500
37193 #, gcc-internal-format, gfc-internal-format
37194 msgid "Intrinsic '%s' at %L cannot have an initializer"
37195 msgstr "El intrinsic '%s' en %L no puede tener un inicializador"
37196
37197-#: fortran/resolve.c:10500
37198+#: fortran/resolve.c:10503
37199 #, gcc-internal-format, gfc-internal-format
37200 msgid "Function result '%s' at %L cannot have an initializer"
37201 msgstr "El resultado de la función '%s' en %L no puede tener un inicializador"
37202
37203-#: fortran/resolve.c:10503
37204+#: fortran/resolve.c:10506
37205 #, gcc-internal-format, gfc-internal-format
37206 msgid "Automatic array '%s' at %L cannot have an initializer"
37207 msgstr "La matriz automática '%s' en %L no puede tener un inicializador"
37208
37209-#: fortran/resolve.c:10540
37210+#: fortran/resolve.c:10543
37211 #, gcc-internal-format, gfc-internal-format
37212 msgid "Character-valued statement function '%s' at %L must have constant length"
37213 msgstr "La función de declaración valuada con carácter '%s' en %L debe tener longitud constante"
37214
37215-#: fortran/resolve.c:10562
37216+#: fortran/resolve.c:10565
37217 #, gcc-internal-format, gfc-internal-format
37218 msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
37219 msgstr "Fortran 2003: '%s' es de un tipo PRIVATE y no puede ser un argumento dummy de '%s', el cual es PUBLIC en %L"
37220
37221-#: fortran/resolve.c:10584 fortran/resolve.c:10608
37222+#: fortran/resolve.c:10587 fortran/resolve.c:10611
37223 #, gcc-internal-format, gfc-internal-format
37224 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
37225 msgstr "Fortran 2003: El procedimiento '%s' en la interfaz PUBLIC '%s' en %L toma argumentos dummy de '%s' el cual es PRIVATE"
37226
37227-#: fortran/resolve.c:10626
37228+#: fortran/resolve.c:10629
37229 #, gcc-internal-format, gfc-internal-format
37230 msgid "Function '%s' at %L cannot have an initializer"
37231 msgstr "La función '%s' en %L no puede tener un inicializador"
37232
37233-#: fortran/resolve.c:10635
37234+#: fortran/resolve.c:10638
37235 #, gcc-internal-format, gfc-internal-format
37236 msgid "External object '%s' at %L may not have an initializer"
37237 msgstr "El objeto external '%s' en %L puede no tener un inicializador"
37238
37239-#: fortran/resolve.c:10643
37240+#: fortran/resolve.c:10646
37241 #, gcc-internal-format, gfc-internal-format
37242 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
37243 msgstr "La función ELEMENTAL '%s' en %L debe tener un resultado escalar"
37244
37245-#: fortran/resolve.c:10653
37246+#: fortran/resolve.c:10656
37247 #, gcc-internal-format, gfc-internal-format
37248 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
37249 msgstr "La función de declaración '%s' en %L no debe tener atributo puntero o alojable"
37250
37251-#: fortran/resolve.c:10672
37252+#: fortran/resolve.c:10675
37253 #, gcc-internal-format, gfc-internal-format
37254 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
37255 msgstr "La función CHARACTER(*) '%s' en %L no puede ser matriz-valuada"
37256
37257-#: fortran/resolve.c:10676
37258+#: fortran/resolve.c:10679
37259 #, gcc-internal-format, gfc-internal-format
37260 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
37261 msgstr "La función CHARACTER(*) '%s' en %L no puede ser puntero-valuada"
37262
37263-#: fortran/resolve.c:10680
37264+#: fortran/resolve.c:10683
37265 #, gcc-internal-format, gfc-internal-format
37266 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
37267 msgstr "La función CHARACTER(*) '%s' en %L no puede ser pura"
37268
37269-#: fortran/resolve.c:10684
37270+#: fortran/resolve.c:10687
37271 #, gcc-internal-format, gfc-internal-format
37272 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
37273 msgstr "La función CHARACTER(*) '%s' en %L no puede ser recursiva"
37274
37275-#: fortran/resolve.c:10696
37276+#: fortran/resolve.c:10699
37277 #, gcc-internal-format, gfc-internal-format
37278 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
37279 msgstr "Característica obsoleta: función CHARACTER(*) '%s' en %L"
37280
37281-#: fortran/resolve.c:10751
37282+#: fortran/resolve.c:10754
37283 #, gcc-internal-format, gfc-internal-format
37284 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
37285 msgstr "El atributo PROCEDURE genera un conflicto con el atributo SAVE en '%s' en %L"
37286
37287-#: fortran/resolve.c:10757
37288+#: fortran/resolve.c:10760
37289 #, gcc-internal-format, gfc-internal-format
37290 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
37291 msgstr "El atributo PROCEDURE genera un conflicto con el atributo INTENT en '%s' en %L"
37292
37293-#: fortran/resolve.c:10763
37294+#: fortran/resolve.c:10766
37295 #, gcc-internal-format, gfc-internal-format
37296 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
37297 msgstr "El atributo PROCEDURE genera un conflicto con el atributo RESULT en '%s' en %L"
37298
37299-#: fortran/resolve.c:10771
37300+#: fortran/resolve.c:10774
37301 #, gcc-internal-format, gfc-internal-format
37302 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
37303 msgstr "El atributo EXTERNAL genera un conflicto con el atributo FUNCTION en '%s' en %L"
37304
37305-#: fortran/resolve.c:10777
37306+#: fortran/resolve.c:10780
37307 #, gcc-internal-format, gfc-internal-format
37308 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
37309 msgstr "Al resultado del puntero de procedimiento '%s' en %L le falta el atributo puntero"
37310
37311-#: fortran/resolve.c:10823
37312+#: fortran/resolve.c:10826
37313 #, gcc-internal-format, gfc-internal-format
37314 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
37315 msgstr "El procedimiento FINAL '%s' en %L no debe ser una SUBROUTINE"
37316
37317-#: fortran/resolve.c:10831
37318+#: fortran/resolve.c:10834
37319 #, gcc-internal-format, gfc-internal-format
37320 msgid "FINAL procedure at %L must have exactly one argument"
37321 msgstr "El procedimiento FINAL en %L debe tener exactamente un argumento"
37322
37323-#: fortran/resolve.c:10840
37324+#: fortran/resolve.c:10843
37325 #, gcc-internal-format, gfc-internal-format
37326 msgid "Argument of FINAL procedure at %L must be of type '%s'"
37327 msgstr "El argumento del procedimiento FINAL en %L debe ser de tipo '%s'"
37328
37329-#: fortran/resolve.c:10848
37330+#: fortran/resolve.c:10851
37331 #, gcc-internal-format, gfc-internal-format
37332 msgid "Argument of FINAL procedure at %L must not be a POINTER"
37333 msgstr "El argumento del procedimiento FINAL en %L no debe ser un POINTER"
37334
37335-#: fortran/resolve.c:10854
37336+#: fortran/resolve.c:10857
37337 #, gcc-internal-format, gfc-internal-format
37338 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
37339 msgstr "El argumento del procedimiento final en %L no debe ser ALLOCATABLE"
37340
37341-#: fortran/resolve.c:10860
37342+#: fortran/resolve.c:10863
37343 #, gcc-internal-format, gfc-internal-format
37344 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
37345 msgstr "El argumento del procedimiento FINAL en %L no debe ser OPTIONAL"
37346
37347-#: fortran/resolve.c:10868
37348+#: fortran/resolve.c:10871
37349 #, gcc-internal-format, gfc-internal-format
37350 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
37351 msgstr "El argumento del procedimiento FINAL en %L no debe ser INTENT(OUT)"
37352
37353-#: fortran/resolve.c:10876
37354+#: fortran/resolve.c:10879
37355 #, gcc-internal-format, gfc-internal-format
37356 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
37357 msgstr "El procedimiento FINAL que no es escalar en %L debe tener un argumento sharp asumido"
37358
37359-#: fortran/resolve.c:10895
37360+#: fortran/resolve.c:10898
37361 #, gcc-internal-format, gfc-internal-format
37362 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
37363 msgstr "El procedimiento FINAL '%s' declarado en %L tiene el mismo rango (%d) que '%s'"
37364
37365-#: fortran/resolve.c:10928
37366+#: fortran/resolve.c:10931
37367 #, gcc-internal-format, gfc-internal-format
37368 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
37369 msgstr "Sólo se declaran procedimientos FINAL de matriz para el tipo derivado '%s' definido en %L, se sugiere también uno escalar"
37370
37371 #. TODO: Remove this error when finalization is finished.
37372-#: fortran/resolve.c:10933
37373+#: fortran/resolve.c:10936
37374 #, gcc-internal-format, gfc-internal-format
37375 msgid "Finalization at %L is not yet implemented"
37376 msgstr "Aún no se admite la finalización en %L"
37377
37378-#: fortran/resolve.c:10964
37379+#: fortran/resolve.c:10967
37380 #, gcc-internal-format, gfc-internal-format
37381 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
37382 msgstr "'%s' y '%s' no pueden ser FUNCTION/SUBROUTINE mezcladas para el GENERIC '%s' en %L"
37383
37384-#: fortran/resolve.c:10974
37385+#: fortran/resolve.c:10977
37386 #, gcc-internal-format, gfc-internal-format
37387 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
37388 msgstr "'%s' y '%s' para el GENERIC '%s' en %L son ambiguos"
37389
37390-#: fortran/resolve.c:11033
37391+#: fortran/resolve.c:11036
37392 #, gcc-internal-format, gfc-internal-format
37393 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
37394 msgstr "El enlace específico '%s' no está definido como objetivo del GENERIC '%s' en %L"
37395
37396-#: fortran/resolve.c:11045
37397+#: fortran/resolve.c:11048
37398 #, gcc-internal-format, gfc-internal-format
37399 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
37400 msgstr "El GENERIC '%s' en %L debe apuntar a un enlace específico, '%s' es GENERIC también"
37401
37402-#: fortran/resolve.c:11075
37403+#: fortran/resolve.c:11078
37404 #, gcc-internal-format, gfc-internal-format
37405 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
37406 msgstr "El GENERIC '%s' en %L no puede sobreescribir el enlace específico con el mismo nombre"
37407
37408-#: fortran/resolve.c:11131
37409+#: fortran/resolve.c:11134
37410 #, gcc-internal-format, gfc-internal-format
37411 msgid "Type-bound operator at %L can't be NOPASS"
37412 msgstr "El operador enlazado a tipo en %L no puede ser NOPASS"
37413
37414-#: fortran/resolve.c:11294
37415+#: fortran/resolve.c:11297
37416 #, gcc-internal-format, gfc-internal-format
37417 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
37418 msgstr "'%s' debe ser un procedimiento de módulo o un procedimiento externo con una interfaz explícita en %L"
37419
37420-#: fortran/resolve.c:11331
37421+#: fortran/resolve.c:11334
37422 #, gcc-internal-format, gfc-internal-format
37423 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
37424 msgstr "El procedimiento '%s' con PASS(%s) en %L no tiene un argumento '%s'"
37425
37426-#: fortran/resolve.c:11345
37427+#: fortran/resolve.c:11348
37428 #, gcc-internal-format, gfc-internal-format
37429 msgid "Procedure '%s' with PASS at %L must have at least one argument"
37430 msgstr "El procedimiento '%s' con PASS en %L debe tener al menos un argumento"
37431
37432-#: fortran/resolve.c:11359 fortran/resolve.c:11822
37433+#: fortran/resolve.c:11362 fortran/resolve.c:11825
37434 #, gcc-internal-format, gfc-internal-format
37435 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
37436 msgstr "Argumento dummy pasado como objeto no polimórfico de '%s' en %L"
37437
37438-#: fortran/resolve.c:11367
37439+#: fortran/resolve.c:11370
37440 #, gcc-internal-format, gfc-internal-format
37441 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
37442 msgstr "El argumento '%s' de '%s' con PASS(%s) en %L debe ser del tipo derivado '%s'"
37443
37444-#: fortran/resolve.c:11376
37445+#: fortran/resolve.c:11379
37446 #, gcc-internal-format, gfc-internal-format
37447 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
37448 msgstr "El argumento dummy de objeto pasado de '%s' en %L debe ser escalar"
37449
37450-#: fortran/resolve.c:11382
37451+#: fortran/resolve.c:11385
37452 #, gcc-internal-format, gfc-internal-format
37453 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
37454 msgstr "El argumento dummy de objeto pasado de '%s' en %L no debe ser ALLOCATABLE"
37455
37456-#: fortran/resolve.c:11388
37457+#: fortran/resolve.c:11391
37458 #, gcc-internal-format, gfc-internal-format
37459 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
37460 msgstr "El argumento dummy de objeto pasado de '%s' en %L no debe ser POINTER"
37461
37462-#: fortran/resolve.c:11417
37463+#: fortran/resolve.c:11420
37464 #, gcc-internal-format, gfc-internal-format
37465 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
37466 msgstr "El procedimiento '%s' en %L tiene el mismo nombre que un componente de '%s'"
37467
37468-#: fortran/resolve.c:11426
37469+#: fortran/resolve.c:11429
37470 #, gcc-internal-format, gfc-internal-format
37471 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
37472 msgstr "El procedimiento '%s' en %L tiene el mismo nombre que un componente heredado de '%s'"
37473
37474-#: fortran/resolve.c:11521
37475+#: fortran/resolve.c:11524
37476 #, gcc-internal-format, gfc-internal-format
37477 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
37478 msgstr "El tipo derivado '%s' declarado en %L debe ser ABSTRACT porque '%s' es DEFERRED y no se sobreescribió"
37479
37480-#: fortran/resolve.c:11579
37481+#: fortran/resolve.c:11582
37482 #, gcc-internal-format, gfc-internal-format
37483 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
37484 msgstr "Como al extender el tipo '%s' en %L tiene un componente de comatriz, el tipo padre '%s' también debe tener uno"
37485
37486-#: fortran/resolve.c:11592
37487+#: fortran/resolve.c:11595
37488 #, gcc-internal-format, gfc-internal-format
37489 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
37490 msgstr "El tipo derivado '%s' que no es extensible en %L no debe ser ABSTRACT"
37491
37492-#: fortran/resolve.c:11605
37493+#: fortran/resolve.c:11608
37494 #, gcc-internal-format, gfc-internal-format
37495 msgid "Deferred-length character component '%s' at %L is not yet supported"
37496 msgstr "El componente de caractér de longitud diferida '%s' en %L aún no se admite"
37497
37498-#: fortran/resolve.c:11615
37499+#: fortran/resolve.c:11618
37500 #, gcc-internal-format, gfc-internal-format
37501 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
37502 msgstr "El componente de comatriz '%s' en %L debe sel alojable con forma diferida"
37503
37504-#: fortran/resolve.c:11624
37505+#: fortran/resolve.c:11627
37506 #, gcc-internal-format, gfc-internal-format
37507 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
37508 msgstr "El componente '%s' en %L de TYPE(C_PTR) o TYPE(C_FUNPTR) no debe ser una comatriz"
37509
37510-#: fortran/resolve.c:11634
37511+#: fortran/resolve.c:11637
37512 #, gcc-internal-format, gfc-internal-format
37513 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
37514 msgstr "El componenten '%s' en %L con componente comatriz debe ser un escalar que no sea puntero alojable"
37515
37516-#: fortran/resolve.c:11643
37517+#: fortran/resolve.c:11646
37518 #, gcc-internal-format, gfc-internal-format
37519 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
37520 msgstr "El componente '%s' en %L tiene el atributo CONTIGUOUS porque no es un puntero de matriz"
37521
37522-#: fortran/resolve.c:11651
37523+#: fortran/resolve.c:11654
37524 #, gcc-internal-format, gfc-internal-format
37525 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
37526 msgstr "La interfaz '%s', usada por el procedimiento de componente puntero '%s' en %L, se declara en una declaración PROCEDURE posterior"
37527
37528-#: fortran/resolve.c:11716
37529+#: fortran/resolve.c:11719
37530 #, gcc-internal-format, gfc-internal-format
37531 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
37532 msgstr "La interfaz '%s' del procedimiento de componente puntero '%s' en %L debe ser explícita"
37533
37534-#: fortran/resolve.c:11756
37535+#: fortran/resolve.c:11759
37536 #, gcc-internal-format, gfc-internal-format
37537 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
37538 msgstr "El procedimiento de componente puntero '%s' con PASS(%s) en %L no tiene un argumento '%s'"
37539
37540-#: fortran/resolve.c:11770
37541+#: fortran/resolve.c:11773
37542 #, gcc-internal-format, gfc-internal-format
37543 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
37544 msgstr "El procedimiento de componente puntero '%s' con PASS en %L debe tener al menos un argumento"
37545
37546-#: fortran/resolve.c:11786
37547+#: fortran/resolve.c:11789
37548 #, gcc-internal-format, gfc-internal-format
37549 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
37550 msgstr "El argumento '%s' de '%s' con PASS(%s) en %L debe ser del tipo derivado '%s'"
37551
37552-#: fortran/resolve.c:11796
37553+#: fortran/resolve.c:11799
37554 #, gcc-internal-format, gfc-internal-format
37555 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
37556 msgstr "El argumento '%s' de '%s' con PASS(%s) en %L debe ser escalar"
37557
37558-#: fortran/resolve.c:11805
37559+#: fortran/resolve.c:11808
37560 #, gcc-internal-format, gfc-internal-format
37561 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
37562 msgstr "El argumento '%s' de '%s' con PASS(%s) en %L no puede tener el atributo POINTER"
37563
37564-#: fortran/resolve.c:11814
37565+#: fortran/resolve.c:11817
37566 #, gcc-internal-format, gfc-internal-format
37567 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
37568 msgstr "El argumento '%s' de '%s' con PASS(%s) en %L no puede ser ALLOCATABLE"
37569
37570-#: fortran/resolve.c:11851
37571+#: fortran/resolve.c:11854
37572 #, gcc-internal-format, gfc-internal-format
37573 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
37574 msgstr "El componente '%s' de '%s' en %L tiene el mismo nombre que un procedimiento enlazado a tipo heredado"
37575
37576-#: fortran/resolve.c:11864
37577+#: fortran/resolve.c:11867
37578 #, gcc-internal-format, gfc-internal-format
37579 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
37580 msgstr "La longitud de carácter del componente '%s' necesita ser una expresión de especificación constante en %L"
37581
37582-#: fortran/resolve.c:11875
37583+#: fortran/resolve.c:11878
37584 #, gcc-internal-format, gfc-internal-format
37585 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
37586 msgstr "El componente de carácter '%s' de '%s' en %L con longitud diferida debe ser POINTER o ALLOCATABLE"
37587
37588-#: fortran/resolve.c:11887
37589+#: fortran/resolve.c:11890
37590 #, gcc-internal-format, gfc-internal-format
37591 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
37592 msgstr "Fortran 2003: el componente '%s' es un tipo PRIVATE y no puede ser un componente de '%s' el cual es PUBLIC en %L"
37593
37594-#: fortran/resolve.c:11895
37595+#: fortran/resolve.c:11898
37596 #, gcc-internal-format, gfc-internal-format
37597 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
37598 msgstr "El componente polimórfico %s en %L en SEQUENCE o de tipo BIND(C) %s"
37599
37600-#: fortran/resolve.c:11904
37601+#: fortran/resolve.c:11907
37602 #, gcc-internal-format, gfc-internal-format
37603 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
37604 msgstr "El componente %s del tipo SEQUENCE declarado en %L no tiene el atributo SEQUENCE"
37605
37606-#: fortran/resolve.c:11922 fortran/resolve.c:11933
37607+#: fortran/resolve.c:11925 fortran/resolve.c:11936
37608 #, gcc-internal-format, gfc-internal-format
37609 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
37610 msgstr "El componente puntero '%s' de '%s' en %L es de un tipo que no se ha declarado"
37611
37612-#: fortran/resolve.c:11945
37613+#: fortran/resolve.c:11948
37614 #, gcc-internal-format, gfc-internal-format
37615 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
37616 msgstr "El componente '%s' con CLASS en %L debe ser allocatable o pointer"
37617
37618-#: fortran/resolve.c:11995
37619+#: fortran/resolve.c:11998
37620 #, gcc-internal-format, gfc-internal-format
37621 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
37622 msgstr "Fortran 2003: El nombre genérico '%s' de la función '%s' en %L tiene el mismo nombre que el tipo derivado en %L"
37623
37624-#: fortran/resolve.c:12047
37625+#: fortran/resolve.c:12050
37626 #, gcc-internal-format, gfc-internal-format
37627 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
37628 msgstr "No se permite la matriz de tamaño asumido '%s' en la lista de nombres '%s' en %L"
37629
37630-#: fortran/resolve.c:12053
37631+#: fortran/resolve.c:12056
37632 #, gcc-internal-format, gfc-internal-format
37633 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
37634 msgstr "Fortran 2003: Objeto de matriz NAMELIST '%s' con forma asumida en la lista de nombres '%s' en %L"
37635
37636-#: fortran/resolve.c:12060
37637+#: fortran/resolve.c:12063
37638 #, gcc-internal-format, gfc-internal-format
37639 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
37640 msgstr "Fortran 2003: El objeto de matriz NAMELIST '%s' con forma que no es constante en la lista de nombres '%s' en %L"
37641
37642-#: fortran/resolve.c:12069
37643+#: fortran/resolve.c:12072
37644 #, gcc-internal-format, gfc-internal-format
37645 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
37646 msgstr "Fortran 2003: El objeto de matriz NAMELIST '%s' con longitud de carácter que no es constante en la lista de nombres '%s' en %L"
37647
37648-#: fortran/resolve.c:12079
37649+#: fortran/resolve.c:12082
37650 #, gcc-internal-format, gfc-internal-format
37651 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
37652 msgstr "El objeto NAMELIST '%s' en la lista de nombres '%s' en %L es polimórfico y requiere un procedimiento de entrada/salida definido"
37653
37654-#: fortran/resolve.c:12089
37655+#: fortran/resolve.c:12092
37656 #, gcc-internal-format, gfc-internal-format
37657 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
37658 msgstr "Fortran 2003: El objeto NAMELIST '%s' en la lista de nombres '%s' en %L con componentes ALLOCATABLE o POINTER"
37659
37660 #. FIXME: Once UDDTIO is implemented, the following can be
37661 #. removed.
37662-#: fortran/resolve.c:12097
37663+#: fortran/resolve.c:12100
37664 #, gcc-internal-format, gfc-internal-format
37665 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
37666 msgstr "El objeto NAMELIST '%s' en la lista de nombres '%s' en %L tiene componentes ALLOCATABLE o POINTER y por lo tanto requere un procedimiento de entrada/salida definido"
37667
37668-#: fortran/resolve.c:12114
37669+#: fortran/resolve.c:12117
37670 #, gcc-internal-format, gfc-internal-format
37671 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
37672 msgstr "El objeto NAMELIST '%s' se declaró PRIVATE y no puede ser miembro de una lista de nombres PUBLIC '%s' en %L"
37673
37674-#: fortran/resolve.c:12124
37675+#: fortran/resolve.c:12127
37676 #, gcc-internal-format, gfc-internal-format
37677 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
37678 msgstr "El objeto NAMELIST '%s' tiene componentes PRIVATE asociados a uso y no puede ser miembro de la lista de nombres '%s' en %L"
37679
37680-#: fortran/resolve.c:12135
37681+#: fortran/resolve.c:12138
37682 #, gcc-internal-format, gfc-internal-format
37683 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
37684 msgstr "El objeto NAMELIST '%s' tiene componentes PRIVATE y no puede ser un miembro de la lista de nombres PUBLIC '%s' en %L"
37685
37686-#: fortran/resolve.c:12162
37687+#: fortran/resolve.c:12165
37688 #, gcc-internal-format, gfc-internal-format
37689 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
37690 msgstr "El atributo PROCEDURE genera un conflicto con el atributo NAMELIST en '%s' en %L"
37691
37692-#: fortran/resolve.c:12181
37693+#: fortran/resolve.c:12184
37694 #, gcc-internal-format, gfc-internal-format
37695 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
37696 msgstr "La matriz de parámetro '%s' en %L no puede ser automática ni de forma diferida"
37697
37698-#: fortran/resolve.c:12193
37699+#: fortran/resolve.c:12196
37700 #, gcc-internal-format, gfc-internal-format
37701 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
37702 msgstr "El PARAMETER de tipo implícito '%s' en %L no coincide con un tipo IMPLICIT posterior"
37703
37704-#: fortran/resolve.c:12204
37705+#: fortran/resolve.c:12207
37706 #, gcc-internal-format, gfc-internal-format
37707 msgid "Incompatible derived type in PARAMETER at %L"
37708 msgstr "Tipo derivado incompatible en PARAMETER en %L"
37709
37710-#: fortran/resolve.c:12273
37711+#: fortran/resolve.c:12276
37712 #, gcc-internal-format, gfc-internal-format
37713 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
37714 msgstr "El atributo PROTECTED genera un conflicto con el atributo EXTERNAL en %L"
37715
37716-#: fortran/resolve.c:12276
37717+#: fortran/resolve.c:12279
37718 #, gcc-internal-format, gfc-internal-format
37719 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
37720 msgstr "El atributo PROCEDURE genera un conflicto con el atributo PROTECTED en %L"
37721
37722-#: fortran/resolve.c:12359
37723+#: fortran/resolve.c:12362
37724 #, gcc-internal-format, gfc-internal-format
37725 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
37726 msgstr "'%s' en %L tiene el atributo CONTIGUOUS pero no es un puntero de matriz o una matriz de forma asumida"
37727
37728-#: fortran/resolve.c:12377
37729+#: fortran/resolve.c:12380
37730 #, gcc-internal-format, gfc-internal-format
37731 msgid "Assumed size array at %L must be a dummy argument"
37732 msgstr "La matriz de tamaño asumido en %L debe ser un argumento de prueba"
37733
37734-#: fortran/resolve.c:12380
37735+#: fortran/resolve.c:12383
37736 #, gcc-internal-format, gfc-internal-format
37737 msgid "Assumed shape array at %L must be a dummy argument"
37738 msgstr "La matriz de forma asumida en %L debe ser un argumento de prueba"
37739
37740-#: fortran/resolve.c:12393
37741+#: fortran/resolve.c:12396
37742 #, gcc-internal-format, gfc-internal-format
37743 msgid "Symbol at %L is not a DUMMY variable"
37744 msgstr "El símbolo en %L no es una variable DUMMY"
37745
37746-#: fortran/resolve.c:12399
37747+#: fortran/resolve.c:12402
37748 #, gcc-internal-format, gfc-internal-format
37749 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
37750 msgstr "'%s' en %L no puede tener el atributo VALUE porque no es un argumento dummy"
37751
37752-#: fortran/resolve.c:12409
37753+#: fortran/resolve.c:12412
37754 #, gcc-internal-format, gfc-internal-format
37755 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
37756 msgstr "La variable dummy de carácter '%s' en %L con atributo VALUE debe tener longitud constante"
37757
37758-#: fortran/resolve.c:12418
37759+#: fortran/resolve.c:12421
37760 #, gcc-internal-format, gfc-internal-format
37761 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
37762 msgstr "La variable dummy de carácter interoperable con C '%s' en %L con atributo VALUE debe ser de longitud uno"
37763
37764-#: fortran/resolve.c:12431 fortran/resolve.c:12512
37765+#: fortran/resolve.c:12434 fortran/resolve.c:12515
37766 #, gcc-internal-format, gfc-internal-format
37767 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
37768 msgstr "El tipo derivado '%s' en %L es de tipo '%s', el cual no se ha definido"
37769
37770-#: fortran/resolve.c:12458
37771+#: fortran/resolve.c:12461
37772 #, gcc-internal-format, gfc-internal-format
37773 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
37774 msgstr "La variable '%s' en %L no puede ser BIND(C) porque no es un bloque COMMON ni se declaró en el ámbito de nivel de módulo"
37775
37776-#: fortran/resolve.c:12538
37777+#: fortran/resolve.c:12541
37778 #, gcc-internal-format, gfc-internal-format
37779 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
37780 msgstr "Fortran 2003: La función PUBLIC %s '%s' en %L es de tipo derivado PRIVATE '%s'"
37781
37782-#: fortran/resolve.c:12552
37783+#: fortran/resolve.c:12555
37784 #, gcc-internal-format, gfc-internal-format
37785 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
37786 msgstr "La variable %s en %L de tipo LOCK_TYPE o con un subcomponente de tipo LOCK_TYPE debe ser una comatriz"
37787
37788-#: fortran/resolve.c:12570
37789+#: fortran/resolve.c:12573
37790 #, gcc-internal-format, gfc-internal-format
37791 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
37792 msgstr "El argumento dummy INTENT(OUT) '%s' en %L es ASSUMED SIZE y por lo tanto no puede tener un inicializador por defecto"
37793
37794-#: fortran/resolve.c:12582
37795+#: fortran/resolve.c:12585
37796 #, gcc-internal-format, gfc-internal-format
37797 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
37798 msgstr "El argumento dummy '%s' en %L de LOCK_TYPE no puede ser INTENT(OUT)"
37799
37800-#: fortran/resolve.c:12594
37801+#: fortran/resolve.c:12597
37802 #, gcc-internal-format, gfc-internal-format
37803 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
37804 msgstr "El resultado de la función '%s' en %L no puede ser una comatriz o tener un componente comatriz"
37805
37806-#: fortran/resolve.c:12603
37807+#: fortran/resolve.c:12606
37808 #, gcc-internal-format, gfc-internal-format
37809 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
37810 msgstr "La variable '%s' en %L de TYPE(C_PTR) o TYPE(C_FUNPTR) no debe ser una comatriz"
37811
37812-#: fortran/resolve.c:12615
37813+#: fortran/resolve.c:12618
37814 #, gcc-internal-format, gfc-internal-format
37815 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
37816 msgstr "La variable '%s' en %L con componente de comatriz debe ser un escalar que no sea puntero alojable"
37817
37818-#: fortran/resolve.c:12630
37819+#: fortran/resolve.c:12633
37820 #, gcc-internal-format, gfc-internal-format
37821 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
37822 msgstr "La variable '%s' en %L es una comatriz y no es ALLOCATABLE, SAVE ni un argumento dummy"
37823
37824-#: fortran/resolve.c:12638
37825+#: fortran/resolve.c:12641
37826 #, gcc-internal-format, gfc-internal-format
37827 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
37828 msgstr "La variable de comatriz '%s' en %L no debe tener codimensiones con forma diferida"
37829
37830-#: fortran/resolve.c:12645
37831+#: fortran/resolve.c:12648
37832 #, gcc-internal-format, gfc-internal-format
37833 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
37834 msgstr "La variable comatriz allocatable '%s' en %L debe tener forma diferida"
37835
37836-#: fortran/resolve.c:12657
37837+#: fortran/resolve.c:12660
37838 #, gcc-internal-format, gfc-internal-format
37839 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
37840 msgstr "La variable '%s' en %L es INTENT(OUT) y por lo tanto no puede ser una comatriz allocatable o tener componentes comatriz"
37841
37842-#: fortran/resolve.c:12666
37843+#: fortran/resolve.c:12669
37844 #, gcc-internal-format, gfc-internal-format
37845 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
37846 msgstr "No se permite la variable dummy comatriz '%s' en %L en el procedimiento BIND(C) '%s'"
37847
37848-#: fortran/resolve.c:12738
37849+#: fortran/resolve.c:12741
37850 #, gcc-internal-format, gfc-internal-format
37851 msgid "Threadprivate at %L isn't SAVEd"
37852 msgstr "No se guarda (SAVE) el threadprivate en %L"
37853
37854-#: fortran/resolve.c:12832
37855+#: fortran/resolve.c:12835
37856 #, gcc-internal-format, gfc-internal-format
37857 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
37858 msgstr "El elemento BLOCK DATA '%s' en %L debe estar en COMMON"
37859
37860-#: fortran/resolve.c:12838
37861+#: fortran/resolve.c:12841
37862 #, gcc-internal-format, gfc-internal-format
37863 msgid "DATA array '%s' at %L must be specified in a previous declaration"
37864 msgstr "La matriz DATA '%s' en %L se debe especificar en una declaración previa"
37865
37866-#: fortran/resolve.c:12847
37867+#: fortran/resolve.c:12850
37868 #, gcc-internal-format, gfc-internal-format
37869 msgid "DATA element '%s' at %L cannot have a coindex"
37870 msgstr "El elemento DATA '%s' en %L no puede tener un coíndice"
37871
37872-#: fortran/resolve.c:12861
37873+#: fortran/resolve.c:12864
37874 #, gcc-internal-format, gfc-internal-format
37875 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
37876 msgstr "El elemento DATA '%s' en %L es un puntero y entonces debe ser una matriz completa"
37877
37878-#: fortran/resolve.c:12907
37879+#: fortran/resolve.c:12910
37880 #, gcc-internal-format, gfc-internal-format
37881 msgid "Nonconstant array section at %L in DATA statement"
37882 msgstr "Sección de matriz no constante en %L en la declaración DATA"
37883
37884-#: fortran/resolve.c:12920
37885+#: fortran/resolve.c:12923
37886 #, gcc-internal-format, gfc-internal-format
37887 msgid "DATA statement at %L has more variables than values"
37888 msgstr "La declaración DATA en %L tiene más variables que valores"
37889
37890-#: fortran/resolve.c:13019
37891+#: fortran/resolve.c:13022
37892 #, gcc-internal-format, gfc-internal-format
37893 msgid "start of implied-do loop at %L could not be simplified to a constant value"
37894 msgstr "el inicio del bucle do implícito en %L no se puede simplificar a un valor constante"
37895
37896-#: fortran/resolve.c:13027
37897+#: fortran/resolve.c:13030
37898 #, gcc-internal-format, gfc-internal-format
37899 msgid "end of implied-do loop at %L could not be simplified to a constant value"
37900 msgstr "el final del bucle do implícito en %L no se puede simplificar a un valor constante"
37901
37902-#: fortran/resolve.c:13035
37903+#: fortran/resolve.c:13038
37904 #, gcc-internal-format, gfc-internal-format
37905 msgid "step of implied-do loop at %L could not be simplified to a constant value"
37906 msgstr "el paso del bucle do implícito en %L no se puede simplificar a un valor constante"
37907
37908-#: fortran/resolve.c:13160
37909+#: fortran/resolve.c:13163
37910 #, gcc-internal-format, gfc-internal-format
37911 msgid "DATA statement at %L has more values than variables"
37912 msgstr "La declaración DATA en %L tiene más valores que variables"
37913
37914-#: fortran/resolve.c:13299
37915+#: fortran/resolve.c:13301
37916 #, gcc-internal-format, gfc-internal-format
37917 msgid "Label %d at %L defined but not used"
37918 msgstr "Se define la etiqueta %d en %L pero no se usa"
37919
37920-#: fortran/resolve.c:13304
37921+#: fortran/resolve.c:13306
37922 #, gcc-internal-format, gfc-internal-format
37923 msgid "Label %d at %L defined but cannot be used"
37924 msgstr "Se define la etiqueta %d en %L pero no se puede usar"
37925
37926-#: fortran/resolve.c:13388
37927+#: fortran/resolve.c:13390
37928 #, gcc-internal-format, gfc-internal-format
37929 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
37930 msgstr "La variable de tipo derivado '%s' en %L debe tener el atributo SEQUENCE para ser un objeto EQUIVALENCE"
37931
37932-#: fortran/resolve.c:13397
37933+#: fortran/resolve.c:13399
37934 #, gcc-internal-format, gfc-internal-format
37935 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
37936 msgstr "La variable de tipo derivado '%s' en %L no puede tener componentes ALLOCATABLE que sean un objeto EQUIVALENCE"
37937
37938-#: fortran/resolve.c:13405
37939+#: fortran/resolve.c:13407
37940 #, gcc-internal-format, gfc-internal-format
37941 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
37942 msgstr "La variable de tipo derivado '%s' en %L con inicializadores por defecto no puede ser un objeto EQUIVALENCE con una variable en COMMON"
37943
37944-#: fortran/resolve.c:13421
37945+#: fortran/resolve.c:13423
37946 #, gcc-internal-format, gfc-internal-format
37947 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
37948 msgstr "La variable de tipo derivado '%s' en %L con componente(s) de puntero no puede ser un objeto EQUIVALENCE"
37949
37950-#: fortran/resolve.c:13524
37951+#: fortran/resolve.c:13526
37952 #, gcc-internal-format, gfc-internal-format
37953 msgid "Syntax error in EQUIVALENCE statement at %L"
37954 msgstr "Error sintáctico en la declaración EQUIVALENCE en %L"
37955
37956-#: fortran/resolve.c:13539
37957+#: fortran/resolve.c:13541
37958 #, gcc-internal-format, gfc-internal-format
37959 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
37960 msgstr "Todos o ninguno de los objetos en el conjunto EQUIVALENCE en %L deben tener el atributo PROTECTED"
37961
37962-#: fortran/resolve.c:13551
37963+#: fortran/resolve.c:13553
37964 #, gcc-internal-format, gfc-internal-format
37965 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
37966 msgstr "El miembro de bloque común '%s' en %L no puede ser un objeto EQUIVALENCE en el procedimiento puro '%s'"
37967
37968-#: fortran/resolve.c:13560
37969+#: fortran/resolve.c:13562
37970 #, gcc-internal-format, gfc-internal-format
37971 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
37972 msgstr "La constante nombrada '%s' en %L no puede ser un objeto EQUIVALENCE"
37973
37974-#: fortran/resolve.c:13639
37975+#: fortran/resolve.c:13641
37976 #, gcc-internal-format, gfc-internal-format
37977 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
37978 msgstr "La matriz '%s' en %L con límites que no son constantes no puede ser un objeto EQUIVALENCE"
37979
37980-#: fortran/resolve.c:13650
37981+#: fortran/resolve.c:13652
37982 #, gcc-internal-format, gfc-internal-format
37983 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
37984 msgstr "El componente de estructura '%s' en %L no puede ser un objeto EQUIVALENCE"
37985
37986-#: fortran/resolve.c:13661
37987+#: fortran/resolve.c:13663
37988 #, gcc-internal-format, gfc-internal-format
37989 msgid "Substring at %L has length zero"
37990 msgstr "La subcadena en %L tiene longitud cero"
37991
37992-#: fortran/resolve.c:13704
37993+#: fortran/resolve.c:13706
37994 #, gcc-internal-format, gfc-internal-format
37995 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
37996 msgstr "Fortran 2003: La función PUBLIC '%s' en %L es de tipo derivado PRIVATE '%s'"
37997
37998-#: fortran/resolve.c:13717
37999+#: fortran/resolve.c:13719
38000 #, gcc-internal-format, gfc-internal-format
38001 msgid "ENTRY '%s' at %L has no IMPLICIT type"
38002 msgstr "ENTRY '%s' en %L no tiene tipo IMPLICIT"
38003
38004-#: fortran/resolve.c:13734
38005+#: fortran/resolve.c:13736
38006 #, gcc-internal-format, gfc-internal-format
38007 msgid "User operator procedure '%s' at %L must be a FUNCTION"
38008 msgstr "El procedimiento de operador de usuario '%s' en %L debe ser FUNCTION"
38009
38010-#: fortran/resolve.c:13744
38011+#: fortran/resolve.c:13746
38012 #, gcc-internal-format, gfc-internal-format
38013 msgid "User operator procedure '%s' at %L cannot be assumed character length"
38014 msgstr "El procedimiento de operador de usuario '%s' en %L no puede ser de longitud de carácter asumido"
38015
38016-#: fortran/resolve.c:13752
38017+#: fortran/resolve.c:13754
38018 #, gcc-internal-format, gfc-internal-format
38019 msgid "User operator procedure '%s' at %L must have at least one argument"
38020 msgstr "El procedimiento de operador de usuario '%s' en %L debe tener al menos un argumento"
38021
38022-#: fortran/resolve.c:13766
38023+#: fortran/resolve.c:13768
38024 #, gcc-internal-format, gfc-internal-format
38025 msgid "First argument of operator interface at %L cannot be optional"
38026 msgstr "El primer argumento de la interfaz de operador en %L no puede ser opcional"
38027
38028-#: fortran/resolve.c:13784
38029+#: fortran/resolve.c:13786
38030 #, gcc-internal-format, gfc-internal-format
38031 msgid "Second argument of operator interface at %L cannot be optional"
38032 msgstr "El segundo argumento de la interfaz de operador en %L no puede ser opcional"
38033
38034-#: fortran/resolve.c:13791
38035+#: fortran/resolve.c:13793
38036 #, gcc-internal-format, gfc-internal-format
38037 msgid "Operator interface at %L must have, at most, two arguments"
38038 msgstr "La interfaz de operador en %L debe tener, cuando mucho, dos argumentos"
38039
38040-#: fortran/resolve.c:13867
38041+#: fortran/resolve.c:13869
38042 #, gcc-internal-format, gfc-internal-format
38043 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
38044 msgstr "El procedimiento contenido '%s' en %L de un procedimiento PURE también debe ser PURE"
38045@@ -43008,34 +43003,34 @@
38046 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
38047 msgstr "La magnitud del segundo argumento de ISHFTC excede el BIT_SIZE del primer argumento en %L"
38048
38049-#: fortran/simplify.c:3448 fortran/simplify.c:3580
38050+#: fortran/simplify.c:3451 fortran/simplify.c:3583
38051 #, gcc-internal-format, gfc-internal-format
38052 msgid "DIM argument at %L is out of bounds"
38053 msgstr "El argumento DIM en %L está fuera de los límites"
38054
38055-#: fortran/simplify.c:3751
38056+#: fortran/simplify.c:3754
38057 #, gcc-internal-format, gfc-internal-format
38058 msgid "Argument of LOG at %L cannot be less than or equal to zero"
38059 msgstr "El argumento de LOG en %L no puede ser menor o igual a cero"
38060
38061-#: fortran/simplify.c:3764
38062+#: fortran/simplify.c:3767
38063 #, gcc-internal-format, gfc-internal-format
38064 msgid "Complex argument of LOG at %L cannot be zero"
38065 msgstr "El argumento complejo de LOG en %L no puede ser cero"
38066
38067-#: fortran/simplify.c:3792
38068+#: fortran/simplify.c:3795
38069 #, gcc-internal-format, gfc-internal-format
38070 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
38071 msgstr "El argumento de LOG10 en %L no puede ser menor o igual a cero"
38072
38073 #. Result is processor-dependent.
38074-#: fortran/simplify.c:4240
38075+#: fortran/simplify.c:4243
38076 #, gcc-internal-format, gfc-internal-format
38077 msgid "Second argument MOD at %L is zero"
38078 msgstr "El segundo argumento MOD en %L es cero"
38079
38080 #. Result is processor-dependent.
38081-#: fortran/simplify.c:4251
38082+#: fortran/simplify.c:4254
38083 #, gcc-internal-format, gfc-internal-format
38084 msgid "Second argument of MOD at %L is zero"
38085 msgstr "El segundo argumento de MOD en %L es cero"
38086@@ -43043,47 +43038,47 @@
38087 #. Result is processor-dependent. This processor just opts
38088 #. to not handle it at all.
38089 #. Result is processor-dependent.
38090-#: fortran/simplify.c:4293 fortran/simplify.c:4305
38091+#: fortran/simplify.c:4296 fortran/simplify.c:4308
38092 #, gcc-internal-format, gfc-internal-format
38093 msgid "Second argument of MODULO at %L is zero"
38094 msgstr "El segundo argumento de MODULO en %L es cero"
38095
38096-#: fortran/simplify.c:4380
38097+#: fortran/simplify.c:4383
38098 #, gcc-internal-format, gfc-internal-format
38099 msgid "Result of NEAREST is NaN at %L"
38100 msgstr "El resultado de NEAREST es NaN en %L"
38101
38102-#: fortran/simplify.c:4844
38103+#: fortran/simplify.c:4847
38104 #, gcc-internal-format, gfc-internal-format
38105 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
38106 msgstr "El argumento NCOPIES del intrínseco REPEAT es negativo en %L"
38107
38108-#: fortran/simplify.c:4899
38109+#: fortran/simplify.c:4902
38110 #, gcc-internal-format, gfc-internal-format
38111 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
38112 msgstr "El argumento NCOPIES del intrínseco REPEAT es demasiado grande en %L"
38113
38114-#: fortran/simplify.c:5151
38115+#: fortran/simplify.c:5154
38116 #, gcc-internal-format, gfc-internal-format
38117 msgid "Result of SCALE overflows its kind at %L"
38118 msgstr "El resultado de SCALE desborda su género en %L"
38119
38120-#: fortran/simplify.c:5862
38121+#: fortran/simplify.c:5865
38122 #, gcc-internal-format, gfc-internal-format
38123 msgid "Argument of SQRT at %L has a negative value"
38124 msgstr "El argumento de SQRT en %L tiene un valor negativo"
38125
38126-#: fortran/simplify.c:6173
38127+#: fortran/simplify.c:6176
38128 #, gcc-internal-format, gfc-internal-format
38129 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
38130 msgstr "Fuera de límites en IMAGE_INDEX en %L para la dimensión %d, SUB tiene %ld y el límite inferior de COARRAY es %ld)"
38131
38132-#: fortran/simplify.c:6196
38133+#: fortran/simplify.c:6199
38134 #, gcc-internal-format, gfc-internal-format
38135 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
38136 msgstr "Fuera de límites en IMAGE_INDEX en %L para la dimensión %d, SUB tiene %ld y el límite superior de COARRAY es %ld)"
38137
38138-#: fortran/simplify.c:6613
38139+#: fortran/simplify.c:6616
38140 #, gcc-internal-format, gfc-internal-format
38141 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
38142 msgstr "El carácter '%s' en la cadena en %L no se puede convertir al género de carácter %d"
38143@@ -43452,17 +43447,17 @@
38144 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
38145 msgstr "La constante BOZ en %L es demasiado grande (%ld vs %ld bits)"
38146
38147-#: fortran/trans-array.c:7003
38148+#: fortran/trans-array.c:6997
38149 #, gcc-internal-format, gfc-internal-format
38150 msgid "Creating array temporary at %L for argument '%s'"
38151 msgstr "Se crea una matriz temporal en %L para el argumento '%s'"
38152
38153-#: fortran/trans-array.c:8129
38154+#: fortran/trans-array.c:8123
38155 #, gcc-internal-format
38156 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
38157 msgstr "Posible bicho del frente: Tamaño de matriz diferido sin atributo pointer, allocatable o tipo derivado sin componentes allocatable."
38158
38159-#: fortran/trans-array.c:8626
38160+#: fortran/trans-array.c:8620
38161 #, gcc-internal-format, gfc-internal-format
38162 msgid "bad expression type during walk (%d)"
38163 msgstr "tipo de expresión errónea durante la caminata (%d)"
38164@@ -44072,17 +44067,17 @@
38165 msgid "could not parse hex number"
38166 msgstr "no se puede decodificar el número hexadecimal"
38167
38168-#: lto/lto.c:1010
38169+#: lto/lto.c:1009
38170 #, gcc-internal-format, gfc-internal-format
38171 msgid "unexpected file name %s in linker resolution file. Expected %s"
38172 msgstr "nombre de fichero inesperado %s en el fichero de resolución de enlace. Se esperaba %s"
38173
38174-#: lto/lto.c:1019
38175+#: lto/lto.c:1018
38176 #, gcc-internal-format
38177 msgid "could not parse file offset"
38178 msgstr "no se puede abrir el fichero de desplazamiento"
38179
38180-#: lto/lto.c:1022
38181+#: lto/lto.c:1021
38182 #, gcc-internal-format
38183 msgid "unexpected offset"
38184 msgstr "desplazamiento inesperado"
38185@@ -44092,67 +44087,67 @@
38186 msgid "invalid line in the resolution file"
38187 msgstr "línea inválida en el fichero de resolución"
38188
38189-#: lto/lto.c:1056
38190+#: lto/lto.c:1054
38191 #, gcc-internal-format
38192 msgid "invalid resolution in the resolution file"
38193 msgstr "resolución inválida en el fichero de resolución"
38194
38195-#: lto/lto.c:1062
38196+#: lto/lto.c:1060
38197 #, gcc-internal-format
38198 msgid "resolution sub id "
38199 msgstr "sub id de resolución"
38200
38201-#: lto/lto.c:1157
38202+#: lto/lto.c:1169
38203 #, gcc-internal-format, gfc-internal-format
38204 msgid "cannot read LTO decls from %s"
38205 msgstr "no se pueden leer las decls LTO de %s"
38206
38207-#: lto/lto.c:1261
38208+#: lto/lto.c:1274
38209 #, gcc-internal-format, gfc-internal-format
38210 msgid "Cannot open %s"
38211 msgstr "No se puede abrir %s"
38212
38213-#: lto/lto.c:1282
38214+#: lto/lto.c:1295
38215 #, gcc-internal-format, gfc-internal-format
38216 msgid "Cannot map %s"
38217 msgstr "No se puede mapear %s"
38218
38219-#: lto/lto.c:1293
38220+#: lto/lto.c:1306
38221 #, gcc-internal-format, gfc-internal-format
38222 msgid "Cannot read %s"
38223 msgstr "No se puede leer %s"
38224
38225-#: lto/lto.c:2272
38226+#: lto/lto.c:2285
38227 #, gcc-internal-format
38228 msgid "no LTRANS output list filename provided"
38229 msgstr "no se proporcionó el nombre de fichero de lista de salida TRANS"
38230
38231-#: lto/lto.c:2275
38232+#: lto/lto.c:2288
38233 #, gcc-internal-format
38234 msgid "opening LTRANS output list %s: %m"
38235 msgstr "se abre la lista de salida LTRANS %s: %m"
38236
38237-#: lto/lto.c:2321
38238+#: lto/lto.c:2334
38239 #, gcc-internal-format
38240 msgid "lto_obj_file_open() failed"
38241 msgstr "falló lto_obj_file_open()"
38242
38243-#: lto/lto.c:2347
38244+#: lto/lto.c:2360
38245 #, gcc-internal-format
38246 msgid "writing to LTRANS output list %s: %m"
38247 msgstr "se escribe a la lista de salida LTRANS %s: %m"
38248
38249-#: lto/lto.c:2355
38250+#: lto/lto.c:2368
38251 #, gcc-internal-format
38252 msgid "closing LTRANS output list %s: %m"
38253 msgstr "se cierra la lista de salida LTRANS %s: %m"
38254
38255-#: lto/lto.c:2582
38256+#: lto/lto.c:2595
38257 #, gcc-internal-format
38258 msgid "could not open symbol resolution file: %m"
38259 msgstr "no se puede abrir el fichero de resolución de símbolos: %m"
38260
38261-#: lto/lto.c:2657
38262+#: lto/lto.c:2670
38263 #, gcc-internal-format
38264 msgid "errors during merging of translation units"
38265 msgstr "errores durante la mezcla de unidades de traducción"
38266@@ -45092,6 +45087,12 @@
38267 msgid "creating selector for nonexistent method %qE"
38268 msgstr "se crea un selector para el método %qE que no existe"
38269
38270+#~ msgid "invalid unsafe.Pointer conversion"
38271+#~ msgstr "conversión unsafe.Pointer inválida"
38272+
38273+#~ msgid "both %<const%> and %<constexpr%> cannot be used here"
38274+#~ msgstr "no se pueden usar aquí %<const%> ni %<constexpr%>"
38275+
38276 #~ msgid "floating point constant truncated to integer"
38277 #~ msgstr "se truncó la constante de coma flotante a entero"
38278
38279Index: gcc/po/fr.po
38280===================================================================
9f95000d
AM
38281--- gcc/po/fr.po (.../tags/gcc_4_7_2_release) (wersja 192468)
38282+++ gcc/po/fr.po (.../branches/gcc-4_7-branch) (wersja 192468)
5a87b929
AM
38283@@ -121,7 +121,7 @@
38284 msgstr ""
38285 "Project-Id-Version: GNU gcc 3.4.3\n"
38286 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
38287-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
38288+"POT-Creation-Date: 2012-09-19 14:50+0000\n"
38289 "PO-Revision-Date: 2008-04-23 19:30+0000\n"
38290