summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2011-06-12 20:56:57 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-14 15:29:15 +0100
commitec9b6d061b8495b9316ae90e5a71a499ef2873ee (patch)
treedc922c9ddd98f937eb2095b07f6c3b5043e3a491 /meta/recipes-devtools
parentfbc60cc5ba2284bfcaea8c82001a49b7795cc2a2 (diff)
downloadpoky-ec9b6d061b8495b9316ae90e5a71a499ef2873ee.tar.gz
gcc-4.6.0: Bring in patches from FSF 4.6 branch
This brings in new patches from 4.6 release branch updates the comment section of existing branch to not contain patch numbers. Tested build on qemu for arm ppc mips x86 and x86_64 (From OE-Core rev: 3968f33b6542cf20cf63cf49bfbc033bd2486295) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0002-Backport-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0003-Backport-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0004-Backport-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0005-Backport-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0006-Backport-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0007-Backport-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0008-2011-03-26-Paolo-Carlini-paolo.carlini-oracle.com.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0009-Backport-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0012-2011-03-27-Jonathan-Wakely-jwakely.gcc-gmail.com.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0014-2011-03-28-Richard-Guenther-rguenther-suse.de.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0015-gcc.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0016-Backport-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0017-libgfortran.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0019-2011-03-29-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0020-config-rx-rx.h-LABEL_ALIGN_AFTER_BARRIER-Define.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0021-c.opt-Add-std-c-03.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0022-PR-c-47570.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0023-PR-c-47504.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0024-except.c-build_noexcept_spec-Call-cxx_constant_value.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0025-c-family.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0026-decl2.c-cp_check_const_attributes-New.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0027-Core-1148.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0028-PR-c-48313.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0029-PR-c-47999.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0030-pt.c-build_non_dependent_expr-Keep-dereferences-outs.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0031-call.c-reference_binding-Allow-direct-binding-to-an-.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0032-Core-1232.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0033-semantics.c-is_valid_constexpr_fn-Specify-input-loca.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0034-PR-c-48296.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0035-PR-c-48166.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0037-config-alpha-alpha.c-alpha_sr_alias_set-Don-t-define.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0038-PR-c-48319.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0039-PR-preprocessor-48248.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0040-PR-debug-48253.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0042-PR-c-48265.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0043-Fix-a-typo-in-FLOAT_SSE_REGS.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0044-PR-c-48281.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0045-PR-c-48369.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0046-PR-c-48212.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0048-2011-03-31-Richard-Guenther-rguenther-suse.de.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0049-PR-target-48142.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0050-PR-target-16292.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0051-PR-c-48280.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0053-Merge-r171807-from-trunk-to-the-4.6-release-branch-t.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0054-Backport-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0056-config-spu-t-spu-elf-dp-bit.c-Use-instead-of.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0058-2011-04-02-Jonathan-Wakely-redi-gcc.gnu.org.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0060-be.po-da.po-de.po-el.po-es.po-fi.po-fr.po-id.po-ja.p.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0061-be.po-ca.po-da.po-de.po-el.po-es.po-fi.po-fr.po-id.p.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0063-gfortran.dg-bessel_6.f90-Use-dg-add-options-ieee.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0064-2011-04-04-Janus-Weil-janus-gcc.gnu.org.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0065-es.po-Update.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0067-The-parameters-for-functions-from-the-frexp-family-w.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0068-2011-04-05-Richard-Guenther-rguenther-suse.de.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0069-stor-layout.c-self_referential_size-Fix-2010-07-13-c.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0070-de.po-Update.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0072-gcov-io.c-Use-GCC-Runtime-Library-Exception.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0073-Backported-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0074-PR-debug-48466.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0076-Merge-r172073-from-trunk-to-the-4.6-release-branch-t.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0077-Backport-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0078-de.po-Update.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0079-PR-debug-48343.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0080-PR-fortran-48117.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0081-config-i386-sse.md-Update-copyright-year.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0082-gcc.dg-torture-stackalign-non-local-goto-5.c-Fix-for.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0084-PR-tree-optimization-48377.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0085-de.po-Update.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0086-PR-c-48450.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0087-semantics.c-finish_decltype_type-Add-complain-parm.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0088-PR-c-48452.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0089-PR-c-48468.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0090-PR-c-48500.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0091-2011-04-08-Steven-G.-Kargl-kargl-gcc.gnu.org.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0092-PR-testsuite-48506.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0094-Bail-out-rather-than-crashing-in-array_type_nelts-if.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0095-PR-c-48528.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0097-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0098-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0099-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0101-Backport-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0102-common.opt-Tbss-Tdata-Ttext-New-options.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0104-PR-c-48523.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0105-PR-c-48534.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0106-PR-c-48517.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0107-2011-04-12-Allan-McRae-allan-archlinux.org.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0108-config-v850-v850.c-expand_prologue-Do-not-use-the-CA.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0109-PR-rtl-optimization-48549.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0110-2011-04-12-Martin-Jambor-mjambor-suse.cz.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0112-Fix-PR-target-48090.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0113-Fix-PR-c-48574.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0114-PR-c-48570.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0115-PR-middle-end-48591.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0116-2011-04-13-Paul-Thomas-pault-gcc.gnu.org.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0117-PR-c-48594.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0118-sv.po-Update.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0119-Backport-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0122-PR-target-48605.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0123-PR-target-48614.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0124-2011-04-15-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0125-2011-04-15-Takaya-Saito-gintensubaru-gmail.com.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0126-2011-04-15-Paolo-Carlini-paolo.carlini-oracle.com.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0127-testsuite-libjava.jni-jni.exp-gcj_jni_get_cxxflags_i.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0129-2011-04-15-Daniel-Krugler-daniel.kruegler-googlemail.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0130-2011-04-15-Daniel-Krugler-daniel.kruegler-googlemail.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0132-PR-lto-48538.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0133-config-sparc-freebsd.h-CPP_CPU64_DEFAULT_SPEC-Replac.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0134-2011-04-17-Daniel-Krugler-daniel.kruegler-googlemail.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0135-doc-passes.texi-Fill-crossref-nodes.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0136-gcc-interface-Make-lang.in-gnatbind-Replace-ALL_CFLA.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0138-PR-tree-optimization-48616.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0139-2011-04-18-Richard-Guenther-rguenther-suse.de.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0140-PR-47571-Fix-weakref-trickery-breakage-on-alpha-dec-.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0141-dwarf2out.c-is_redundant_typedef-Add-inline-to-proto.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0142-PR-c-48632.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0143-PR-middle-end-48661.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0144-PR-c-48537.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0146-PR-testsuite-48675.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0147-2011-04-18-Richard-Guenther-rguenther-suse.de.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0149-PR-target-48678.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0151-PR-c-46304.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0152-bootstrap-lto.mk-Remove-obsolete-requirement.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0153-2011-04-20-Richard-Guenther-rguenther-suse.de.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0154-Backport-from-mainline.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0155-PR-tree-optimization-48611.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0156-PR-c-48657.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0157-PR-target-48288.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0159-PR-c-48594.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0160-semantics.c-finish_compound_literal-Don-t-put-an-arr.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0161-gimple.c-walk_gimple_op-GIMPLE_CALL-Fix-couple-of-ov.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0162-2011-04-21-Richard-Guenther-rguenther-suse.de.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0163-de.po-Update.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0164-PR-target-48708.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0166-PR-c-48716.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0167-PR-target-48723.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0168-PR-tree-optimization-48717.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0170-Revert.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0171-PR-c-48685.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0172-gcc.dg-pr48616.c-dg-options-Add-fno-common-to-option.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0173-2011-04-23-Jonathan-Wakely-jwakely.gcc-gmail.com.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0174-PR-preprocessor-48740.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0176-2011-04-24-Paolo-Carlini-paolo.carlini-oracle.com.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0178-PR-c-48707.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0180-2011-04-26-Tobias-Burnus-burnus-net-b.de.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0181-2011-04-26-Richard-Guenther-rguenther-suse.de.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0182-PR-tree-optimization-48734.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0183-PR-debug-48768.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0184-de.po-Update.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0185-PR-c-48726.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0187-PR-c-42687.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0188-PR-c-48742.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0189-gcc.dg-20020312-2.c-Add-definition-for-RX.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0190-PR-c-48046.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0192-PR-middle-end-48597.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0193-2011-04-28-Tobias-Burnus-burnus-net-b.de.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0194-2011-04-28-Tobias-Burnus-burnus-net-b.de.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0195-Fix-PR-c-48656.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0196-Backport-4.7-patchtes-to-4.6.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0198-2011-04-29-Tobias-Burnus-burnus-net-b.de.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0199-2011-04-29-Paolo-Carlini-paolo.carlini-oracle.com.patch3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0201-PR-tree-optimization-48809.patch199
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0202-2011-04-30-Paul-Thomas-pault-gcc.gnu.org.patch198
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0203-2011-04-30-Jerry-DeLisle-jvdelisle-gcc.gnu.org.patch108
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0205-2011-04-30-Doug-Kwan-dougkwan-google.com.patch38
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0207-Backport-from-mainline.patch132
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0209-PR-target-48723.patch26
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0210-2011-05-03-Richard-Guenther-rguenther-suse.de.patch45
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0211-PR-target-48774.patch78
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0212-2011-05-03-Paolo-Carlini-paolo.carlini-oracle.com.patch462
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0214-include-ext-sso_string_base.h-__sso_string_base-_M_c.patch178
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0215-config-i386-i386.md-movdi_internal_rex64-TYPE_SSEMOV.patch244
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0216-2011-05-04-Steven-G.-Kargl-kargl-gcc.gnu.org.patch189
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0218-PR-c-48749.patch59
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0219-Backport-from-mainline.patch145
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0220-gcc.patch55
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0221-PR-ada-48844.patch182
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0222-PR-c-40975.patch55
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0223-Add-missing-break-for-OPT_mfpu_-case.patch21
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0224-2011-05-06-Jonathan-Wakely-jwakely.gcc-gmail.com.patch5993
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0226-Fix-PR-c-48838.patch112
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0227-PR-fortran-48894.patch136
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0228-2011-05-06-Ramana-Radhakrishnan-ramana.radhakrishnan.patch28
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0229-2011-05-06-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch58
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0230-PR-target-48900.patch44
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0231-config-i386-i386.md-movdf_internal_nointeger-Apply.patch23
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0232-PR-c-48089.patch77
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0233-PR-c-48446.patch183
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0234-PR-c-48911.patch96
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0235-PR-c-48909.patch73
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0239-var-tracking.c-find_mem_expr_in_1pdv-Fix-thinko.patch49
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0240-Fix-PR-c-48574.patch63
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0241-2011-05-09-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch26
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0242-2011-05-09-Paolo-Carlini-paolo.carlini-oracle.com.patch44
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0244-PR-tree-optimization-48611.patch77
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0245-Backported-from-mainline.patch73
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0246-config-rx-rx.h-JUMP_ALIGN-LABEL_ALIGN-LOOP_ALIGN-Def.patch76
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0248-config-rx-rx.c-rx_memory_move_cost-Reduce-the-cost-f.patch23
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0249-Fix-PRs-48857-48495.patch216
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0251-gcc-cp-ChangeLog.patch55
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0252-PR-debug-48159.patch198
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0253-2011-05-11-Tobias-Burnus-burnus-net-b.de.patch159
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0255-pt.c-build_non_dependent_expr-Don-t-check-null_ptr_c.patch24
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0256-config-rx-rx.h-HAVE_PRE_DECREMENT-Fix-typo.patch59
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0257-zh_CN.po-Update.patch37
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0258-PR-debug-48967.patch134
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0259-2011-05-12-Richard-Guenther-rguenther-suse.de.patch100
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0260-PR-tree-optimization-48975.patch61
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0263-zh_CN.po-Update.patch5328
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0266-config-i386-i386.md-movxf_internal-Disable-CONST_DOU.patch127
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0267-PR-preprocessor-48677.patch31
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0269-PR-target-48986.patch40
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0270-config-rx-rx.md-Add-peephole-to-remove-redundant-ext.patch126
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0271-config-rx-rx.c-rx_memory_move_cost-Include-cost-of-r.patch28
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0273-PR-tree-optimization-49000.patch39
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0274-PR-tree-optimization-49000.patch52
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0275-2011-05-18-Richard-Guenther-rguenther-suse.de.patch138
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0276-2011-05-18-Richard-Guenther-rguenther-suse.de.patch111
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0277-2011-05-18-Richard-Guenther-rguenther-suse.de.patch81
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0278-PR-tree-optimization-49039.patch217
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0279-Properly-handle-256bit-load-cast.patch95
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0281-PR-c-48869.patch460
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0282-gcc.c-torture-execute-960321-1.x-Remove.patch30
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0283-zh_CN.po-Update.patch1529
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0284-PR-c-49043.patch50
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0285-2011-05-19-Uros-Bizjak-ubizjak-gmail.com.patch67
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0287-PR-tree-optimization-49073.patch121
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0288-2011-05-20-Richard-Guenther-rguenther-suse.de.patch117
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0289-PR-bootstrap-49086.patch35
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0290-PR-c-48873.patch45
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0291-PR-c-48736.patch40
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0292-PR-c-48745.patch59
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0293-semantics.c-register_constexpr_fundef-Add-to-hash-ta.patch81
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0294-semantics.c-validate_constexpr_fundecl-Check-DECL_TE.patch42
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0295-PR-c-48948.patch188
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0296-DR-1073.patch156
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0298-In-gcc-objc.patch31
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0299-PR-c-49066.patch34
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0300-config-sparc-sparc.c-eligible_for_return_delay-Do-no.patch65
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0301-config-sparc-sparc.md-setjmp-Handle-PIC-mode-and-use.patch56
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0303-PR-c-48780.patch49
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0304-PR-c-48945.patch45
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0305-PR-middle-end-49029.patch52
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0306-PR-target-49104.patch63
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0307-config.gcc-sparc-elf-Add-sparc-t-crtin.patch150
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0308-PR-c-48647.patch97
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0309-2011-05-22-Jonathan-Wakely-jwakely.gcc-gmail.com.patch185
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0311-PR-middle-end-48973.patch101
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0312-PR-c-49120.patch50
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0313-PR-debug-49032.patch90
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0314-PR-lto-49123.patch49
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0316-Always-add-mno-XXX-for-march-native.patch98
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0317-PR-target-49133.patch93
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0318-config-sparc-sparc.c-sparc_option_override-If-not-se.patch27
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0320-PR-c-48617.patch37
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0321-PR-c-47544.patch57
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0322-PR-c-47336.patch53
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0323-PR-c-47263.patch45
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0324-PR-c-49105.patch75
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0325-PR-c-48884.patch86
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0326-PR-c-49042.patch63
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0327-PR-c-49136.patch142
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0328-In-libobjc.patch81
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0329-2011-05-24-Paolo-Carlini-paolo.carlini-oracle.com.patch62
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0330-PR-tree-optimization-44897.patch24
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0331-PR-target-49128.patch23
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0332-PR-c-48292.patch71
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0333-PR-c-45080.patch59
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0334-PR-c-45418.patch50
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0335-PR-c-48935.patch76
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0336-gcc.target-arm-fp16-compile-none-1.c-Update-expected.patch74
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0337-PR-c-47184.patch64
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0338-PR-c-46696.patch48
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0339-PR-c-46245.patch88
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0340-PR-c-46145.patch37
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0341-PR-c-45698.patch44
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0342-PR-c-44311.patch125
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0343-gcc-cp-ChangeLog.patch207
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0344-2011-05-25-Paolo-Carlini-paolo.carlini-oracle.com.patch76
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0345-2011-05-25-Paolo-Carlini-paolo.carlini-oracle.com.patch78
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0347-PR-c-45401.patch51
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0348-PR-c-49156.patch62
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0349-PR-tree-optimization-49161.patch200
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0350-PR-c-49165.patch89
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0351-PR-target-44643.patch44
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0352-PR-c-48424.patch105
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0354-config-rs6000-rs6000.c-rs6000_register_move_cost-Mak.patch28
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0355-2011-05-26-Paul-Thomas-pault-gcc.gnu.org.patch168
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0357-PR-c-48657.patch149
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0358-PR-c-49165.patch89
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0359-PR-c-48284.patch40
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0360-PR-c-47277.patch38
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0362-PR-c-47049.patch62
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0364-2011-05-29-Richard-Guenther-rguenther-suse.de.patch68
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0365-gcc.patch125
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0366-gcc.patch52
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0367-Add-PR-target-43700-to-last-changelog-entry.patch7
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0369-PR-target-45263.patch71
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0370-2011-05-30-Richard-Guenther-rguenther-suse.de.patch69
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0371-PR-c-49223.patch99
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0373-2011-05-31-Richard-Guenther-rguenther-suse.de.patch72
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0374-2011-05-31-Richard-Guenther-rguenther-suse.de.patch64
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0375-Fix-fma4_fmsubadd-and-fma4_fmaddsub-mode-suffixes.patch36
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0376-2011-05-31-Thomas-Koenig-tkoenig-gcc.gnu.org.patch237
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0379-PR-tree-optimization-49093.patch61
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0380-2011-06-02-Steven-G.-Kargl-kargl-gcc.gnu.org.patch139
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0382-PR-c-49276.patch62
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0384-PR-tree-optimization-49038.patch367
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0385-PR-debug-47590.patch490
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0386-2011-06-04-Jonathan-Wakely-jwakely.gcc-gmail.com.patch29
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0388-PR-target-49186.patch48
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0389-config-sparc-sparc.c-output_return-Fix-thinko-in-the.patch45
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0391-PR-c-49134.patch24
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0392-2011-06-06-Richard-Guenther-rguenther-suse.de.patch267
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0393-2011-06-06-Mikael-Pettersson-mikpe-it.uu.se.patch59
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0394-2011-06-06-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch27
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0395-PR-c-49264.patch134
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0396-PR-fortran-49268.patch88
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0397-config-rs6000-rs6000.h-REG_CLASS_CONTENTS-Remove-vr0.patch23
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0398-PR-c-49298.patch37
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0400-PR-gcov-profile-49299.patch158
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0401-PR-c-48780.patch63
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0403-PR-target-49238.patch53
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0404-Support-unknown-Intel-family-0x6-CPUs.patch48
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0406-config-sparc-sparc.md-return_internal-Adjust-length-.patch24
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0408-semantics.c-potential_constant_expression_1-Handle-d.patch35
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0409-semantics.c-finish_compound_literal-Set-TREE_HAS_CON.patch22
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0410-lib-target-supports.exp.patch34
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0411-gcc-testsuite-gcc.target-arm-20090811-1.c-Skip-for-i.patch79
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0413-config-i386-sse.md-vec_dupv4sf-Correct-mode-of-force.patch50
-rw-r--r--meta/recipes-devtools/gcc/gcc-4_6-branch-backports.inc170
330 files changed, 28144 insertions, 321 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0002-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0002-Backport-from-mainline.patch
index 0d8f269a10..4a475d6526 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0002-Backport-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0002-Backport-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From af3385141f9bfe32ab89165bfc98a7ea2ff19278 Mon Sep 17 00:00:00 2001 1From af3385141f9bfe32ab89165bfc98a7ea2ff19278 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 26 Mar 2011 09:19:36 +0000 3Date: Sat, 26 Mar 2011 09:19:36 +0000
5Subject: [PATCH 002/200] Backport from mainline 4Subject: [PATCH] Backport from mainline
6 2011-03-17 Jakub Jelinek <jakub@redhat.com> 5 2011-03-17 Jakub Jelinek <jakub@redhat.com>
7 6
8 PR rtl-optimization/48141 7 PR rtl-optimization/48141
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0003-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0003-Backport-from-mainline.patch
index f9e806c8f2..c8c245fbe9 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0003-Backport-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0003-Backport-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 540b311d6b6aa2e50a9feb45255361e498bb5198 Mon Sep 17 00:00:00 2001 1From 540b311d6b6aa2e50a9feb45255361e498bb5198 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 26 Mar 2011 09:20:34 +0000 3Date: Sat, 26 Mar 2011 09:20:34 +0000
5Subject: [PATCH 003/200] Backport from mainline 4Subject: [PATCH] Backport from mainline
6 2011-03-17 Jakub Jelinek <jakub@redhat.com> 5 2011-03-17 Jakub Jelinek <jakub@redhat.com>
7 6
8 PR rtl-optimization/48141 7 PR rtl-optimization/48141
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0004-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0004-Backport-from-mainline.patch
index c6f1c9011f..3c4332af8f 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0004-Backport-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0004-Backport-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 125ee3cf946de59472c02ffd792aca4f1045669f Mon Sep 17 00:00:00 2001 1From 125ee3cf946de59472c02ffd792aca4f1045669f Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 26 Mar 2011 09:21:34 +0000 3Date: Sat, 26 Mar 2011 09:21:34 +0000
5Subject: [PATCH 004/200] Backport from mainline 4Subject: [PATCH] Backport from mainline
6 2011-03-20 Jakub Jelinek <jakub@redhat.com> 5 2011-03-20 Jakub Jelinek <jakub@redhat.com>
7 6
8 PR rtl-optimization/48156 7 PR rtl-optimization/48156
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0005-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0005-Backport-from-mainline.patch
index 200b3b1b88..8f2eb504b3 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0005-Backport-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0005-Backport-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 5bc59e25607b755798008d5e0d79ca4cea6711ed Mon Sep 17 00:00:00 2001 1From 5bc59e25607b755798008d5e0d79ca4cea6711ed Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 26 Mar 2011 09:23:01 +0000 3Date: Sat, 26 Mar 2011 09:23:01 +0000
5Subject: [PATCH 005/200] Backport from mainline 4Subject: [PATCH] Backport from mainline
6 2011-03-20 Jakub Jelinek <jakub@redhat.com> 5 2011-03-20 Jakub Jelinek <jakub@redhat.com>
7 6
8 PR c/42544 7 PR c/42544
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0006-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0006-Backport-from-mainline.patch
index c042a100bc..bf1964dba5 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0006-Backport-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0006-Backport-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From b6ed53c51ca6090f3f422e6223e8dc3b150f0393 Mon Sep 17 00:00:00 2001 1From b6ed53c51ca6090f3f422e6223e8dc3b150f0393 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 26 Mar 2011 09:24:06 +0000 3Date: Sat, 26 Mar 2011 09:24:06 +0000
5Subject: [PATCH 006/200] Backport from mainline 4Subject: [PATCH] Backport from mainline
6 2011-03-24 Jakub Jelinek <jakub@redhat.com> 5 2011-03-24 Jakub Jelinek <jakub@redhat.com>
7 6
8 PR debug/48204 7 PR debug/48204
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0007-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0007-Backport-from-mainline.patch
index 4b7298759d..3bd42f3c6e 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0007-Backport-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0007-Backport-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From d4d74232bca4968da87cd8157cc2d6139115946e Mon Sep 17 00:00:00 2001 1From d4d74232bca4968da87cd8157cc2d6139115946e Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 26 Mar 2011 09:24:53 +0000 3Date: Sat, 26 Mar 2011 09:24:53 +0000
5Subject: [PATCH 007/200] Backport from mainline 4Subject: [PATCH] Backport from mainline
6 2011-03-25 Jakub Jelinek <jakub@redhat.com> 5 2011-03-25 Jakub Jelinek <jakub@redhat.com>
7 6
8 * printf/printf_fp.c (__quadmath_printf_fp): Use memcpy instead of 7 * printf/printf_fp.c (__quadmath_printf_fp): Use memcpy instead of
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0008-2011-03-26-Paolo-Carlini-paolo.carlini-oracle.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0008-2011-03-26-Paolo-Carlini-paolo.carlini-oracle.com.patch
index 4b9955812e..373b14cfb6 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0008-2011-03-26-Paolo-Carlini-paolo.carlini-oracle.com.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0008-2011-03-26-Paolo-Carlini-paolo.carlini-oracle.com.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 6bb9234e718d4b75a9a1e63d523d08c3392ba55f Mon Sep 17 00:00:00 2001 1From 6bb9234e718d4b75a9a1e63d523d08c3392ba55f Mon Sep 17 00:00:00 2001
3From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 26 Mar 2011 10:02:34 +0000 3Date: Sat, 26 Mar 2011 10:02:34 +0000
5Subject: [PATCH 008/200] 2011-03-26 Paolo Carlini <paolo.carlini@oracle.com> 4Subject: [PATCH] 2011-03-26 Paolo Carlini <paolo.carlini@oracle.com>
6 5
7 * include/bits/random.h (negative_binomial_distribution<>:: 6 * include/bits/random.h (negative_binomial_distribution<>::
8 negative_binomial_distribution(_IntType, double), 7 negative_binomial_distribution(_IntType, double),
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0009-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0009-Backport-from-mainline.patch
index 9c0ad0e8a1..9f9c321499 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0009-Backport-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0009-Backport-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 8c9cc2d03061ea065b70695ef4903a0390c01fb8 Mon Sep 17 00:00:00 2001 1From 8c9cc2d03061ea065b70695ef4903a0390c01fb8 Mon Sep 17 00:00:00 2001
3From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 26 Mar 2011 18:41:02 +0000 3Date: Sat, 26 Mar 2011 18:41:02 +0000
5Subject: [PATCH 009/200] Backport from mainline: 4Subject: [PATCH] Backport from mainline:
6 2011-03-24 Uros Bizjak <ubizjak@gmail.com> 5 2011-03-24 Uros Bizjak <ubizjak@gmail.com>
7 6
8 PR target/48237 7 PR target/48237
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0012-2011-03-27-Jonathan-Wakely-jwakely.gcc-gmail.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0012-2011-03-27-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
index 14f29cb9e1..1d8de221c8 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0012-2011-03-27-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0012-2011-03-27-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From e2965db317ee7efd916963c87b9c34023eefda54 Mon Sep 17 00:00:00 2001 1From e2965db317ee7efd916963c87b9c34023eefda54 Mon Sep 17 00:00:00 2001
3From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sun, 27 Mar 2011 20:08:35 +0000 3Date: Sun, 27 Mar 2011 20:08:35 +0000
5Subject: [PATCH 012/200] 2011-03-27 Jonathan Wakely <jwakely.gcc@gmail.com> 4Subject: [PATCH] 2011-03-27 Jonathan Wakely <jwakely.gcc@gmail.com>
6 5
7 PR other/48179 6 PR other/48179
8 PR other/48221 7 PR other/48221
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0014-2011-03-28-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0014-2011-03-28-Richard-Guenther-rguenther-suse.de.patch
index e5ae726cde..f2a48eb360 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0014-2011-03-28-Richard-Guenther-rguenther-suse.de.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0014-2011-03-28-Richard-Guenther-rguenther-suse.de.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 2631216d2fedc5339a5edcac64db1ab5d9269498 Mon Sep 17 00:00:00 2001 1From 2631216d2fedc5339a5edcac64db1ab5d9269498 Mon Sep 17 00:00:00 2001
3From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 28 Mar 2011 10:14:34 +0000 3Date: Mon, 28 Mar 2011 10:14:34 +0000
5Subject: [PATCH 014/200] 2011-03-28 Richard Guenther <rguenther@suse.de> 4Subject: [PATCH] 2011-03-28 Richard Guenther <rguenther@suse.de>
6 5
7 Backport from mainline 6 Backport from mainline
8 2011-03-24 Richard Guenther <rguenther@suse.de> 7 2011-03-24 Richard Guenther <rguenther@suse.de>
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0015-gcc.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0015-gcc.patch
index 2ad39f42ac..314ad3d751 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0015-gcc.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0015-gcc.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 2fe380ffa4f1ca0fba1e4915df127992eb977569 Mon Sep 17 00:00:00 2001 1From 2fe380ffa4f1ca0fba1e4915df127992eb977569 Mon Sep 17 00:00:00 2001
3From: rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 28 Mar 2011 10:22:57 +0000 3Date: Mon, 28 Mar 2011 10:22:57 +0000
5Subject: [PATCH 015/200] gcc/ 4Subject: [PATCH] gcc/
6 PR target/47553 5 PR target/47553
7 * config/arm/predicates.md (neon_lane_number): Accept 0..15. 6 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0016-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0016-Backport-from-mainline.patch
index d8945d6406..5f1cd4ffba 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0016-Backport-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0016-Backport-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From c471cbe03c049ed4a97708936342e4dd28606d22 Mon Sep 17 00:00:00 2001 1From c471cbe03c049ed4a97708936342e4dd28606d22 Mon Sep 17 00:00:00 2001
3From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 28 Mar 2011 16:46:27 +0000 3Date: Mon, 28 Mar 2011 16:46:27 +0000
5Subject: [PATCH 016/200] Backport from mainline: 4Subject: [PATCH] Backport from mainline:
6 2011-03-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5 2011-03-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7 6
8 PR testsuite/48251 7 PR testsuite/48251
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0017-libgfortran.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0017-libgfortran.patch
index 5464c624a0..10b071b302 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0017-libgfortran.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0017-libgfortran.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From d70e14fe2c9c3fc20d9bc1dca7cfcc3d6bb1301e Mon Sep 17 00:00:00 2001 1From d70e14fe2c9c3fc20d9bc1dca7cfcc3d6bb1301e Mon Sep 17 00:00:00 2001
3From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 28 Mar 2011 17:09:27 +0000 3Date: Mon, 28 Mar 2011 17:09:27 +0000
5Subject: [PATCH 017/200] libgfortran: 4Subject: [PATCH] libgfortran:
6 backport from mainline: 5 backport from mainline:
7 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8 PR bootstrap/48135 7 PR bootstrap/48135
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0019-2011-03-29-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0019-2011-03-29-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch
index 9614fe74a2..cf5446051a 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0019-2011-03-29-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0019-2011-03-29-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 6f57329da3c7308ccf6b1740ead898d668ec24f9 Mon Sep 17 00:00:00 2001 1From 6f57329da3c7308ccf6b1740ead898d668ec24f9 Mon Sep 17 00:00:00 2001
3From: krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 11:57:40 +0000 3Date: Tue, 29 Mar 2011 11:57:40 +0000
5Subject: [PATCH 019/200] 2011-03-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 4Subject: [PATCH] 2011-03-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6 5
7 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS 6 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
8 for invalid symbolic addresses. 7 for invalid symbolic addresses.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0020-config-rx-rx.h-LABEL_ALIGN_AFTER_BARRIER-Define.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0020-config-rx-rx.h-LABEL_ALIGN_AFTER_BARRIER-Define.patch
index a929828ef7..69767411fb 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0020-config-rx-rx.h-LABEL_ALIGN_AFTER_BARRIER-Define.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0020-config-rx-rx.h-LABEL_ALIGN_AFTER_BARRIER-Define.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 04688242805dcf2a1e9c8948a3d15611d88c1520 Mon Sep 17 00:00:00 2001 1From 04688242805dcf2a1e9c8948a3d15611d88c1520 Mon Sep 17 00:00:00 2001
3From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 12:27:07 +0000 3Date: Tue, 29 Mar 2011 12:27:07 +0000
5Subject: [PATCH 020/200] * config/rx/rx.h (LABEL_ALIGN_AFTER_BARRIER): Define. 4Subject: [PATCH] * config/rx/rx.h (LABEL_ALIGN_AFTER_BARRIER): Define.
6 (ASM_OUTPUT_MAX_SKIP): Define. 5 (ASM_OUTPUT_MAX_SKIP): Define.
7 * config/rx/predicates.md (rx_zs_comparison_operator): Do not 6 * config/rx/predicates.md (rx_zs_comparison_operator): Do not
8 allow LT aor GE comparisons. 7 allow LT aor GE comparisons.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0021-c.opt-Add-std-c-03.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0021-c.opt-Add-std-c-03.patch
index 0b8d114f52..3860674d6a 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0021-c.opt-Add-std-c-03.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0021-c.opt-Add-std-c-03.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From e8c1376d80e89383a6eff16349bf2071b571a47f Mon Sep 17 00:00:00 2001 1From e8c1376d80e89383a6eff16349bf2071b571a47f Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:23:59 +0000 3Date: Tue, 29 Mar 2011 14:23:59 +0000
5Subject: [PATCH 021/200] * c.opt: Add -std=c++03. 4Subject: [PATCH] * c.opt: Add -std=c++03.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171662 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171662 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0022-PR-c-47570.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0022-PR-c-47570.patch
index 7f2e35ad51..7c21a569c5 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0022-PR-c-47570.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0022-PR-c-47570.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 1d1e50e7f9e7511a01ee95d7cffd8311c9b84d8b Mon Sep 17 00:00:00 2001 1From 1d1e50e7f9e7511a01ee95d7cffd8311c9b84d8b Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:24:09 +0000 3Date: Tue, 29 Mar 2011 14:24:09 +0000
5Subject: [PATCH 022/200] PR c++/47570 4Subject: [PATCH] PR c++/47570
6 * semantics.c (cxx_eval_constant_expression) [COMPOUND_EXPR]: Don't 5 * semantics.c (cxx_eval_constant_expression) [COMPOUND_EXPR]: Don't
7 use the generic binary expression handling. 6 use the generic binary expression handling.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0023-PR-c-47504.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0023-PR-c-47504.patch
index dc707ee1be..84c961d95e 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0023-PR-c-47504.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0023-PR-c-47504.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 4ebec68ee3aee90ba13a4c4bc70afbb4a613468b Mon Sep 17 00:00:00 2001 1From 4ebec68ee3aee90ba13a4c4bc70afbb4a613468b Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:24:19 +0000 3Date: Tue, 29 Mar 2011 14:24:19 +0000
5Subject: [PATCH 023/200] PR c++/47504 4Subject: [PATCH] PR c++/47504
6 * semantics.c (cxx_eval_constant_expression) [NOP_EXPR]: Don't let 5 * semantics.c (cxx_eval_constant_expression) [NOP_EXPR]: Don't let
7 the conversion set TREE_OVERFLOW. 6 the conversion set TREE_OVERFLOW.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0024-except.c-build_noexcept_spec-Call-cxx_constant_value.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0024-except.c-build_noexcept_spec-Call-cxx_constant_value.patch
index bb21bb0e34..6771fad9ef 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0024-except.c-build_noexcept_spec-Call-cxx_constant_value.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0024-except.c-build_noexcept_spec-Call-cxx_constant_value.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 3a987d8e4a8c885fe7fc54595ebdd82d5291e1e7 Mon Sep 17 00:00:00 2001 1From 3a987d8e4a8c885fe7fc54595ebdd82d5291e1e7 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:24:30 +0000 3Date: Tue, 29 Mar 2011 14:24:30 +0000
5Subject: [PATCH 024/200] * except.c (build_noexcept_spec): Call cxx_constant_value after 4Subject: [PATCH] * except.c (build_noexcept_spec): Call cxx_constant_value after
6 converting to bool. 5 converting to bool.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171665 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171665 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0025-c-family.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0025-c-family.patch
index 321bcb183c..385e0d6943 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0025-c-family.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0025-c-family.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 21e7558c6e06c35620e80478f4e6b5ccd1c78aa9 Mon Sep 17 00:00:00 2001 1From 21e7558c6e06c35620e80478f4e6b5ccd1c78aa9 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:24:42 +0000 3Date: Tue, 29 Mar 2011 14:24:42 +0000
5Subject: [PATCH 025/200] c-family/ 4Subject: [PATCH] c-family/
6 * c.opt (fconstexpr-depth): New option. 5 * c.opt (fconstexpr-depth): New option.
7 cp/ 6 cp/
8 * semantics.c (push_cx_call_context): Return bool. 7 * semantics.c (push_cx_call_context): Return bool.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0026-decl2.c-cp_check_const_attributes-New.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0026-decl2.c-cp_check_const_attributes-New.patch
index 7cee35b246..96295daa09 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0026-decl2.c-cp_check_const_attributes-New.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0026-decl2.c-cp_check_const_attributes-New.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 87e73453e8135e72f592c1d7c84da942e7a1e308 Mon Sep 17 00:00:00 2001 1From 87e73453e8135e72f592c1d7c84da942e7a1e308 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:24:59 +0000 3Date: Tue, 29 Mar 2011 14:24:59 +0000
5Subject: [PATCH 026/200] * decl2.c (cp_check_const_attributes): New. 4Subject: [PATCH] * decl2.c (cp_check_const_attributes): New.
6 (cplus_decl_attributes): Call cp_check_const_attributes. 5 (cplus_decl_attributes): Call cp_check_const_attributes.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171667 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171667 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0027-Core-1148.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0027-Core-1148.patch
index 6d46c906df..a6d5636d78 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0027-Core-1148.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0027-Core-1148.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From c68e41052387396cba4a066d8e9658dc2011baf0 Mon Sep 17 00:00:00 2001 1From c68e41052387396cba4a066d8e9658dc2011baf0 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:25:10 +0000 3Date: Tue, 29 Mar 2011 14:25:10 +0000
5Subject: [PATCH 027/200] Core 1148 4Subject: [PATCH] Core 1148
6 * typeck.c (check_return_expr): Fix conditions for setting 5 * typeck.c (check_return_expr): Fix conditions for setting
7 LOOKUP_PREFER_RVALUE. 6 LOOKUP_PREFER_RVALUE.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0028-PR-c-48313.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0028-PR-c-48313.patch
index d0b52048d9..40471845d9 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0028-PR-c-48313.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0028-PR-c-48313.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 8d72f0bd42615d92c0db226238694eedb52914d3 Mon Sep 17 00:00:00 2001 1From 8d72f0bd42615d92c0db226238694eedb52914d3 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:25:22 +0000 3Date: Tue, 29 Mar 2011 14:25:22 +0000
5Subject: [PATCH 028/200] PR c++/48313 4Subject: [PATCH] PR c++/48313
6 * pt.c (maybe_adjust_types_for_deduction): Handle T&& deduction 5 * pt.c (maybe_adjust_types_for_deduction): Handle T&& deduction
7 from overloaded function. 6 from overloaded function.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0029-PR-c-47999.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0029-PR-c-47999.patch
index 59af9ac6c3..796240237c 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0029-PR-c-47999.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0029-PR-c-47999.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From d1f71a5193dd2b3debd551f3dc0e0d237acf7e81 Mon Sep 17 00:00:00 2001 1From d1f71a5193dd2b3debd551f3dc0e0d237acf7e81 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:25:37 +0000 3Date: Tue, 29 Mar 2011 14:25:37 +0000
5Subject: [PATCH 029/200] PR c++/47999 4Subject: [PATCH] PR c++/47999
6 * semantics.c (finish_call_expr): Preserve reference semantics 5 * semantics.c (finish_call_expr): Preserve reference semantics
7 in templates. 6 in templates.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0030-pt.c-build_non_dependent_expr-Keep-dereferences-outs.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0030-pt.c-build_non_dependent_expr-Keep-dereferences-outs.patch
index 7272d32782..041e375c77 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0030-pt.c-build_non_dependent_expr-Keep-dereferences-outs.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0030-pt.c-build_non_dependent_expr-Keep-dereferences-outs.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 6ec20c02d4514be339f0112d793794abf60451a7 Mon Sep 17 00:00:00 2001 1From 6ec20c02d4514be339f0112d793794abf60451a7 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:25:51 +0000 3Date: Tue, 29 Mar 2011 14:25:51 +0000
5Subject: [PATCH 030/200] * pt.c (build_non_dependent_expr): Keep dereferences outside the 4Subject: [PATCH] * pt.c (build_non_dependent_expr): Keep dereferences outside the
6 NON_DEPENDENT_EXPR. 5 NON_DEPENDENT_EXPR.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171671 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171671 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0031-call.c-reference_binding-Allow-direct-binding-to-an-.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0031-call.c-reference_binding-Allow-direct-binding-to-an-.patch
index a941c5d172..8c9305b434 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0031-call.c-reference_binding-Allow-direct-binding-to-an-.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0031-call.c-reference_binding-Allow-direct-binding-to-an-.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From af19d0c50df96adb55baaf54026ad82a9d256868 Mon Sep 17 00:00:00 2001 1From af19d0c50df96adb55baaf54026ad82a9d256868 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:26:00 +0000 3Date: Tue, 29 Mar 2011 14:26:00 +0000
5Subject: [PATCH 031/200] * call.c (reference_binding): Allow direct binding to an array 4Subject: [PATCH] * call.c (reference_binding): Allow direct binding to an array
6 rvalue. 5 rvalue.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171672 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171672 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0032-Core-1232.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0032-Core-1232.patch
index 4f2535a571..906867b05c 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0032-Core-1232.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0032-Core-1232.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 1370bfdaf3735fc1038436cfc86b7cfe43d3eaf0 Mon Sep 17 00:00:00 2001 1From 1370bfdaf3735fc1038436cfc86b7cfe43d3eaf0 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:26:10 +0000 3Date: Tue, 29 Mar 2011 14:26:10 +0000
5Subject: [PATCH 032/200] Core 1232 4Subject: [PATCH] Core 1232
6 * call.c (build_array_conv): New. 5 * call.c (build_array_conv): New.
7 (implicit_conversion): Use it. 6 (implicit_conversion): Use it.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0033-semantics.c-is_valid_constexpr_fn-Specify-input-loca.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0033-semantics.c-is_valid_constexpr_fn-Specify-input-loca.patch
index 70684de9b9..0dbc76dd3c 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0033-semantics.c-is_valid_constexpr_fn-Specify-input-loca.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0033-semantics.c-is_valid_constexpr_fn-Specify-input-loca.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 7ca62e4f7e0e27a4282dc14e5b89c389d5c194bb Mon Sep 17 00:00:00 2001 1From 7ca62e4f7e0e27a4282dc14e5b89c389d5c194bb Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:26:21 +0000 3Date: Tue, 29 Mar 2011 14:26:21 +0000
5Subject: [PATCH 033/200] * semantics.c (is_valid_constexpr_fn): Specify input location. 4Subject: [PATCH] * semantics.c (is_valid_constexpr_fn): Specify input location.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171674 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171674 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0034-PR-c-48296.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0034-PR-c-48296.patch
index 58cdcb22b5..5ad3ff7bf8 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0034-PR-c-48296.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0034-PR-c-48296.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From d67703129d516043d4e43bdf79a17889f5abc3f7 Mon Sep 17 00:00:00 2001 1From d67703129d516043d4e43bdf79a17889f5abc3f7 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 14:26:33 +0000 3Date: Tue, 29 Mar 2011 14:26:33 +0000
5Subject: [PATCH 034/200] PR c++/48296 4Subject: [PATCH] PR c++/48296
6 * decl.c (cp_finish_decl): Defer validation of constexpr member 5 * decl.c (cp_finish_decl): Defer validation of constexpr member
7 functions. 6 functions.
8 * class.c (finalize_literal_type_property): Validate them here. 7 * class.c (finalize_literal_type_property): Validate them here.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0035-PR-c-48166.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0035-PR-c-48166.patch
index 5be33c72eb..12f45f3f00 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0035-PR-c-48166.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0035-PR-c-48166.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 709a81571cc3f418f51f95ed9291b4f2fabc577c Mon Sep 17 00:00:00 2001 1From 709a81571cc3f418f51f95ed9291b4f2fabc577c Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 16:07:15 +0000 3Date: Tue, 29 Mar 2011 16:07:15 +0000
5Subject: [PATCH 035/200] PR c++/48166 4Subject: [PATCH] PR c++/48166
6 * decl.c (revert_static_member_fn): Strip function-cv-quals. 5 * decl.c (revert_static_member_fn): Strip function-cv-quals.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171679 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171679 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0037-config-alpha-alpha.c-alpha_sr_alias_set-Don-t-define.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0037-config-alpha-alpha.c-alpha_sr_alias_set-Don-t-define.patch
index 03a15a029e..b8891de46a 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0037-config-alpha-alpha.c-alpha_sr_alias_set-Don-t-define.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0037-config-alpha-alpha.c-alpha_sr_alias_set-Don-t-define.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 14fb9260e8c94249305dba567e7e242ac3d30fa7 Mon Sep 17 00:00:00 2001 1From 14fb9260e8c94249305dba567e7e242ac3d30fa7 Mon Sep 17 00:00:00 2001
3From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 18:24:02 +0000 3Date: Tue, 29 Mar 2011 18:24:02 +0000
5Subject: [PATCH 037/200] * config/alpha/alpha.c (alpha_sr_alias_set): Don't define. 4Subject: [PATCH] * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
6 (alpha_option_override): Don't set alpha_sr_alias_set. 5 (alpha_option_override): Don't set alpha_sr_alias_set.
7 (emit_frame_store_1): Use gen_frame_mem rather than calling 6 (emit_frame_store_1): Use gen_frame_mem rather than calling
8 set_mem_alias_set. 7 set_mem_alias_set.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0038-PR-c-48319.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0038-PR-c-48319.patch
index bc6524cabb..65ba7a514a 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0038-PR-c-48319.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0038-PR-c-48319.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 4af193055b0dcc204387ba06e11a053c5b55ad15 Mon Sep 17 00:00:00 2001 1From 4af193055b0dcc204387ba06e11a053c5b55ad15 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 18:47:47 +0000 3Date: Tue, 29 Mar 2011 18:47:47 +0000
5Subject: [PATCH 038/200] PR c++/48319 4Subject: [PATCH] PR c++/48319
6 * pt.c (value_dependent_expression_p): Handle TEMPLATE_ID_EXPR. 5 * pt.c (value_dependent_expression_p): Handle TEMPLATE_ID_EXPR.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171688 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171688 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0039-PR-preprocessor-48248.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0039-PR-preprocessor-48248.patch
index eb441be22a..a719be30b7 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0039-PR-preprocessor-48248.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0039-PR-preprocessor-48248.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 0d6afd28da26c4b09e1eb2b16d7a3c021fae7372 Mon Sep 17 00:00:00 2001 1From 0d6afd28da26c4b09e1eb2b16d7a3c021fae7372 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 20:30:06 +0000 3Date: Tue, 29 Mar 2011 20:30:06 +0000
5Subject: [PATCH 039/200] PR preprocessor/48248 4Subject: [PATCH] PR preprocessor/48248
6 * c-ppoutput.c (print): Add src_file field. 5 * c-ppoutput.c (print): Add src_file field.
7 (init_pp_output): Initialize it. 6 (init_pp_output): Initialize it.
8 (maybe_print_line): Don't optimize by adding up to 8 newlines 7 (maybe_print_line): Don't optimize by adding up to 8 newlines
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0040-PR-debug-48253.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0040-PR-debug-48253.patch
index a315d51c71..f161bc1a67 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0040-PR-debug-48253.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0040-PR-debug-48253.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From e4e229cd56063482aced7df857e82512b846435d Mon Sep 17 00:00:00 2001 1From e4e229cd56063482aced7df857e82512b846435d Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 29 Mar 2011 22:47:59 +0000 3Date: Tue, 29 Mar 2011 22:47:59 +0000
5Subject: [PATCH 040/200] PR debug/48253 4Subject: [PATCH] PR debug/48253
6 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label, 5 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
7 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label, 6 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
8 dw_fde_unlikely_section_end_label, cold_in_std_section, 7 dw_fde_unlikely_section_end_label, cold_in_std_section,
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0042-PR-c-48265.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0042-PR-c-48265.patch
index c9f747cf0b..d4171b018c 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0042-PR-c-48265.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0042-PR-c-48265.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From ec2d33835ee5855060878da89d4051fa06af9e97 Mon Sep 17 00:00:00 2001 1From ec2d33835ee5855060878da89d4051fa06af9e97 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 30 Mar 2011 02:16:37 +0000 3Date: Wed, 30 Mar 2011 02:16:37 +0000
5Subject: [PATCH 042/200] PR c++/48265 4Subject: [PATCH] PR c++/48265
6 * pt.c (value_dependent_expression_p) [VAR_DECL]: Make sure 5 * pt.c (value_dependent_expression_p) [VAR_DECL]: Make sure
7 the variable is constant before looking at its initializer. 6 the variable is constant before looking at its initializer.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0043-Fix-a-typo-in-FLOAT_SSE_REGS.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0043-Fix-a-typo-in-FLOAT_SSE_REGS.patch
index 0426d06bd4..a0ec5bfcd2 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0043-Fix-a-typo-in-FLOAT_SSE_REGS.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0043-Fix-a-typo-in-FLOAT_SSE_REGS.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 87c5c4ec5bee02725cb4bd4f81bb3c86a0277a81 Mon Sep 17 00:00:00 2001 1From 87c5c4ec5bee02725cb4bd4f81bb3c86a0277a81 Mon Sep 17 00:00:00 2001
3From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 30 Mar 2011 10:43:55 +0000 3Date: Wed, 30 Mar 2011 10:43:55 +0000
5Subject: [PATCH 043/200] Fix a typo in FLOAT_SSE_REGS. 4Subject: [PATCH] Fix a typo in FLOAT_SSE_REGS.
6 5
72011-03-30 H.J. Lu <hongjiu.lu@intel.com> 62011-03-30 H.J. Lu <hongjiu.lu@intel.com>
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0044-PR-c-48281.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0044-PR-c-48281.patch
index adbfb4907a..7f5f5aefd2 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0044-PR-c-48281.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0044-PR-c-48281.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 541566b2d3b46207159abb1f59970bb11078e57e Mon Sep 17 00:00:00 2001 1From 541566b2d3b46207159abb1f59970bb11078e57e Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 30 Mar 2011 18:05:43 +0000 3Date: Wed, 30 Mar 2011 18:05:43 +0000
5Subject: [PATCH 044/200] PR c++/48281 4Subject: [PATCH] PR c++/48281
6 * semantics.c (finish_compound_literal): Do put static/constant 5 * semantics.c (finish_compound_literal): Do put static/constant
7 arrays in static variables. 6 arrays in static variables.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0045-PR-c-48369.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0045-PR-c-48369.patch
index 6fc142334a..37427cd36f 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0045-PR-c-48369.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0045-PR-c-48369.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 61759009408d9f43af89eaeaff769a656416e1af Mon Sep 17 00:00:00 2001 1From 61759009408d9f43af89eaeaff769a656416e1af Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 30 Mar 2011 19:50:17 +0000 3Date: Wed, 30 Mar 2011 19:50:17 +0000
5Subject: [PATCH 045/200] PR c++/48369 4Subject: [PATCH] PR c++/48369
6 * semantics.c (potential_constant_expression_1): Handle 5 * semantics.c (potential_constant_expression_1): Handle
7 UNORDERED_EXPR and ORDERED_EXPR. 6 UNORDERED_EXPR and ORDERED_EXPR.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0046-PR-c-48212.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0046-PR-c-48212.patch
index 8e7b42fdfb..052a090414 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0046-PR-c-48212.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0046-PR-c-48212.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From f23bf88450af23287387d878036f78042093d61b Mon Sep 17 00:00:00 2001 1From f23bf88450af23287387d878036f78042093d61b Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 30 Mar 2011 20:29:43 +0000 3Date: Wed, 30 Mar 2011 20:29:43 +0000
5Subject: [PATCH 046/200] PR c++/48212 4Subject: [PATCH] PR c++/48212
6 * semantics.c (non_const_var_error): Just return if DECL_INITIAL 5 * semantics.c (non_const_var_error): Just return if DECL_INITIAL
7 is error_mark_node. 6 is error_mark_node.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0048-2011-03-31-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0048-2011-03-31-Richard-Guenther-rguenther-suse.de.patch
index a64e6f1cec..b81e424844 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0048-2011-03-31-Richard-Guenther-rguenther-suse.de.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0048-2011-03-31-Richard-Guenther-rguenther-suse.de.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From b3287343bd8870538aee70687286d78881ee8b81 Mon Sep 17 00:00:00 2001 1From b3287343bd8870538aee70687286d78881ee8b81 Mon Sep 17 00:00:00 2001
3From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 31 Mar 2011 10:00:44 +0000 3Date: Thu, 31 Mar 2011 10:00:44 +0000
5Subject: [PATCH 048/200] 2011-03-31 Richard Guenther <rguenther@suse.de> 4Subject: [PATCH] 2011-03-31 Richard Guenther <rguenther@suse.de>
6 5
7 PR lto/48246 6 PR lto/48246
8 * lto.c (lto_wpa_write_files): Disable assert for non-empty 7 * lto.c (lto_wpa_write_files): Disable assert for non-empty
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0049-PR-target-48142.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0049-PR-target-48142.patch
index d6d469ff1e..4c0420ace9 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0049-PR-target-48142.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0049-PR-target-48142.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 18bc61fc490330f5dc59639626fa9bb5269e31d7 Mon Sep 17 00:00:00 2001 1From 18bc61fc490330f5dc59639626fa9bb5269e31d7 Mon Sep 17 00:00:00 2001
3From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 31 Mar 2011 11:14:41 +0000 3Date: Thu, 31 Mar 2011 11:14:41 +0000
5Subject: [PATCH 049/200] PR target/48142 4Subject: [PATCH] PR target/48142
6 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate 5 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
7 frame-related from frame-unrelated adjustments to the stack pointer. 6 frame-related from frame-unrelated adjustments to the stack pointer.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0050-PR-target-16292.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0050-PR-target-16292.patch
index b77504da28..f3f143bd7a 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0050-PR-target-16292.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0050-PR-target-16292.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From e9265f24f30b22d79d2ea4013dd32a491a12d00c Mon Sep 17 00:00:00 2001 1From e9265f24f30b22d79d2ea4013dd32a491a12d00c Mon Sep 17 00:00:00 2001
3From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 31 Mar 2011 15:05:47 +0000 3Date: Thu, 31 Mar 2011 15:05:47 +0000
5Subject: [PATCH 050/200] PR target/16292 4Subject: [PATCH] PR target/16292
6 * gfortran.dg/g77/cabs.f: Only xfail execution on mips-sgi-irix6* 5 * gfortran.dg/g77/cabs.f: Only xfail execution on mips-sgi-irix6*
7 with -O0. 6 with -O0.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0051-PR-c-48280.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0051-PR-c-48280.patch
index ab9b933a75..f232a4263e 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0051-PR-c-48280.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0051-PR-c-48280.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From c965b9c986732377eb96e00f7266e281f345a00b Mon Sep 17 00:00:00 2001 1From c965b9c986732377eb96e00f7266e281f345a00b Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 31 Mar 2011 20:33:07 +0000 3Date: Thu, 31 Mar 2011 20:33:07 +0000
5Subject: [PATCH 051/200] PR c++/48280 4Subject: [PATCH] PR c++/48280
6 * method.c (defaultable_fn_check): Templates are not defaultable. 5 * method.c (defaultable_fn_check): Templates are not defaultable.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171798 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171798 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0053-Merge-r171807-from-trunk-to-the-4.6-release-branch-t.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0053-Merge-r171807-from-trunk-to-the-4.6-release-branch-t.patch
index bc6f4f1d3b..e5c6b4a95e 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0053-Merge-r171807-from-trunk-to-the-4.6-release-branch-t.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0053-Merge-r171807-from-trunk-to-the-4.6-release-branch-t.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 5e28e486dbc793184ca462b8b528f5eff3d4f2ef Mon Sep 17 00:00:00 2001 1From 5e28e486dbc793184ca462b8b528f5eff3d4f2ef Mon Sep 17 00:00:00 2001
3From: jyasskin <jyasskin@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jyasskin <jyasskin@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 1 Apr 2011 01:07:46 +0000 3Date: Fri, 1 Apr 2011 01:07:46 +0000
5Subject: [PATCH 053/200] Merge r171807 from trunk to the 4.6 release branch, to fix two C++ 4Subject: [PATCH] Merge r171807 from trunk to the 4.6 release branch, to fix two C++
6 conformance problems in libsupc++. 5 conformance problems in libsupc++.
7 6
8Tested: bootstrap + make check-c++ on x86_64 7Tested: bootstrap + make check-c++ on x86_64
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0054-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0054-Backport-from-mainline.patch
index 19b3bbbdb7..183189e5bf 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0054-Backport-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0054-Backport-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From f8ae59386457b39085b086d04a8cd96e4450f167 Mon Sep 17 00:00:00 2001 1From f8ae59386457b39085b086d04a8cd96e4450f167 Mon Sep 17 00:00:00 2001
3From: abel <abel@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: abel <abel@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 1 Apr 2011 11:07:44 +0000 3Date: Fri, 1 Apr 2011 11:07:44 +0000
5Subject: [PATCH 054/200] Backport from mainline 4Subject: [PATCH] Backport from mainline
6 2011-03-22 Andrey Belevantsev <abel@ispras.ru> 5 2011-03-22 Andrey Belevantsev <abel@ispras.ru>
7 6
8 PR rtl-optimization/48143 7 PR rtl-optimization/48143
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0056-config-spu-t-spu-elf-dp-bit.c-Use-instead-of.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0056-config-spu-t-spu-elf-dp-bit.c-Use-instead-of.patch
index 8f8b294da6..34aa2cb3fd 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0056-config-spu-t-spu-elf-dp-bit.c-Use-instead-of.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0056-config-spu-t-spu-elf-dp-bit.c-Use-instead-of.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 5b6ffdded3fd04395f72852e2a201d011d10a060 Mon Sep 17 00:00:00 2001 1From 5b6ffdded3fd04395f72852e2a201d011d10a060 Mon Sep 17 00:00:00 2001
3From: uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 1 Apr 2011 17:17:59 +0000 3Date: Fri, 1 Apr 2011 17:17:59 +0000
5Subject: [PATCH 056/200] * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>. 4Subject: [PATCH] * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171838 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171838 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0058-2011-04-02-Jonathan-Wakely-redi-gcc.gnu.org.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0058-2011-04-02-Jonathan-Wakely-redi-gcc.gnu.org.patch
index eeb2359271..ab07d2b742 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0058-2011-04-02-Jonathan-Wakely-redi-gcc.gnu.org.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0058-2011-04-02-Jonathan-Wakely-redi-gcc.gnu.org.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 0d43ff3bbc445b0264f804cd6449069182045678 Mon Sep 17 00:00:00 2001 1From 0d43ff3bbc445b0264f804cd6449069182045678 Mon Sep 17 00:00:00 2001
3From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 2 Apr 2011 15:34:01 +0000 3Date: Sat, 2 Apr 2011 15:34:01 +0000
5Subject: [PATCH 058/200] 2011-04-02 Jonathan Wakely <redi@gcc.gnu.org> 4Subject: [PATCH] 2011-04-02 Jonathan Wakely <redi@gcc.gnu.org>
6 5
7 PR libstdc++/48398 6 PR libstdc++/48398
8 * include/bits/unique_ptr.h (__tuple_type): Store pointer type. 7 * include/bits/unique_ptr.h (__tuple_type): Store pointer type.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0060-be.po-da.po-de.po-el.po-es.po-fi.po-fr.po-id.po-ja.p.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0060-be.po-da.po-de.po-el.po-es.po-fi.po-fr.po-id.po-ja.p.patch
index 82d3cdb53e..5cfe7f58f2 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0060-be.po-da.po-de.po-el.po-es.po-fi.po-fr.po-id.po-ja.p.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0060-be.po-da.po-de.po-el.po-es.po-fi.po-fr.po-id.po-ja.p.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From ec0a81cb355c0fb165edd6eba2038cf77e5aae47 Mon Sep 17 00:00:00 2001 1From ec0a81cb355c0fb165edd6eba2038cf77e5aae47 Mon Sep 17 00:00:00 2001
3From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sun, 3 Apr 2011 11:30:58 +0000 3Date: Sun, 3 Apr 2011 11:30:58 +0000
5Subject: [PATCH 060/200] * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po, 4Subject: [PATCH] * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
6 nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po: 5 nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po:
7 Update. 6 Update.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0061-be.po-ca.po-da.po-de.po-el.po-es.po-fi.po-fr.po-id.p.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0061-be.po-ca.po-da.po-de.po-el.po-es.po-fi.po-fr.po-id.p.patch
index 327e8cb504..fad1230743 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0061-be.po-ca.po-da.po-de.po-el.po-es.po-fi.po-fr.po-id.p.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0061-be.po-ca.po-da.po-de.po-el.po-es.po-fi.po-fr.po-id.p.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 2f00fb35a87bcbae197b96a7259b1d94f3b4dc1f Mon Sep 17 00:00:00 2001 1From 2f00fb35a87bcbae197b96a7259b1d94f3b4dc1f Mon Sep 17 00:00:00 2001
3From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sun, 3 Apr 2011 11:34:03 +0000 3Date: Sun, 3 Apr 2011 11:34:03 +0000
5Subject: [PATCH 061/200] * be.po, ca.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, 4Subject: [PATCH] * be.po, ca.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po,
6 ja.po, nl.po, ru.po, sv.po, tr.po, uk,po, vi.po, zh_CN.po, 5 ja.po, nl.po, ru.po, sv.po, tr.po, uk,po, vi.po, zh_CN.po,
7 zh_TW.po: Update. 6 zh_TW.po: Update.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0063-gfortran.dg-bessel_6.f90-Use-dg-add-options-ieee.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0063-gfortran.dg-bessel_6.f90-Use-dg-add-options-ieee.patch
index 830ef446f5..8bdd71dfac 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0063-gfortran.dg-bessel_6.f90-Use-dg-add-options-ieee.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0063-gfortran.dg-bessel_6.f90-Use-dg-add-options-ieee.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From e26756e1112552489e123c8ed7ed038beae89c5b Mon Sep 17 00:00:00 2001 1From e26756e1112552489e123c8ed7ed038beae89c5b Mon Sep 17 00:00:00 2001
3From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 4 Apr 2011 15:55:33 +0000 3Date: Mon, 4 Apr 2011 15:55:33 +0000
5Subject: [PATCH 063/200] * gfortran.dg/bessel_6.f90: Use dg-add-options ieee. 4Subject: [PATCH] * gfortran.dg/bessel_6.f90: Use dg-add-options ieee.
6 * gfortran.dg/bessel_7.f90: Likewise. 5 * gfortran.dg/bessel_7.f90: Likewise.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171940 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171940 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0064-2011-04-04-Janus-Weil-janus-gcc.gnu.org.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0064-2011-04-04-Janus-Weil-janus-gcc.gnu.org.patch
index 67d68120e2..1b94bd0086 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0064-2011-04-04-Janus-Weil-janus-gcc.gnu.org.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0064-2011-04-04-Janus-Weil-janus-gcc.gnu.org.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From ca7759868733b4570e496b889e711523640fc582 Mon Sep 17 00:00:00 2001 1From ca7759868733b4570e496b889e711523640fc582 Mon Sep 17 00:00:00 2001
3From: janus <janus@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: janus <janus@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 4 Apr 2011 18:53:34 +0000 3Date: Mon, 4 Apr 2011 18:53:34 +0000
5Subject: [PATCH 064/200] 2011-04-04 Janus Weil <janus@gcc.gnu.org> 4Subject: [PATCH] 2011-04-04 Janus Weil <janus@gcc.gnu.org>
6 5
7 PR fortran/48291 6 PR fortran/48291
8 * class.c (get_unique_hashed_string): Adjust maximum allowable length 7 * class.c (get_unique_hashed_string): Adjust maximum allowable length
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0065-es.po-Update.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0065-es.po-Update.patch
index 8d919c3dff..3342156f9e 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0065-es.po-Update.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0065-es.po-Update.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 0e497997f5e241721dece71b322621d24abd4a04 Mon Sep 17 00:00:00 2001 1From 0e497997f5e241721dece71b322621d24abd4a04 Mon Sep 17 00:00:00 2001
3From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 4 Apr 2011 22:20:34 +0000 3Date: Mon, 4 Apr 2011 22:20:34 +0000
5Subject: [PATCH 065/200] * es.po: Update. 4Subject: [PATCH] * es.po: Update.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171957 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171957 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0067-The-parameters-for-functions-from-the-frexp-family-w.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0067-The-parameters-for-functions-from-the-frexp-family-w.patch
index 9f0f1785ea..0df344f258 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0067-The-parameters-for-functions-from-the-frexp-family-w.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0067-The-parameters-for-functions-from-the-frexp-family-w.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 7a43b3a2e2c0d9cf557ac45577cc42c6d72e0065 Mon Sep 17 00:00:00 2001 1From 7a43b3a2e2c0d9cf557ac45577cc42c6d72e0065 Mon Sep 17 00:00:00 2001
3From: baldrick <baldrick@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: baldrick <baldrick@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 5 Apr 2011 08:13:16 +0000 3Date: Tue, 5 Apr 2011 08:13:16 +0000
5Subject: [PATCH 067/200] The parameters for functions from the frexp family were the wrong way 4Subject: [PATCH] The parameters for functions from the frexp family were the wrong way
6 round. Swap them. 5 round. Swap them.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171972 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171972 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0068-2011-04-05-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0068-2011-04-05-Richard-Guenther-rguenther-suse.de.patch
index 4e11bc4433..13596b4d2e 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0068-2011-04-05-Richard-Guenther-rguenther-suse.de.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0068-2011-04-05-Richard-Guenther-rguenther-suse.de.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 56a8ff0c197b4b0f917e3b50ac0dd3ed26f300c3 Mon Sep 17 00:00:00 2001 1From 56a8ff0c197b4b0f917e3b50ac0dd3ed26f300c3 Mon Sep 17 00:00:00 2001
3From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 5 Apr 2011 12:13:27 +0000 3Date: Tue, 5 Apr 2011 12:13:27 +0000
5Subject: [PATCH 068/200] 2011-04-05 Richard Guenther <rguenther@suse.de> 4Subject: [PATCH] 2011-04-05 Richard Guenther <rguenther@suse.de>
6 5
7 PR bootstrap/48431 6 PR bootstrap/48431
8 * lto-plugin.c (claim_file_handler): Do not declare vars in code. 7 * lto-plugin.c (claim_file_handler): Do not declare vars in code.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0069-stor-layout.c-self_referential_size-Fix-2010-07-13-c.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0069-stor-layout.c-self_referential_size-Fix-2010-07-13-c.patch
index 09ffa08bde..dc2200698e 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0069-stor-layout.c-self_referential_size-Fix-2010-07-13-c.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0069-stor-layout.c-self_referential_size-Fix-2010-07-13-c.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 6d713959cbb05f7cd030d776bb52113eac8af075 Mon Sep 17 00:00:00 2001 1From 6d713959cbb05f7cd030d776bb52113eac8af075 Mon Sep 17 00:00:00 2001
3From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 5 Apr 2011 14:34:51 +0000 3Date: Tue, 5 Apr 2011 14:34:51 +0000
5Subject: [PATCH 069/200] * stor-layout.c (self_referential_size): Fix 2010-07-13 commit. 4Subject: [PATCH] * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171989 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171989 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0070-de.po-Update.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0070-de.po-Update.patch
index 248e5e5f1e..5e11a18283 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0070-de.po-Update.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0070-de.po-Update.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 66ebb4822dae1fd3c97ee62f9126615818150966 Mon Sep 17 00:00:00 2001 1From 66ebb4822dae1fd3c97ee62f9126615818150966 Mon Sep 17 00:00:00 2001
3From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 5 Apr 2011 23:08:59 +0000 3Date: Tue, 5 Apr 2011 23:08:59 +0000
5Subject: [PATCH 070/200] * de.po: Update. 4Subject: [PATCH] * de.po: Update.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172010 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172010 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0072-gcov-io.c-Use-GCC-Runtime-Library-Exception.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0072-gcov-io.c-Use-GCC-Runtime-Library-Exception.patch
index 09fdeef73b..180713faff 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0072-gcov-io.c-Use-GCC-Runtime-Library-Exception.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0072-gcov-io.c-Use-GCC-Runtime-Library-Exception.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 578ce9461ebac7a6ec001c0025e0b854385ec39c Mon Sep 17 00:00:00 2001 1From 578ce9461ebac7a6ec001c0025e0b854385ec39c Mon Sep 17 00:00:00 2001
3From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 6 Apr 2011 16:05:18 +0000 3Date: Wed, 6 Apr 2011 16:05:18 +0000
5Subject: [PATCH 072/200] * gcov-io.c: Use GCC Runtime Library Exception. 4Subject: [PATCH] * gcov-io.c: Use GCC Runtime Library Exception.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172054 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172054 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0073-Backported-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0073-Backported-from-mainline.patch
index 0c6a5438ce..225c48f337 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0073-Backported-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0073-Backported-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From e86c60e8bb9da37bfbef63315f38d5154035392d Mon Sep 17 00:00:00 2001 1From e86c60e8bb9da37bfbef63315f38d5154035392d Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 6 Apr 2011 20:39:20 +0000 3Date: Wed, 6 Apr 2011 20:39:20 +0000
5Subject: [PATCH 073/200] Backported from mainline 4Subject: [PATCH] Backported from mainline
6 2011-04-01 Jakub Jelinek <jakub@redhat.com> 5 2011-04-01 Jakub Jelinek <jakub@redhat.com>
7 6
8 PR middle-end/48335 7 PR middle-end/48335
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0074-PR-debug-48466.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0074-PR-debug-48466.patch
index b4b0be656a..de075d6fc7 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0074-PR-debug-48466.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0074-PR-debug-48466.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From da3ed31e2090c6b8236bbc3be69433aca0d445f1 Mon Sep 17 00:00:00 2001 1From da3ed31e2090c6b8236bbc3be69433aca0d445f1 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 6 Apr 2011 20:40:24 +0000 3Date: Wed, 6 Apr 2011 20:40:24 +0000
5Subject: [PATCH 074/200] PR debug/48466 4Subject: [PATCH] PR debug/48466
6 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use 5 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
7 as base_reg whatever register reg has been eliminated to, instead 6 as base_reg whatever register reg has been eliminated to, instead
8 of hardcoding STACK_POINTER_REGNUM. 7 of hardcoding STACK_POINTER_REGNUM.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0076-Merge-r172073-from-trunk-to-the-4.6-release-branch-t.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0076-Merge-r172073-from-trunk-to-the-4.6-release-branch-t.patch
index a8846553c6..52a25836da 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0076-Merge-r172073-from-trunk-to-the-4.6-release-branch-t.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0076-Merge-r172073-from-trunk-to-the-4.6-release-branch-t.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 3329b7447ab817bb0374a689f3b381a5781ed8aa Mon Sep 17 00:00:00 2001 1From 3329b7447ab817bb0374a689f3b381a5781ed8aa Mon Sep 17 00:00:00 2001
3From: jyasskin <jyasskin@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jyasskin <jyasskin@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 7 Apr 2011 04:50:23 +0000 3Date: Thu, 7 Apr 2011 04:50:23 +0000
5Subject: [PATCH 076/200] Merge r172073 from trunk to the 4.6 release branch, to fix two 4Subject: [PATCH] Merge r172073 from trunk to the 4.6 release branch, to fix two
6 ambiguities between extensions and new C++0x functions. 5 ambiguities between extensions and new C++0x functions.
7 6
8Tested: bootstrap + make check-c++ on x86_64 7Tested: bootstrap + make check-c++ on x86_64
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0077-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0077-Backport-from-mainline.patch
index 48335d8b60..681d4b0e4f 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0077-Backport-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0077-Backport-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 354f280d6446d87730bacabf798f88a7aedd1af1 Mon Sep 17 00:00:00 2001 1From 354f280d6446d87730bacabf798f88a7aedd1af1 Mon Sep 17 00:00:00 2001
3From: abel <abel@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: abel <abel@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 7 Apr 2011 12:07:24 +0000 3Date: Thu, 7 Apr 2011 12:07:24 +0000
5Subject: [PATCH 077/200] Backport from mainline 4Subject: [PATCH] Backport from mainline
6 2011-03-26 Andrey Belevantsev <abel@ispras.ru> 5 2011-03-26 Andrey Belevantsev <abel@ispras.ru>
7 6
8 PR rtl-optimization/48144 7 PR rtl-optimization/48144
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0078-de.po-Update.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0078-de.po-Update.patch
index cb564498b7..34bcf38487 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0078-de.po-Update.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0078-de.po-Update.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From cd0f7d2692283fbf5dfce422da2896a07fc3ea3f Mon Sep 17 00:00:00 2001 1From cd0f7d2692283fbf5dfce422da2896a07fc3ea3f Mon Sep 17 00:00:00 2001
3From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 7 Apr 2011 16:31:06 +0000 3Date: Thu, 7 Apr 2011 16:31:06 +0000
5Subject: [PATCH 078/200] * de.po: Update. 4Subject: [PATCH] * de.po: Update.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172104 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172104 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0079-PR-debug-48343.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0079-PR-debug-48343.patch
index a9419dd168..1f10f50cec 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0079-PR-debug-48343.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0079-PR-debug-48343.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 1e8081c83aa5101ccca523ce8448282bece491ff Mon Sep 17 00:00:00 2001 1From 1e8081c83aa5101ccca523ce8448282bece491ff Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 7 Apr 2011 18:05:08 +0000 3Date: Thu, 7 Apr 2011 18:05:08 +0000
5Subject: [PATCH 079/200] PR debug/48343 4Subject: [PATCH] PR debug/48343
6 * combine.c (combine_instructions): Add last_combined_insn, 5 * combine.c (combine_instructions): Add last_combined_insn,
7 update it if insn is after it, pass it to all try_combine 6 update it if insn is after it, pass it to all try_combine
8 calls. 7 calls.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0080-PR-fortran-48117.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0080-PR-fortran-48117.patch
index aa81ccfbb5..20cb4fc9f6 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0080-PR-fortran-48117.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0080-PR-fortran-48117.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 95333dcb51a2099d45b792b945fd9c0a2f8febab Mon Sep 17 00:00:00 2001 1From 95333dcb51a2099d45b792b945fd9c0a2f8febab Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 7 Apr 2011 18:33:34 +0000 3Date: Thu, 7 Apr 2011 18:33:34 +0000
5Subject: [PATCH 080/200] PR fortran/48117 4Subject: [PATCH] PR fortran/48117
6 * gfortran.dg/gomp/pr48117.f90: New test. 5 * gfortran.dg/gomp/pr48117.f90: New test.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172120 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172120 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0081-config-i386-sse.md-Update-copyright-year.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0081-config-i386-sse.md-Update-copyright-year.patch
index 860842d8a0..4ddce2690f 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0081-config-i386-sse.md-Update-copyright-year.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0081-config-i386-sse.md-Update-copyright-year.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From ac4ab0911ae869e3cd4c00629e3c4d4d0b7e7aa6 Mon Sep 17 00:00:00 2001 1From ac4ab0911ae869e3cd4c00629e3c4d4d0b7e7aa6 Mon Sep 17 00:00:00 2001
3From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 7 Apr 2011 20:46:50 +0000 3Date: Thu, 7 Apr 2011 20:46:50 +0000
5Subject: [PATCH 081/200] * config/i386/sse.md: Update copyright year. 4Subject: [PATCH] * config/i386/sse.md: Update copyright year.
6 (avx_cmp<ssescalarmodesuffix><mode>3): Add missing output 5 (avx_cmp<ssescalarmodesuffix><mode>3): Add missing output
7 register constraint. 6 register constraint.
8 (*vec_concatv2sf_avx): Fix wrong register constraint in 7 (*vec_concatv2sf_avx): Fix wrong register constraint in
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0082-gcc.dg-torture-stackalign-non-local-goto-5.c-Fix-for.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0082-gcc.dg-torture-stackalign-non-local-goto-5.c-Fix-for.patch
index 89b5f7dd82..e5dbb7dcac 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0082-gcc.dg-torture-stackalign-non-local-goto-5.c-Fix-for.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0082-gcc.dg-torture-stackalign-non-local-goto-5.c-Fix-for.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 5430ea55f853566272279cbd5bb20a2dd5bd7a51 Mon Sep 17 00:00:00 2001 1From 5430ea55f853566272279cbd5bb20a2dd5bd7a51 Mon Sep 17 00:00:00 2001
3From: mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 7 Apr 2011 21:33:47 +0000 3Date: Thu, 7 Apr 2011 21:33:47 +0000
5Subject: [PATCH 082/200] * gcc.dg/torture/stackalign/non-local-goto-5.c: Fix for targets 4Subject: [PATCH] * gcc.dg/torture/stackalign/non-local-goto-5.c: Fix for targets
6 with no trampolines. 5 with no trampolines.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172135 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172135 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0084-PR-tree-optimization-48377.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0084-PR-tree-optimization-48377.patch
index 5c9682f6ef..603b91ebd9 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0084-PR-tree-optimization-48377.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0084-PR-tree-optimization-48377.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From eba70fb9976ef047a8fb8dc6499c42e8fd3551f7 Mon Sep 17 00:00:00 2001 1From eba70fb9976ef047a8fb8dc6499c42e8fd3551f7 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 8 Apr 2011 11:45:29 +0000 3Date: Fri, 8 Apr 2011 11:45:29 +0000
5Subject: [PATCH 084/200] PR tree-optimization/48377 4Subject: [PATCH] PR tree-optimization/48377
6 * tree-vect-data-refs.c (vector_alignment_reachable_p): Set 5 * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
7 is_packed to true even for types with smaller TYPE_ALIGN than 6 is_packed to true even for types with smaller TYPE_ALIGN than
8 TYPE_SIZE. 7 TYPE_SIZE.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0085-de.po-Update.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0085-de.po-Update.patch
index 73643f702a..132e8fbdce 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0085-de.po-Update.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0085-de.po-Update.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From dc6361adc966b10875fbfafff9652dcc4043df58 Mon Sep 17 00:00:00 2001 1From dc6361adc966b10875fbfafff9652dcc4043df58 Mon Sep 17 00:00:00 2001
3From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 8 Apr 2011 14:29:58 +0000 3Date: Fri, 8 Apr 2011 14:29:58 +0000
5Subject: [PATCH 085/200] * de.po: Update. 4Subject: [PATCH] * de.po: Update.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172188 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172188 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0086-PR-c-48450.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0086-PR-c-48450.patch
index a2628b7579..0b496311ef 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0086-PR-c-48450.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0086-PR-c-48450.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From a5e7415bfbe41941768106dc5819bf3fff1b8435 Mon Sep 17 00:00:00 2001 1From a5e7415bfbe41941768106dc5819bf3fff1b8435 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 8 Apr 2011 15:01:50 +0000 3Date: Fri, 8 Apr 2011 15:01:50 +0000
5Subject: [PATCH 086/200] PR c++/48450 4Subject: [PATCH] PR c++/48450
6 * c-family/c-common.c (c_common_truthvalue_conversion): Don't ignore 5 * c-family/c-common.c (c_common_truthvalue_conversion): Don't ignore
7 conversion from C++0x scoped enum. 6 conversion from C++0x scoped enum.
8 * cp/cvt.c (ocp_convert): Handle converting scoped enum to bool. 7 * cp/cvt.c (ocp_convert): Handle converting scoped enum to bool.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0087-semantics.c-finish_decltype_type-Add-complain-parm.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0087-semantics.c-finish_decltype_type-Add-complain-parm.patch
index ebae4eb30b..37352272cf 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0087-semantics.c-finish_decltype_type-Add-complain-parm.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0087-semantics.c-finish_decltype_type-Add-complain-parm.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 2f7a2d284d42cfbff01ee024af4cbaeaff766ee5 Mon Sep 17 00:00:00 2001 1From 2f7a2d284d42cfbff01ee024af4cbaeaff766ee5 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 8 Apr 2011 15:02:00 +0000 3Date: Fri, 8 Apr 2011 15:02:00 +0000
5Subject: [PATCH 087/200] * semantics.c (finish_decltype_type): Add complain parm. 4Subject: [PATCH] * semantics.c (finish_decltype_type): Add complain parm.
6 * cp-tree.h: Adjust. 5 * cp-tree.h: Adjust.
7 * parser.c (cp_parser_decltype): Adjust. 6 * parser.c (cp_parser_decltype): Adjust.
8 * pt.c (tsubst): Adjust. 7 * pt.c (tsubst): Adjust.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0088-PR-c-48452.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0088-PR-c-48452.patch
index 54df8423c3..3ce8b55c6a 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0088-PR-c-48452.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0088-PR-c-48452.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 92860ca75ea3cbb7223913d121c60cc56c966794 Mon Sep 17 00:00:00 2001 1From 92860ca75ea3cbb7223913d121c60cc56c966794 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 8 Apr 2011 15:02:08 +0000 3Date: Fri, 8 Apr 2011 15:02:08 +0000
5Subject: [PATCH 088/200] PR c++/48452 4Subject: [PATCH] PR c++/48452
6 * typeck.c (build_x_compound_expr_from_list): Return error_mark_node 5 * typeck.c (build_x_compound_expr_from_list): Return error_mark_node
7 in SFINAE context. 6 in SFINAE context.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0089-PR-c-48468.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0089-PR-c-48468.patch
index aea2ac1b16..92e4ed875b 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0089-PR-c-48468.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0089-PR-c-48468.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 4215154488607abf1ee95f1d1f03cb66be4bd4d8 Mon Sep 17 00:00:00 2001 1From 4215154488607abf1ee95f1d1f03cb66be4bd4d8 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 8 Apr 2011 15:02:16 +0000 3Date: Fri, 8 Apr 2011 15:02:16 +0000
5Subject: [PATCH 089/200] PR c++/48468 4Subject: [PATCH] PR c++/48468
6 * except.c (build_noexcept_spec): Propagate error_mark_node. 5 * except.c (build_noexcept_spec): Propagate error_mark_node.
7 (finish_noexcept_expr): Likewise. 6 (finish_noexcept_expr): Likewise.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0090-PR-c-48500.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0090-PR-c-48500.patch
index 0e3ddc6912..cec878e0a5 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0090-PR-c-48500.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0090-PR-c-48500.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From c9ec81bbd73666b97ab9049b759b5ab8d0e06681 Mon Sep 17 00:00:00 2001 1From c9ec81bbd73666b97ab9049b759b5ab8d0e06681 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 8 Apr 2011 15:02:28 +0000 3Date: Fri, 8 Apr 2011 15:02:28 +0000
5Subject: [PATCH 090/200] PR c++/48500 4Subject: [PATCH] PR c++/48500
6 * semantics.c (potential_constant_expression_1) [CALL_EXPR]: Check 5 * semantics.c (potential_constant_expression_1) [CALL_EXPR]: Check
7 arguments even if we don't know the function. 6 arguments even if we don't know the function.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0091-2011-04-08-Steven-G.-Kargl-kargl-gcc.gnu.org.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0091-2011-04-08-Steven-G.-Kargl-kargl-gcc.gnu.org.patch
index 65e085b7f2..8e9ccbf1c9 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0091-2011-04-08-Steven-G.-Kargl-kargl-gcc.gnu.org.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0091-2011-04-08-Steven-G.-Kargl-kargl-gcc.gnu.org.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 6b290e64ee2bbe7974ee43ce49297ee9496f18d6 Mon Sep 17 00:00:00 2001 1From 6b290e64ee2bbe7974ee43ce49297ee9496f18d6 Mon Sep 17 00:00:00 2001
3From: kargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: kargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 8 Apr 2011 21:41:35 +0000 3Date: Fri, 8 Apr 2011 21:41:35 +0000
5Subject: [PATCH 091/200] 2011-04-08 Steven G. Kargl <kargl@gcc.gnu.org> 4Subject: [PATCH] 2011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
6 5
7 PR target/47829 6 PR target/47829
8 gcc/config.gcc: disable unwind table generation for crtbegin/crtend 7 gcc/config.gcc: disable unwind table generation for crtbegin/crtend
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0092-PR-testsuite-48506.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0092-PR-testsuite-48506.patch
index c4d7ada7bb..16a84d3d77 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0092-PR-testsuite-48506.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0092-PR-testsuite-48506.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From fcc3e3a4ba3138d25c93ba5f996cac1660788bb9 Mon Sep 17 00:00:00 2001 1From fcc3e3a4ba3138d25c93ba5f996cac1660788bb9 Mon Sep 17 00:00:00 2001
3From: mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 8 Apr 2011 23:56:45 +0000 3Date: Fri, 8 Apr 2011 23:56:45 +0000
5Subject: [PATCH 092/200] PR testsuite/48506 4Subject: [PATCH] PR testsuite/48506
6 * gcc.dg/tree-ssa/ssa-ccp-17.c: Robustify against ports that 5 * gcc.dg/tree-ssa/ssa-ccp-17.c: Robustify against ports that
7 default to fno-common. 6 default to fno-common.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0094-Bail-out-rather-than-crashing-in-array_type_nelts-if.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0094-Bail-out-rather-than-crashing-in-array_type_nelts-if.patch
index 4111e33969..a78712e40c 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0094-Bail-out-rather-than-crashing-in-array_type_nelts-if.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0094-Bail-out-rather-than-crashing-in-array_type_nelts-if.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 8216e1c4c23928723f8e1583bf7e014813bb2c07 Mon Sep 17 00:00:00 2001 1From 8216e1c4c23928723f8e1583bf7e014813bb2c07 Mon Sep 17 00:00:00 2001
3From: baldrick <baldrick@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: baldrick <baldrick@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 9 Apr 2011 16:14:07 +0000 3Date: Sat, 9 Apr 2011 16:14:07 +0000
5Subject: [PATCH 094/200] Bail out rather than crashing in array_type_nelts if TYPE_MAX_VALUE is null. 4Subject: [PATCH] Bail out rather than crashing in array_type_nelts if TYPE_MAX_VALUE is null.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172226 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172226 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0095-PR-c-48528.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0095-PR-c-48528.patch
index b895bb6b62..f332db93eb 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0095-PR-c-48528.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0095-PR-c-48528.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From f96c29b23a4f631242aae823f9735a33e8e1cf0a Mon Sep 17 00:00:00 2001 1From f96c29b23a4f631242aae823f9735a33e8e1cf0a Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 9 Apr 2011 19:04:11 +0000 3Date: Sat, 9 Apr 2011 19:04:11 +0000
5Subject: [PATCH 095/200] PR c++/48528 4Subject: [PATCH] PR c++/48528
6 * g++.dg/cpp0x/sfinae10.C: Remove abstract class. 5 * g++.dg/cpp0x/sfinae10.C: Remove abstract class.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172230 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172230 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0097-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0097-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
index a2d14715db..7baf0885df 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0097-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0097-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 7d736b8d0fb4f7892a5646ca3581b9ab01cb2971 Mon Sep 17 00:00:00 2001 1From 7d736b8d0fb4f7892a5646ca3581b9ab01cb2971 Mon Sep 17 00:00:00 2001
3From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sun, 10 Apr 2011 16:19:41 +0000 3Date: Sun, 10 Apr 2011 16:19:41 +0000
5Subject: [PATCH 097/200] 2011-04-10 Jonathan Wakely <jwakely.gcc@gmail.com> 4Subject: [PATCH] 2011-04-10 Jonathan Wakely <jwakely.gcc@gmail.com>
6 5
7 PR libstdc++/48465 6 PR libstdc++/48465
8 * configure.ac (libtool_VERSION): Bump library version to 6:16:0. 7 * configure.ac (libtool_VERSION): Bump library version to 6:16:0.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0098-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0098-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
index d3d2cea6cc..5c0823f196 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0098-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0098-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From f6e12aec843ba3a839f49b60a5ca092f2fadd876 Mon Sep 17 00:00:00 2001 1From f6e12aec843ba3a839f49b60a5ca092f2fadd876 Mon Sep 17 00:00:00 2001
3From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sun, 10 Apr 2011 16:29:05 +0000 3Date: Sun, 10 Apr 2011 16:29:05 +0000
5Subject: [PATCH 098/200] 2011-04-10 Jonathan Wakely <jwakely.gcc@gmail.com> 4Subject: [PATCH] 2011-04-10 Jonathan Wakely <jwakely.gcc@gmail.com>
6 5
7 PR libstdc++/48541 6 PR libstdc++/48541
8 * include/std/functional (_Base_manager::_M_get_pointer): Use 7 * include/std/functional (_Base_manager::_M_get_pointer): Use
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0099-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0099-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
index b130a11eaf..ede4e4c915 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0099-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0099-2011-04-10-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 2173abe5d6f3f3157317caa470226e13827c3df9 Mon Sep 17 00:00:00 2001 1From 2173abe5d6f3f3157317caa470226e13827c3df9 Mon Sep 17 00:00:00 2001
3From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sun, 10 Apr 2011 16:34:34 +0000 3Date: Sun, 10 Apr 2011 16:34:34 +0000
5Subject: [PATCH 099/200] 2011-04-10 Jonathan Wakely <jwakely.gcc@gmail.com> 4Subject: [PATCH] 2011-04-10 Jonathan Wakely <jwakely.gcc@gmail.com>
6 5
7 * testsuite/20_util/function/48451.cc: Rename to... 6 * testsuite/20_util/function/48451.cc: Rename to...
8 * testsuite/20_util/function/48541.cc: This. 7 * testsuite/20_util/function/48541.cc: This.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0101-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0101-Backport-from-mainline.patch
index c154c2d657..467d878f50 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0101-Backport-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0101-Backport-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 0344e764781d1c1b27f07f6f973b9797d8d6285c Mon Sep 17 00:00:00 2001 1From 0344e764781d1c1b27f07f6f973b9797d8d6285c Mon Sep 17 00:00:00 2001
3From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 11 Apr 2011 10:42:23 +0000 3Date: Mon, 11 Apr 2011 10:42:23 +0000
5Subject: [PATCH 101/200] Backport from mainline: 4Subject: [PATCH] Backport from mainline:
6 2011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5 2011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7 6
8 * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define. 7 * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0102-common.opt-Tbss-Tdata-Ttext-New-options.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0102-common.opt-Tbss-Tdata-Ttext-New-options.patch
index 786e3a7b85..6842c3b8ba 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0102-common.opt-Tbss-Tdata-Ttext-New-options.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0102-common.opt-Tbss-Tdata-Ttext-New-options.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From ec818a73c8e43d77fefc29593ef84e69b0cac39e Mon Sep 17 00:00:00 2001 1From ec818a73c8e43d77fefc29593ef84e69b0cac39e Mon Sep 17 00:00:00 2001
3From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 11 Apr 2011 15:26:47 +0000 3Date: Mon, 11 Apr 2011 15:26:47 +0000
5Subject: [PATCH 102/200] * common.opt (Tbss=, Tdata=, Ttext=): New options. 4Subject: [PATCH] * common.opt (Tbss=, Tdata=, Ttext=): New options.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172260 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172260 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0104-PR-c-48523.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0104-PR-c-48523.patch
index bc3dac0e42..01836716ee 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0104-PR-c-48523.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0104-PR-c-48523.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 514b92d849b08f3fb7a8194a822b0b8609776564 Mon Sep 17 00:00:00 2001 1From 514b92d849b08f3fb7a8194a822b0b8609776564 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 12 Apr 2011 00:20:18 +0000 3Date: Tue, 12 Apr 2011 00:20:18 +0000
5Subject: [PATCH 104/200] PR c++/48523 4Subject: [PATCH] PR c++/48523
6 * tree.c (maybe_dummy_object): Use build_x_indirect_ref rather 5 * tree.c (maybe_dummy_object): Use build_x_indirect_ref rather
7 than cp_build_indirect_ref. 6 than cp_build_indirect_ref.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0105-PR-c-48534.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0105-PR-c-48534.patch
index 24e527ef21..9f0b5bdd3f 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0105-PR-c-48534.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0105-PR-c-48534.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 373ffb66c10a25abb4c48a027fea4e6cf8c4cc5d Mon Sep 17 00:00:00 2001 1From 373ffb66c10a25abb4c48a027fea4e6cf8c4cc5d Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 12 Apr 2011 00:20:32 +0000 3Date: Tue, 12 Apr 2011 00:20:32 +0000
5Subject: [PATCH 105/200] PR c++/48534 4Subject: [PATCH] PR c++/48534
6 * cvt.c (ocp_convert): Use build_nop to convert to underlying type 5 * cvt.c (ocp_convert): Use build_nop to convert to underlying type
7 of scoped enum. 6 of scoped enum.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0106-PR-c-48517.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0106-PR-c-48517.patch
index a043e75096..01c9868d72 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0106-PR-c-48517.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0106-PR-c-48517.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From b58a503c5dbde32cbb9bd48ea16ff868d2023cf9 Mon Sep 17 00:00:00 2001 1From b58a503c5dbde32cbb9bd48ea16ff868d2023cf9 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 12 Apr 2011 06:53:13 +0000 3Date: Tue, 12 Apr 2011 06:53:13 +0000
5Subject: [PATCH 106/200] PR c/48517 4Subject: [PATCH] PR c/48517
6 * c-typeck.c (store_init_value): Set TREE_TYPE (decl) to 5 * c-typeck.c (store_init_value): Set TREE_TYPE (decl) to
7 qualified type. 6 qualified type.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0107-2011-04-12-Allan-McRae-allan-archlinux.org.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0107-2011-04-12-Allan-McRae-allan-archlinux.org.patch
index ff8d43a7af..7e5e490414 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0107-2011-04-12-Allan-McRae-allan-archlinux.org.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0107-2011-04-12-Allan-McRae-allan-archlinux.org.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 872b1920a12548af70c3866daadc4a67d05416b1 Mon Sep 17 00:00:00 2001 1From 872b1920a12548af70c3866daadc4a67d05416b1 Mon Sep 17 00:00:00 2001
3From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 12 Apr 2011 09:05:41 +0000 3Date: Tue, 12 Apr 2011 09:05:41 +0000
5Subject: [PATCH 107/200] 2011-04-12 Allan McRae <allan@archlinux.org> 4Subject: [PATCH] 2011-04-12 Allan McRae <allan@archlinux.org>
6 5
7 PR libstdc++/48566 6 PR libstdc++/48566
8 * testsuite/tr1/6_containers/unordered_map/requirements/ 7 * testsuite/tr1/6_containers/unordered_map/requirements/
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0108-config-v850-v850.c-expand_prologue-Do-not-use-the-CA.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0108-config-v850-v850.c-expand_prologue-Do-not-use-the-CA.patch
index 033a5ce262..bbe4dbf6cc 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0108-config-v850-v850.c-expand_prologue-Do-not-use-the-CA.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0108-config-v850-v850.c-expand_prologue-Do-not-use-the-CA.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From a03834fec84b808ccef5c0abb5c35d069d7ad868 Mon Sep 17 00:00:00 2001 1From a03834fec84b808ccef5c0abb5c35d069d7ad868 Mon Sep 17 00:00:00 2001
3From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 12 Apr 2011 11:33:07 +0000 3Date: Tue, 12 Apr 2011 11:33:07 +0000
5Subject: [PATCH 108/200] * config/v850/v850.c (expand_prologue): Do not use the CALLT 4Subject: [PATCH] * config/v850/v850.c (expand_prologue): Do not use the CALLT
6 instruction for interrupt handlers if the target is the basic V850 5 instruction for interrupt handlers if the target is the basic V850
7 architecture. 6 architecture.
8 (expand_epilogue): Likewise. 7 (expand_epilogue): Likewise.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0109-PR-rtl-optimization-48549.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0109-PR-rtl-optimization-48549.patch
index c0b3f63526..03b7119739 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0109-PR-rtl-optimization-48549.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0109-PR-rtl-optimization-48549.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 5b05a527f1368e4ca9f71a8ec8124a2c64661007 Mon Sep 17 00:00:00 2001 1From 5b05a527f1368e4ca9f71a8ec8124a2c64661007 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 12 Apr 2011 13:44:33 +0000 3Date: Tue, 12 Apr 2011 13:44:33 +0000
5Subject: [PATCH 109/200] PR rtl-optimization/48549 4Subject: [PATCH] PR rtl-optimization/48549
6 * combine.c (propagate_for_debug): Also stop after BB_END of 5 * combine.c (propagate_for_debug): Also stop after BB_END of
7 this_basic_block. Process LAST and just stop processing after it. 6 this_basic_block. Process LAST and just stop processing after it.
8 (combine_instructions): If last_combined_insn has been deleted, 7 (combine_instructions): If last_combined_insn has been deleted,
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0110-2011-04-12-Martin-Jambor-mjambor-suse.cz.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0110-2011-04-12-Martin-Jambor-mjambor-suse.cz.patch
index 231d8a4970..663c657fe4 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0110-2011-04-12-Martin-Jambor-mjambor-suse.cz.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0110-2011-04-12-Martin-Jambor-mjambor-suse.cz.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From abf56c82ebcb8ba287fc69b8961af55b4541a130 Mon Sep 17 00:00:00 2001 1From abf56c82ebcb8ba287fc69b8961af55b4541a130 Mon Sep 17 00:00:00 2001
3From: jamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 12 Apr 2011 18:31:55 +0000 3Date: Tue, 12 Apr 2011 18:31:55 +0000
5Subject: [PATCH 110/200] 2011-04-12 Martin Jambor <mjambor@suse.cz> 4Subject: [PATCH] 2011-04-12 Martin Jambor <mjambor@suse.cz>
6 5
7 PR tree-optimization/48195 6 PR tree-optimization/48195
8 * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and 7 * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0112-Fix-PR-target-48090.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0112-Fix-PR-target-48090.patch
index 7f25740c80..157939b73a 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0112-Fix-PR-target-48090.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0112-Fix-PR-target-48090.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 811af0cad0121e89e3a3908dd71ca32187281e19 Mon Sep 17 00:00:00 2001 1From 811af0cad0121e89e3a3908dd71ca32187281e19 Mon Sep 17 00:00:00 2001
3From: ramana <ramana@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ramana <ramana@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 13 Apr 2011 07:41:08 +0000 3Date: Wed, 13 Apr 2011 07:41:08 +0000
5Subject: [PATCH 112/200] Fix PR target/48090 4Subject: [PATCH] Fix PR target/48090
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172363 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172363 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0113-Fix-PR-c-48574.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0113-Fix-PR-c-48574.patch
index c1a2c70b87..cfdf11a390 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0113-Fix-PR-c-48574.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0113-Fix-PR-c-48574.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From a236530cd5ac2466b1ca3b510b6bdb493c7b5342 Mon Sep 17 00:00:00 2001 1From a236530cd5ac2466b1ca3b510b6bdb493c7b5342 Mon Sep 17 00:00:00 2001
3From: dodji <dodji@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: dodji <dodji@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 13 Apr 2011 15:19:40 +0000 3Date: Wed, 13 Apr 2011 15:19:40 +0000
5Subject: [PATCH 113/200] Fix PR c++/48574 4Subject: [PATCH] Fix PR c++/48574
6 5
7gcc/cp/ 6gcc/cp/
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0114-PR-c-48570.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0114-PR-c-48570.patch
index eeacb1fcde..c047fbfd01 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0114-PR-c-48570.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0114-PR-c-48570.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 235c1ad4230b29a189d4300841c4d8c3dd144388 Mon Sep 17 00:00:00 2001 1From 235c1ad4230b29a189d4300841c4d8c3dd144388 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 13 Apr 2011 15:47:40 +0000 3Date: Wed, 13 Apr 2011 15:47:40 +0000
5Subject: [PATCH 114/200] PR c++/48570 4Subject: [PATCH] PR c++/48570
6 * semantics.c (cxx_eval_array_reference): Handle reading from 5 * semantics.c (cxx_eval_array_reference): Handle reading from
7 wchar_t, char16_t and char32_t STRING_CST. 6 wchar_t, char16_t and char32_t STRING_CST.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0115-PR-middle-end-48591.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0115-PR-middle-end-48591.patch
index 00a50a76ae..5401697e8a 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0115-PR-middle-end-48591.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0115-PR-middle-end-48591.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From f16c1783b4b2c93a42eb36b4f136ec46bd3ce834 Mon Sep 17 00:00:00 2001 1From f16c1783b4b2c93a42eb36b4f136ec46bd3ce834 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 13 Apr 2011 15:52:17 +0000 3Date: Wed, 13 Apr 2011 15:52:17 +0000
5Subject: [PATCH 115/200] PR middle-end/48591 4Subject: [PATCH] PR middle-end/48591
6 * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is 5 * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
7 NULL. 6 NULL.
8 (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL. 7 (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0116-2011-04-13-Paul-Thomas-pault-gcc.gnu.org.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0116-2011-04-13-Paul-Thomas-pault-gcc.gnu.org.patch
index 677c076018..6d6650ea11 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0116-2011-04-13-Paul-Thomas-pault-gcc.gnu.org.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0116-2011-04-13-Paul-Thomas-pault-gcc.gnu.org.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 348c7b9400ed5fe0d8c3c077f8223ca359bed036 Mon Sep 17 00:00:00 2001 1From 348c7b9400ed5fe0d8c3c077f8223ca359bed036 Mon Sep 17 00:00:00 2001
3From: pault <pault@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: pault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 13 Apr 2011 18:38:17 +0000 3Date: Wed, 13 Apr 2011 18:38:17 +0000
5Subject: [PATCH 116/200] 2011-04-13 Paul Thomas <pault@gcc.gnu.org> 4Subject: [PATCH] 2011-04-13 Paul Thomas <pault@gcc.gnu.org>
6 5
7 PR fortran/48360 6 PR fortran/48360
8 PR fortran/48456 7 PR fortran/48456
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0117-PR-c-48594.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0117-PR-c-48594.patch
index 75caa99d8e..4da2ed399d 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0117-PR-c-48594.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0117-PR-c-48594.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From b711bf8d9e6f7b717bb87fa7a3514692efdecfaf Mon Sep 17 00:00:00 2001 1From b711bf8d9e6f7b717bb87fa7a3514692efdecfaf Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 13 Apr 2011 20:51:23 +0000 3Date: Wed, 13 Apr 2011 20:51:23 +0000
5Subject: [PATCH 117/200] PR c++/48594 4Subject: [PATCH] PR c++/48594
6 * decl2.c (build_offset_ref_call_from_tree): Fix calling a functor 5 * decl2.c (build_offset_ref_call_from_tree): Fix calling a functor
7 or pointer to (non-member) function. 6 or pointer to (non-member) function.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0118-sv.po-Update.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0118-sv.po-Update.patch
index fb5a1f9bfe..28d76e6b6b 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0118-sv.po-Update.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0118-sv.po-Update.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From d744e56ec8412e410b993c2ab4af3c230bbd363b Mon Sep 17 00:00:00 2001 1From d744e56ec8412e410b993c2ab4af3c230bbd363b Mon Sep 17 00:00:00 2001
3From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 13 Apr 2011 22:08:21 +0000 3Date: Wed, 13 Apr 2011 22:08:21 +0000
5Subject: [PATCH 118/200] * sv.po: Update. 4Subject: [PATCH] * sv.po: Update.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172399 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172399 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0119-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0119-Backport-from-mainline.patch
index dad8e60163..400ac23eff 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0119-Backport-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0119-Backport-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From ede3baf6fc1fe4972344051051daff1043f90ce3 Mon Sep 17 00:00:00 2001 1From ede3baf6fc1fe4972344051051daff1043f90ce3 Mon Sep 17 00:00:00 2001
3From: danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 13 Apr 2011 22:36:59 +0000 3Date: Wed, 13 Apr 2011 22:36:59 +0000
5Subject: [PATCH 119/200] Backport from mainline: 4Subject: [PATCH] Backport from mainline:
6 2011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 5 2011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7 6
8 PR target/48366 7 PR target/48366
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0122-PR-target-48605.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0122-PR-target-48605.patch
index 2d68241717..25957cdf16 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0122-PR-target-48605.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0122-PR-target-48605.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From cad5b42c7c890058535eb7bc8c3766f03d428f59 Mon Sep 17 00:00:00 2001 1From cad5b42c7c890058535eb7bc8c3766f03d428f59 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 15 Apr 2011 10:21:00 +0000 3Date: Fri, 15 Apr 2011 10:21:00 +0000
5Subject: [PATCH 122/200] PR target/48605 4Subject: [PATCH] PR target/48605
6 * config/i386/sse.md (avx_insertps, sse4_1_insertps): If operands[2] 5 * config/i386/sse.md (avx_insertps, sse4_1_insertps): If operands[2]
7 is a MEM, offset it as needed based on top 2 bits in operands[3], 6 is a MEM, offset it as needed based on top 2 bits in operands[3],
8 change MEM mode to SFmode and mask those 2 bits away from operands[3]. 7 change MEM mode to SFmode and mask those 2 bits away from operands[3].
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0123-PR-target-48614.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0123-PR-target-48614.patch
index 2a8dec62b5..174b195152 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0123-PR-target-48614.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0123-PR-target-48614.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 13a531dde8ee181ad9e8aeb6b755ca52f261bef8 Mon Sep 17 00:00:00 2001 1From 13a531dde8ee181ad9e8aeb6b755ca52f261bef8 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 15 Apr 2011 10:29:58 +0000 3Date: Fri, 15 Apr 2011 10:29:58 +0000
5Subject: [PATCH 123/200] PR target/48614 4Subject: [PATCH] PR target/48614
6 * gcc.target/i386/pr46084.c: Require avx_runtime instead of 5 * gcc.target/i386/pr46084.c: Require avx_runtime instead of
7 just avx. 6 just avx.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0124-2011-04-15-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0124-2011-04-15-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch
index e912b81f8f..c09a2ae501 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0124-2011-04-15-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0124-2011-04-15-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From d3cce0bbf7e327905965f0fae70b04af08bfb64b Mon Sep 17 00:00:00 2001 1From d3cce0bbf7e327905965f0fae70b04af08bfb64b Mon Sep 17 00:00:00 2001
3From: krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 15 Apr 2011 12:43:40 +0000 3Date: Fri, 15 Apr 2011 12:43:40 +0000
5Subject: [PATCH 124/200] 2011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 4Subject: [PATCH] 2011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6 5
7 * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2): 6 * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
8 Replace match_operand with match_dup for the third operand in 7 Replace match_operand with match_dup for the third operand in
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0125-2011-04-15-Takaya-Saito-gintensubaru-gmail.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0125-2011-04-15-Takaya-Saito-gintensubaru-gmail.com.patch
index ecf212707b..3927b0217c 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0125-2011-04-15-Takaya-Saito-gintensubaru-gmail.com.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0125-2011-04-15-Takaya-Saito-gintensubaru-gmail.com.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 95c034f0075055720f37e340fd008d8d7cb45b4e Mon Sep 17 00:00:00 2001 1From 95c034f0075055720f37e340fd008d8d7cb45b4e Mon Sep 17 00:00:00 2001
3From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 15 Apr 2011 14:52:57 +0000 3Date: Fri, 15 Apr 2011 14:52:57 +0000
5Subject: [PATCH 125/200] 2011-04-15 Takaya Saito <gintensubaru@gmail.com> 4Subject: [PATCH] 2011-04-15 Takaya Saito <gintensubaru@gmail.com>
6 5
7 PR libstdc++/48476 6 PR libstdc++/48476
8 * include/std/tuple (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&), 7 * include/std/tuple (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&),
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0126-2011-04-15-Paolo-Carlini-paolo.carlini-oracle.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0126-2011-04-15-Paolo-Carlini-paolo.carlini-oracle.com.patch
index 1534bdc9df..6970094945 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0126-2011-04-15-Paolo-Carlini-paolo.carlini-oracle.com.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0126-2011-04-15-Paolo-Carlini-paolo.carlini-oracle.com.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 6cd1f8146545d6f82269c9a96a05438a06fcdc1a Mon Sep 17 00:00:00 2001 1From 6cd1f8146545d6f82269c9a96a05438a06fcdc1a Mon Sep 17 00:00:00 2001
3From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 15 Apr 2011 16:19:39 +0000 3Date: Fri, 15 Apr 2011 16:19:39 +0000
5Subject: [PATCH 126/200] 2011-04-15 Paolo Carlini <paolo.carlini@oracle.com> 4Subject: [PATCH] 2011-04-15 Paolo Carlini <paolo.carlini@oracle.com>
6 5
7 * include/std/istream: Fix comments in the light of DR60 + N3168. 6 * include/std/istream: Fix comments in the light of DR60 + N3168.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0127-testsuite-libjava.jni-jni.exp-gcj_jni_get_cxxflags_i.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0127-testsuite-libjava.jni-jni.exp-gcj_jni_get_cxxflags_i.patch
index 174b747eed..42fe3474d4 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0127-testsuite-libjava.jni-jni.exp-gcj_jni_get_cxxflags_i.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0127-testsuite-libjava.jni-jni.exp-gcj_jni_get_cxxflags_i.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 37bc32c009317c62516117bfb2c9b49772b159af Mon Sep 17 00:00:00 2001 1From 37bc32c009317c62516117bfb2c9b49772b159af Mon Sep 17 00:00:00 2001
3From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 15 Apr 2011 17:17:18 +0000 3Date: Fri, 15 Apr 2011 17:17:18 +0000
5Subject: [PATCH 127/200] * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation): 4Subject: [PATCH] * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
6 Add $libiconv to cxxflags for alpha*-dec-osf*. 5 Add $libiconv to cxxflags for alpha*-dec-osf*.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172508 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172508 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0129-2011-04-15-Daniel-Krugler-daniel.kruegler-googlemail.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0129-2011-04-15-Daniel-Krugler-daniel.kruegler-googlemail.patch
index beb1ef86a2..1897e5efc8 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0129-2011-04-15-Daniel-Krugler-daniel.kruegler-googlemail.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0129-2011-04-15-Daniel-Krugler-daniel.kruegler-googlemail.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 2ce87b6b9c9143a22381eec77bbf1fd7016e132d Mon Sep 17 00:00:00 2001 1From 2ce87b6b9c9143a22381eec77bbf1fd7016e132d Mon Sep 17 00:00:00 2001
3From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 16 Apr 2011 00:55:53 +0000 3Date: Sat, 16 Apr 2011 00:55:53 +0000
5Subject: [PATCH 129/200] 2011-04-15 Daniel Krugler <daniel.kruegler@googlemail.com> 4Subject: [PATCH] 2011-04-15 Daniel Krugler <daniel.kruegler@googlemail.com>
6 Paolo Carlini <paolo.carlini@oracle.com> 5 Paolo Carlini <paolo.carlini@oracle.com>
7 6
8 PR libstdc++/48635 7 PR libstdc++/48635
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0130-2011-04-15-Daniel-Krugler-daniel.kruegler-googlemail.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0130-2011-04-15-Daniel-Krugler-daniel.kruegler-googlemail.patch
index b979bbe2da..53cc49a898 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0130-2011-04-15-Daniel-Krugler-daniel.kruegler-googlemail.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0130-2011-04-15-Daniel-Krugler-daniel.kruegler-googlemail.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From fffee2aba06d51178d5c653db0acd6c775a0326b Mon Sep 17 00:00:00 2001 1From fffee2aba06d51178d5c653db0acd6c775a0326b Mon Sep 17 00:00:00 2001
3From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 16 Apr 2011 02:04:56 +0000 3Date: Sat, 16 Apr 2011 02:04:56 +0000
5Subject: [PATCH 130/200] 2011-04-15 Daniel Krugler <daniel.kruegler@googlemail.com> 4Subject: [PATCH] 2011-04-15 Daniel Krugler <daniel.kruegler@googlemail.com>
6 Paolo Carlini <paolo.carlini@oracle.com> 5 Paolo Carlini <paolo.carlini@oracle.com>
7 6
8 PR libstdc++/48631 7 PR libstdc++/48631
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0132-PR-lto-48538.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0132-PR-lto-48538.patch
index 754efbd9e8..36472c593e 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0132-PR-lto-48538.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0132-PR-lto-48538.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From aeb8275b52616d86410149e8500839115f9c0b8b Mon Sep 17 00:00:00 2001 1From aeb8275b52616d86410149e8500839115f9c0b8b Mon Sep 17 00:00:00 2001
3From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sun, 17 Apr 2011 14:58:03 +0000 3Date: Sun, 17 Apr 2011 14:58:03 +0000
5Subject: [PATCH 132/200] PR lto/48538 4Subject: [PATCH] PR lto/48538
6 * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data 5 * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
7 is non-null before accessing it. 6 is non-null before accessing it.
8 (input_cgraph): Remove trailing spaces. 7 (input_cgraph): Remove trailing spaces.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0133-config-sparc-freebsd.h-CPP_CPU64_DEFAULT_SPEC-Replac.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0133-config-sparc-freebsd.h-CPP_CPU64_DEFAULT_SPEC-Replac.patch
index e16e3aa1e9..8b982675d7 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0133-config-sparc-freebsd.h-CPP_CPU64_DEFAULT_SPEC-Replac.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0133-config-sparc-freebsd.h-CPP_CPU64_DEFAULT_SPEC-Replac.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From a8765482b00b7e1774f72c7def19ca711636e1d1 Mon Sep 17 00:00:00 2001 1From a8765482b00b7e1774f72c7def19ca711636e1d1 Mon Sep 17 00:00:00 2001
3From: gerald <gerald@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: gerald <gerald@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sun, 17 Apr 2011 21:34:29 +0000 3Date: Sun, 17 Apr 2011 21:34:29 +0000
5Subject: [PATCH 133/200] * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with... 4Subject: [PATCH] * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
6 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this. 5 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
7 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define. 6 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0134-2011-04-17-Daniel-Krugler-daniel.kruegler-googlemail.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0134-2011-04-17-Daniel-Krugler-daniel.kruegler-googlemail.patch
index 177afa2ce7..471d4d3db9 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0134-2011-04-17-Daniel-Krugler-daniel.kruegler-googlemail.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0134-2011-04-17-Daniel-Krugler-daniel.kruegler-googlemail.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 1934cdd502a4bad6e1c54c4206b9361909f01083 Mon Sep 17 00:00:00 2001 1From 1934cdd502a4bad6e1c54c4206b9361909f01083 Mon Sep 17 00:00:00 2001
3From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sun, 17 Apr 2011 21:46:20 +0000 3Date: Sun, 17 Apr 2011 21:46:20 +0000
5Subject: [PATCH 134/200] 2011-04-17 Daniel Krugler <daniel.kruegler@googlemail.com> 4Subject: [PATCH] 2011-04-17 Daniel Krugler <daniel.kruegler@googlemail.com>
6 Paolo Carlini <paolo.carlini@oracle.com> 5 Paolo Carlini <paolo.carlini@oracle.com>
7 6
8 PR libstdc++/48635 (again) 7 PR libstdc++/48635 (again)
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0135-doc-passes.texi-Fill-crossref-nodes.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0135-doc-passes.texi-Fill-crossref-nodes.patch
index cb8ab1a1aa..9925a2cd8c 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0135-doc-passes.texi-Fill-crossref-nodes.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0135-doc-passes.texi-Fill-crossref-nodes.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 54907dbd122d6e4661b9583247e5574b9349c130 Mon Sep 17 00:00:00 2001 1From 54907dbd122d6e4661b9583247e5574b9349c130 Mon Sep 17 00:00:00 2001
3From: gerald <gerald@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: gerald <gerald@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sun, 17 Apr 2011 21:59:00 +0000 3Date: Sun, 17 Apr 2011 21:59:00 +0000
5Subject: [PATCH 135/200] * doc/passes.texi: Fill crossref nodes. 4Subject: [PATCH] * doc/passes.texi: Fill crossref nodes.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172621 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172621 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0136-gcc-interface-Make-lang.in-gnatbind-Replace-ALL_CFLA.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0136-gcc-interface-Make-lang.in-gnatbind-Replace-ALL_CFLA.patch
index c9a38e0c3c..84a5f480d7 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0136-gcc-interface-Make-lang.in-gnatbind-Replace-ALL_CFLA.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0136-gcc-interface-Make-lang.in-gnatbind-Replace-ALL_CFLA.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 03b47392e5f3af2fe5ef4ad1f5fc9cca47604945 Mon Sep 17 00:00:00 2001 1From 03b47392e5f3af2fe5ef4ad1f5fc9cca47604945 Mon Sep 17 00:00:00 2001
3From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sun, 17 Apr 2011 22:29:13 +0000 3Date: Sun, 17 Apr 2011 22:29:13 +0000
5Subject: [PATCH 136/200] * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with 4Subject: [PATCH] * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
6 $(CFLAGS) on the link line. 5 $(CFLAGS) on the link line.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172623 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172623 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0138-PR-tree-optimization-48616.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0138-PR-tree-optimization-48616.patch
index c3d271fba1..ecb3716818 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0138-PR-tree-optimization-48616.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0138-PR-tree-optimization-48616.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 45a8b16e2be6b6ff5d37d43e86a6e2fce5cfb79d Mon Sep 17 00:00:00 2001 1From 45a8b16e2be6b6ff5d37d43e86a6e2fce5cfb79d Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 18 Apr 2011 07:38:11 +0000 3Date: Mon, 18 Apr 2011 07:38:11 +0000
5Subject: [PATCH 138/200] PR tree-optimization/48616 4Subject: [PATCH] PR tree-optimization/48616
6 * tree-vect-stmts.c (vectorizable_shift): If SLP, determine 5 * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
7 whether the shift is by scalar or vector based on whether all SLP 6 whether the shift is by scalar or vector based on whether all SLP
8 scalar stmts have the same rhs. 7 scalar stmts have the same rhs.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0139-2011-04-18-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0139-2011-04-18-Richard-Guenther-rguenther-suse.de.patch
index a14ee29f30..c79804c25d 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0139-2011-04-18-Richard-Guenther-rguenther-suse.de.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0139-2011-04-18-Richard-Guenther-rguenther-suse.de.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 68e7b8b6643a4c50a8527610dbf5a7ab36cc8f24 Mon Sep 17 00:00:00 2001 1From 68e7b8b6643a4c50a8527610dbf5a7ab36cc8f24 Mon Sep 17 00:00:00 2001
3From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 18 Apr 2011 14:25:57 +0000 3Date: Mon, 18 Apr 2011 14:25:57 +0000
5Subject: [PATCH 139/200] 2011-04-18 Richard Guenther <rguenther@suse.de> 4Subject: [PATCH] 2011-04-18 Richard Guenther <rguenther@suse.de>
6 5
7 PR middle-end/46364 6 PR middle-end/46364
8 * g++.dg/torture/pr46364.C: New testcase. 7 * g++.dg/torture/pr46364.C: New testcase.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0140-PR-47571-Fix-weakref-trickery-breakage-on-alpha-dec-.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0140-PR-47571-Fix-weakref-trickery-breakage-on-alpha-dec-.patch
index 5860b1907a..c8be19ee5a 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0140-PR-47571-Fix-weakref-trickery-breakage-on-alpha-dec-.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0140-PR-47571-Fix-weakref-trickery-breakage-on-alpha-dec-.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 137ed44dcdd5890433b8d0348dcd2b7624b7c3d6 Mon Sep 17 00:00:00 2001 1From 137ed44dcdd5890433b8d0348dcd2b7624b7c3d6 Mon Sep 17 00:00:00 2001
3From: jb <jb@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jb <jb@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 18 Apr 2011 15:49:16 +0000 3Date: Mon, 18 Apr 2011 15:49:16 +0000
5Subject: [PATCH 140/200] PR 47571 Fix weakref trickery breakage on alpha-dec-osf 4Subject: [PATCH] PR 47571 Fix weakref trickery breakage on alpha-dec-osf
6 5
7This is a backport from mainline r172469. 6This is a backport from mainline r172469.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0141-dwarf2out.c-is_redundant_typedef-Add-inline-to-proto.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0141-dwarf2out.c-is_redundant_typedef-Add-inline-to-proto.patch
index 7483afe285..282a669b27 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0141-dwarf2out.c-is_redundant_typedef-Add-inline-to-proto.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0141-dwarf2out.c-is_redundant_typedef-Add-inline-to-proto.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 9adddf1e8ef277d62e5da8dfd81bc50e2b4898c4 Mon Sep 17 00:00:00 2001 1From 9adddf1e8ef277d62e5da8dfd81bc50e2b4898c4 Mon Sep 17 00:00:00 2001
3From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 18 Apr 2011 17:37:55 +0000 3Date: Mon, 18 Apr 2011 17:37:55 +0000
5Subject: [PATCH 141/200] * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype. 4Subject: [PATCH] * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172661 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172661 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0142-PR-c-48632.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0142-PR-c-48632.patch
index fa158fda1d..4afaa27ca3 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0142-PR-c-48632.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0142-PR-c-48632.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 71ec07630d08b813b39a65a932c71c78b8ffd845 Mon Sep 17 00:00:00 2001 1From 71ec07630d08b813b39a65a932c71c78b8ffd845 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 18 Apr 2011 21:56:12 +0000 3Date: Mon, 18 Apr 2011 21:56:12 +0000
5Subject: [PATCH 142/200] PR c++/48632 4Subject: [PATCH] PR c++/48632
6 * parser.c (cp_parser_omp_for_loop): Don't use cp_parser_omp_for_incr 5 * parser.c (cp_parser_omp_for_loop): Don't use cp_parser_omp_for_incr
7 for type dependent pointers. 6 for type dependent pointers.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0143-PR-middle-end-48661.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0143-PR-middle-end-48661.patch
index 324639e5cf..ff5a9e0fc7 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0143-PR-middle-end-48661.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0143-PR-middle-end-48661.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 6d925e0321b8a34fb21b00a202c07d3d8a6e389a Mon Sep 17 00:00:00 2001 1From 6d925e0321b8a34fb21b00a202c07d3d8a6e389a Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 18 Apr 2011 21:58:03 +0000 3Date: Mon, 18 Apr 2011 21:58:03 +0000
5Subject: [PATCH 143/200] PR middle-end/48661 4Subject: [PATCH] PR middle-end/48661
6 * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL 5 * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
7 if TREE_TYPE (v) is non-NULL. 6 if TREE_TYPE (v) is non-NULL.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0144-PR-c-48537.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0144-PR-c-48537.patch
index 8d9440cee4..251074aeef 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0144-PR-c-48537.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0144-PR-c-48537.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 065054b0b29c40548abd13c272431507d035b30a Mon Sep 17 00:00:00 2001 1From 065054b0b29c40548abd13c272431507d035b30a Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 18 Apr 2011 23:29:30 +0000 3Date: Mon, 18 Apr 2011 23:29:30 +0000
5Subject: [PATCH 144/200] PR c++/48537 4Subject: [PATCH] PR c++/48537
6 * init.c (build_value_init): Handle UNION_TYPE the same. 5 * init.c (build_value_init): Handle UNION_TYPE the same.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172679 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172679 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0146-PR-testsuite-48675.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0146-PR-testsuite-48675.patch
index d25f59af0a..48a3bcb6a3 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0146-PR-testsuite-48675.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0146-PR-testsuite-48675.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From cd1bb68f56ade6449c6d52a1916c6a58f09f59e6 Mon Sep 17 00:00:00 2001 1From cd1bb68f56ade6449c6d52a1916c6a58f09f59e6 Mon Sep 17 00:00:00 2001
3From: hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 19 Apr 2011 03:58:04 +0000 3Date: Tue, 19 Apr 2011 03:58:04 +0000
5Subject: [PATCH 146/200] PR testsuite/48675 4Subject: [PATCH] PR testsuite/48675
6 * testsuite/20_util/hash/chi2_quality.cc (test_document_words): Stub 5 * testsuite/20_util/hash/chi2_quality.cc (test_document_words): Stub
7 this part if SAMPLES < 100000. 6 this part if SAMPLES < 100000.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0147-2011-04-18-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0147-2011-04-18-Richard-Guenther-rguenther-suse.de.patch
index dc577a9041..e4a66f0ab0 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0147-2011-04-18-Richard-Guenther-rguenther-suse.de.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0147-2011-04-18-Richard-Guenther-rguenther-suse.de.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From dd8cc468e2787972742061b1547dbab48729ccf8 Mon Sep 17 00:00:00 2001 1From dd8cc468e2787972742061b1547dbab48729ccf8 Mon Sep 17 00:00:00 2001
3From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 19 Apr 2011 09:14:05 +0000 3Date: Tue, 19 Apr 2011 09:14:05 +0000
5Subject: [PATCH 147/200] 2011-04-18 Richard Guenther <rguenther@suse.de> 4Subject: [PATCH] 2011-04-18 Richard Guenther <rguenther@suse.de>
6 5
7 PR preprocessor/48248 6 PR preprocessor/48248
8 * c-ppoutput.c (maybe_print_line): Avoid changing -P behavior. 7 * c-ppoutput.c (maybe_print_line): Avoid changing -P behavior.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0149-PR-target-48678.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0149-PR-target-48678.patch
index c5036bfe3d..ed87467ad1 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0149-PR-target-48678.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0149-PR-target-48678.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From ac255441a3e973a974d1ab70d00a9b7269103214 Mon Sep 17 00:00:00 2001 1From ac255441a3e973a974d1ab70d00a9b7269103214 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 19 Apr 2011 16:49:19 +0000 3Date: Tue, 19 Apr 2011 16:49:19 +0000
5Subject: [PATCH 149/200] PR target/48678 4Subject: [PATCH] PR target/48678
6 * config/i386/i386.md (movstrict<mode>): FAIL if operands[0] 5 * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
7 is a SUBREG with non-MODE_INT mode inside of it. 6 is a SUBREG with non-MODE_INT mode inside of it.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0151-PR-c-46304.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0151-PR-c-46304.patch
index 789558a0d8..fbf3293981 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0151-PR-c-46304.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0151-PR-c-46304.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 021acee3b7a6b26783c92870c1e202730c3f024e Mon Sep 17 00:00:00 2001 1From 021acee3b7a6b26783c92870c1e202730c3f024e Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 20 Apr 2011 06:31:51 +0000 3Date: Wed, 20 Apr 2011 06:31:51 +0000
5Subject: [PATCH 151/200] PR c++/46304 4Subject: [PATCH] PR c++/46304
6 * typeck.c (cp_build_binary_op): Fold COMPLEX_EXPR. 5 * typeck.c (cp_build_binary_op): Fold COMPLEX_EXPR.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172756 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172756 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0152-bootstrap-lto.mk-Remove-obsolete-requirement.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0152-bootstrap-lto.mk-Remove-obsolete-requirement.patch
index a1d8088d8f..e3599e46c8 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0152-bootstrap-lto.mk-Remove-obsolete-requirement.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0152-bootstrap-lto.mk-Remove-obsolete-requirement.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 64152d5463c74f3ec58a7d27e7f4e03dfd9557ff Mon Sep 17 00:00:00 2001 1From 64152d5463c74f3ec58a7d27e7f4e03dfd9557ff Mon Sep 17 00:00:00 2001
3From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 20 Apr 2011 09:25:33 +0000 3Date: Wed, 20 Apr 2011 09:25:33 +0000
5Subject: [PATCH 152/200] * bootstrap-lto.mk: Remove obsolete requirement. 4Subject: [PATCH] * bootstrap-lto.mk: Remove obsolete requirement.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172762 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172762 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0153-2011-04-20-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0153-2011-04-20-Richard-Guenther-rguenther-suse.de.patch
index 9ff69b0c92..14e9b193e5 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0153-2011-04-20-Richard-Guenther-rguenther-suse.de.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0153-2011-04-20-Richard-Guenther-rguenther-suse.de.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 5ff95d9c48276f6495b8ebefeb2ce4ac1ab6a1fe Mon Sep 17 00:00:00 2001 1From 5ff95d9c48276f6495b8ebefeb2ce4ac1ab6a1fe Mon Sep 17 00:00:00 2001
3From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 20 Apr 2011 09:48:00 +0000 3Date: Wed, 20 Apr 2011 09:48:00 +0000
5Subject: [PATCH 153/200] 2011-04-20 Richard Guenther <rguenther@suse.de> 4Subject: [PATCH] 2011-04-20 Richard Guenther <rguenther@suse.de>
6 5
7 Backport from mainline 6 Backport from mainline
8 2011-04-19 Bernd Schmidt <bernds@codesourcery.com> 7 2011-04-19 Bernd Schmidt <bernds@codesourcery.com>
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0154-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0154-Backport-from-mainline.patch
index 152b0817dc..c3cff8f505 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0154-Backport-from-mainline.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0154-Backport-from-mainline.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From b769f6c6e91c977fb6b4fcc5b7838eb79dddaeb7 Mon Sep 17 00:00:00 2001 1From b769f6c6e91c977fb6b4fcc5b7838eb79dddaeb7 Mon Sep 17 00:00:00 2001
3From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 20 Apr 2011 11:18:50 +0000 3Date: Wed, 20 Apr 2011 11:18:50 +0000
5Subject: [PATCH 154/200] Backport from mainline 4Subject: [PATCH] Backport from mainline
6 2011-04-19 Eric Botcazou <ebotcazou@adacore.com> 5 2011-04-19 Eric Botcazou <ebotcazou@adacore.com>
7 6
8 PR lto/48148 7 PR lto/48148
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0155-PR-tree-optimization-48611.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0155-PR-tree-optimization-48611.patch
index 922c0a840d..b2c0cd86f3 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0155-PR-tree-optimization-48611.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0155-PR-tree-optimization-48611.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 0e3879bf21f04b54b0849f3a86c20359f965e12a Mon Sep 17 00:00:00 2001 1From 0e3879bf21f04b54b0849f3a86c20359f965e12a Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 20 Apr 2011 18:19:47 +0000 3Date: Wed, 20 Apr 2011 18:19:47 +0000
5Subject: [PATCH 155/200] PR tree-optimization/48611 4Subject: [PATCH] PR tree-optimization/48611
6 * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate 5 * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
7 beyond ERT_MUST_NOT_THROW region. 6 beyond ERT_MUST_NOT_THROW region.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0156-PR-c-48657.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0156-PR-c-48657.patch
index b1720b75b9..c689525203 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0156-PR-c-48657.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0156-PR-c-48657.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 03be58e53f230926009974bd7aed6a40a557dc1d Mon Sep 17 00:00:00 2001 1From 03be58e53f230926009974bd7aed6a40a557dc1d Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 20 Apr 2011 19:39:26 +0000 3Date: Wed, 20 Apr 2011 19:39:26 +0000
5Subject: [PATCH 156/200] PR c++/48657 4Subject: [PATCH] PR c++/48657
6 * decl.c (cp_finish_decl): Handle non-member constant variables 5 * decl.c (cp_finish_decl): Handle non-member constant variables
7 in templates, too. 6 in templates, too.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0157-PR-target-48288.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0157-PR-target-48288.patch
index 66c349c937..067067cf4e 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0157-PR-target-48288.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0157-PR-target-48288.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 05f12c826eff0c87deeac7347d73cb276ec493cc Mon Sep 17 00:00:00 2001 1From 05f12c826eff0c87deeac7347d73cb276ec493cc Mon Sep 17 00:00:00 2001
3From: danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 20 Apr 2011 23:36:20 +0000 3Date: Wed, 20 Apr 2011 23:36:20 +0000
5Subject: [PATCH 157/200] PR target/48288 4Subject: [PATCH] PR target/48288
6 * config/pa/predicates.md (ior_operand): Delete predicate. 5 * config/pa/predicates.md (ior_operand): Delete predicate.
7 (cint_ior_operand, reg_or_cint_ior_operand): New predicates. 6 (cint_ior_operand, reg_or_cint_ior_operand): New predicates.
8 * config/pa/pa.md (iordi3): Use reg_or_cint_ior_operand predicate in 7 * config/pa/pa.md (iordi3): Use reg_or_cint_ior_operand predicate in
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0159-PR-c-48594.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0159-PR-c-48594.patch
index a01b834886..c25a7dee1d 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0159-PR-c-48594.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0159-PR-c-48594.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From eda6b7fee4d20c15dc919a726b60ee5777c402c8 Mon Sep 17 00:00:00 2001 1From eda6b7fee4d20c15dc919a726b60ee5777c402c8 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 21 Apr 2011 03:03:08 +0000 3Date: Thu, 21 Apr 2011 03:03:08 +0000
5Subject: [PATCH 159/200] PR c++/48594 4Subject: [PATCH] PR c++/48594
6 * decl2.c (build_offset_ref_call_from_tree): Move 5 * decl2.c (build_offset_ref_call_from_tree): Move
7 non-dependency of object outside condition. 6 non-dependency of object outside condition.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0160-semantics.c-finish_compound_literal-Don-t-put-an-arr.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0160-semantics.c-finish_compound_literal-Don-t-put-an-arr.patch
index 44f5d3583a..98d58d9b4f 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0160-semantics.c-finish_compound_literal-Don-t-put-an-arr.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0160-semantics.c-finish_compound_literal-Don-t-put-an-arr.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 19692feb0bd83e8e6b3a1e1e0b43119d7e12ce96 Mon Sep 17 00:00:00 2001 1From 19692feb0bd83e8e6b3a1e1e0b43119d7e12ce96 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 21 Apr 2011 04:27:30 +0000 3Date: Thu, 21 Apr 2011 04:27:30 +0000
5Subject: [PATCH 160/200] * semantics.c (finish_compound_literal): Don't put an array 4Subject: [PATCH] * semantics.c (finish_compound_literal): Don't put an array
6 with a dtor in a static variable. 5 with a dtor in a static variable.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172806 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172806 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0161-gimple.c-walk_gimple_op-GIMPLE_CALL-Fix-couple-of-ov.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0161-gimple.c-walk_gimple_op-GIMPLE_CALL-Fix-couple-of-ov.patch
index 64e797835a..6b8baebeee 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0161-gimple.c-walk_gimple_op-GIMPLE_CALL-Fix-couple-of-ov.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0161-gimple.c-walk_gimple_op-GIMPLE_CALL-Fix-couple-of-ov.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 20a8b6ba99d25394d9d4b958a8ecc171fe3d263b Mon Sep 17 00:00:00 2001 1From 20a8b6ba99d25394d9d4b958a8ecc171fe3d263b Mon Sep 17 00:00:00 2001
3From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 21 Apr 2011 14:18:54 +0000 3Date: Thu, 21 Apr 2011 14:18:54 +0000
5Subject: [PATCH 161/200] * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights. 4Subject: [PATCH] * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172829 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172829 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0162-2011-04-21-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0162-2011-04-21-Richard-Guenther-rguenther-suse.de.patch
index fa83ccc5e6..f10e72501d 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0162-2011-04-21-Richard-Guenther-rguenther-suse.de.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0162-2011-04-21-Richard-Guenther-rguenther-suse.de.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From d0c1a282504a0fa941a9ae22536c73f64d8c5762 Mon Sep 17 00:00:00 2001 1From d0c1a282504a0fa941a9ae22536c73f64d8c5762 Mon Sep 17 00:00:00 2001
3From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 21 Apr 2011 14:40:53 +0000 3Date: Thu, 21 Apr 2011 14:40:53 +0000
5Subject: [PATCH 162/200] 2011-04-21 Richard Guenther <rguenther@suse.de> 4Subject: [PATCH] 2011-04-21 Richard Guenther <rguenther@suse.de>
6 5
7 PR middle-end/48695 6 PR middle-end/48695
8 * tree-ssa-alias.c (aliasing_component_refs_p): Compute base 7 * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0163-de.po-Update.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0163-de.po-Update.patch
index 15ae0137b6..360d885e91 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0163-de.po-Update.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0163-de.po-Update.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From bdc36219ffa6e8c7e2b48e4aedc32082205a2195 Mon Sep 17 00:00:00 2001 1From bdc36219ffa6e8c7e2b48e4aedc32082205a2195 Mon Sep 17 00:00:00 2001
3From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 21 Apr 2011 17:02:45 +0000 3Date: Thu, 21 Apr 2011 17:02:45 +0000
5Subject: [PATCH 163/200] * de.po: Update. 4Subject: [PATCH] * de.po: Update.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172836 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172836 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0164-PR-target-48708.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0164-PR-target-48708.patch
index a089ebe592..fde53a48a1 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0164-PR-target-48708.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0164-PR-target-48708.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From ad24dcb7c07f1f9d41cb6782ea14c6c1727c4cb0 Mon Sep 17 00:00:00 2001 1From ad24dcb7c07f1f9d41cb6782ea14c6c1727c4cb0 Mon Sep 17 00:00:00 2001
3From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 21 Apr 2011 20:23:55 +0000 3Date: Thu, 21 Apr 2011 20:23:55 +0000
5Subject: [PATCH 164/200] PR target/48708 4Subject: [PATCH] PR target/48708
6 * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate 5 * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
7 vec_extract and vec_concat for non-SSE4_1 targets. 6 vec_extract and vec_concat for non-SSE4_1 targets.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0166-PR-c-48716.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0166-PR-c-48716.patch
index c9c474d601..b75b906546 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0166-PR-c-48716.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0166-PR-c-48716.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 3a3d51cb4f1ec33265471b03d21b96d30e899858 Mon Sep 17 00:00:00 2001 1From 3a3d51cb4f1ec33265471b03d21b96d30e899858 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 22 Apr 2011 14:11:44 +0000 3Date: Fri, 22 Apr 2011 14:11:44 +0000
5Subject: [PATCH 166/200] PR c/48716 4Subject: [PATCH] PR c/48716
6 * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also 5 * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
7 TREE_STATIC variables declared inside of some OpenMP construct. 6 TREE_STATIC variables declared inside of some OpenMP construct.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0167-PR-target-48723.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0167-PR-target-48723.patch
index 8359bb1705..e86beea309 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0167-PR-target-48723.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0167-PR-target-48723.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 6798037eb1c55f1dd79c04da313bd6bcd4d2aa9e Mon Sep 17 00:00:00 2001 1From 6798037eb1c55f1dd79c04da313bd6bcd4d2aa9e Mon Sep 17 00:00:00 2001
3From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 22 Apr 2011 18:43:57 +0000 3Date: Fri, 22 Apr 2011 18:43:57 +0000
5Subject: [PATCH 167/200] PR target/48723 4Subject: [PATCH] PR target/48723
6 * config/i386/i386.c (ix86_expand_prologue): Update m->fs.sp_offset 5 * config/i386/i386.c (ix86_expand_prologue): Update m->fs.sp_offset
7 after the call to ix86_adjust_stack_and_probe. 6 after the call to ix86_adjust_stack_and_probe.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0168-PR-tree-optimization-48717.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0168-PR-tree-optimization-48717.patch
index a3c51de694..0edf046820 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0168-PR-tree-optimization-48717.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0168-PR-tree-optimization-48717.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 8825c738568548e5d67dc2f4e7ce9326dcc2cd7c Mon Sep 17 00:00:00 2001 1From 8825c738568548e5d67dc2f4e7ce9326dcc2cd7c Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 22 Apr 2011 18:53:30 +0000 3Date: Fri, 22 Apr 2011 18:53:30 +0000
5Subject: [PATCH 168/200] PR tree-optimization/48717 4Subject: [PATCH] PR tree-optimization/48717
6 * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and 5 * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
7 ~A + A optimizations use build_int_cst_type instead of build_int_cst. 6 ~A + A optimizations use build_int_cst_type instead of build_int_cst.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0170-Revert.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0170-Revert.patch
index 9f39bdea14..e3899c2534 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0170-Revert.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0170-Revert.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From b4d9ee2abbc5ac5fcf475e1d495bd3d55500d39b Mon Sep 17 00:00:00 2001 1From b4d9ee2abbc5ac5fcf475e1d495bd3d55500d39b Mon Sep 17 00:00:00 2001
3From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 23 Apr 2011 07:41:43 +0000 3Date: Sat, 23 Apr 2011 07:41:43 +0000
5Subject: [PATCH 170/200] Revert: 4Subject: [PATCH] Revert:
6 2011-04-22 Uros Bizjak <ubizjak@gmail.com> 5 2011-04-22 Uros Bizjak <ubizjak@gmail.com>
7 6
8 PR target/48723 7 PR target/48723
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0171-PR-c-48685.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0171-PR-c-48685.patch
index f11f405af1..c15cf4d8d6 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0171-PR-c-48685.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0171-PR-c-48685.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 260252e3308b19f495f084658236114ead218ec5 Mon Sep 17 00:00:00 2001 1From 260252e3308b19f495f084658236114ead218ec5 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 23 Apr 2011 10:18:54 +0000 3Date: Sat, 23 Apr 2011 10:18:54 +0000
5Subject: [PATCH 171/200] PR c/48685 4Subject: [PATCH] PR c/48685
6 * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting 5 * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
7 to VOID_TYPE even around MODIFY_EXPR. 6 to VOID_TYPE even around MODIFY_EXPR.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0172-gcc.dg-pr48616.c-dg-options-Add-fno-common-to-option.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0172-gcc.dg-pr48616.c-dg-options-Add-fno-common-to-option.patch
index 6ba93bf67e..ec50c3a37e 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0172-gcc.dg-pr48616.c-dg-options-Add-fno-common-to-option.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0172-gcc.dg-pr48616.c-dg-options-Add-fno-common-to-option.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 79d3442448d1bd498a80baca666a94dfabe93364 Mon Sep 17 00:00:00 2001 1From 79d3442448d1bd498a80baca666a94dfabe93364 Mon Sep 17 00:00:00 2001
3From: danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 23 Apr 2011 17:47:17 +0000 3Date: Sat, 23 Apr 2011 17:47:17 +0000
5Subject: [PATCH 172/200] * gcc.dg/pr48616.c (dg-options): Add -fno-common to options on 4Subject: [PATCH] * gcc.dg/pr48616.c (dg-options): Add -fno-common to options on
6 hppa*-*-hpux*. 5 hppa*-*-hpux*.
7 6
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172900 138bc75d-0d04-0410-961f-82ee72b054a4 7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172900 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0173-2011-04-23-Jonathan-Wakely-jwakely.gcc-gmail.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0173-2011-04-23-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
index 6cd605f791..bef49b567c 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0173-2011-04-23-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0173-2011-04-23-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 0755fde6008ab7a7ae98f3b4c5967191408431f3 Mon Sep 17 00:00:00 2001 1From 0755fde6008ab7a7ae98f3b4c5967191408431f3 Mon Sep 17 00:00:00 2001
3From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 23 Apr 2011 17:51:31 +0000 3Date: Sat, 23 Apr 2011 17:51:31 +0000
5Subject: [PATCH 173/200] 2011-04-23 Jonathan Wakely <jwakely.gcc@gmail.com> 4Subject: [PATCH] 2011-04-23 Jonathan Wakely <jwakely.gcc@gmail.com>
6 5
7 PR libstdc++/48521 6 PR libstdc++/48521
8 * include/std/type_traits (result_of): Handle pointer to member. 7 * include/std/type_traits (result_of): Handle pointer to member.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0174-PR-preprocessor-48740.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0174-PR-preprocessor-48740.patch
index 852b7ecd44..d7019721fa 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0174-PR-preprocessor-48740.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0174-PR-preprocessor-48740.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From c6deb5c58fde1c5115d9e92afb2ead8e7ac4fea0 Mon Sep 17 00:00:00 2001 1From c6deb5c58fde1c5115d9e92afb2ead8e7ac4fea0 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sat, 23 Apr 2011 23:33:39 +0000 3Date: Sat, 23 Apr 2011 23:33:39 +0000
5Subject: [PATCH 174/200] PR preprocessor/48740 4Subject: [PATCH] PR preprocessor/48740
6 * lex.c (lex_raw_string): When raw string ends with 5 * lex.c (lex_raw_string): When raw string ends with
7 ??) followed by raw prefix and ", ensure it is preprocessed 6 ??) followed by raw prefix and ", ensure it is preprocessed
8 with ??) rather than ??]. 7 with ??) rather than ??].
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0176-2011-04-24-Paolo-Carlini-paolo.carlini-oracle.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0176-2011-04-24-Paolo-Carlini-paolo.carlini-oracle.com.patch
index 35282c1c33..ce3b141da1 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0176-2011-04-24-Paolo-Carlini-paolo.carlini-oracle.com.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0176-2011-04-24-Paolo-Carlini-paolo.carlini-oracle.com.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 63c4ffd33d8f3e61e53d30f50146e1bc4cb6e38a Mon Sep 17 00:00:00 2001 1From 63c4ffd33d8f3e61e53d30f50146e1bc4cb6e38a Mon Sep 17 00:00:00 2001
3From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Sun, 24 Apr 2011 09:43:29 +0000 3Date: Sun, 24 Apr 2011 09:43:29 +0000
5Subject: [PATCH 176/200] 2011-04-24 Paolo Carlini <paolo.carlini@oracle.com> 4Subject: [PATCH] 2011-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6 5
7 PR other/48748 6 PR other/48748
8 * doc/extend.texi (Type Traits): Document __is_standard_layout, 7 * doc/extend.texi (Type Traits): Document __is_standard_layout,
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0178-PR-c-48707.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0178-PR-c-48707.patch
index 40505e5530..275d5edce9 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0178-PR-c-48707.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0178-PR-c-48707.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From c2606fe2aa58ae13a13e7ff0b17da61e4565586d Mon Sep 17 00:00:00 2001 1From c2606fe2aa58ae13a13e7ff0b17da61e4565586d Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Mon, 25 Apr 2011 21:53:57 +0000 3Date: Mon, 25 Apr 2011 21:53:57 +0000
5Subject: [PATCH 178/200] PR c++/48707 4Subject: [PATCH] PR c++/48707
6 * pt.c (value_dependent_expression_p): Handle type-dependent 5 * pt.c (value_dependent_expression_p): Handle type-dependent
7 expression. 6 expression.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0180-2011-04-26-Tobias-Burnus-burnus-net-b.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0180-2011-04-26-Tobias-Burnus-burnus-net-b.de.patch
index ec605836e0..f9a95bd0e4 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0180-2011-04-26-Tobias-Burnus-burnus-net-b.de.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0180-2011-04-26-Tobias-Burnus-burnus-net-b.de.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From ead753a2ac74bd306d240de4760b7f809c581052 Mon Sep 17 00:00:00 2001 1From ead753a2ac74bd306d240de4760b7f809c581052 Mon Sep 17 00:00:00 2001
3From: burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 26 Apr 2011 08:41:31 +0000 3Date: Tue, 26 Apr 2011 08:41:31 +0000
5Subject: [PATCH 180/200] 2011-04-26 Tobias Burnus <burnus@net-b.de> 4Subject: [PATCH] 2011-04-26 Tobias Burnus <burnus@net-b.de>
6 5
7 PR fortran/48588 6 PR fortran/48588
8 * parse.c (resolve_all_program_units): Skip modules. 7 * parse.c (resolve_all_program_units): Skip modules.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0181-2011-04-26-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0181-2011-04-26-Richard-Guenther-rguenther-suse.de.patch
index ee423293cf..970f19c674 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0181-2011-04-26-Richard-Guenther-rguenther-suse.de.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0181-2011-04-26-Richard-Guenther-rguenther-suse.de.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 2e8f32d39576b002280e29079ad6cfc55c852276 Mon Sep 17 00:00:00 2001 1From 2e8f32d39576b002280e29079ad6cfc55c852276 Mon Sep 17 00:00:00 2001
3From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 26 Apr 2011 12:59:22 +0000 3Date: Tue, 26 Apr 2011 12:59:22 +0000
5Subject: [PATCH 181/200] 2011-04-26 Richard Guenther <rguenther@suse.de> 4Subject: [PATCH] 2011-04-26 Richard Guenther <rguenther@suse.de>
6 5
7 PR tree-optimization/48731 6 PR tree-optimization/48731
8 * ipa-inline.c (cgraph_flatten): Test if function is inlinable. 7 * ipa-inline.c (cgraph_flatten): Test if function is inlinable.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0182-PR-tree-optimization-48734.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0182-PR-tree-optimization-48734.patch
index 40f3efa787..4ba1b9d63c 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0182-PR-tree-optimization-48734.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0182-PR-tree-optimization-48734.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From a3ac868928384ffe6f10c3aa0fd3ac9ab8cc1aae Mon Sep 17 00:00:00 2001 1From a3ac868928384ffe6f10c3aa0fd3ac9ab8cc1aae Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 26 Apr 2011 13:44:51 +0000 3Date: Tue, 26 Apr 2011 13:44:51 +0000
5Subject: [PATCH 182/200] PR tree-optimization/48734 4Subject: [PATCH] PR tree-optimization/48734
6 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up 5 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
7 if return value from maybe_fold_*_comparsions isn't something 6 if return value from maybe_fold_*_comparsions isn't something
8 the code is prepared to handle. 7 the code is prepared to handle.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0183-PR-debug-48768.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0183-PR-debug-48768.patch
index 2a0fd2fbac..b3d25e06c0 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0183-PR-debug-48768.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0183-PR-debug-48768.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 8a0e77485c3d9d34c6f65cec908829dcc4cd5fee Mon Sep 17 00:00:00 2001 1From 8a0e77485c3d9d34c6f65cec908829dcc4cd5fee Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 26 Apr 2011 13:47:13 +0000 3Date: Tue, 26 Apr 2011 13:47:13 +0000
5Subject: [PATCH 183/200] PR debug/48768 4Subject: [PATCH] PR debug/48768
6 * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result 5 * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
7 is error_mark_node, set value to NULL. 6 is error_mark_node, set value to NULL.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0184-de.po-Update.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0184-de.po-Update.patch
index eea1bea067..7a02d90a22 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0184-de.po-Update.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0184-de.po-Update.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 6dd6ecb750b587d76e46e7e622e44407fce87389 Mon Sep 17 00:00:00 2001 1From 6dd6ecb750b587d76e46e7e622e44407fce87389 Mon Sep 17 00:00:00 2001
3From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 26 Apr 2011 14:57:30 +0000 3Date: Tue, 26 Apr 2011 14:57:30 +0000
5Subject: [PATCH 184/200] * de.po: Update. 4Subject: [PATCH] * de.po: Update.
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172974 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172974 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0185-PR-c-48726.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0185-PR-c-48726.patch
index 50987f04ea..e2df632e74 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0185-PR-c-48726.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0185-PR-c-48726.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From c0df85fc6ea1962c53f98bbca38d182eba8e23f7 Mon Sep 17 00:00:00 2001 1From c0df85fc6ea1962c53f98bbca38d182eba8e23f7 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Tue, 26 Apr 2011 23:42:50 +0000 3Date: Tue, 26 Apr 2011 23:42:50 +0000
5Subject: [PATCH 185/200] PR c++/48726 4Subject: [PATCH] PR c++/48726
6 * call.c (convert_like_real): Correct TREE_CONSTANT on CONSTRUCTOR. 5 * call.c (convert_like_real): Correct TREE_CONSTANT on CONSTRUCTOR.
7 * decl.c (reshape_init_array_1): Likewise. 6 * decl.c (reshape_init_array_1): Likewise.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0187-PR-c-42687.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0187-PR-c-42687.patch
index 9d363e5202..9f3514ca72 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0187-PR-c-42687.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0187-PR-c-42687.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From ccb3ae3a3167213d1c84397653a7cfec0df3a5b7 Mon Sep 17 00:00:00 2001 1From ccb3ae3a3167213d1c84397653a7cfec0df3a5b7 Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 27 Apr 2011 05:20:06 +0000 3Date: Wed, 27 Apr 2011 05:20:06 +0000
5Subject: [PATCH 187/200] PR c++/42687 4Subject: [PATCH] PR c++/42687
6 * parser.c (cp_parser_primary_expression): Set *idk to 5 * parser.c (cp_parser_primary_expression): Set *idk to
7 CP_ID_KIND_NONE for a parenthesized identifier. 6 CP_ID_KIND_NONE for a parenthesized identifier.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0188-PR-c-48742.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0188-PR-c-48742.patch
index 718272de79..a93a84b806 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0188-PR-c-48742.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0188-PR-c-48742.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 1a6d9e7052b3632a85ca6f79b48384fd684c4411 Mon Sep 17 00:00:00 2001 1From 1a6d9e7052b3632a85ca6f79b48384fd684c4411 Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 27 Apr 2011 07:05:54 +0000 3Date: Wed, 27 Apr 2011 07:05:54 +0000
5Subject: [PATCH 188/200] PR c/48742 4Subject: [PATCH] PR c/48742
6 * c-typeck.c (build_binary_op): Don't wrap arguments if 5 * c-typeck.c (build_binary_op): Don't wrap arguments if
7 int_operands is true. 6 int_operands is true.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0189-gcc.dg-20020312-2.c-Add-definition-for-RX.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0189-gcc.dg-20020312-2.c-Add-definition-for-RX.patch
index 458699905e..9a169a7a94 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0189-gcc.dg-20020312-2.c-Add-definition-for-RX.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0189-gcc.dg-20020312-2.c-Add-definition-for-RX.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From abb5bc5b7190b68909f9dd14386aa2c430bacd9a Mon Sep 17 00:00:00 2001 1From abb5bc5b7190b68909f9dd14386aa2c430bacd9a Mon Sep 17 00:00:00 2001
3From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 27 Apr 2011 14:55:28 +0000 3Date: Wed, 27 Apr 2011 14:55:28 +0000
5Subject: [PATCH 189/200] * gcc.dg/20020312-2.c: Add definition for RX. 4Subject: [PATCH] * gcc.dg/20020312-2.c: Add definition for RX.
6 5
7 * lib/target-supports.exp (add_options_for_ieee): Use -mnofpu 6 * lib/target-supports.exp (add_options_for_ieee): Use -mnofpu
8 option with RX targets. 7 option with RX targets.
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0190-PR-c-48046.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0190-PR-c-48046.patch
index 2a8888a1f9..a027da2477 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0190-PR-c-48046.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0190-PR-c-48046.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From c270475fa490deeb18cf6275a86ce15a57e706ff Mon Sep 17 00:00:00 2001 1From c270475fa490deeb18cf6275a86ce15a57e706ff Mon Sep 17 00:00:00 2001
3From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Wed, 27 Apr 2011 15:57:06 +0000 3Date: Wed, 27 Apr 2011 15:57:06 +0000
5Subject: [PATCH 190/200] PR c++/48046 4Subject: [PATCH] PR c++/48046
6 * parser.c (cp_parser_diagnose_invalid_type_name): Commit 5 * parser.c (cp_parser_diagnose_invalid_type_name): Commit
7 to tentative parse sooner. 6 to tentative parse sooner.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0192-PR-middle-end-48597.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0192-PR-middle-end-48597.patch
index dcbe5d842d..ac397bc0e9 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0192-PR-middle-end-48597.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0192-PR-middle-end-48597.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 7c26af7b723eae6ac629ea01058553ff025400ab Mon Sep 17 00:00:00 2001 1From 7c26af7b723eae6ac629ea01058553ff025400ab Mon Sep 17 00:00:00 2001
3From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 28 Apr 2011 17:01:55 +0000 3Date: Thu, 28 Apr 2011 17:01:55 +0000
5Subject: [PATCH 192/200] PR middle-end/48597 4Subject: [PATCH] PR middle-end/48597
6 * final.c (final_scan_insn): Call dwarf2out_frame_debug even for 5 * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
7 inline asm. 6 inline asm.
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0193-2011-04-28-Tobias-Burnus-burnus-net-b.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0193-2011-04-28-Tobias-Burnus-burnus-net-b.de.patch
index 9b971fdca9..cd89a4a69f 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0193-2011-04-28-Tobias-Burnus-burnus-net-b.de.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0193-2011-04-28-Tobias-Burnus-burnus-net-b.de.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From cb79606d4958a3f3df1adfcc00b641e3b8089819 Mon Sep 17 00:00:00 2001 1From cb79606d4958a3f3df1adfcc00b641e3b8089819 Mon Sep 17 00:00:00 2001
3From: burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 28 Apr 2011 18:43:16 +0000 3Date: Thu, 28 Apr 2011 18:43:16 +0000
5Subject: [PATCH 193/200] 2011-04-28 Tobias Burnus <burnus@net-b.de> 4Subject: [PATCH] 2011-04-28 Tobias Burnus <burnus@net-b.de>
6 5
7 PR fortran/48788 6 PR fortran/48788
8 * resolve.c (resolve_global_procedure): Error recovery - 7 * resolve.c (resolve_global_procedure): Error recovery -
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0194-2011-04-28-Tobias-Burnus-burnus-net-b.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0194-2011-04-28-Tobias-Burnus-burnus-net-b.de.patch
index e478899397..0e35312b8a 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0194-2011-04-28-Tobias-Burnus-burnus-net-b.de.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0194-2011-04-28-Tobias-Burnus-burnus-net-b.de.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From a588d1bdc7fb4aa8e1214b6a57d581ddcfa86159 Mon Sep 17 00:00:00 2001 1From a588d1bdc7fb4aa8e1214b6a57d581ddcfa86159 Mon Sep 17 00:00:00 2001
3From: burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 28 Apr 2011 18:47:28 +0000 3Date: Thu, 28 Apr 2011 18:47:28 +0000
5Subject: [PATCH 194/200] 2011-04-28 Tobias Burnus <burnus@net-b.de> 4Subject: [PATCH] 2011-04-28 Tobias Burnus <burnus@net-b.de>
6 5
7 PR fortran/48112 6 PR fortran/48112
8 * resolve.c (resolve_fl_var_and_proc): Print diagnostic of 7 * resolve.c (resolve_fl_var_and_proc): Print diagnostic of
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0195-Fix-PR-c-48656.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0195-Fix-PR-c-48656.patch
index b37cb613aa..628060c094 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0195-Fix-PR-c-48656.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0195-Fix-PR-c-48656.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 5d622f64eff4e9fa78356c24290aed131b5c519c Mon Sep 17 00:00:00 2001 1From 5d622f64eff4e9fa78356c24290aed131b5c519c Mon Sep 17 00:00:00 2001
3From: dodji <dodji@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: dodji <dodji@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 28 Apr 2011 19:46:34 +0000 3Date: Thu, 28 Apr 2011 19:46:34 +0000
5Subject: [PATCH 195/200] Fix PR c++/48656 4Subject: [PATCH] Fix PR c++/48656
6 5
7gcc/cp/ 6gcc/cp/
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0196-Backport-4.7-patchtes-to-4.6.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0196-Backport-4.7-patchtes-to-4.6.patch
index 7fd93dbd93..d418d6e9cb 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0196-Backport-4.7-patchtes-to-4.6.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0196-Backport-4.7-patchtes-to-4.6.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 99347f932bdf7d9b0bf8a4f36737ed128813c1a9 Mon Sep 17 00:00:00 2001 1From 99347f932bdf7d9b0bf8a4f36737ed128813c1a9 Mon Sep 17 00:00:00 2001
3From: meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Thu, 28 Apr 2011 22:39:59 +0000 3Date: Thu, 28 Apr 2011 22:39:59 +0000
5Subject: [PATCH 196/200] Backport 4.7 patchtes to 4.6 4Subject: [PATCH] Backport 4.7 patchtes to 4.6
6 5
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173137 138bc75d-0d04-0410-961f-82ee72b054a4 6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173137 138bc75d-0d04-0410-961f-82ee72b054a4
8 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0198-2011-04-29-Tobias-Burnus-burnus-net-b.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0198-2011-04-29-Tobias-Burnus-burnus-net-b.de.patch
index 8053a2cc03..bd5755418d 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0198-2011-04-29-Tobias-Burnus-burnus-net-b.de.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0198-2011-04-29-Tobias-Burnus-burnus-net-b.de.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 1c9148fe797f564821355a8976802689519324dd Mon Sep 17 00:00:00 2001 1From 1c9148fe797f564821355a8976802689519324dd Mon Sep 17 00:00:00 2001
3From: burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 29 Apr 2011 21:26:07 +0000 3Date: Fri, 29 Apr 2011 21:26:07 +0000
5Subject: [PATCH 198/200] 2011-04-29 Tobias Burnus <burnus@net-b.de> 4Subject: [PATCH] 2011-04-29 Tobias Burnus <burnus@net-b.de>
6 5
7 PR fortran/48810 6 PR fortran/48810
8 * resolve.c (resolve_typebound_generic_call): Don't check access 7 * resolve.c (resolve_typebound_generic_call): Don't check access
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0199-2011-04-29-Paolo-Carlini-paolo.carlini-oracle.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0199-2011-04-29-Paolo-Carlini-paolo.carlini-oracle.com.patch
index f5ce975b8d..af769cd2f8 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0199-2011-04-29-Paolo-Carlini-paolo.carlini-oracle.com.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0199-2011-04-29-Paolo-Carlini-paolo.carlini-oracle.com.patch
@@ -1,8 +1,7 @@
1Upstream-Status: Inappropriate [Backport]
2From 838560450136f202dc9170f2ad3eec80b41e0381 Mon Sep 17 00:00:00 2001 1From 838560450136f202dc9170f2ad3eec80b41e0381 Mon Sep 17 00:00:00 2001
3From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> 2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
4Date: Fri, 29 Apr 2011 23:19:59 +0000 3Date: Fri, 29 Apr 2011 23:19:59 +0000
5Subject: [PATCH 199/200] 2011-04-29 Paolo Carlini <paolo.carlini@oracle.com> 4Subject: [PATCH] 2011-04-29 Paolo Carlini <paolo.carlini@oracle.com>
6 5
7 PR libstdc++/48760 6 PR libstdc++/48760
8 * include/std/complex (complex<float>::complex(float, float), 7 * include/std/complex (complex<float>::complex(float, float),
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0201-PR-tree-optimization-48809.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0201-PR-tree-optimization-48809.patch
new file mode 100644
index 0000000000..9cec6d1354
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0201-PR-tree-optimization-48809.patch
@@ -0,0 +1,199 @@
1From 51e96cf1fffb6f2643c290dbd59d3f9fd5a1b760 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sat, 30 Apr 2011 06:55:11 +0000
4Subject: [PATCH] PR tree-optimization/48809
5 * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
6 type.
7 (gen_inbound_check): Don't compute index_expr - range_min in utype
8 again, instead reuse SSA_NAME initialized in build_arrays.
9 Remove two useless gsi_for_stmt calls.
10
11 * gcc.c-torture/execute/pr48809.c: New test.
12
13
14git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173208 138bc75d-0d04-0410-961f-82ee72b054a4
15
16index c012957..4b3eae6 100644
17new file mode 100644
18index 0000000..80de5bc
19--- /dev/null
20+++ b/gcc/testsuite/gcc.c-torture/execute/pr48809.c
21@@ -0,0 +1,60 @@
22+/* PR tree-optimization/48809 */
23+
24+extern void abort (void);
25+
26+int
27+foo (signed char x)
28+{
29+ int y = 0;
30+ switch (x)
31+ {
32+ case 0: y = 1; break;
33+ case 1: y = 7; break;
34+ case 2: y = 2; break;
35+ case 3: y = 19; break;
36+ case 4: y = 5; break;
37+ case 5: y = 17; break;
38+ case 6: y = 31; break;
39+ case 7: y = 8; break;
40+ case 8: y = 28; break;
41+ case 9: y = 16; break;
42+ case 10: y = 31; break;
43+ case 11: y = 12; break;
44+ case 12: y = 15; break;
45+ case 13: y = 111; break;
46+ case 14: y = 17; break;
47+ case 15: y = 10; break;
48+ case 16: y = 31; break;
49+ case 17: y = 7; break;
50+ case 18: y = 2; break;
51+ case 19: y = 19; break;
52+ case 20: y = 5; break;
53+ case 21: y = 107; break;
54+ case 22: y = 31; break;
55+ case 23: y = 8; break;
56+ case 24: y = 28; break;
57+ case 25: y = 106; break;
58+ case 26: y = 31; break;
59+ case 27: y = 102; break;
60+ case 28: y = 105; break;
61+ case 29: y = 111; break;
62+ case 30: y = 17; break;
63+ case 31: y = 10; break;
64+ case 32: y = 31; break;
65+ case 98: y = 18; break;
66+ case -62: y = 19; break;
67+ }
68+ return y;
69+}
70+
71+int
72+main ()
73+{
74+ if (foo (98) != 18 || foo (97) != 0 || foo (99) != 0)
75+ abort ();
76+ if (foo (-62) != 19 || foo (-63) != 0 || foo (-61) != 0)
77+ abort ();
78+ if (foo (28) != 105 || foo (27) != 102 || foo (29) != 111)
79+ abort ();
80+ return 0;
81+}
82diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c
83index 0f4b429..a8928e5 100644
84--- a/gcc/tree-switch-conversion.c
85+++ b/gcc/tree-switch-conversion.c
86@@ -1,6 +1,6 @@
87 /* Switch Conversion converts variable initializations based on switch
88 statements to initializations from a static array.
89- Copyright (C) 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
90+ Copyright (C) 2006, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
91 Contributed by Martin Jambor <jamborm@suse.cz>
92
93 This file is part of GCC.
94@@ -656,7 +656,7 @@ static void
95 build_arrays (gimple swtch)
96 {
97 tree arr_index_type;
98- tree tidx, sub, tmp;
99+ tree tidx, sub, tmp, utype;
100 gimple stmt;
101 gimple_stmt_iterator gsi;
102 int i;
103@@ -664,14 +664,20 @@ build_arrays (gimple swtch)
104
105 gsi = gsi_for_stmt (swtch);
106
107+ /* Make sure we do not generate arithmetics in a subrange. */
108+ utype = TREE_TYPE (info.index_expr);
109+ if (TREE_TYPE (utype))
110+ utype = lang_hooks.types.type_for_mode (TYPE_MODE (TREE_TYPE (utype)), 1);
111+ else
112+ utype = lang_hooks.types.type_for_mode (TYPE_MODE (utype), 1);
113+
114 arr_index_type = build_index_type (info.range_size);
115- tmp = create_tmp_var (TREE_TYPE (info.index_expr), "csti");
116+ tmp = create_tmp_var (utype, "csui");
117 add_referenced_var (tmp);
118 tidx = make_ssa_name (tmp, NULL);
119- sub = fold_build2_loc (loc, MINUS_EXPR,
120- TREE_TYPE (info.index_expr), info.index_expr,
121- fold_convert_loc (loc, TREE_TYPE (info.index_expr),
122- info.range_min));
123+ sub = fold_build2_loc (loc, MINUS_EXPR, utype,
124+ fold_convert_loc (loc, utype, info.index_expr),
125+ fold_convert_loc (loc, utype, info.range_min));
126 sub = force_gimple_operand_gsi (&gsi, sub,
127 false, NULL, true, GSI_SAME_STMT);
128 stmt = gimple_build_assign (tidx, sub);
129@@ -780,12 +786,7 @@ gen_inbound_check (gimple swtch)
130 tree label_decl2 = create_artificial_label (UNKNOWN_LOCATION);
131 tree label_decl3 = create_artificial_label (UNKNOWN_LOCATION);
132 gimple label1, label2, label3;
133-
134- tree utype;
135- tree tmp_u_1, tmp_u_2, tmp_u_var;
136- tree cast;
137- gimple cast_assign, minus_assign;
138- tree ulb, minus;
139+ tree utype, tidx;
140 tree bound;
141
142 gimple cond_stmt;
143@@ -799,49 +800,24 @@ gen_inbound_check (gimple swtch)
144 gcc_assert (info.default_values);
145 bb0 = gimple_bb (swtch);
146
147- /* Make sure we do not generate arithmetics in a subrange. */
148- if (TREE_TYPE (TREE_TYPE (info.index_expr)))
149- utype = lang_hooks.types.type_for_mode
150- (TYPE_MODE (TREE_TYPE (TREE_TYPE (info.index_expr))), 1);
151- else
152- utype = lang_hooks.types.type_for_mode
153- (TYPE_MODE (TREE_TYPE (info.index_expr)), 1);
154+ tidx = gimple_assign_lhs (info.arr_ref_first);
155+ utype = TREE_TYPE (tidx);
156
157 /* (end of) block 0 */
158 gsi = gsi_for_stmt (info.arr_ref_first);
159- tmp_u_var = create_tmp_var (utype, "csui");
160- add_referenced_var (tmp_u_var);
161- tmp_u_1 = make_ssa_name (tmp_u_var, NULL);
162-
163- cast = fold_convert_loc (loc, utype, info.index_expr);
164- cast_assign = gimple_build_assign (tmp_u_1, cast);
165- SSA_NAME_DEF_STMT (tmp_u_1) = cast_assign;
166- gsi_insert_before (&gsi, cast_assign, GSI_SAME_STMT);
167- update_stmt (cast_assign);
168-
169- ulb = fold_convert_loc (loc, utype, info.range_min);
170- minus = fold_build2_loc (loc, MINUS_EXPR, utype, tmp_u_1, ulb);
171- minus = force_gimple_operand_gsi (&gsi, minus, false, NULL, true,
172- GSI_SAME_STMT);
173- tmp_u_2 = make_ssa_name (tmp_u_var, NULL);
174- minus_assign = gimple_build_assign (tmp_u_2, minus);
175- SSA_NAME_DEF_STMT (tmp_u_2) = minus_assign;
176- gsi_insert_before (&gsi, minus_assign, GSI_SAME_STMT);
177- update_stmt (minus_assign);
178+ gsi_next (&gsi);
179
180 bound = fold_convert_loc (loc, utype, info.range_size);
181- cond_stmt = gimple_build_cond (LE_EXPR, tmp_u_2, bound, NULL_TREE, NULL_TREE);
182+ cond_stmt = gimple_build_cond (LE_EXPR, tidx, bound, NULL_TREE, NULL_TREE);
183 gsi_insert_before (&gsi, cond_stmt, GSI_SAME_STMT);
184 update_stmt (cond_stmt);
185
186 /* block 2 */
187- gsi = gsi_for_stmt (info.arr_ref_first);
188 label2 = gimple_build_label (label_decl2);
189 gsi_insert_before (&gsi, label2, GSI_SAME_STMT);
190 last_assign = gen_def_assigns (&gsi);
191
192 /* block 1 */
193- gsi = gsi_for_stmt (info.arr_ref_first);
194 label1 = gimple_build_label (label_decl1);
195 gsi_insert_before (&gsi, label1, GSI_SAME_STMT);
196
197--
1981.7.0.4
199
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0202-2011-04-30-Paul-Thomas-pault-gcc.gnu.org.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0202-2011-04-30-Paul-Thomas-pault-gcc.gnu.org.patch
new file mode 100644
index 0000000000..59380b0492
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0202-2011-04-30-Paul-Thomas-pault-gcc.gnu.org.patch
@@ -0,0 +1,198 @@
1From f90642b60dbe411df162174646348f4a7d5e1a63 Mon Sep 17 00:00:00 2001
2From: pault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sat, 30 Apr 2011 12:00:50 +0000
4Subject: [PATCH] 2011-04-30 Paul Thomas <pault@gcc.gnu.org>
5
6 PR fortran/48462
7 PR fortran/48746
8 * trans-expr.c ( arrayfunc_assign_needs_temporary): Need a temp
9 if automatic reallocation on assignement is active, the lhs is a
10 target and the rhs an intrinsic function.
11 (realloc_lhs_bounds_for_intrinsic_call): Rename as next.
12 (fcncall_realloc_result): Renamed version of above function.
13 Free the original descriptor data after the function call.Set the bounds and the
14 offset so that the lbounds are one.
15 (gfc_trans_arrayfunc_assign): Call renamed function.
16
172011-04-30 Paul Thomas <pault@gcc.gnu.org>
18
19 PR fortran/48462
20 PR fortran/48746
21 * gfortran.dg/realloc_on_assign_7.f03: New test.
22
23
24
25git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173214 138bc75d-0d04-0410-961f-82ee72b054a4
26
27index da7cfba..1d678e6 100644
28--- a/gcc/fortran/trans-expr.c
29+++ b/gcc/fortran/trans-expr.c
30@@ -5444,9 +5444,12 @@ arrayfunc_assign_needs_temporary (gfc_expr * expr1, gfc_expr * expr2)
31 return true;
32
33 /* If we have reached here with an intrinsic function, we do not
34- need a temporary. */
35+ need a temporary except in the particular case that reallocation
36+ on assignment is active and the lhs is allocatable and a target. */
37 if (expr2->value.function.isym)
38- return false;
39+ return (gfc_option.flag_realloc_lhs
40+ && sym->attr.allocatable
41+ && sym->attr.target);
42
43 /* If the LHS is a dummy, we need a temporary if it is not
44 INTENT(OUT). */
45@@ -5528,23 +5531,38 @@ realloc_lhs_loop_for_fcn_call (gfc_se *se, locus *where, gfc_ss **ss)
46 }
47
48
49+/* For Assignment to a reallocatable lhs from intrinsic functions,
50+ replace the se.expr (ie. the result) with a temporary descriptor.
51+ Null the data field so that the library allocates space for the
52+ result. Free the data of the original descriptor after the function,
53+ in case it appears in an argument expression and transfer the
54+ result to the original descriptor. */
55+
56 static void
57-realloc_lhs_bounds_for_intrinsic_call (gfc_se *se, int rank)
58+fcncall_realloc_result (gfc_se *se, int rank)
59 {
60 tree desc;
61+ tree res_desc;
62 tree tmp;
63 tree offset;
64 int n;
65
66- /* Use the allocation done by the library. */
67+ /* Use the allocation done by the library. Substitute the lhs
68+ descriptor with a copy, whose data field is nulled.*/
69 desc = build_fold_indirect_ref_loc (input_location, se->expr);
70- tmp = gfc_conv_descriptor_data_get (desc);
71- tmp = gfc_call_free (fold_convert (pvoid_type_node, tmp));
72- gfc_add_expr_to_block (&se->pre, tmp);
73- gfc_conv_descriptor_data_set (&se->pre, desc, null_pointer_node);
74 /* Unallocated, the descriptor does not have a dtype. */
75 tmp = gfc_conv_descriptor_dtype (desc);
76 gfc_add_modify (&se->pre, tmp, gfc_get_dtype (TREE_TYPE (desc)));
77+ res_desc = gfc_evaluate_now (desc, &se->pre);
78+ gfc_conv_descriptor_data_set (&se->pre, res_desc, null_pointer_node);
79+ se->expr = gfc_build_addr_expr (TREE_TYPE (se->expr), res_desc);
80+
81+ /* Free the lhs after the function call and copy the result to
82+ the lhs descriptor. */
83+ tmp = gfc_conv_descriptor_data_get (desc);
84+ tmp = gfc_call_free (fold_convert (pvoid_type_node, tmp));
85+ gfc_add_expr_to_block (&se->post, tmp);
86+ gfc_add_modify (&se->post, desc, res_desc);
87
88 offset = gfc_index_zero_node;
89 tmp = gfc_index_one_node;
90@@ -5580,7 +5598,6 @@ realloc_lhs_bounds_for_intrinsic_call (gfc_se *se, int rank)
91 }
92
93
94-
95 /* Try to translate array(:) = func (...), where func is a transformational
96 array function, without using a temporary. Returns NULL if this isn't the
97 case. */
98@@ -5645,7 +5662,7 @@ gfc_trans_arrayfunc_assign (gfc_expr * expr1, gfc_expr * expr2)
99 ss->is_alloc_lhs = 1;
100 }
101 else
102- realloc_lhs_bounds_for_intrinsic_call (&se, expr1->rank);
103+ fcncall_realloc_result (&se, expr1->rank);
104 }
105
106 gfc_conv_function_expr (&se, expr2);
107new file mode 100644
108index 0000000..f871d27
109--- /dev/null
110+++ b/gcc/testsuite/gfortran.dg/realloc_on_assign_7.f03
111@@ -0,0 +1,84 @@
112+! { dg-do run }
113+! Check the fix for PR48462 in which the assignments involving matmul
114+! seg faulted because a was automatically freed before the assignment.
115+! Since it is related, the test for the fix of PR48746 has been added
116+! as a subroutine by that name.
117+!
118+! Contributed by John Nedney <ortp21@gmail.com>
119+!
120+program main
121+ implicit none
122+ integer, parameter :: dp = kind(0.0d0)
123+ real(kind=dp), allocatable :: delta(:,:)
124+ real(kind=dp), allocatable, target :: a(:,:)
125+ real(kind=dp), pointer :: aptr(:,:)
126+
127+ allocate(a(3,3))
128+ aptr => a
129+
130+ call foo
131+ if (.not. associated (aptr, a)) call abort () ! reallocated to same size - remains associated
132+ call bar
133+ if (.not. associated (aptr, a)) call abort () ! reallocated to smaller size - remains associated
134+ call foobar
135+ if (associated (aptr, a)) call abort () ! reallocated to larger size - disassociates
136+
137+ call pr48746
138+contains
139+!
140+! Original reduced version from comment #2
141+ subroutine foo
142+ implicit none
143+ real(kind=dp), allocatable :: b(:,:)
144+
145+ allocate(b(3,3))
146+ allocate(delta(3,3))
147+
148+ a = reshape ([1d0, 2d0, 3d0, 4d0, 5d0, 6d0, 7d0, 8d0, 9d0], [3,3])
149+ b = reshape ([1d0, 0d0, 0d0, 0d0, 1d0, 0d0, 0d0, 0d0, 1d0], [3,3])
150+
151+ a = matmul( matmul( a, b ), b )
152+ delta = (a - reshape ([1d0, 2d0, 3d0, 4d0, 5d0, 6d0, 7d0, 8d0, 9d0], [3,3]))**2
153+ if (any (delta > 1d-12)) call abort
154+ if (any (lbound (a) .ne. [1, 1])) call abort
155+ end subroutine
156+!
157+! Check that all is well when the shape of 'a' changes.
158+ subroutine bar
159+ implicit none
160+ real(kind=dp), allocatable :: a(:,:)
161+ real(kind=dp), allocatable :: b(:,:)
162+
163+ b = reshape ([1d0, 1d0, 1d0], [3,1])
164+ a = reshape ([1d0, 2d0, 3d0, 4d0, 5d0, 6d0, 7d0, 8d0, 9d0], [3,3])
165+
166+ a = matmul( a, matmul( a, b ) )
167+
168+ delta = (a - reshape ([198d0, 243d0, 288d0], [3,1]))**2
169+ if (any (delta > 1d-12)) call abort
170+ if (any (lbound (a) .ne. [1, 1])) call abort
171+ end subroutine
172+ subroutine foobar
173+ integer :: i
174+ a = reshape ([(real(i, dp), i = 1, 100)],[10,10])
175+ end subroutine
176+ subroutine pr48746
177+! This is a further wrinkle on the original problem and came about
178+! because the dtype field of the result argument, passed to matmul,
179+! was not being set. This is needed by matmul for the rank.
180+!
181+! Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
182+!
183+ implicit none
184+ integer, parameter :: m=10, n=12, count=4
185+ real :: optmatmul(m, n)
186+ real :: a(m, count), b(count, n), c(m, n)
187+ real, dimension(:,:), allocatable :: tmp
188+ call random_number(a)
189+ call random_number(b)
190+ tmp = matmul(a,b)
191+ if (any (lbound (tmp) .ne. [1,1])) call abort
192+ if (any (ubound (tmp) .ne. [10,12])) call abort
193+ end subroutine
194+end program main
195+
196--
1971.7.0.4
198
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0203-2011-04-30-Jerry-DeLisle-jvdelisle-gcc.gnu.org.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0203-2011-04-30-Jerry-DeLisle-jvdelisle-gcc.gnu.org.patch
new file mode 100644
index 0000000000..64b882f0c8
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0203-2011-04-30-Jerry-DeLisle-jvdelisle-gcc.gnu.org.patch
@@ -0,0 +1,108 @@
1From fe8fe654371824f9121e248a30204bfad7433aba Mon Sep 17 00:00:00 2001
2From: jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sat, 30 Apr 2011 15:24:57 +0000
4Subject: [PATCH] 2011-04-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
5
6 Backport from mainline:
7 PR libgfortran/48030
8 * io/read.c (read_x): Re-implement using fbuf_getc.
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173218 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index 50b1b40..4eda4a2 100644
14--- a/libgfortran/io/read.c
15+++ b/libgfortran/io/read.c
16@@ -1117,8 +1117,7 @@ bad_float:
17 void
18 read_x (st_parameter_dt *dtp, int n)
19 {
20- int length;
21- char *p, q;
22+ int length, q, q2;
23
24 if ((dtp->u.p.current_unit->pad_status == PAD_NO || is_internal_unit (dtp))
25 && dtp->u.p.current_unit->bytes_left < n)
26@@ -1131,7 +1130,7 @@ read_x (st_parameter_dt *dtp, int n)
27
28 if (is_internal_unit (dtp))
29 {
30- p = mem_alloc_r (dtp->u.p.current_unit->s, &length);
31+ mem_alloc_r (dtp->u.p.current_unit->s, &length);
32 if (unlikely (length < n))
33 n = length;
34 goto done;
35@@ -1140,55 +1139,37 @@ read_x (st_parameter_dt *dtp, int n)
36 if (dtp->u.p.sf_seen_eor)
37 return;
38
39- p = fbuf_read (dtp->u.p.current_unit, &length);
40- if (p == NULL)
41- {
42- hit_eof (dtp);
43- return;
44- }
45-
46- if (length == 0 && dtp->u.p.item_count == 1)
47- {
48- if (dtp->u.p.current_unit->pad_status == PAD_NO)
49- {
50- hit_eof (dtp);
51- return;
52- }
53- else
54- return;
55- }
56-
57 n = 0;
58 while (n < length)
59 {
60- q = *p;
61- if (q == '\n' || q == '\r')
62+ q = fbuf_getc (dtp->u.p.current_unit);
63+ if (q == EOF)
64+ break;
65+ else if (q == '\n' || q == '\r')
66 {
67 /* Unexpected end of line. Set the position. */
68- fbuf_seek (dtp->u.p.current_unit, n + 1 ,SEEK_CUR);
69 dtp->u.p.sf_seen_eor = 1;
70
71+ /* If we see an EOR during non-advancing I/O, we need to skip
72+ the rest of the I/O statement. Set the corresponding flag. */
73+ if (dtp->u.p.advance_status == ADVANCE_NO || dtp->u.p.seen_dollar)
74+ dtp->u.p.eor_condition = 1;
75+
76 /* If we encounter a CR, it might be a CRLF. */
77 if (q == '\r') /* Probably a CRLF */
78 {
79- /* See if there is an LF. Use fbuf_read rather then fbuf_getc so
80- the position is not advanced unless it really is an LF. */
81- int readlen = 1;
82- p = fbuf_read (dtp->u.p.current_unit, &readlen);
83- if (*p == '\n' && readlen == 1)
84- {
85- dtp->u.p.sf_seen_eor = 2;
86- fbuf_seek (dtp->u.p.current_unit, 1 ,SEEK_CUR);
87- }
88+ /* See if there is an LF. */
89+ q2 = fbuf_getc (dtp->u.p.current_unit);
90+ if (q2 == '\n')
91+ dtp->u.p.sf_seen_eor = 2;
92+ else if (q2 != EOF) /* Oops, seek back. */
93+ fbuf_seek (dtp->u.p.current_unit, -1, SEEK_CUR);
94 }
95 goto done;
96 }
97 n++;
98- p++;
99 }
100
101- fbuf_seek (dtp->u.p.current_unit, n, SEEK_CUR);
102-
103 done:
104 if ((dtp->common.flags & IOPARM_DT_HAS_SIZE) != 0)
105 dtp->u.p.size_used += (GFC_IO_INT) n;
106--
1071.7.0.4
108
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0205-2011-04-30-Doug-Kwan-dougkwan-google.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0205-2011-04-30-Doug-Kwan-dougkwan-google.com.patch
new file mode 100644
index 0000000000..2e2ef794e8
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0205-2011-04-30-Doug-Kwan-dougkwan-google.com.patch
@@ -0,0 +1,38 @@
1From 64c92e2bedec2c27ef0e2d4b4674ef17c30e3446 Mon Sep 17 00:00:00 2001
2From: dougkwan <dougkwan@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 1 May 2011 05:10:17 +0000
4Subject: [PATCH] 2011-04-30 Doug Kwan <dougkwan@google.com>
5
6 * include/Makefile.am (install-freestanding-headers): Also install
7 cxxabi_tweaks.h.
8 * include/Makefile.in: Regenerate.
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173230 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index 10ed04c..27b0a4b 100644
14--- a/libstdc++-v3/include/Makefile.am
15+++ b/libstdc++-v3/include/Makefile.am
16@@ -1201,6 +1201,7 @@ install-freestanding-headers:
17 $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
18 $(mkinstalldirs) $(DESTDIR)${host_installdir}
19 for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h \
20+ ${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \
21 ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \
22 $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
23 $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
24diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
25index 01e593d..3f1abd3 100644
26--- a/libstdc++-v3/include/Makefile.in
27+++ b/libstdc++-v3/include/Makefile.in
28@@ -1585,6 +1585,7 @@ install-freestanding-headers:
29 $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
30 $(mkinstalldirs) $(DESTDIR)${host_installdir}
31 for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h \
32+ ${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \
33 ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \
34 $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
35 $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
36--
371.7.0.4
38
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0207-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0207-Backport-from-mainline.patch
new file mode 100644
index 0000000000..43b3ee56fc
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0207-Backport-from-mainline.patch
@@ -0,0 +1,132 @@
1From 67ac9513e96e9d5996dd549a1d686e5fcb2c2397 Mon Sep 17 00:00:00 2001
2From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 2 May 2011 12:30:09 +0000
4Subject: [PATCH] Backport from mainline:
5 2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6
7 * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
8 Define.
9 Use them to handle ELF vs. ECOFF differences.
10 [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
11
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173246 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index d0e7782..6b9f4df 100644
16--- a/libffi/src/alpha/osf.S
17+++ b/libffi/src/alpha/osf.S
18@@ -1,5 +1,5 @@
19 /* -----------------------------------------------------------------------
20- osf.S - Copyright (c) 1998, 2001, 2007, 2008 Red Hat
21+ osf.S - Copyright (c) 1998, 2001, 2007, 2008, 2011 Red Hat
22
23 Alpha/OSF Foreign Function Interface
24
25@@ -299,33 +299,51 @@ $load_table:
26 #endif
27
28 #ifdef __ELF__
29+# define UA_SI .4byte
30+# define FDE_ENCODING 0x1b /* pcrel sdata4 */
31+# define FDE_ENCODE(X) .4byte X-.
32+# define FDE_ARANGE(X) .4byte X
33+#elif defined __osf__
34+# define UA_SI .align 0; .long
35+# define FDE_ENCODING 0x50 /* aligned absolute */
36+# define FDE_ENCODE(X) .align 3; .quad X
37+# define FDE_ARANGE(X) .align 0; .quad X
38+#endif
39+
40+#ifdef __ELF__
41 .section .eh_frame,EH_FRAME_FLAGS,@progbits
42+#elif defined __osf__
43+ .data
44+ .align 3
45+ .globl _GLOBAL__F_ffi_call_osf
46+_GLOBAL__F_ffi_call_osf:
47+#endif
48 __FRAME_BEGIN__:
49- .4byte $LECIE1-$LSCIE1 # Length of Common Information Entry
50+ UA_SI $LECIE1-$LSCIE1 # Length of Common Information Entry
51 $LSCIE1:
52- .4byte 0x0 # CIE Identifier Tag
53+ UA_SI 0x0 # CIE Identifier Tag
54 .byte 0x1 # CIE Version
55 .ascii "zR\0" # CIE Augmentation
56 .byte 0x1 # uleb128 0x1; CIE Code Alignment Factor
57 .byte 0x78 # sleb128 -8; CIE Data Alignment Factor
58 .byte 26 # CIE RA Column
59 .byte 0x1 # uleb128 0x1; Augmentation size
60- .byte 0x1b # FDE Encoding (pcrel sdata4)
61+ .byte FDE_ENCODING # FDE Encoding
62 .byte 0xc # DW_CFA_def_cfa
63 .byte 30 # uleb128 column 30
64 .byte 0 # uleb128 offset 0
65 .align 3
66 $LECIE1:
67 $LSFDE1:
68- .4byte $LEFDE1-$LASFDE1 # FDE Length
69+ UA_SI $LEFDE1-$LASFDE1 # FDE Length
70 $LASFDE1:
71- .4byte $LASFDE1-__FRAME_BEGIN__ # FDE CIE offset
72- .4byte $LFB1-. # FDE initial location
73- .4byte $LFE1-$LFB1 # FDE address range
74+ UA_SI $LASFDE1-__FRAME_BEGIN__ # FDE CIE offset
75+ FDE_ENCODE($LFB1) # FDE initial location
76+ FDE_ARANGE($LFE1-$LFB1) # FDE address range
77 .byte 0x0 # uleb128 0x0; Augmentation size
78
79 .byte 0x4 # DW_CFA_advance_loc4
80- .4byte $LCFI1-$LFB1
81+ UA_SI $LCFI1-$LFB1
82 .byte 0x9a # DW_CFA_offset, column 26
83 .byte 4 # uleb128 4*-8
84 .byte 0x8f # DW_CFA_offset, column 15
85@@ -335,32 +353,35 @@ $LASFDE1:
86 .byte 32 # uleb128 offset 32
87
88 .byte 0x4 # DW_CFA_advance_loc4
89- .4byte $LCFI2-$LCFI1
90+ UA_SI $LCFI2-$LCFI1
91 .byte 0xda # DW_CFA_restore, column 26
92 .align 3
93 $LEFDE1:
94
95 $LSFDE3:
96- .4byte $LEFDE3-$LASFDE3 # FDE Length
97+ UA_SI $LEFDE3-$LASFDE3 # FDE Length
98 $LASFDE3:
99- .4byte $LASFDE3-__FRAME_BEGIN__ # FDE CIE offset
100- .4byte $LFB2-. # FDE initial location
101- .4byte $LFE2-$LFB2 # FDE address range
102+ UA_SI $LASFDE3-__FRAME_BEGIN__ # FDE CIE offset
103+ FDE_ENCODE($LFB2) # FDE initial location
104+ FDE_ARANGE($LFE2-$LFB2) # FDE address range
105 .byte 0x0 # uleb128 0x0; Augmentation size
106
107 .byte 0x4 # DW_CFA_advance_loc4
108- .4byte $LCFI5-$LFB2
109+ UA_SI $LCFI5-$LFB2
110 .byte 0xe # DW_CFA_def_cfa_offset
111 .byte 0x80,0x1 # uleb128 128
112
113 .byte 0x4 # DW_CFA_advance_loc4
114- .4byte $LCFI6-$LCFI5
115+ UA_SI $LCFI6-$LCFI5
116 .byte 0x9a # DW_CFA_offset, column 26
117 .byte 16 # uleb128 offset 16*-8
118 .align 3
119 $LEFDE3:
120+#if defined __osf__
121+ .align 0
122+ .long 0 # End of Table
123+#endif
124
125-#ifdef __linux__
126+#if defined __ELF__ && defined __linux__
127 .section .note.GNU-stack,"",@progbits
128 #endif
129-#endif
130--
1311.7.0.4
132
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0209-PR-target-48723.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0209-PR-target-48723.patch
new file mode 100644
index 0000000000..01df534866
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0209-PR-target-48723.patch
@@ -0,0 +1,26 @@
1From 55ec7e3af4823fc378f78e35b795af1bafcd3542 Mon Sep 17 00:00:00 2001
2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 3 May 2011 07:20:30 +0000
4Subject: [PATCH] PR target/48723
5 * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
6 for -fstack-check if the size to allocate is negative.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173289 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 6e4bb3b..f3a8a0c 100644
11--- a/gcc/config/i386/i386.c
12+++ b/gcc/config/i386/i386.c
13@@ -10566,8 +10566,8 @@ ix86_expand_prologue (void)
14 }
15
16 /* The stack has already been decremented by the instruction calling us
17- so we need to probe unconditionally to preserve the protection area. */
18- if (flag_stack_check == STATIC_BUILTIN_STACK_CHECK)
19+ so probe if the size is non-negative to preserve the protection area. */
20+ if (allocate >= 0 && flag_stack_check == STATIC_BUILTIN_STACK_CHECK)
21 {
22 /* We expect the registers to be saved when probes are used. */
23 gcc_assert (int_registers_saved);
24--
251.7.0.4
26
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0210-2011-05-03-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0210-2011-05-03-Richard-Guenther-rguenther-suse.de.patch
new file mode 100644
index 0000000000..38cf002205
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0210-2011-05-03-Richard-Guenther-rguenther-suse.de.patch
@@ -0,0 +1,45 @@
1From 70c664c19627b688855bb6189db0b314e1d19567 Mon Sep 17 00:00:00 2001
2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 3 May 2011 10:21:44 +0000
4Subject: [PATCH] 2011-05-03 Richard Guenther <rguenther@suse.de>
5
6 PR lto/48846
7 * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
8 Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
9 * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
10
11
12git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173299 138bc75d-0d04-0410-961f-82ee72b054a4
13
14index a873258..4783717 100644
15--- a/gcc/lto-streamer-in.c
16+++ b/gcc/lto-streamer-in.c
17@@ -1596,11 +1596,9 @@ unpack_ts_decl_common_value_fields (struct bitpack_d *bp, tree expr)
18
19 if (TREE_CODE (expr) == FIELD_DECL)
20 {
21- unsigned HOST_WIDE_INT off_align;
22 DECL_PACKED (expr) = (unsigned) bp_unpack_value (bp, 1);
23 DECL_NONADDRESSABLE_P (expr) = (unsigned) bp_unpack_value (bp, 1);
24- off_align = (unsigned HOST_WIDE_INT) bp_unpack_value (bp, 8);
25- SET_DECL_OFFSET_ALIGN (expr, off_align);
26+ expr->decl_common.off_align = bp_unpack_value (bp, 8);
27 }
28
29 if (TREE_CODE (expr) == RESULT_DECL
30diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
31index ba916b6..3b90fdd 100644
32--- a/gcc/lto-streamer-out.c
33+++ b/gcc/lto-streamer-out.c
34@@ -414,7 +414,7 @@ pack_ts_decl_common_value_fields (struct bitpack_d *bp, tree expr)
35 {
36 bp_pack_value (bp, DECL_PACKED (expr), 1);
37 bp_pack_value (bp, DECL_NONADDRESSABLE_P (expr), 1);
38- bp_pack_value (bp, DECL_OFFSET_ALIGN (expr), 8);
39+ bp_pack_value (bp, expr->decl_common.off_align, 8);
40 }
41
42 if (TREE_CODE (expr) == RESULT_DECL
43--
441.7.0.4
45
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0211-PR-target-48774.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0211-PR-target-48774.patch
new file mode 100644
index 0000000000..7ef98eb449
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0211-PR-target-48774.patch
@@ -0,0 +1,78 @@
1From ab9047340859545251be5c074524d69327901407 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 3 May 2011 13:06:06 +0000
4Subject: [PATCH] PR target/48774
5 * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
6 only succeed if req_mode is the same as set_mode.
7
8 * gcc.dg/pr48774.c: New test.
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173302 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index f3a8a0c..e8210c5 100644
14--- a/gcc/config/i386/i386.c
15+++ b/gcc/config/i386/i386.c
16@@ -17194,11 +17194,15 @@ ix86_match_ccmode (rtx insn, enum machine_mode req_mode)
17 if (req_mode == CCZmode)
18 return false;
19 /* FALLTHRU */
20+ case CCZmode:
21+ break;
22+
23 case CCAmode:
24 case CCCmode:
25 case CCOmode:
26 case CCSmode:
27- case CCZmode:
28+ if (set_mode != req_mode)
29+ return false;
30 break;
31
32 default:
33new file mode 100644
34index 0000000..91ce361
35--- /dev/null
36+++ b/gcc/testsuite/gcc.dg/pr48774.c
37@@ -0,0 +1,38 @@
38+/* PR target/48774 */
39+/* { dg-do run } */
40+/* { dg-options "-O2 -funroll-loops" } */
41+
42+extern void abort (void);
43+unsigned long int s[24]
44+ = { 12, ~1, 12, ~2, 12, ~4, 12, ~8, 12, ~16, 12, ~32,
45+ 12, ~64, 12, ~128, 12, ~256, 12, ~512, 12, ~1024, 12, ~2048 };
46+struct { int n; unsigned long *e[12]; } g
47+ = { 12, { &s[0], &s[2], &s[4], &s[6], &s[8], &s[10], &s[12], &s[14],
48+ &s[16], &s[18], &s[20], &s[22] } };
49+int c[12];
50+
51+__attribute__((noinline, noclone)) void
52+foo (void)
53+{
54+ int i, j;
55+ for (i = 0; i < g.n; i++)
56+ for (j = 0; j < g.n; j++)
57+ {
58+ if (i == j && j < g.e[0][0] && (g.e[i][1] & (1UL << j)))
59+ abort ();
60+ if (j < g.e[0][0] && (g.e[i][1] & (1UL << j)))
61+ c[i]++;
62+ }
63+}
64+
65+int
66+main ()
67+{
68+ int i;
69+ asm volatile ("" : "+m" (s), "+m" (g), "+m" (c));
70+ foo ();
71+ for (i = 0; i < 12; i++)
72+ if (c[i] != 11)
73+ abort ();
74+ return 0;
75+}
76--
771.7.0.4
78
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0212-2011-05-03-Paolo-Carlini-paolo.carlini-oracle.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0212-2011-05-03-Paolo-Carlini-paolo.carlini-oracle.com.patch
new file mode 100644
index 0000000000..46fc3dc922
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0212-2011-05-03-Paolo-Carlini-paolo.carlini-oracle.com.patch
@@ -0,0 +1,462 @@
1From 6cc36bf90838d09b0a4899228bde2b009dd7c7dc Mon Sep 17 00:00:00 2001
2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 3 May 2011 17:54:35 +0000
4Subject: [PATCH] 2011-05-03 Paolo Carlini <paolo.carlini@oracle.com>
5
6 PR libstdc++/48750
7 * include/parallel/multiway_merge.h: Run _ValueType destructors.
8 * include/parallel/multiway_mergesort.h: Likewise.
9 * include/parallel/quicksort.h: Likewise.
10 * include/parallel/random_shuffle.h: Likewise.
11 * include/parallel/partial_sum.h: Likewise.
12 * include/parallel/losertree.h: Run destructors; minor tweaks.
13 * include/parallel/par_loop.h: Run destructors, fix memory
14 allocations and deallocations.
15 * testsuite/26_numerics/accumulate/48750.cc: New.
16
17 * testsuite/ext/profile/mutex_extensions_neg.cc: Do not run in
18 parallel-mode to avoid spurious multiple errors.
19
20
21git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173335 138bc75d-0d04-0410-961f-82ee72b054a4
22
23index 8d7b137..cb24f7f 100644
24--- a/libstdc++-v3/include/parallel/losertree.h
25+++ b/libstdc++-v3/include/parallel/losertree.h
26@@ -1,6 +1,6 @@
27 // -*- C++ -*-
28
29-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
30+// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
31 //
32 // This file is part of the GNU ISO C++ Library. This library is free
33 // software; you can redistribute it and/or modify it under the terms
34@@ -116,7 +116,11 @@ namespace __gnu_parallel
35 * @brief The destructor.
36 */
37 ~_LoserTreeBase()
38- { ::operator delete(_M_losers); }
39+ {
40+ for (unsigned int __i = 0; __i < (2 * _M_k); ++__i)
41+ _M_losers[__i].~_Loser();
42+ ::operator delete(_M_losers);
43+ }
44
45 /**
46 * @brief Initializes the sequence "_M_source" with the element "__key".
47@@ -131,15 +135,15 @@ namespace __gnu_parallel
48 {
49 unsigned int __pos = _M_k + __source;
50
51- if(_M_first_insert)
52+ if (_M_first_insert)
53 {
54- // Construct all keys, so we can easily deconstruct them.
55+ // Construct all keys, so we can easily destruct them.
56 for (unsigned int __i = 0; __i < (2 * _M_k); ++__i)
57- new(&(_M_losers[__i]._M_key)) _Tp(__key);
58+ ::new(&(_M_losers[__i]._M_key)) _Tp(__key);
59 _M_first_insert = false;
60 }
61 else
62- new(&(_M_losers[__pos]._M_key)) _Tp(__key);
63+ _M_losers[__pos]._M_key = __key;
64
65 _M_losers[__pos]._M_sup = __sup;
66 _M_losers[__pos]._M_source = __source;
67@@ -379,7 +383,7 @@ namespace __gnu_parallel
68 }
69
70 ~_LoserTreePointerBase()
71- { ::operator delete[](_M_losers); }
72+ { delete[] _M_losers; }
73
74 int __get_min_source()
75 { return _M_losers[0]._M_source; }
76@@ -577,7 +581,7 @@ namespace __gnu_parallel
77 _Compare _M_comp;
78
79 public:
80- _LoserTreeUnguardedBase(unsigned int __k, const _Tp __sentinel,
81+ _LoserTreeUnguardedBase(unsigned int __k, const _Tp& __sentinel,
82 _Compare __comp = std::less<_Tp>())
83 : _M_comp(__comp)
84 {
85@@ -590,15 +594,24 @@ namespace __gnu_parallel
86 _M_losers = static_cast<_Loser*>(::operator new(2 * _M_k
87 * sizeof(_Loser)));
88
89- for (unsigned int __i = _M_k + _M_ik - 1; __i < (2 * _M_k); ++__i)
90- {
91- _M_losers[__i]._M_key = __sentinel;
92+ for (unsigned int __i = 0; __i < _M_k; ++__i)
93+ {
94+ ::new(&(_M_losers[__i]._M_key)) _Tp(__sentinel);
95+ _M_losers[__i]._M_source = -1;
96+ }
97+ for (unsigned int __i = _M_k + _M_ik - 1; __i < (2 * _M_k); ++__i)
98+ {
99+ ::new(&(_M_losers[__i]._M_key)) _Tp(__sentinel);
100 _M_losers[__i]._M_source = -1;
101 }
102 }
103
104 ~_LoserTreeUnguardedBase()
105- { ::operator delete(_M_losers); }
106+ {
107+ for (unsigned int __i = 0; __i < (2 * _M_k); ++__i)
108+ _M_losers[__i].~_Loser();
109+ ::operator delete(_M_losers);
110+ }
111
112 int
113 __get_min_source()
114@@ -615,7 +628,7 @@ namespace __gnu_parallel
115 {
116 unsigned int __pos = _M_k + __source;
117
118- new(&(_M_losers[__pos]._M_key)) _Tp(__key);
119+ ::new(&(_M_losers[__pos]._M_key)) _Tp(__key);
120 _M_losers[__pos]._M_source = __source;
121 }
122 };
123@@ -634,7 +647,7 @@ namespace __gnu_parallel
124 using _Base::_M_losers;
125
126 public:
127- _LoserTreeUnguarded(unsigned int __k, const _Tp __sentinel,
128+ _LoserTreeUnguarded(unsigned int __k, const _Tp& __sentinel,
129 _Compare __comp = std::less<_Tp>())
130 : _Base::_LoserTreeUnguardedBase(__k, __sentinel, __comp)
131 { }
132@@ -721,7 +734,7 @@ namespace __gnu_parallel
133 using _Base::_M_losers;
134
135 public:
136- _LoserTreeUnguarded(unsigned int __k, const _Tp __sentinel,
137+ _LoserTreeUnguarded(unsigned int __k, const _Tp& __sentinel,
138 _Compare __comp = std::less<_Tp>())
139 : _Base::_LoserTreeUnguardedBase(__k, __sentinel, __comp)
140 { }
141diff --git a/libstdc++-v3/include/parallel/multiway_merge.h b/libstdc++-v3/include/parallel/multiway_merge.h
142index 0fd3da2..00df31c 100644
143--- a/libstdc++-v3/include/parallel/multiway_merge.h
144+++ b/libstdc++-v3/include/parallel/multiway_merge.h
145@@ -1045,11 +1045,12 @@ namespace __gnu_parallel
146 _ValueType;
147
148 // __k sequences.
149- _SeqNumber __k = static_cast<_SeqNumber>(__seqs_end - __seqs_begin);
150+ const _SeqNumber __k
151+ = static_cast<_SeqNumber>(__seqs_end - __seqs_begin);
152
153- _ThreadIndex __num_threads = omp_get_num_threads();
154+ const _ThreadIndex __num_threads = omp_get_num_threads();
155
156- _DifferenceType __num_samples =
157+ const _DifferenceType __num_samples =
158 __gnu_parallel::_Settings::get().merge_oversampling * __num_threads;
159
160 _ValueType* __samples = static_cast<_ValueType*>
161@@ -1096,6 +1097,10 @@ namespace __gnu_parallel
162 __pieces[__slab][__seq].second =
163 _GLIBCXX_PARALLEL_LENGTH(__seqs_begin[__seq]);
164 }
165+
166+ for (_SeqNumber __s = 0; __s < __k; ++__s)
167+ for (_DifferenceType __i = 0; __i < __num_samples; ++__i)
168+ __samples[__s * __num_samples + __i].~_ValueType();
169 ::operator delete(__samples);
170 }
171
172@@ -1258,10 +1263,10 @@ namespace __gnu_parallel
173 __length = std::min<_DifferenceTp>(__length, __total_length);
174
175 if (__total_length == 0 || __k == 0)
176- {
177- delete[] __ne_seqs;
178- return __target;
179- }
180+ {
181+ delete[] __ne_seqs;
182+ return __target;
183+ }
184
185 std::vector<std::pair<_DifferenceType, _DifferenceType> >* __pieces;
186
187diff --git a/libstdc++-v3/include/parallel/multiway_mergesort.h b/libstdc++-v3/include/parallel/multiway_mergesort.h
188index c0dab63..af7c10a 100644
189--- a/libstdc++-v3/include/parallel/multiway_mergesort.h
190+++ b/libstdc++-v3/include/parallel/multiway_mergesort.h
191@@ -378,6 +378,8 @@ namespace __gnu_parallel
192
193 # pragma omp barrier
194
195+ for (_DifferenceType __i = 0; __i < __length_local; ++__i)
196+ __sd->_M_temporary[__iam][__i].~_ValueType();
197 ::operator delete(__sd->_M_temporary[__iam]);
198 }
199
200@@ -413,6 +415,7 @@ namespace __gnu_parallel
201 // shared variables
202 _PMWMSSortingData<_RAIter> __sd;
203 _DifferenceType* __starts;
204+ _DifferenceType __size;
205
206 # pragma omp parallel num_threads(__num_threads)
207 {
208@@ -427,7 +430,7 @@ namespace __gnu_parallel
209
210 if (!__exact)
211 {
212- _DifferenceType __size =
213+ __size =
214 (_Settings::get().sort_mwms_oversampling * __num_threads - 1)
215 * __num_threads;
216 __sd._M_samples = static_cast<_ValueType*>
217@@ -463,7 +466,11 @@ namespace __gnu_parallel
218 delete[] __sd._M_temporary;
219
220 if (!__exact)
221- ::operator delete(__sd._M_samples);
222+ {
223+ for (_DifferenceType __i = 0; __i < __size; ++__i)
224+ __sd._M_samples[__i].~_ValueType();
225+ ::operator delete(__sd._M_samples);
226+ }
227
228 delete[] __sd._M_offsets;
229 delete[] __sd._M_pieces;
230diff --git a/libstdc++-v3/include/parallel/par_loop.h b/libstdc++-v3/include/parallel/par_loop.h
231index 1e21d3a..b776df4 100644
232--- a/libstdc++-v3/include/parallel/par_loop.h
233+++ b/libstdc++-v3/include/parallel/par_loop.h
234@@ -91,8 +91,7 @@ namespace __gnu_parallel
235 _ThreadIndex __iam = omp_get_thread_num();
236
237 // Neutral element.
238- _Result* __reduct = static_cast<_Result*>
239- (::operator new(sizeof(_Result)));
240+ _Result* __reduct;
241
242 _DifferenceType
243 __start = equally_split_point(__length, __num_threads, __iam),
244@@ -100,7 +99,7 @@ namespace __gnu_parallel
245
246 if (__start < __stop)
247 {
248- new(__reduct) _Result(__f(__o, __begin + __start));
249+ __reduct = new _Result(__f(__o, __begin + __start));
250 ++__start;
251 __constructed[__iam] = true;
252 }
253@@ -110,18 +109,26 @@ namespace __gnu_parallel
254 for (; __start < __stop; ++__start)
255 *__reduct = __r(*__reduct, __f(__o, __begin + __start));
256
257- __thread_results[__iam] = *__reduct;
258+ if (__constructed[__iam])
259+ {
260+ ::new(&__thread_results[__iam]) _Result(*__reduct);
261+ delete __reduct;
262+ }
263 } //parallel
264
265 for (_ThreadIndex __i = 0; __i < __num_threads; ++__i)
266 if (__constructed[__i])
267- __output = __r(__output, __thread_results[__i]);
268+ {
269+ __output = __r(__output, __thread_results[__i]);
270+ __thread_results[__i].~_Result();
271+ }
272
273 // Points to last element processed (needed as return value for
274 // some algorithms like transform).
275 __f._M_finish_iterator = __begin + __length;
276
277- delete[] __thread_results;
278+ ::operator delete(__thread_results);
279+
280 delete[] __constructed;
281
282 return __o;
283diff --git a/libstdc++-v3/include/parallel/partial_sum.h b/libstdc++-v3/include/parallel/partial_sum.h
284index 5513c2f..0be9881 100644
285--- a/libstdc++-v3/include/parallel/partial_sum.h
286+++ b/libstdc++-v3/include/parallel/partial_sum.h
287@@ -184,7 +184,10 @@ namespace __gnu_parallel
288 __bin_op, __sums[__iam]);
289 } //parallel
290
291+ for (_ThreadIndex __i = 0; __i < __num_threads; ++__i)
292+ __sums[__i].~_ValueType();
293 ::operator delete(__sums);
294+
295 delete[] __borders;
296
297 return __result + __n;
298diff --git a/libstdc++-v3/include/parallel/quicksort.h b/libstdc++-v3/include/parallel/quicksort.h
299index 1884eb8..1b4d598 100644
300--- a/libstdc++-v3/include/parallel/quicksort.h
301+++ b/libstdc++-v3/include/parallel/quicksort.h
302@@ -1,6 +1,6 @@
303 // -*- C++ -*-
304
305-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
306+// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
307 //
308 // This file is part of the GNU ISO C++ Library. This library is free
309 // software; you can redistribute it and/or modify it under the terms
310@@ -82,6 +82,8 @@ namespace __gnu_parallel
311 _DifferenceType __split = __parallel_partition(__begin, __end,
312 __pred, __num_threads);
313
314+ for (_DifferenceType __s = 0; __s < __num_samples; ++__s)
315+ __samples[__s].~_ValueType();
316 ::operator delete(__samples);
317
318 return __split;
319diff --git a/libstdc++-v3/include/parallel/random_shuffle.h b/libstdc++-v3/include/parallel/random_shuffle.h
320index bae9572..c3967c2 100644
321--- a/libstdc++-v3/include/parallel/random_shuffle.h
322+++ b/libstdc++-v3/include/parallel/random_shuffle.h
323@@ -1,6 +1,6 @@
324 // -*- C++ -*-
325
326-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
327+// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
328 //
329 // This file is part of the GNU ISO C++ Library. This library is free
330 // software; you can redistribute it and/or modify it under the terms
331@@ -209,7 +209,7 @@ namespace __gnu_parallel
332 _ThreadIndex __target_p = __bin_proc[__target_bin];
333
334 // Last column [__d->_M_num_threads] stays unchanged.
335- ::new(&(__temporaries[__target_p][__dist[__target_bin + 1]++]))
336+ ::new(&(__temporaries[__target_p][__dist[__target_bin + 1]++]))
337 _ValueType(*(__source + __i + __start));
338 }
339
340@@ -227,8 +227,8 @@ namespace __gnu_parallel
341 (__sd->_M_temporaries[__iam]
342 + (__b == __d->_M_bins_begin
343 ? 0 : __sd->_M_dist[__b][__d->_M_num_threads])),
344- * __end = (__sd->_M_temporaries[__iam]
345- + __sd->_M_dist[__b + 1][__d->_M_num_threads]);
346+ *__end = (__sd->_M_temporaries[__iam]
347+ + __sd->_M_dist[__b + 1][__d->_M_num_threads]);
348
349 __sequential_random_shuffle(__begin, __end, __rng);
350 std::copy(__begin, __end, __sd->_M_source + __global_offset
351@@ -236,6 +236,8 @@ namespace __gnu_parallel
352 ? 0 : __sd->_M_dist[__b][__d->_M_num_threads]));
353 }
354
355+ for (_SequenceIndex __i = 0; __i < __offset; ++__i)
356+ __sd->_M_temporaries[__iam][__i].~_ValueType();
357 ::operator delete(__sd->_M_temporaries[__iam]);
358 }
359
360@@ -501,6 +503,9 @@ namespace __gnu_parallel
361 delete[] __dist0;
362 delete[] __dist1;
363 delete[] __oracles;
364+
365+ for (_DifferenceType __i = 0; __i < __n; ++__i)
366+ __target[__i].~_ValueType();
367 ::operator delete(__target);
368 }
369 else
370diff --git a/libstdc++-v3/testsuite/26_numerics/accumulate/48750.cc b/libstdc++-v3/testsuite/26_numerics/accumulate/48750.cc
371new file mode 100644
372index 0000000..450382c
373--- /dev/null
374+++ b/libstdc++-v3/testsuite/26_numerics/accumulate/48750.cc
375@@ -0,0 +1,70 @@
376+// Copyright (C) 2011 Free Software Foundation, Inc.
377+//
378+// This file is part of the GNU ISO C++ Library. This library is free
379+// software; you can redistribute it and/or modify it under the
380+// terms of the GNU General Public License as published by the
381+// Free Software Foundation; either version 3, or (at your option)
382+// any later version.
383+
384+// This library is distributed in the hope that it will be useful,
385+// but WITHOUT ANY WARRANTY; without even the implied warranty of
386+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
387+// GNU General Public License for more details.
388+
389+// You should have received a copy of the GNU General Public License along
390+// with this library; see the file COPYING3. If not see
391+// <http://www.gnu.org/licenses/>.
392+
393+#include <vector>
394+#include <numeric>
395+
396+class NaturalParameters
397+{
398+public:
399+
400+ NaturalParameters()
401+ : m_data(2)
402+ { }
403+
404+ std::vector<double>::const_iterator
405+ begin() const
406+ { return m_data.begin(); }
407+
408+ std::vector<double>::const_iterator
409+ end() const
410+ { return m_data.begin(); }
411+
412+ NaturalParameters&
413+ operator+=(const NaturalParameters&)
414+ { return *this; }
415+
416+private:
417+ std::vector<double> m_data;
418+};
419+
420+inline
421+NaturalParameters
422+operator+(const NaturalParameters& a, const NaturalParameters& b)
423+{
424+ NaturalParameters tmp = a;
425+ return tmp += b;
426+}
427+
428+// libstdc++/48750
429+void test01()
430+{
431+ // Used to fail in parallel-mode with a segfault.
432+ for (std::size_t i = 0; i < 1000; ++i)
433+ {
434+ std::vector<NaturalParameters> ChildrenNP(1000);
435+ NaturalParameters init;
436+ NaturalParameters NP = std::accumulate(ChildrenNP.begin(),
437+ ChildrenNP.end(), init);
438+ }
439+}
440+
441+int main()
442+{
443+ test01();
444+ return 0;
445+}
446diff --git a/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
447index 174a8af..c0b1f68 100644
448--- a/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
449+++ b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
450@@ -3,6 +3,9 @@
451
452 // -*- C++ -*-
453
454+// Otherwise we may get *multiple* errors.
455+#undef _GLIBCXX_PARALLEL
456+
457 // Copyright (C) 2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
458 //
459 // This file is part of the GNU ISO C++ Library. This library is free
460--
4611.7.0.4
462
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0214-include-ext-sso_string_base.h-__sso_string_base-_M_c.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0214-include-ext-sso_string_base.h-__sso_string_base-_M_c.patch
new file mode 100644
index 0000000000..d4065898d4
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0214-include-ext-sso_string_base.h-__sso_string_base-_M_c.patch
@@ -0,0 +1,178 @@
1From b4dba0d5e1b14b28113b6a44c9264aa3c05e40f0 Mon Sep 17 00:00:00 2001
2From: aaw <aaw@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 4 May 2011 14:48:41 +0000
4Subject: [PATCH] * include/ext/sso_string_base.h (__sso_string_base<>::_M_construct):
5 Fix unqualified lookup.
6 (__sso_string_base<>::_M_construct): Likewise.
7 (__sso_string_base<>::_M_construct): Likewise.
8 (__sso_string_base<>::_M_assign): Likewise.
9 (__sso_string_base<>::_M_reserve): Likewise.
10 (__sso_string_base<>::_M_mutate): Likewise.
11 (__sso_string_base<>::_M_erase): Likewise.
12 * include/ext/vstring.h (__versa_string<>::replace): Likewise.
13 (__versa_string<>::compare): Likewise.
14 * include/ext/vstring.tcc (__versa_string<>::compare): Likewise.
15 (__versa_string<>::compare): Likewise.
16 (__versa_string<>::compare): Likewise.
17 (__versa_string<>::compare): Likewise.
18 (__versa_string<>::compare): Likewise.
19
20git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173377 138bc75d-0d04-0410-961f-82ee72b054a4
21
22index 053f514..ccaf419 100644
23--- a/libstdc++-v3/include/ext/sso_string_base.h
24+++ b/libstdc++-v3/include/ext/sso_string_base.h
25@@ -411,7 +411,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
26 // Allocate more space.
27 __capacity = __len + 1;
28 _CharT* __another = _M_create(__capacity, __len);
29- _S_copy(__another, _M_data(), __len);
30+ this->_S_copy(__another, _M_data(), __len);
31 _M_dispose();
32 _M_data(__another);
33 _M_capacity(__capacity);
34@@ -451,7 +451,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
35
36 // Check for out_of_range and length_error exceptions.
37 __try
38- { _S_copy_chars(_M_data(), __beg, __end); }
39+ { this->_S_copy_chars(_M_data(), __beg, __end); }
40 __catch(...)
41 {
42 _M_dispose();
43@@ -473,7 +473,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
44 }
45
46 if (__n)
47- _S_assign(_M_data(), __n, __c);
48+ this->_S_assign(_M_data(), __n, __c);
49
50 _M_set_length(__n);
51 }
52@@ -498,7 +498,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
53 }
54
55 if (__rsize)
56- _S_copy(_M_data(), __rcs._M_data(), __rsize);
57+ this->_S_copy(_M_data(), __rcs._M_data(), __rsize);
58
59 _M_set_length(__rsize);
60 }
61@@ -520,14 +520,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
62 || __res > size_type(_S_local_capacity))
63 {
64 _CharT* __tmp = _M_create(__res, __capacity);
65- _S_copy(__tmp, _M_data(), _M_length() + 1);
66+ this->_S_copy(__tmp, _M_data(), _M_length() + 1);
67 _M_dispose();
68 _M_data(__tmp);
69 _M_capacity(__res);
70 }
71 else if (!_M_is_local())
72 {
73- _S_copy(_M_local_data, _M_data(), _M_length() + 1);
74+ this->_S_copy(_M_local_data, _M_data(), _M_length() + 1);
75 _M_destroy(__capacity);
76 _M_data(_M_local_data);
77 }
78@@ -546,12 +546,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
79 _CharT* __r = _M_create(__new_capacity, _M_capacity());
80
81 if (__pos)
82- _S_copy(__r, _M_data(), __pos);
83+ this->_S_copy(__r, _M_data(), __pos);
84 if (__s && __len2)
85- _S_copy(__r + __pos, __s, __len2);
86+ this->_S_copy(__r + __pos, __s, __len2);
87 if (__how_much)
88- _S_copy(__r + __pos + __len2,
89- _M_data() + __pos + __len1, __how_much);
90+ this->_S_copy(__r + __pos + __len2,
91+ _M_data() + __pos + __len1, __how_much);
92
93 _M_dispose();
94 _M_data(__r);
95@@ -566,8 +566,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
96 const size_type __how_much = _M_length() - __pos - __n;
97
98 if (__how_much && __n)
99- _S_move(_M_data() + __pos, _M_data() + __pos + __n,
100- __how_much);
101+ this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much);
102
103 _M_set_length(_M_length() - __n);
104 }
105diff --git a/libstdc++-v3/include/ext/vstring.h b/libstdc++-v3/include/ext/vstring.h
106index 6e43e2b..442a392 100644
107--- a/libstdc++-v3/include/ext/vstring.h
108+++ b/libstdc++-v3/include/ext/vstring.h
109@@ -1359,7 +1359,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
110 && __i2 <= _M_iend());
111 __glibcxx_requires_valid_range(__k1, __k2);
112 typedef typename std::__is_integer<_InputIterator>::__type _Integral;
113- return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral());
114+ return this->_M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral());
115 }
116
117 // Specializations for the common case of pointer and iterator:
118@@ -1914,7 +1914,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
119
120 int __r = traits_type::compare(this->_M_data(), __str.data(), __len);
121 if (!__r)
122- __r = _S_compare(__size, __osize);
123+ __r = this->_S_compare(__size, __osize);
124 return __r;
125 }
126
127diff --git a/libstdc++-v3/include/ext/vstring.tcc b/libstdc++-v3/include/ext/vstring.tcc
128index e36058b..588985b 100644
129--- a/libstdc++-v3/include/ext/vstring.tcc
130+++ b/libstdc++-v3/include/ext/vstring.tcc
131@@ -466,7 +466,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
132 int __r = traits_type::compare(this->_M_data() + __pos,
133 __str.data(), __len);
134 if (!__r)
135- __r = _S_compare(__n, __osize);
136+ __r = this->_S_compare(__n, __osize);
137 return __r;
138 }
139
140@@ -485,7 +485,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
141 int __r = traits_type::compare(this->_M_data() + __pos1,
142 __str.data() + __pos2, __len);
143 if (!__r)
144- __r = _S_compare(__n1, __n2);
145+ __r = this->_S_compare(__n1, __n2);
146 return __r;
147 }
148
149@@ -501,7 +501,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
150 const size_type __len = std::min(__size, __osize);
151 int __r = traits_type::compare(this->_M_data(), __s, __len);
152 if (!__r)
153- __r = _S_compare(__size, __osize);
154+ __r = this->_S_compare(__size, __osize);
155 return __r;
156 }
157
158@@ -518,7 +518,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
159 const size_type __len = std::min(__n1, __osize);
160 int __r = traits_type::compare(this->_M_data() + __pos, __s, __len);
161 if (!__r)
162- __r = _S_compare(__n1, __osize);
163+ __r = this->_S_compare(__n1, __osize);
164 return __r;
165 }
166
167@@ -535,7 +535,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
168 const size_type __len = std::min(__n1, __n2);
169 int __r = traits_type::compare(this->_M_data() + __pos, __s, __len);
170 if (!__r)
171- __r = _S_compare(__n1, __n2);
172+ __r = this->_S_compare(__n1, __n2);
173 return __r;
174 }
175
176--
1771.7.0.4
178
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0215-config-i386-i386.md-movdi_internal_rex64-TYPE_SSEMOV.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0215-config-i386-i386.md-movdi_internal_rex64-TYPE_SSEMOV.patch
new file mode 100644
index 0000000000..813b549ed3
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0215-config-i386-i386.md-movdi_internal_rex64-TYPE_SSEMOV.patch
@@ -0,0 +1,244 @@
1From 29c9d7b889311e84c52f371bdbc8d37f1c82b47f Mon Sep 17 00:00:00 2001
2From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 4 May 2011 17:01:43 +0000
4Subject: [PATCH] * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
5 Use %v prefix in insn mnemonic to handle TARGET_AVX.
6 (*movdi_internal): Use "maybe_vex" instead of "vex" in "prefix"
7 attribute calculation.
8 (*movdf_internal): Output AVX mnemonics. Add "prefix" attribute.
9 * config/i386/sse.md (*sse2_storeq_rex64): Do not emit %v prefix
10 for mov{q} mnemonic.
11 (*vec_extractv2di_1_rex64_avx): Ditto.
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173382 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index c50002e..a90e310 100644
16--- a/gcc/config/i386/i386.md
17+++ b/gcc/config/i386/i386.md
18@@ -1974,21 +1974,15 @@
19 return "movdq2q\t{%1, %0|%0, %1}";
20
21 case TYPE_SSEMOV:
22- if (TARGET_AVX)
23- {
24- if (get_attr_mode (insn) == MODE_TI)
25- return "vmovdqa\t{%1, %0|%0, %1}";
26- else
27- return "vmovq\t{%1, %0|%0, %1}";
28- }
29-
30 if (get_attr_mode (insn) == MODE_TI)
31- return "movdqa\t{%1, %0|%0, %1}";
32- /* FALLTHRU */
33+ return "%vmovdqa\t{%1, %0|%0, %1}";
34+ /* Handle broken assemblers that require movd instead of movq. */
35+ if (GENERAL_REG_P (operands[0]) || GENERAL_REG_P (operands[1]))
36+ return "%vmovd\t{%1, %0|%0, %1}";
37+ return "%vmovq\t{%1, %0|%0, %1}";
38
39 case TYPE_MMXMOV:
40- /* Moves from and into integer register is done using movd
41- opcode with REX prefix. */
42+ /* Handle broken assemblers that require movd instead of movq. */
43 if (GENERAL_REG_P (operands[0]) || GENERAL_REG_P (operands[1]))
44 return "movd\t{%1, %0|%0, %1}";
45 return "movq\t{%1, %0|%0, %1}";
46@@ -2108,7 +2102,7 @@
47 [(set_attr "type" "*,*,mmx,mmxmov,mmxmov,sselog1,ssemov,ssemov,ssemov,sselog1,ssemov,ssemov,ssemov")
48 (set (attr "prefix")
49 (if_then_else (eq_attr "alternative" "5,6,7,8")
50- (const_string "vex")
51+ (const_string "maybe_vex")
52 (const_string "orig")))
53 (set_attr "mode" "DI,DI,DI,DI,DI,TI,DI,TI,DI,V4SF,V2SF,V4SF,V2SF")])
54
55@@ -2997,7 +2991,8 @@
56
57 case 11:
58 case 12:
59- return "%vmovd\t{%1, %0|%0, %1}";
60+ /* Handle broken assemblers that require movd instead of movq. */
61+ return "%vmovd\t{%1, %0|%0, %1}";
62
63 default:
64 gcc_unreachable();
65@@ -3106,17 +3101,17 @@
66 switch (get_attr_mode (insn))
67 {
68 case MODE_V4SF:
69- return "xorps\t%0, %0";
70+ return "%vxorps\t%0, %d0";
71 case MODE_V2DF:
72 if (TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL)
73- return "xorps\t%0, %0";
74+ return "%vxorps\t%0, %d0";
75 else
76- return "xorpd\t%0, %0";
77+ return "%vxorpd\t%0, %d0";
78 case MODE_TI:
79 if (TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL)
80- return "xorps\t%0, %0";
81+ return "%vxorps\t%0, %d0";
82 else
83- return "pxor\t%0, %0";
84+ return "%vpxor\t%0, %d0";
85 default:
86 gcc_unreachable ();
87 }
88@@ -3126,34 +3121,62 @@
89 switch (get_attr_mode (insn))
90 {
91 case MODE_V4SF:
92- return "movaps\t{%1, %0|%0, %1}";
93+ return "%vmovaps\t{%1, %0|%0, %1}";
94 case MODE_V2DF:
95 if (TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL)
96- return "movaps\t{%1, %0|%0, %1}";
97+ return "%vmovaps\t{%1, %0|%0, %1}";
98 else
99- return "movapd\t{%1, %0|%0, %1}";
100+ return "%vmovapd\t{%1, %0|%0, %1}";
101 case MODE_TI:
102 if (TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL)
103- return "movaps\t{%1, %0|%0, %1}";
104+ return "%vmovaps\t{%1, %0|%0, %1}";
105 else
106- return "movdqa\t{%1, %0|%0, %1}";
107+ return "%vmovdqa\t{%1, %0|%0, %1}";
108 case MODE_DI:
109- return "movq\t{%1, %0|%0, %1}";
110+ return "%vmovq\t{%1, %0|%0, %1}";
111 case MODE_DF:
112- return "movsd\t{%1, %0|%0, %1}";
113+ if (TARGET_AVX)
114+ {
115+ if (REG_P (operands[0]) && REG_P (operands[1]))
116+ return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
117+ else
118+ return "vmovsd\t{%1, %0|%0, %1}";
119+ }
120+ else
121+ return "movsd\t{%1, %0|%0, %1}";
122 case MODE_V1DF:
123- return "movlpd\t{%1, %0|%0, %1}";
124+ if (TARGET_AVX)
125+ {
126+ if (REG_P (operands[0]))
127+ return "vmovlpd\t{%1, %0, %0|%0, %0, %1}";
128+ else
129+ return "vmovlpd\t{%1, %0|%0, %1}";
130+ }
131+ else
132+ return "movlpd\t{%1, %0|%0, %1}";
133 case MODE_V2SF:
134- return "movlps\t{%1, %0|%0, %1}";
135+ if (TARGET_AVX)
136+ {
137+ if (REG_P (operands[0]))
138+ return "vmovlps\t{%1, %0, %0|%0, %0, %1}";
139+ else
140+ return "vmovlps\t{%1, %0|%0, %1}";
141+ }
142+ else
143+ return "movlps\t{%1, %0|%0, %1}";
144 default:
145 gcc_unreachable ();
146 }
147
148 default:
149- gcc_unreachable();
150+ gcc_unreachable ();
151 }
152 }
153 [(set_attr "type" "fmov,fmov,fmov,multi,multi,sselog1,ssemov,ssemov,ssemov")
154+ (set (attr "prefix")
155+ (if_then_else (eq_attr "alternative" "0,1,2,3,4")
156+ (const_string "orig")
157+ (const_string "maybe_vex")))
158 (set (attr "prefix_data16")
159 (if_then_else (eq_attr "mode" "V1DF")
160 (const_string "1")
161@@ -3441,12 +3464,13 @@
162
163 case 9: case 10: case 14: case 15:
164 return "movd\t{%1, %0|%0, %1}";
165- case 12: case 13:
166- return "%vmovd\t{%1, %0|%0, %1}";
167
168 case 11:
169 return "movq\t{%1, %0|%0, %1}";
170
171+ case 12: case 13:
172+ return "%vmovd\t{%1, %0|%0, %1}";
173+
174 default:
175 gcc_unreachable ();
176 }
177diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
178index 6a254b6..ca37622 100644
179--- a/gcc/config/i386/mmx.md
180+++ b/gcc/config/i386/mmx.md
181@@ -63,6 +63,7 @@
182 DONE;
183 })
184
185+;; movd instead of movq is required to handle broken assemblers.
186 (define_insn "*mov<mode>_internal_rex64"
187 [(set (match_operand:MMXMODEI8 0 "nonimmediate_operand"
188 "=rm,r,!?y,!y,!?y,m ,!y ,*Y2,x,x ,m,r ,Yi")
189@@ -196,6 +197,7 @@
190 (const_string "orig")))
191 (set_attr "mode" "DI,DI,DI,DI,DI,DI,DI,DI,V4SF,V4SF,V2SF,V2SF,DI,DI")])
192
193+;; movd instead of movq is required to handle broken assemblers.
194 (define_insn "*movv2sf_internal_rex64"
195 [(set (match_operand:V2SF 0 "nonimmediate_operand"
196 "=rm,r,!?y,!y,!?y,m ,!y ,*Y2,x,x,x,m,r ,Yi")
197diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
198index 6db9b77..db252c8 100644
199--- a/gcc/config/i386/sse.md
200+++ b/gcc/config/i386/sse.md
201@@ -7434,9 +7434,8 @@
202 "@
203 #
204 #
205- %vmov{q}\t{%1, %0|%0, %1}"
206+ mov{q}\t{%1, %0|%0, %1}"
207 [(set_attr "type" "*,*,imov")
208- (set_attr "prefix" "*,*,maybe_vex")
209 (set_attr "mode" "*,*,DI")])
210
211 (define_insn "*sse2_storeq"
212@@ -7472,11 +7471,11 @@
213 vmovhps\t{%1, %0|%0, %1}
214 vpsrldq\t{$8, %1, %0|%0, %1, 8}
215 vmovq\t{%H1, %0|%0, %H1}
216- vmov{q}\t{%H1, %0|%0, %H1}"
217+ mov{q}\t{%H1, %0|%0, %H1}"
218 [(set_attr "type" "ssemov,sseishft1,ssemov,imov")
219 (set_attr "length_immediate" "*,1,*,*")
220 (set_attr "memory" "*,none,*,*")
221- (set_attr "prefix" "vex")
222+ (set_attr "prefix" "vex,vex,vex,orig")
223 (set_attr "mode" "V2SF,TI,TI,DI")])
224
225 (define_insn "*vec_extractv2di_1_rex64"
226@@ -7754,6 +7753,7 @@
227 (const_string "vex")))
228 (set_attr "mode" "TI,TI,TI,TI,TI,V2SF")])
229
230+;; movd instead of movq is required to handle broken assemblers.
231 (define_insn "*vec_concatv2di_rex64_sse4_1"
232 [(set (match_operand:V2DI 0 "register_operand" "=x ,x ,Yi,!x,x,x,x")
233 (vec_concat:V2DI
234@@ -7774,6 +7774,7 @@
235 (set_attr "length_immediate" "1,*,*,*,*,*,*")
236 (set_attr "mode" "TI,TI,TI,TI,TI,V4SF,V2SF")])
237
238+;; movd instead of movq is required to handle broken assemblers.
239 (define_insn "*vec_concatv2di_rex64_sse"
240 [(set (match_operand:V2DI 0 "register_operand" "=Y2 ,Yi,!Y2,Y2,x,x")
241 (vec_concat:V2DI
242--
2431.7.0.4
244
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0216-2011-05-04-Steven-G.-Kargl-kargl-gcc.gnu.org.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0216-2011-05-04-Steven-G.-Kargl-kargl-gcc.gnu.org.patch
new file mode 100644
index 0000000000..2cae794bb7
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0216-2011-05-04-Steven-G.-Kargl-kargl-gcc.gnu.org.patch
@@ -0,0 +1,189 @@
1From 4eae6ccb843f9ac74bd928fab5247ae8e79e0d0f Mon Sep 17 00:00:00 2001
2From: kargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 4 May 2011 19:18:01 +0000
4Subject: [PATCH] 2011-05-04 Steven G. Kargl <kargl@gcc.gnu.org>
5
6 PR fortran/48720
7 * gfortran.texi: Document the 'Q' exponent-letter extension.
8 * invoke.texi: Document -Wreal-q-constant.
9 * lang.opt: Add -Wreal-q-constant option.
10 * gfortran.h: Add warn_real_q_constant to option struct.
11 * primary.c (match_real_constant): Use it. Accept 'Q' as
12 exponent-letter for REAL(16) real-literal-constant with a
13 fallback to REAL(10) or error if REAL(10) is not available.
14 * options.c (gfc_init_options, set_Wall) Set it.
15 (gfc_handle_option): Handle new option.
16
17
18git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173392 138bc75d-0d04-0410-961f-82ee72b054a4
19
20index b64fa20..165bd2f 100644
21--- a/gcc/fortran/gfortran.h
22+++ b/gcc/fortran/gfortran.h
23@@ -2190,6 +2190,7 @@ typedef struct
24 int warn_character_truncation;
25 int warn_array_temp;
26 int warn_align_commons;
27+ int warn_real_q_constant;
28 int warn_unused_dummy_argument;
29 int max_errors;
30
31diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi
32index 2f63bbb..88676cd 100644
33--- a/gcc/fortran/gfortran.texi
34+++ b/gcc/fortran/gfortran.texi
35@@ -1237,6 +1237,7 @@ without warning.
36 * Missing period in FORMAT specifications::
37 * I/O item lists::
38 * BOZ literal constants::
39+* @code{Q} exponent-letter::
40 * Real array indices::
41 * Unary operators::
42 * Implicitly convert LOGICAL and INTEGER values::
43@@ -1427,6 +1428,18 @@ To support legacy codes, GNU Fortran allows the input item list
44 of the @code{READ} statement, and the output item lists of the
45 @code{WRITE} and @code{PRINT} statements, to start with a comma.
46
47+@node @code{Q} exponent-letter
48+@subsection @code{Q} exponent-letter
49+@cindex @code{Q} exponent-letter
50+
51+GNU Fortran accepts real literal constants with an exponent-letter
52+of @code{Q}, for example, @code{1.23Q45}. The constant is interpreted
53+as a @code{REAL(16)} entity on targets that suppports this type. If
54+the target does not support @code{REAL(16)} but has a @code{REAL(10)}
55+type, then the real-literal-constant will be interpreted as a
56+@code{REAL(10)} entity. In the absence of @code{REAL(16)} and
57+@code{REAL(10)}, an error will occur.
58+
59 @node BOZ literal constants
60 @subsection BOZ literal constants
61 @cindex BOZ literal constants
62diff --git a/gcc/fortran/invoke.texi b/gcc/fortran/invoke.texi
63index 22245c9..9a286c0 100644
64--- a/gcc/fortran/invoke.texi
65+++ b/gcc/fortran/invoke.texi
66@@ -692,7 +692,7 @@ we recommend avoiding and that we believe are easy to avoid.
67 This currently includes @option{-Waliasing}, @option{-Wampersand},
68 @option{-Wconversion}, @option{-Wsurprising}, @option{-Wintrinsics-std},
69 @option{-Wno-tabs}, @option{-Wintrinsic-shadow}, @option{-Wline-truncation},
70-and @option{-Wunused}.
71+@option{-Wreal-q-constant} and @option{-Wunused}.
72
73 @item -Waliasing
74 @opindex @code{Waliasing}
75@@ -780,6 +780,12 @@ it as @code{EXTERNAL} procedure because of this. @option{-fall-intrinsics} can
76 be used to never trigger this behavior and always link to the intrinsic
77 regardless of the selected standard.
78
79+@item -Wreal-q-constant
80+@opindex @code{Wreal-q-constant}
81+@cindex warnings, @code{q} exponent-letter
82+Produce a warning if a real-literal-constant contains a @code{q}
83+exponent-letter.
84+
85 @item -Wsurprising
86 @opindex @code{Wsurprising}
87 @cindex warnings, suspicious code
88diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt
89index 69b3144..02fbaeb 100644
90--- a/gcc/fortran/lang.opt
91+++ b/gcc/fortran/lang.opt
92@@ -238,6 +238,10 @@ Wintrinsics-std
93 Fortran Warning
94 Warn on intrinsics not part of the selected standard
95
96+Wreal-q-constant
97+Fortran Warning
98+Warn about real-literal-constants with 'q' exponent-letter
99+
100 Wreturn-type
101 Fortran Warning
102 ; Documented in C
103diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
104index c116103..7073388 100644
105--- a/gcc/fortran/options.c
106+++ b/gcc/fortran/options.c
107@@ -107,6 +107,7 @@ gfc_init_options (unsigned int decoded_options_count,
108 gfc_option.warn_intrinsic_shadow = 0;
109 gfc_option.warn_intrinsics_std = 0;
110 gfc_option.warn_align_commons = 1;
111+ gfc_option.warn_real_q_constant = 0;
112 gfc_option.warn_unused_dummy_argument = 0;
113 gfc_option.max_errors = 25;
114
115@@ -445,6 +446,7 @@ set_Wall (int setting)
116 gfc_option.warn_intrinsic_shadow = setting;
117 gfc_option.warn_intrinsics_std = setting;
118 gfc_option.warn_character_truncation = setting;
119+ gfc_option.warn_real_q_constant = setting;
120 gfc_option.warn_unused_dummy_argument = setting;
121
122 warn_unused = setting;
123@@ -643,6 +645,10 @@ gfc_handle_option (size_t scode, const char *arg, int value,
124 gfc_option.warn_align_commons = value;
125 break;
126
127+ case OPT_Wreal_q_constant:
128+ gfc_option.warn_real_q_constant = value;
129+ break;
130+
131 case OPT_Wunused_dummy_argument:
132 gfc_option.warn_unused_dummy_argument = value;
133 break;
134diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c
135index 4cda7a1..22cfbc2 100644
136--- a/gcc/fortran/primary.c
137+++ b/gcc/fortran/primary.c
138@@ -541,6 +541,17 @@ match_real_constant (gfc_expr **result, int signflag)
139 goto done;
140 exp_char = c;
141
142+
143+ if (c == 'q')
144+ {
145+ if (gfc_notify_std (GFC_STD_GNU, "Extension: exponent-letter 'q' in "
146+ "real-literal-constant at %C") == FAILURE)
147+ return MATCH_ERROR;
148+ else if (gfc_option.warn_real_q_constant)
149+ gfc_warning("Extension: exponent-letter 'q' in real-literal-constant "
150+ "at %C");
151+ }
152+
153 /* Scan exponent. */
154 c = gfc_next_ascii_char ();
155 count++;
156@@ -616,6 +627,30 @@ done:
157 kind = gfc_default_double_kind;
158 break;
159
160+ case 'q':
161+ if (kind != -2)
162+ {
163+ gfc_error ("Real number at %C has a 'q' exponent and an explicit "
164+ "kind");
165+ goto cleanup;
166+ }
167+
168+ /* The maximum possible real kind type parameter is 16. First, try
169+ that for the kind, then fallback to trying kind=10 (Intel 80 bit)
170+ extended precision. If neither value works, just given up. */
171+ kind = 16;
172+ if (gfc_validate_kind (BT_REAL, kind, true) < 0)
173+ {
174+ kind = 10;
175+ if (gfc_validate_kind (BT_REAL, kind, true) < 0)
176+ {
177+ gfc_error ("Invalid exponent-letter 'q' in "
178+ "real-literal-constant at %C");
179+ goto cleanup;
180+ }
181+ }
182+ break;
183+
184 default:
185 if (kind == -2)
186 kind = gfc_default_real_kind;
187--
1881.7.0.4
189
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0218-PR-c-48749.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0218-PR-c-48749.patch
new file mode 100644
index 0000000000..1caa36a4f7
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0218-PR-c-48749.patch
@@ -0,0 +1,59 @@
1From 0a32d85a09c354725c2c18fb7ac42d2809197070 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 5 May 2011 02:51:01 +0000
4Subject: [PATCH] PR c++/48749
5 * class.c (resolves_to_fixed_type_p): Don't look closely
6 in templates.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173414 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index d19610a..c833329 100644
11--- a/gcc/cp/class.c
12+++ b/gcc/cp/class.c
13@@ -5978,7 +5978,17 @@ resolves_to_fixed_type_p (tree instance, int* nonnull)
14 {
15 tree t = TREE_TYPE (instance);
16 int cdtorp = 0;
17- tree fixed = fixed_type_or_null (instance, nonnull, &cdtorp);
18+ tree fixed;
19+
20+ if (processing_template_decl)
21+ {
22+ /* In a template we only care about the type of the result. */
23+ if (nonnull)
24+ *nonnull = true;
25+ return true;
26+ }
27+
28+ fixed = fixed_type_or_null (instance, nonnull, &cdtorp);
29 if (fixed == NULL_TREE)
30 return 0;
31 if (POINTER_TYPE_P (t))
32new file mode 100644
33index 0000000..e236504
34--- /dev/null
35+++ b/gcc/testsuite/g++.dg/conversion/base1.C
36@@ -0,0 +1,20 @@
37+// PR c++/48749
38+
39+struct Tuple3
40+{
41+ float x;
42+};
43+
44+struct Pos: virtual Tuple3 { };
45+
46+struct TexCoords
47+{
48+ Pos pos;
49+};
50+
51+template <class T>
52+void eval (const TexCoords &coords)
53+{
54+ const Pos &pos = coords.pos;
55+ pos.x;
56+}
57--
581.7.0.4
59
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0219-Backport-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0219-Backport-from-mainline.patch
new file mode 100644
index 0000000000..89ac751c92
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0219-Backport-from-mainline.patch
@@ -0,0 +1,145 @@
1From c36ec52943b79e5245d18041217a1b9a76fde887 Mon Sep 17 00:00:00 2001
2From: irar <irar@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 5 May 2011 08:39:40 +0000
4Subject: [PATCH] Backport from mainline:
5 2011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
6 Ira Rosen <ira.rosen@linaro.org>
7
8 PR target/48252
9 * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
10 to match neon_vzip/vuzp/vtrn_internal.
11 * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
12 outputs explicitly dependent on both inputs.
13 (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
14
15
16
17git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173418 138bc75d-0d04-0410-961f-82ee72b054a4
18
19index 8515002..9e6582a 100644
20--- a/gcc/config/arm/arm.c
21+++ b/gcc/config/arm/arm.c
22@@ -19564,7 +19564,7 @@ neon_emit_pair_result_insn (enum machine_mode mode,
23 rtx tmp1 = gen_reg_rtx (mode);
24 rtx tmp2 = gen_reg_rtx (mode);
25
26- emit_insn (intfn (tmp1, op1, tmp2, op2));
27+ emit_insn (intfn (tmp1, op1, op2, tmp2));
28
29 emit_move_insn (mem, tmp1);
30 mem = adjust_address (mem, mode, GET_MODE_SIZE (mode));
31diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md
32index 440b982..bc13722 100644
33--- a/gcc/config/arm/neon.md
34+++ b/gcc/config/arm/neon.md
35@@ -4079,20 +4079,21 @@
36
37 (define_insn "neon_vtrn<mode>_internal"
38 [(set (match_operand:VDQW 0 "s_register_operand" "=w")
39- (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")]
40- UNSPEC_VTRN1))
41- (set (match_operand:VDQW 2 "s_register_operand" "=w")
42- (unspec:VDQW [(match_operand:VDQW 3 "s_register_operand" "2")]
43- UNSPEC_VTRN2))]
44- "TARGET_NEON"
45- "vtrn.<V_sz_elem>\t%<V_reg>0, %<V_reg>2"
46+ (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")
47+ (match_operand:VDQW 2 "s_register_operand" "w")]
48+ UNSPEC_VTRN1))
49+ (set (match_operand:VDQW 3 "s_register_operand" "=2")
50+ (unspec:VDQW [(match_dup 1) (match_dup 2)]
51+ UNSPEC_VTRN2))]
52+ "TARGET_NEON"
53+ "vtrn.<V_sz_elem>\t%<V_reg>0, %<V_reg>3"
54 [(set (attr "neon_type")
55 (if_then_else (ne (symbol_ref "<Is_d_reg>") (const_int 0))
56 (const_string "neon_bp_simple")
57 (const_string "neon_bp_3cycle")))]
58 )
59
60-(define_expand "neon_vtrn<mode>"
61+ "neon_vtrn<mode>"
62 [(match_operand:SI 0 "s_register_operand" "r")
63 (match_operand:VDQW 1 "s_register_operand" "w")
64 (match_operand:VDQW 2 "s_register_operand" "w")]
65@@ -4105,13 +4106,14 @@
66
67 (define_insn "neon_vzip<mode>_internal"
68 [(set (match_operand:VDQW 0 "s_register_operand" "=w")
69- (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")]
70- UNSPEC_VZIP1))
71- (set (match_operand:VDQW 2 "s_register_operand" "=w")
72- (unspec:VDQW [(match_operand:VDQW 3 "s_register_operand" "2")]
73- UNSPEC_VZIP2))]
74- "TARGET_NEON"
75- "vzip.<V_sz_elem>\t%<V_reg>0, %<V_reg>2"
76+ (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")
77+ (match_operand:VDQW 2 "s_register_operand" "w")]
78+ UNSPEC_VZIP1))
79+ (set (match_operand:VDQW 3 "s_register_operand" "=2")
80+ (unspec:VDQW [(match_dup 1) (match_dup 2)]
81+ UNSPEC_VZIP2))]
82+ "TARGET_NEON"
83+ "vzip.<V_sz_elem>\t%<V_reg>0, %<V_reg>3"
84 [(set (attr "neon_type")
85 (if_then_else (ne (symbol_ref "<Is_d_reg>") (const_int 0))
86 (const_string "neon_bp_simple")
87@@ -4131,13 +4133,14 @@
88
89 (define_insn "neon_vuzp<mode>_internal"
90 [(set (match_operand:VDQW 0 "s_register_operand" "=w")
91- (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")]
92+ (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")
93+ (match_operand:VDQW 2 "s_register_operand" "w")]
94 UNSPEC_VUZP1))
95- (set (match_operand:VDQW 2 "s_register_operand" "=w")
96- (unspec:VDQW [(match_operand:VDQW 3 "s_register_operand" "2")]
97- UNSPEC_VUZP2))]
98+ (set (match_operand:VDQW 3 "s_register_operand" "=2")
99+ (unspec:VDQW [(match_dup 1) (match_dup 2)]
100+ UNSPEC_VUZP2))]
101 "TARGET_NEON"
102- "vuzp.<V_sz_elem>\t%<V_reg>0, %<V_reg>2"
103+ "vuzp.<V_sz_elem>\t%<V_reg>0, %<V_reg>3"
104 [(set (attr "neon_type")
105 (if_then_else (ne (symbol_ref "<Is_d_reg>") (const_int 0))
106 (const_string "neon_bp_simple")
107new file mode 100644
108index 0000000..1a06c71
109--- /dev/null
110+++ b/gcc/testsuite/gcc.target/arm/pr48252.c
111@@ -0,0 +1,31 @@
112+/* { dg-do run } */
113+/* { dg-require-effective-target arm_neon_hw } */
114+/* { dg-options "-O2" } */
115+/* { dg-add-options arm_neon } */
116+
117+#include "arm_neon.h"
118+#include <stdlib.h>
119+
120+int main(void)
121+{
122+ uint8x8_t v1 = {1, 1, 1, 1, 1, 1, 1, 1};
123+ uint8x8_t v2 = {2, 2, 2, 2, 2, 2, 2, 2};
124+ uint8x8x2_t vd1, vd2;
125+ union {uint8x8_t v; uint8_t buf[8];} d1, d2, d3, d4;
126+ int i;
127+
128+ vd1 = vzip_u8(v1, vdup_n_u8(0));
129+ vd2 = vzip_u8(v2, vdup_n_u8(0));
130+
131+ vst1_u8(d1.buf, vd1.val[0]);
132+ vst1_u8(d2.buf, vd1.val[1]);
133+ vst1_u8(d3.buf, vd2.val[0]);
134+ vst1_u8(d4.buf, vd2.val[1]);
135+
136+ for (i = 0; i < 8; i++)
137+ if ((i % 2 == 0 && d4.buf[i] != 2)
138+ || (i % 2 == 1 && d4.buf[i] != 0))
139+ abort ();
140+
141+ return 0;
142+}
143--
1441.7.0.4
145
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0220-gcc.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0220-gcc.patch
new file mode 100644
index 0000000000..0b90623565
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0220-gcc.patch
@@ -0,0 +1,55 @@
1From a663e35e688bda4a6841271cbdfbb287654aecd4 Mon Sep 17 00:00:00 2001
2From: jules <jules@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 5 May 2011 15:56:06 +0000
4Subject: [PATCH] gcc/
5 * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
6 parenthesis in D-register case.
7
8 gcc/testsuite/
9 * gcc.target/arm/neon-vset_lanes8.c: New test.
10
11
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173439 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index bc13722..491dd98 100644
16--- a/gcc/config/arm/neon.md
17+++ b/gcc/config/arm/neon.md
18@@ -425,7 +425,7 @@
19 (match_operand:SI 2 "immediate_operand" "i")))]
20 "TARGET_NEON"
21 {
22- int elt = ffs ((int) INTVAL (operands[2]) - 1);
23+ int elt = ffs ((int) INTVAL (operands[2])) - 1;
24 if (BYTES_BIG_ENDIAN)
25 elt = GET_MODE_NUNITS (<MODE>mode) - 1 - elt;
26 operands[2] = GEN_INT (elt);
27new file mode 100644
28index 0000000..e87102e
29--- /dev/null
30+++ b/gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c
31@@ -0,0 +1,21 @@
32+/* Test the `vset_lane_s8' ARM Neon intrinsic. */
33+
34+/* { dg-do run } */
35+/* { dg-require-effective-target arm_neon_hw } */
36+/* { dg-options "-O0" } */
37+/* { dg-add-options arm_neon } */
38+
39+#include "arm_neon.h"
40+#include <stdlib.h>
41+#include <string.h>
42+
43+int8x8_t x = { 1, 2, 3, 4, 5, 6, 7, 8 };
44+int8x8_t y = { 1, 2, 3, 16, 5, 6, 7, 8 };
45+
46+int main (void)
47+{
48+ x = vset_lane_s8 (16, x, 3);
49+ if (memcmp (&x, &y, sizeof (x)) != 0)
50+ abort();
51+ return 0;
52+}
53--
541.7.0.4
55
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0221-PR-ada-48844.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0221-PR-ada-48844.patch
new file mode 100644
index 0000000000..5c90712f45
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0221-PR-ada-48844.patch
@@ -0,0 +1,182 @@
1From 8035672553bc675f341a90983e4ac3eb7fc28832 Mon Sep 17 00:00:00 2001
2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 5 May 2011 16:27:03 +0000
4Subject: [PATCH] PR ada/48844
5 * gcc-interface/gigi.h (get_variant_part): Declare.
6 * gcc-interface/decl.c (get_variant_part): Make global.
7 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
8 types have the same constant size, are record types and T1 has a
9 variant part while T2 doesn't.
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173443 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index a10fc2d..e576895 100644
14--- a/gcc/ada/gcc-interface/decl.c
15+++ b/gcc/ada/gcc-interface/decl.c
16@@ -177,7 +177,6 @@ static void check_ok_for_atomic (tree, Entity_Id, bool);
17 static tree create_field_decl_from (tree, tree, tree, tree, tree,
18 VEC(subst_pair,heap) *);
19 static tree get_rep_part (tree);
20-static tree get_variant_part (tree);
21 static tree create_variant_part_from (tree, VEC(variant_desc,heap) *, tree,
22 tree, VEC(subst_pair,heap) *);
23 static void copy_and_substitute_in_size (tree, tree, VEC(subst_pair,heap) *);
24@@ -8400,7 +8399,7 @@ get_rep_part (tree record_type)
25
26 /* Return the variant part of RECORD_TYPE, if any. Otherwise return NULL. */
27
28-static tree
29+tree
30 get_variant_part (tree record_type)
31 {
32 tree field;
33diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h
34index e45cf13..eca4d9e 100644
35--- a/gcc/ada/gcc-interface/gigi.h
36+++ b/gcc/ada/gcc-interface/gigi.h
37@@ -151,6 +151,9 @@ extern tree choices_to_gnu (tree operand, Node_Id choices);
38 extern void annotate_object (Entity_Id gnat_entity, tree gnu_type, tree size,
39 bool by_ref, bool by_double_ref);
40
41+/* Return the variant part of RECORD_TYPE, if any. Otherwise return NULL. */
42+extern tree get_variant_part (tree record_type);
43+
44 /* Given a type T, a FIELD_DECL F, and a replacement value R, return a new
45 type with all size expressions that contain F updated by replacing F
46 with R. If F is NULL_TREE, always make a new RECORD_TYPE, even if
47diff --git a/gcc/ada/gcc-interface/utils2.c b/gcc/ada/gcc-interface/utils2.c
48index 07d6b5b..7028cdc 100644
49--- a/gcc/ada/gcc-interface/utils2.c
50+++ b/gcc/ada/gcc-interface/utils2.c
51@@ -193,15 +193,21 @@ find_common_type (tree t1, tree t2)
52 calling into build_binary_op), some others are really expected and we
53 have to be careful. */
54
55- /* We must prevent writing more than what the target may hold if this is for
56+ /* We must avoid writing more than what the target can hold if this is for
57 an assignment and the case of tagged types is handled in build_binary_op
58- so use the lhs type if it is known to be smaller, or of constant size and
59- the rhs type is not, whatever the modes. We also force t1 in case of
60+ so we use the lhs type if it is known to be smaller or of constant size
61+ and the rhs type is not, whatever the modes. We also force t1 in case of
62 constant size equality to minimize occurrences of view conversions on the
63- lhs of assignments. */
64+ lhs of an assignment, except for the case of record types with a variant
65+ part on the lhs but not on the rhs to make the conversion simpler. */
66 if (TREE_CONSTANT (TYPE_SIZE (t1))
67 && (!TREE_CONSTANT (TYPE_SIZE (t2))
68- || !tree_int_cst_lt (TYPE_SIZE (t2), TYPE_SIZE (t1))))
69+ || tree_int_cst_lt (TYPE_SIZE (t1), TYPE_SIZE (t2))
70+ || (TYPE_SIZE (t1) == TYPE_SIZE (t2)
71+ && !(TREE_CODE (t1) == RECORD_TYPE
72+ && TREE_CODE (t2) == RECORD_TYPE
73+ && get_variant_part (t1) != NULL_TREE
74+ && get_variant_part (t2) == NULL_TREE))))
75 return t1;
76
77 /* Otherwise, if the lhs type is non-BLKmode, use it. Note that we know
78new file mode 100644
79index 0000000..56047c9
80--- /dev/null
81+++ b/gcc/testsuite/gnat.dg/discr29.adb
82@@ -0,0 +1,8 @@
83+package body Discr29 is
84+
85+ procedure Proc (R : out Rec3) is
86+ begin
87+ R := (False, Tmp);
88+ end;
89+
90+end Discr29;
91diff --git a/gcc/testsuite/gnat.dg/discr29.ads b/gcc/testsuite/gnat.dg/discr29.ads
92new file mode 100644
93index 0000000..a205bc1
94--- /dev/null
95+++ b/gcc/testsuite/gnat.dg/discr29.ads
96@@ -0,0 +1,27 @@
97+-- { dg-do compile }
98+
99+package Discr29 is
100+
101+ type Rec1 is record
102+ I1 : Integer;
103+ I2 : Integer;
104+ I3 : Integer;
105+ end record;
106+
107+ type Rec2 is tagged record
108+ I1 : Integer;
109+ I2 : Integer;
110+ end record;
111+
112+ type Rec3 (D : Boolean) is record
113+ case D is
114+ when True => A : Rec1;
115+ when False => B : Rec2;
116+ end case;
117+ end record;
118+
119+ procedure Proc (R : out Rec3);
120+
121+ Tmp : Rec2;
122+
123+end Discr29;
124diff --git a/gcc/testsuite/gnat.dg/discr30.adb b/gcc/testsuite/gnat.dg/discr30.adb
125new file mode 100644
126index 0000000..b3bf100
127--- /dev/null
128+++ b/gcc/testsuite/gnat.dg/discr30.adb
129@@ -0,0 +1,50 @@
130+-- PR ada/48844
131+-- Reported by Georg Bauhaus <bauhaus@futureapps.de> */
132+
133+-- { dg-do compile }
134+
135+procedure Discr30 is
136+
137+ generic
138+ type Source is private;
139+ type Target is private;
140+ function Conversion (S : Source) return Target;
141+
142+ function Conversion (S : Source) return Target is
143+ type Source_Wrapper is tagged record
144+ S : Source;
145+ end record;
146+ type Target_Wrapper is tagged record
147+ T : Target;
148+ end record;
149+
150+ type Selector is (Source_Field, Target_Field);
151+ type Magic (Sel : Selector := Target_Field) is record
152+ case Sel is
153+ when Source_Field => S : Source_Wrapper;
154+ when Target_Field => T : Target_Wrapper;
155+ end case;
156+ end record;
157+
158+ M : Magic;
159+
160+ function Convert (T : Target_Wrapper) return Target is
161+ begin
162+ M := (Sel => Source_Field, S => (S => S));
163+ return T.T;
164+ end Convert;
165+
166+ begin
167+ return Convert (M.T);
168+ end Conversion;
169+
170+ type Integer_Access is access all Integer;
171+
172+ I : aliased Integer;
173+ I_Access : Integer_Access := I'Access;
174+
175+ function Convert is new Conversion (Integer_Access, Integer);
176+
177+begin
178+ I := Convert (I_Access);
179+end;
180--
1811.7.0.4
182
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0222-PR-c-40975.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0222-PR-c-40975.patch
new file mode 100644
index 0000000000..b0efd67cb1
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0222-PR-c-40975.patch
@@ -0,0 +1,55 @@
1From 0870d53c5df3fbecd862b72a46d449e6453a8584 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 5 May 2011 21:02:06 +0000
4Subject: [PATCH] PR c++/40975
5 * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173452 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 59ac0f1..1ec4866 100644
10new file mode 100644
11index 0000000..24582d8
12--- /dev/null
13+++ b/gcc/testsuite/g++.dg/init/new30.C
14@@ -0,0 +1,15 @@
15+// PR c++/40975
16+
17+struct data_type
18+{
19+ // constructor required to reproduce compiler bug
20+ data_type() {}
21+};
22+
23+struct ptr_type
24+{
25+ // array new as default argument required to reproduce compiler bug
26+ ptr_type (data_type* ptr = new data_type[1]) { delete[] ptr; }
27+};
28+
29+ptr_type obj;
30diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
31index fd8edb4..f2255f8 100644
32--- a/gcc/tree-inline.c
33+++ b/gcc/tree-inline.c
34@@ -4334,14 +4334,16 @@ copy_tree_r (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED)
35 CONSTRUCTOR_ELTS (*tp));
36 *tp = new_tree;
37 }
38+ else if (code == STATEMENT_LIST)
39+ /* We used to just abort on STATEMENT_LIST, but we can run into them
40+ with statement-expressions (c++/40975). */
41+ copy_statement_list (tp);
42 else if (TREE_CODE_CLASS (code) == tcc_type)
43 *walk_subtrees = 0;
44 else if (TREE_CODE_CLASS (code) == tcc_declaration)
45 *walk_subtrees = 0;
46 else if (TREE_CODE_CLASS (code) == tcc_constant)
47 *walk_subtrees = 0;
48- else
49- gcc_assert (code != STATEMENT_LIST);
50 return NULL_TREE;
51 }
52
53--
541.7.0.4
55
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0223-Add-missing-break-for-OPT_mfpu_-case.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0223-Add-missing-break-for-OPT_mfpu_-case.patch
new file mode 100644
index 0000000000..4198fdf5be
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0223-Add-missing-break-for-OPT_mfpu_-case.patch
@@ -0,0 +1,21 @@
1From d28f39e8557b84975e6d60f35ac46ee10df5ea5f Mon Sep 17 00:00:00 2001
2From: meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 5 May 2011 21:32:40 +0000
4Subject: [PATCH] Add missing break for OPT_mfpu_ case
5
6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173457 138bc75d-0d04-0410-961f-82ee72b054a4
7
8index 0ff1745..c6c1847 100644
9--- a/gcc/config/rs6000/rs6000.c
10+++ b/gcc/config/rs6000/rs6000.c
11@@ -4630,6 +4630,7 @@ rs6000_handle_option (size_t code, const char *arg, int value)
12 target_flags_explicit |= MASK_SOFT_FLOAT;
13 rs6000_single_float = rs6000_double_float = 0;
14 }
15+ break;
16
17 case OPT_mrecip:
18 rs6000_recip_name = (value) ? "default" : "none";
19--
201.7.0.4
21
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0224-2011-05-06-Jonathan-Wakely-jwakely.gcc-gmail.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0224-2011-05-06-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
new file mode 100644
index 0000000000..0f06faea64
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0224-2011-05-06-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
@@ -0,0 +1,5993 @@
1From f6dc87875dab85f9e701e895015bd91d49425be1 Mon Sep 17 00:00:00 2001
2From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 5 May 2011 23:39:58 +0000
4Subject: [PATCH] 2011-05-06 Jonathan Wakely <jwakely.gcc@gmail.com>
5
6 * doc/xml/manual/status_cxx200x.xml: Update to reflect current status
7 and FDIS content.
8 * doc/xml/manual/documentation_hacking.xml: Fix typo.
9 * doc/html/*: Regenerate.
10
11
12git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173459 138bc75d-0d04-0410-961f-82ee72b054a4
13
14index 6e6276f..4305fd7 100644
15--- a/libstdc++-v3/doc/html/api.html
16+++ b/libstdc++-v3/doc/html/api.html
17@@ -1,13 +1,13 @@
18 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
19 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
20-<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.75.2"/><link rel="home" href="spine.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 ©
21+<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"/><link rel="home" href="spine.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 ©
22 2008
23 ,
24 2010
25
26- <a class="link" href="http://www.fsf.org/" target="">FSF
27+ <a class="link" href="http://www.fsf.org/">FSF
28 </a>
29- </p></div><div><div class="legalnotice" title="Legal Notice"><a id="id520754"/><p>
30+ </p></div><div><div class="legalnotice" title="Legal Notice"><a id="id408490"/><p>
31 <a class="link" href="manual/license.html" title="License">License
32 </a>
33 </p></div></div></div><hr/></div><p>
34@@ -21,25 +21,25 @@
35 </p><p>
36 The API documentation, rendered into HTML, can be viewed online:
37 </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
38- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html" target="">for the 3.4 release
39+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html">for the 3.4 release
40 </a>
41 </p></li><li class="listitem"><p>
42- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.1/index.html" target="">for the 4.1 release
43+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.1/index.html">for the 4.1 release
44 </a>
45 </p></li><li class="listitem"><p>
46- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/index.html" target="">for the 4.2 release
47+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/index.html">for the 4.2 release
48 </a>
49 </p></li><li class="listitem"><p>
50- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/index.html" target="">for the 4.3 release
51+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/index.html">for the 4.3 release
52 </a>
53 </p></li><li class="listitem"><p>
54- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.4/index.html" target="">for the 4.4 release
55+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.4/index.html">for the 4.4 release
56 </a>
57 </p></li><li class="listitem"><p>
58- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.5/index.html" target="">for the 4.5 release
59+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.5/index.html">for the 4.5 release
60 </a>
61 </p></li><li class="listitem"><p>
62- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html" target="">"the latest collection"
63+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html">"the latest collection"
64 </a>
65 (For the main development tree; see the date on the first page.)
66 </p></li></ul></div><p>
67@@ -47,7 +47,7 @@
68 gcc.org site in a directory located at
69 <code class="literal">&lt;URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/&gt;</code>.
70 You will almost certainly need to use one of the
71- <a class="link" href="http://gcc.gnu.org/mirrors.html" target="">mirror sites</a> to download
72+ <a class="link" href="http://gcc.gnu.org/mirrors.html">mirror sites</a> to download
73 the tarball. After unpacking, simply load libstdc++-html-*/index.html
74 into a browser.
75 </p><p>
76diff --git a/libstdc++-v3/doc/html/bk02.html b/libstdc++-v3/doc/html/bk02.html
77index ee5cb8d..9c2d768 100644
78--- a/libstdc++-v3/doc/html/bk02.html
79+++ b/libstdc++-v3/doc/html/bk02.html
80@@ -1,3 +1,3 @@
81 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
82 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
83-<html xmlns="http://www.w3.org/1999/xhtml"><head><title/><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><link rel="home" href="spine.html" title="The GNU C++ Library"/><link rel="up" href="spine.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><b>Table of Contents</b></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="spine.html">Home</a></td><td align="right" valign="top"> The GNU C++ Library API Reference</td></tr></table></div></body></html>
84+<html xmlns="http://www.w3.org/1999/xhtml"><head><title/><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><link rel="home" href="spine.html" title="The GNU C++ Library"/><link rel="up" href="spine.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="spine.html">Home</a></td><td align="right" valign="top"> The GNU C++ Library API Reference</td></tr></table></div></body></html>
85diff --git a/libstdc++-v3/doc/html/bk03.html b/libstdc++-v3/doc/html/bk03.html
86index 0ac4b7e..6d1d2e9 100644
87--- a/libstdc++-v3/doc/html/bk03.html
88+++ b/libstdc++-v3/doc/html/bk03.html
89@@ -1,3 +1,3 @@
90 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
91 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
92-<html xmlns="http://www.w3.org/1999/xhtml"><head><title/><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><link rel="home" href="spine.html" title="The GNU C++ Library"/><link rel="up" href="spine.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><b>Table of Contents</b></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="spine.html">Home</a></td><td align="right" valign="top"> Frequently Asked Questions</td></tr></table></div></body></html>
93+<html xmlns="http://www.w3.org/1999/xhtml"><head><title/><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><link rel="home" href="spine.html" title="The GNU C++ Library"/><link rel="up" href="spine.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="spine.html">Home</a></td><td align="right" valign="top"> Frequently Asked Questions</td></tr></table></div></body></html>
94diff --git a/libstdc++-v3/doc/html/faq.html b/libstdc++-v3/doc/html/faq.html
95index 2eaade9..7b333ed 100644
96--- a/libstdc++-v3/doc/html/faq.html
97+++ b/libstdc++-v3/doc/html/faq.html
98@@ -1,10 +1,10 @@
99 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
100 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
101-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Frequently Asked Questions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><link rel="home" href="spine.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 ©
102+<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"/><link rel="home" href="spine.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 ©
103 2008, 2010
104
105- <a class="link" href="http://www.fsf.org" target="">FSF</a>
106- </p></div></div><hr/></div><div class="qandaset" title="Frequently Asked Questions"><a id="id533065"/><dl><dt/><dd><dl><dt>1.1. <a href="faq.html#faq.what">
107+ <a class="link" href="http://www.fsf.org">FSF</a>
108+ </p></div></div><hr/></div><div class="qandaset" title="Frequently Asked Questions"><a id="id384449"/><dl><dt/><dd><dl><dt>1.1. <a href="faq.html#faq.what">
109 What is libstdc++?
110 </a></dt><dt>1.2. <a href="faq.html#faq.why">
111 Why should I use libstdc++?
112@@ -105,7 +105,7 @@
113 What happened to the older libg++? I need that!
114 </a></dt><dt>1.7. <a href="faq.html#faq.more_questions">
115 What if I have more questions?
116- </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><b>1.1.</b></p></td><td align="left" valign="top"><p>
117+ </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>
118 What is libstdc++?
119 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="faq.what.a"/></td><td align="left" valign="top"><p>
120 The GNU Standard C++ Library v3 is an ongoing project to
121@@ -114,8 +114,8 @@
122 exactly how far the project has come, or just want the latest
123 bleeding-edge code, the up-to-date source is available over
124 anonymous SVN, and can even be browsed over
125- the <a class="link" href="http://gcc.gnu.org/svn.html" target="">web</a>.
126- </p></td></tr><tr class="question" title="1.2."><td align="left" valign="top"><a id="faq.why"/><a id="q-why"/><p><b>1.2.</b></p></td><td align="left" valign="top"><p>
127+ the <a class="link" href="http://gcc.gnu.org/svn.html">web</a>.
128+ </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>
129 Why should I use libstdc++?
130 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-why"/></td><td align="left" valign="top"><p>
131 The completion of the ISO C++ standardization gave the C++
132@@ -129,9 +129,9 @@
133 (<span class="command"><strong>gcc</strong></span>, <span class="command"><strong>g++</strong></span>, etc) is widely
134 considered to be one of the leading compilers in the world. Its
135 development is overseen by the
136- <a class="link" href="http://gcc.gnu.org/" target="">GCC team</a>. All of
137+ <a class="link" href="http://gcc.gnu.org/">GCC team</a>. All of
138 the rapid development and near-legendary
139- <a class="link" href="http://gcc.gnu.org/buildstat.html" target="">portability</a>
140+ <a class="link" href="http://gcc.gnu.org/buildstat.html">portability</a>
141 that are the hallmarks of an open-source project are being
142 applied to libstdc++.
143 </p><p>
144@@ -141,7 +141,7 @@
145 <code class="classname">vector&lt;&gt;</code>, iostreams, and algorithms.)
146 Programmers will no longer need to <span class="quote">“<span class="quote">roll their own</span>”</span>
147 nor be worried about platform-specific incompatibilities.
148- </p></td></tr><tr class="question" title="1.3."><td align="left" valign="top"><a id="faq.who"/><a id="q-who"/><p><b>1.3.</b></p></td><td align="left" valign="top"><p>
149+ </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>
150 Who's in charge of it?
151 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-who"/></td><td align="left" valign="top"><p>
152 The libstdc++ project is contributed to by several developers
153@@ -153,15 +153,15 @@
154 Development and discussion is held on the libstdc++ mailing
155 list. Subscribing to the list, or searching the list
156 archives, is open to everyone. You can read instructions for
157- doing so on the <a class="link" href="http://gcc.gnu.org/libstdc++/" target="">homepage</a>.
158+ doing so on the <a class="link" href="http://gcc.gnu.org/libstdc++/">homepage</a>.
159 If you have questions, ideas, code, or are just curious, sign up!
160- </p></td></tr><tr class="question" title="1.4."><td align="left" valign="top"><a id="faq.when"/><a id="q-when"/><p><b>1.4.</b></p></td><td align="left" valign="top"><p>
161+ </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>
162 When is libstdc++ going to be finished?
163 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-when"/></td><td align="left" valign="top"><p>
164 Nathan Myers gave the best of all possible answers, responding to
165 a Usenet article asking this question: <span class="emphasis"><em>Sooner, if you
166 help.</em></span>
167- </p></td></tr><tr class="question" title="1.5."><td align="left" valign="top"><a id="faq.how"/><a id="q-how"/><p><b>1.5.</b></p></td><td align="left" valign="top"><p>
168+ </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>
169 How do I contribute to the effort?
170 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how"/></td><td align="left" valign="top"><p>
171 Here is <a class="link" href="manual/appendix_contributing.html" title="Appendix A.  Contributing">a page devoted to
172@@ -172,7 +172,7 @@
173 anybody who is willing to help write documentation, for example,
174 or has found a bug in code that we all thought was working and is
175 willing to provide details, is more than welcome!
176- </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><b>1.6.</b></p></td><td align="left" valign="top"><p>
177+ </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>
178 What happened to the older libg++? I need that!
179 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-whereis_old"/></td><td align="left" valign="top"><p>
180 The most recent libg++ README states that libg++ is no longer
181@@ -180,7 +180,7 @@
182 projects, and is only being kicked along to support older code.
183 </p><p>
184 More information in the <a class="link" href="manual/backwards.html" title="Backwards Compatibility">backwards compatibility documentation</a>
185- </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><b>1.7.</b></p></td><td align="left" valign="top"><p>
186+ </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>
187 What if I have more questions?
188 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-more_questions"/></td><td align="left" valign="top"><p>
189 If you have read the README file, and your question remains
190@@ -201,17 +201,17 @@
191 How is that different from the GNU {Lesser,Library} GPL?
192 </a></dt><dt>2.4. <a href="faq.html#faq.license.what_restrictions">
193 I see. So, what restrictions are there on programs that use the library?
194- </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><b>2.1.</b></p></td><td align="left" valign="top"><p>
195+ </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>
196 What are the license terms for libstdc++?
197 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.what"/></td><td align="left" valign="top"><p>
198 See <a class="link" href="manual/license.html" title="License">our license description</a>
199 for these and related questions.
200- </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><b>2.2.</b></p></td><td align="left" valign="top"><p>
201+ </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>
202 So any program which uses libstdc++ falls under the GPL?
203 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.any_program"/></td><td align="left" valign="top"><p>
204 No. The special exception permits use of the library in
205 proprietary applications.
206- </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><b>2.3.</b></p></td><td align="left" valign="top"><p>
207+ </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>
208 How is that different from the GNU {Lesser,Library} GPL?
209 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.lgpl"/></td><td align="left" valign="top"><p>
210 The LGPL requires that users be able to replace the LGPL code with a
211@@ -221,7 +221,7 @@
212 are expanded inside the code that uses the library. So to allow people
213 to replace the library code, someone using the library would have to
214 distribute their own source, rendering the LGPL equivalent to the GPL.
215- </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><b>2.4.</b></p></td><td align="left" valign="top"><p>
216+ </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>
217 I see. So, what restrictions are there on programs that use the library?
218 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.what_restrictions"/></td><td align="left" valign="top"><p>
219 None. We encourage such programs to be released as open source,
220@@ -234,7 +234,7 @@
221 What's libsupc++?
222 </a></dt><dt>3.6. <a href="faq.html#faq.size">
223 This library is HUGE!
224- </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><b>3.1.</b></p></td><td align="left" valign="top"><p>How do I install libstdc++?
225+ </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++?
226 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_install"/></td><td align="left" valign="top"><p>
227 Often libstdc++ comes pre-installed as an integral part of many
228 existing Linux and Unix systems, as well as many embedded
229@@ -247,11 +247,11 @@
230 documentation</a> for detailed
231 instructions. You may wish to browse those files ahead
232 of time to get a feel for what's required.
233- </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><b>3.2.</b></p></td><td align="left" valign="top"><p>How does one get current libstdc++ sources?
234+ </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?
235 </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>
236 Libstdc++ sources for all official releases can be obtained as
237 part of the GCC sources, available from various sites and
238- mirrors. A full <a class="link" href="http://gcc.gnu.org/mirrors.html" target="">list of
239+ mirrors. A full <a class="link" href="http://gcc.gnu.org/mirrors.html">list of
240 download sites</a> is provided on the main GCC site.
241 </p><p>
242 Current libstdc++ sources can always be checked out of the main
243@@ -262,7 +262,7 @@
244 <span class="application">Subversion</span>, or <acronym class="acronym">SVN</acronym>, is
245 one of several revision control packages. It was selected for GNU
246 projects because it's free (speech), free (beer), and very high
247- quality. The <a class="link" href="http://subversion.tigris.org" target=""> Subversion
248+ quality. The <a class="link" href="http://subversion.tigris.org"> Subversion
249 home page</a> has a better description.
250 </p><p>
251 The <span class="quote">“<span class="quote">anonymous client checkout</span>”</span> feature of SVN is
252@@ -270,20 +270,20 @@
253 the latest libstdc++ sources.
254 </p><p>
255 For more information
256- see <a class="link" href="http://gcc.gnu.org/svn.html" target=""><acronym class="acronym">SVN</acronym>
257+ see <a class="link" href="http://gcc.gnu.org/svn.html"><acronym class="acronym">SVN</acronym>
258 details</a>.
259- </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><b>3.3.</b></p></td><td align="left" valign="top"><p>How do I know if it works?
260+ </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?
261 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_test"/></td><td align="left" valign="top"><p>
262 Libstdc++ comes with its own validation testsuite, which includes
263 conformance testing, regression testing, ABI testing, and
264 performance testing. Please consult the
265- <a class="link" href="http://gcc.gnu.org/install/test.html" target="">testing
266+ <a class="link" href="http://gcc.gnu.org/install/test.html">testing
267 documentation</a> for more details.
268 </p><p>
269 If you find bugs in the testsuite programs themselves, or if you
270 think of a new test program that should be added to the suite,
271 <span class="emphasis"><em>please</em></span> write up your idea and send it to the list!
272- </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><b>3.4.</b></p></td><td align="left" valign="top"><p>How do I insure that the dynamically linked library will be found?
273+ </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?
274 </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>
275 Depending on your platform and library version, the error message might
276 be similar to one of the following:
277@@ -318,7 +318,7 @@
278 </p><p>
279 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
280 Libraries</a> in the manual gives some alternatives.
281- </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><b>3.5.</b></p></td><td align="left" valign="top"><p>
282+ </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>
283 What's libsupc++?
284 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_libsupcxx"/></td><td align="left" valign="top"><p>
285 If the only functions from <code class="filename">libstdc++.a</code>
286@@ -335,7 +335,7 @@
287 using anything from the rest of the library, such as IOStreams
288 or vectors, then you'll still need pieces from
289 <code class="filename">libstdc++.a</code>.
290- </p></td></tr><tr class="question" title="3.6."><td align="left" valign="top"><a id="faq.size"/><a id="q-size"/><p><b>3.6.</b></p></td><td align="left" valign="top"><p>
291+ </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>
292 This library is HUGE!
293 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-size"/></td><td align="left" valign="top"><p>
294 Usually the size of libraries on disk isn't noticeable. When a
295@@ -382,7 +382,7 @@
296 Recent GNU/Linux glibc required?
297 </a></dt><dt>4.8. <a href="faq.html#faq.freebsd_wchar">
298 Can't use wchar_t/wstring on FreeBSD
299- </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><b>4.1.</b></p></td><td align="left" valign="top"><p>
300+ </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>
301 Can libstdc++ be used with non-GNU compilers?
302 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-other_compilers"/></td><td align="left" valign="top"><p>
303 Perhaps.
304@@ -402,7 +402,7 @@
305 been known to work with versions of the EDG C++ compiler, and
306 vendor-specific proprietary C++ compilers such as the Intel ICC
307 C++ compiler.
308- </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><b>4.2.</b></p></td><td align="left" valign="top"><p>
309+ </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>
310 No 'long long' type on Solaris?
311 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-solaris_long_long"/></td><td align="left" valign="top"><p>
312 By default we try to support the C99 <span class="type">long long</span> type.
313@@ -414,7 +414,7 @@
314 commonly reported platform affected was Solaris.
315 </p><p>
316 This has been fixed for libstdc++ releases greater than 3.0.3.
317- </p></td></tr><tr class="question" title="4.3."><td align="left" valign="top"><a id="faq.predefined"/><a id="q-predefined"/><p><b>4.3.</b></p></td><td align="left" valign="top"><p>
318+ </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>
319 <code class="constant">_XOPEN_SOURCE</code> and <code class="constant">_GNU_SOURCE</code> are always defined?
320 </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
321 macro <code class="constant">_XOPEN_SOURCE</code>. On GNU/Linux, the same happens
322@@ -440,16 +440,16 @@
323 <span class="command"><strong>g++ -E -dM - &lt; /dev/null"</strong></span> to display
324 a list of predefined macros for any particular installation.
325 </p><p>This has been discussed on the mailing lists
326- <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="">quite a bit</a>.
327+ <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>.
328 </p><p>This method is something of a wart. We'd like to find a cleaner
329 solution, but nobody yet has contributed the time.
330- </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><b>4.4.</b></p></td><td align="left" valign="top"><p>
331+ </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>
332 Mac OS X <code class="filename">ctype.h</code> is broken! How can I fix it?
333 </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,
334 the patch is quite simple, and well-known.
335- <a class="link" href="http://gcc.gnu.org/ml/gcc/2002-03/msg00817.html" target=""> Here's a
336+ <a class="link" href="http://gcc.gnu.org/ml/gcc/2002-03/msg00817.html"> Here's a
337 link to the solution</a>.
338- </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><b>4.5.</b></p></td><td align="left" valign="top"><p>
339+ </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>
340 Threading is broken on i386?
341 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-threads_i386"/></td><td align="left" valign="top"><p>
342 </p><p>Support for atomic integer operations is/was broken on i386
343@@ -459,7 +459,7 @@
344 on an i686, then you would encounter no problems. Only when
345 actually running the code on a i386 will the problem appear.
346 </p><p>This is fixed in 3.2.2.
347- </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><b>4.6.</b></p></td><td align="left" valign="top"><p>
348+ </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>
349 MIPS atomic operations
350 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-atomic_mips"/></td><td align="left" valign="top"><p>
351 The atomic locking routines for MIPS targets requires MIPS II
352@@ -469,7 +469,7 @@
353 </p><p>
354 The mips*-*-linux* port continues to use the MIPS II routines, and more
355 work in this area is expected.
356- </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><b>4.7.</b></p></td><td align="left" valign="top"><p>
357+ </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>
358 Recent GNU/Linux glibc required?
359 </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
360 5.0.1) and later uses localization and formatting code from the system
361@@ -480,7 +480,7 @@
362 </p><p>The guideline is simple: the more recent the C++ library, the
363 more recent the C library. (This is also documented in the main
364 GCC installation instructions.)
365- </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><b>4.8.</b></p></td><td align="left" valign="top"><p>
366+ </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>
367 Can't use wchar_t/wstring on FreeBSD
368 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-freebsd_wchar"/></td><td align="left" valign="top"><p>
369 Older versions of FreeBSD's C library do not have sufficient
370@@ -499,7 +499,7 @@
371 Bugs in the ISO C++ language or library specification
372 </a></dt><dt>5.3. <a href="faq.html#faq.compiler_bugs">
373 Bugs in the compiler (gcc/g++) and not libstdc++
374- </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><b>5.1.</b></p></td><td align="left" valign="top"><p>
375+ </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>
376 What works already?
377 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_works"/></td><td align="left" valign="top"><p>
378 Short answer: Pretty much everything <span class="emphasis"><em>works</em></span>
379@@ -513,7 +513,7 @@
380 <a class="link" href="manual/status.html#status.iso.1998" title="C++ 1998/2003">C++98</a>,
381 <a class="link" href="manual/status.html#status.iso.tr1" title="C++ TR1">TR1</a>, and
382 <a class="link" href="manual/status.html#status.iso.200x" title="C++ 200x">C++0x</a>.
383- </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><b>5.2.</b></p></td><td align="left" valign="top"><p>
384+ </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>
385 Bugs in the ISO C++ language or library specification
386 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-standard_bugs"/></td><td align="left" valign="top"><p>
387 Unfortunately, there are some.
388@@ -521,14 +521,14 @@
389 For those people who are not part of the ISO Library Group
390 (i.e., nearly all of us needing to read this page in the first
391 place), a public list of the library defects is occasionally
392- published <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/" target="">here</a>.
393+ published <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/">here</a>.
394 Some of these issues have resulted in code changes in libstdc++.
395 </p><p>
396 If you think you've discovered a new bug that is not listed,
397 please post a message describing your problem
398 to <code class="email">&lt;<a class="email" href="mailto:libstdc++@gcc.gnu.org">libstdc++@gcc.gnu.org</a>&gt;</code> or the Usenet group
399 comp.lang.c++.moderated.
400- </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><b>5.3.</b></p></td><td align="left" valign="top"><p>
401+ </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>
402 Bugs in the compiler (gcc/g++) and not libstdc++
403 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-compiler_bugs"/></td><td align="left" valign="top"><p>
404 On occasion, the compiler is wrong. Please be advised that this
405@@ -541,7 +541,7 @@
406 these lists with terms describing your issue.
407 </p><p>
408 Before reporting a bug, please examine the
409- <a class="link" href="http://gcc.gnu.org/bugs/" target="">bugs database</a> with the
410+ <a class="link" href="http://gcc.gnu.org/bugs/">bugs database</a> with the
411 category set to <span class="quote">“<span class="quote">g++</span>”</span>.
412 </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">
413 Reopening a stream fails
414@@ -563,7 +563,7 @@
415 list::size() is O(n)!
416 </a></dt><dt>6.9. <a href="faq.html#faq.easy_to_fix">
417 Aw, that's easy to fix!
418- </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><b>6.1.</b></p></td><td align="left" valign="top"><p>
419+ </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>
420 Reopening a stream fails
421 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-stream_reopening_fails"/></td><td align="left" valign="top"><p>
422 One of the most-reported non-bug reports. Executing a sequence like:
423@@ -590,7 +590,7 @@
424 <span class="emphasis"><em>Update:</em></span> for GCC 4.0 we implemented the resolution
425 of <a class="link" href="manual/bugs.html" title="Bugs">DR #409</a> and open()
426 now calls <code class="function">clear()</code> on success!
427- </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><b>6.2.</b></p></td><td align="left" valign="top"><p>
428+ </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>
429 -Weffc++ complains too much
430 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-wefcxx_verbose"/></td><td align="left" valign="top"><p>
431 Many warnings are emitted when <code class="literal">-Weffc++</code> is used. Making
432@@ -602,7 +602,7 @@
433 We do, however, try to have libstdc++ sources as clean as possible. If
434 you see some simple changes that pacify <code class="literal">-Weffc++</code>
435 without other drawbacks, send us a patch.
436- </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><b>6.3.</b></p></td><td align="left" valign="top"><p>
437+ </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>
438 Ambiguous overloads after including an old-style header
439 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-ambiguous_overloads"/></td><td align="left" valign="top"><p>
440 Another problem is the <code class="literal">rel_ops</code> namespace and the template
441@@ -611,10 +611,10 @@
442 (e.g., <span class="quote">“<span class="quote">using</span>”</span> them and the &lt;iterator&gt; header),
443 then you will suddenly be faced with huge numbers of ambiguity
444 errors. This was discussed on the -v3 list; Nathan Myers
445- <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html" target="">sums
446+ <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html">sums
447 things up here</a>. The collisions with vector/string iterator
448 types have been fixed for 3.1.
449- </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><b>6.4.</b></p></td><td align="left" valign="top"><p>
450+ </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>
451 The g++-3 headers are <span class="emphasis"><em>not ours</em></span>
452 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-v2_headers"/></td><td align="left" valign="top"><p>
453 If you are using headers in
454@@ -630,7 +630,7 @@
455 'v'?). Starting with version 3.2 the headers are installed in
456 <code class="filename">${prefix}/include/c++/${version}</code> as this prevents
457 headers from previous versions being found by mistake.
458- </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><b>6.5.</b></p></td><td align="left" valign="top"><p>
459+ </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>
460 Errors about <span class="emphasis"><em>*Concept</em></span> and
461 <span class="emphasis"><em>constraints</em></span> in the STL
462 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-boost_concept_checks"/></td><td align="left" valign="top"><p>
463@@ -647,7 +647,7 @@
464 checks, is available in the
465 <a class="link" href="manual/bk01pt02ch05s02.html" title="Concept Checking">Diagnostics</a>.
466 chapter of the manual.
467- </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><b>6.6.</b></p></td><td align="left" valign="top"><p>
468+ </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>
469 Program crashes when using library code in a
470 dynamically-loaded library
471 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-dlopen_crash"/></td><td align="left" valign="top"><p>
472@@ -666,12 +666,12 @@
473 <br/>
474     // link the executable<br/>
475     g++ -fPIC -rdynamic -o foo ... -L. -lfoo -ldl<br/>
476-    </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><b>6.7.</b></p></td><td align="left" valign="top"><p>
477+    </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>
478 <span class="quote">“<span class="quote">Memory leaks</span>”</span> in containers
479 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-memory_leaks"/></td><td align="left" valign="top"><p>
480 A few people have reported that the standard containers appear
481 to leak memory when tested with memory checkers such as
482- <a class="link" href="http://valgrind.org/" target="">valgrind</a>.
483+ <a class="link" href="http://valgrind.org/">valgrind</a>.
484 The library's default allocators keep free memory in a pool
485 for later reuse, rather than returning it to the OS. Although
486 this memory is always reachable by the library and is never
487@@ -679,18 +679,18 @@
488 want to test the library for memory leaks please read
489 <a class="link" href="manual/debug.html#debug.memory" title="Memory Leak Hunting">Tips for memory leak hunting</a>
490 first.
491- </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><b>6.8.</b></p></td><td align="left" valign="top"><p>
492+ </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>
493 list::size() is O(n)!
494 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-list_size_on"/></td><td align="left" valign="top"><p>
495 See
496 the <a class="link" href="manual/containers.html" title="Chapter 9.  Containers">Containers</a>
497 chapter.
498- </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><b>6.9.</b></p></td><td align="left" valign="top"><p>
499+ </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>
500 Aw, that's easy to fix!
501 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-easy_to_fix"/></td><td align="left" valign="top"><p>
502 If you have found a bug in the library and you think you have
503 a working fix, then send it in! The main GCC site has a page
504- on <a class="link" href="http://gcc.gnu.org/contribute.html" target="">submitting
505+ on <a class="link" href="http://gcc.gnu.org/contribute.html">submitting
506 patches</a> that covers the procedure, but for libstdc++ you
507 should also send the patch to our mailing list in addition to
508 the GCC patches mailing list. The libstdc++
509@@ -718,7 +718,7 @@
510 What's an ABI and why is it so messy?
511 </a></dt><dt>7.8. <a href="faq.html#faq.size_equals_capacity">
512 How do I make std::vector&lt;T&gt;::capacity() == std::vector&lt;T&gt;::size?
513- </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><b>7.1.</b></p></td><td align="left" valign="top"><p>
514+ </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>
515 string::iterator is not char*; vector&lt;T&gt;::iterator is not T*
516 </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>
517 If you have code that depends on container&lt;T&gt; iterators
518@@ -737,7 +737,7 @@
519 certain expressions to <code class="varname">&amp;*i</code>. Future revisions
520 of the Standard are expected to bless this usage for
521 vector&lt;&gt; (but not for basic_string&lt;&gt;).
522- </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><b>7.2.</b></p></td><td align="left" valign="top"><p>
523+ </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>
524 What's next after libstdc++?
525 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_next"/></td><td align="left" valign="top"><p>
526 Hopefully, not much. The goal of libstdc++ is to produce a
527@@ -748,12 +748,12 @@
528 There is an effort underway to add significant extensions to
529 the standard library specification. The latest version of
530 this effort is described in
531- <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="">
532+ <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf">
533 The C++ Library Technical Report 1</a>.
534- </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><b>7.3.</b></p></td><td align="left" valign="top"><p>
535+ </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>
536 What about the STL from SGI?
537 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-sgi_stl"/></td><td align="left" valign="top"><p>
538- The <a class="link" href="http://www.sgi.com/tech/stl/" target="">STL from SGI</a>,
539+ The <a class="link" href="http://www.sgi.com/tech/stl/">STL from SGI</a>,
540 version 3.3, was the final merge of the STL codebase. The
541 code in libstdc++ contains many fixes and changes, and
542 the SGI code is no longer under active
543@@ -773,23 +773,23 @@
544 </p><p>
545 The FAQ for SGI's STL (one jump off of their main page) is
546 still recommended reading.
547- </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><b>7.4.</b></p></td><td align="left" valign="top"><p>
548+ </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>
549 Extensions and Backward Compatibility
550 </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>
551 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.
552- </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><b>7.5.</b></p></td><td align="left" valign="top"><p>
553+ </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>
554 Does libstdc++ support TR1?
555 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-tr1_support"/></td><td align="left" valign="top"><p>
556 Yes.
557 </p><p>
558 The C++ Standard Library Technical Report adds many new features to
559 the library. The latest version of this effort is described in
560- <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="">
561+ <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf">
562 Technical Report 1</a>.
563 </p><p>
564 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
565 page</a>.
566- </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><b>7.6.</b></p></td><td align="left" valign="top"><p>How do I get a copy of the ISO C++ Standard?
567+ </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?
568 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-get_iso_cxx"/></td><td align="left" valign="top"><p>
569 Copies of the full ISO 14882 standard are available on line via
570 the ISO mirror site for committee members. Non-members, or those
571@@ -798,17 +798,17 @@
572 get a copy of the standard from their respective national
573 standards organization. In the USA, this national standards
574 organization is ANSI and their website is
575- right <a class="link" href="http://www.ansi.org" target="">here</a>. (And if
576+ right <a class="link" href="http://www.ansi.org">here</a>. (And if
577 you've already registered with them, clicking this link will take
578 you to directly to the place where you can
579- <a class="link" href="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003" target="">buy the standard on-line</a>.
580+ <a class="link" href="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003">buy the standard on-line</a>.
581 </p><p>
582 Who is your country's member body? Visit the
583- <a class="link" href="http://www.iso.ch/" target="">ISO homepage</a> and find out!
584+ <a class="link" href="http://www.iso.ch/">ISO homepage</a> and find out!
585 </p><p>
586 The 2003 version of the standard (the 1998 version plus TC1) is
587 available in print, ISBN 0-470-84674-7.
588- </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><b>7.7.</b></p></td><td align="left" valign="top"><p>
589+ </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>
590 What's an ABI and why is it so messy?
591 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_abi"/></td><td align="left" valign="top"><p>
592 <acronym class="acronym">ABI</acronym> stands for <span class="quote">“<span class="quote">Application Binary
593@@ -856,7 +856,7 @@
594 so they may later be changed. Deciding which, and implementing
595 the decisions, must happen before you can reasonably document a
596 candidate C++ ABI that encompasses the standard library.
597- </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><b>7.8.</b></p></td><td align="left" valign="top"><p>
598+ </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>
599 How do I make std::vector&lt;T&gt;::capacity() == std::vector&lt;T&gt;::size?
600 </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-size_equals_capacity"/></td><td align="left" valign="top"><p>
601 The standard idiom for deallocating a <code class="classname">vector&lt;T&gt;</code>'s
602diff --git a/libstdc++-v3/doc/html/manual/abi.html b/libstdc++-v3/doc/html/manual/abi.html
603index 29af39e..dc4bf5a 100644
604--- a/libstdc++-v3/doc/html/manual/abi.html
605+++ b/libstdc++-v3/doc/html/manual/abi.html
606@@ -1,6 +1,6 @@
607 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
608 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
609-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ABI Policy and Guidelines</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><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; "/><link rel="home" href="../spine.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. 
610+<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; "/><link rel="home" href="../spine.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. 
611 Porting and Maintenance
612
613 </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>
614@@ -21,7 +21,7 @@
615 virtual functions, etc. These details are defined as the compiler
616 Application Binary Interface, or ABI. The GNU C++ compiler uses an
617 industry-standard C++ ABI starting with version 3. Details can be
618- found in the <a class="link" href="http://www.codesourcery.com/public/cxx-abi/abi.html" target="">ABI
619+ found in the <a class="link" href="http://www.codesourcery.com/public/cxx-abi/abi.html">ABI
620 specification</a>.
621 </p><p>
622 The GNU C++ compiler, g++, has a compiler command line option to
623@@ -30,7 +30,7 @@
624 g++ command line options may change the ABI as a side-effect of
625 use. Such flags include <code class="code">-fpack-struct</code> and
626 <code class="code">-fno-exceptions</code>, but include others: see the complete
627- 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="">Options
628+ 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
629 for Code Generation Conventions</a>.
630 </p><p>
631 The configure options used when building a specific libstdc++
632@@ -115,7 +115,7 @@ compatible.
633 Note 2: Not strictly required.
634 </p><p>
635 Note 3: This release (but not previous or subsequent) has one
636- known incompatibility, see <a class="link" href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33678" target="">33678</a>
637+ known incompatibility, see <a class="link" href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33678">33678</a>
638 in the GCC bug database.
639 </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
640 definitions, where the version definition is the maximum for a
641@@ -289,7 +289,7 @@ class that would otherwise have implicit versions. This will change
642 the way the compiler deals with this class in by-value return
643 statements or parameters: instead of passing instances of this
644 class in registers, the compiler will be forced to use memory. See the
645-section on <a class="link" href="http://www.codesourcery.com/public/cxx-abi/abi.html#calls" target="">Function
646+section on <a class="link" href="http://www.codesourcery.com/public/cxx-abi/abi.html#calls">Function
647 Calling Conventions and APIs</a>
648 of the C++ ABI documentation for further details.
649 </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>
650@@ -479,41 +479,41 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
651 </p><p>
652 For more background on this issue, see these bugzilla entries:
653 </p><p>
654-<a class="link" href="http://gcc.gnu.org/PR24660" target="">24660: versioning weak symbols in libstdc++</a>
655+<a class="link" href="http://gcc.gnu.org/PR24660">24660: versioning weak symbols in libstdc++</a>
656 </p><p>
657-<a class="link" href="http://gcc.gnu.org/PR19664" target="">19664: libstdc++ headers should have pop/push of the visibility around the declarations</a>
658-</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"><a id="id621956"/><p><span class="biblioid">
659+<a class="link" href="http://gcc.gnu.org/PR19664">19664: libstdc++ headers should have pop/push of the visibility around the declarations</a>
660+</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"><a id="id501388"/><p><span class="biblioid">
661 . </span><span class="citetitle"><em class="citetitle">
662 ABIcheck, a vague idea of checking ABI compatibility
663- </em>. </span></p></div><div class="biblioentry"><a id="id621973"/><p><span class="biblioid">
664+ </em>. </span></p></div><div class="biblioentry"><a id="id501406"/><p><span class="biblioid">
665 . </span><span class="citetitle"><em class="citetitle">
666 C++ ABI Reference
667- </em>. </span></p></div><div class="biblioentry"><a id="id621990"/><p><span class="biblioid">
668+ </em>. </span></p></div><div class="biblioentry"><a id="id501423"/><p><span class="biblioid">
669 . </span><span class="citetitle"><em class="citetitle">
670 Intel Compilers for Linux Compatibility with the GNU Compilers
671- </em>. </span></p></div><div class="biblioentry"><a id="id622008"/><p><span class="biblioid">
672+ </em>. </span></p></div><div class="biblioentry"><a id="id501441"/><p><span class="biblioid">
673 . </span><span class="citetitle"><em class="citetitle">
674 Linker and Libraries Guide (document 819-0690)
675- </em>. </span></p></div><div class="biblioentry"><a id="id622026"/><p><span class="biblioid">
676+ </em>. </span></p></div><div class="biblioentry"><a id="id501458"/><p><span class="biblioid">
677 . </span><span class="citetitle"><em class="citetitle">
678 Sun Studio 11: C++ Migration Guide (document 819-3689)
679- </em>. </span></p></div><div class="biblioentry"><a id="id622043"/><p><span class="biblioid">
680+ </em>. </span></p></div><div class="biblioentry"><a id="id501476"/><p><span class="biblioid">
681 . </span><span class="citetitle"><em class="citetitle">
682 How to Write Shared Libraries
683- </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span></p></div><div class="biblioentry"><a id="id622074"/><p><span class="biblioid">
684+ </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span></p></div><div class="biblioentry"><a id="id501507"/><p><span class="biblioid">
685 . </span><span class="citetitle"><em class="citetitle">
686 C++ ABI for the ARM Architecture
687- </em>. </span></p></div><div class="biblioentry"><a id="id622092"/><p><span class="biblioid">
688+ </em>. </span></p></div><div class="biblioentry"><a id="id501524"/><p><span class="biblioid">
689 . </span><span class="citetitle"><em class="citetitle">
690 Dynamic Shared Objects: Survey and Issues
691 </em>. </span><span class="subtitle">
692 ISO C++ J16/06-0046
693- . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="id622121"/><p><span class="biblioid">
694+ . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="id501554"/><p><span class="biblioid">
695 . </span><span class="citetitle"><em class="citetitle">
696 Versioning With Namespaces
697 </em>. </span><span class="subtitle">
698 ISO C++ J16/06-0083
699- . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="id622151"/><p><span class="biblioid">
700+ . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="id501584"/><p><span class="biblioid">
701 . </span><span class="citetitle"><em class="citetitle">
702 Binary Compatibility of Shared Libraries Implemented in C++
703 on GNU/Linux Systems
704diff --git a/libstdc++-v3/doc/html/manual/algorithms.html b/libstdc++-v3/doc/html/manual/algorithms.html
705index a484274..ba91e4e 100644
706--- a/libstdc++-v3/doc/html/manual/algorithms.html
707+++ b/libstdc++-v3/doc/html/manual/algorithms.html
708@@ -1,14 +1,14 @@
709 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
710 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
711-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 11.  Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; , &#10; algorithm&#10; "/><link rel="home" href="../spine.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. 
712+<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; "/><link rel="home" href="../spine.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. 
713 Algorithms
714
715 </th></tr><tr><td align="left"><a accesskey="p" href="iterators.html">Prev</a> </td><th width="60%" align="center">Part II. 
716 Standard Contents
717- </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><h1 class="title"><a id="std.algorithms"/>
718+ </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. 
719 Algorithms
720- <a id="id600499" class="indexterm"/>
721-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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></dl></dd></dl></div><p>
722+ <a id="id479931" class="indexterm"/>
723+</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></dl></dd></dl></div><p>
724 The neatest accomplishment of the algorithms sect1 is that all the
725 work is done via iterators, not containers directly. This means two
726 important things:
727diff --git a/libstdc++-v3/doc/html/manual/api.html b/libstdc++-v3/doc/html/manual/api.html
728index bebd3a9..2cb3500 100644
729--- a/libstdc++-v3/doc/html/manual/api.html
730+++ b/libstdc++-v3/doc/html/manual/api.html
731@@ -1,6 +1,6 @@
732 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
733 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
734-<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.75.2"/><meta name="keywords" content="ISO C++, api, evolution, deprecation, history"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
735+<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; "/><link rel="home" href="../spine.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. 
736 Porting and Maintenance
737
738 </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>
739@@ -75,11 +75,11 @@ _Alloc_traits</code> have been removed.
740 <span class="type">__alloc</span> to select an underlying allocator that
741 satisfied memory allocation requests. The selection of this
742 underlying allocator was not user-configurable.
743- </p><div class="table"><a id="id622712"/><p class="title"><b>Table B.6. Extension Allocators</b></p><div class="table-contents"><table summary="Extension Allocators" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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
744+ </p><div class="table"><a id="id502145"/><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
745 of available allocators. All of these new allocators are
746 standard-style. The following table includes details, along with
747 the first released version of GCC that included the extension allocator.
748- </p><div class="table"><a id="id622942"/><p class="title"><b>Table B.7. Extension Allocators Continued</b></p><div class="table-contents"><table summary="Extension Allocators Continued" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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>
749+ </p><div class="table"><a id="id502375"/><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>
750 Debug mode first appears.
751 </p><p>
752 Precompiled header support <acronym class="acronym">PCH</acronym> support.
753diff --git a/libstdc++-v3/doc/html/manual/appendix_contributing.html b/libstdc++-v3/doc/html/manual/appendix_contributing.html
754index 32bd793..bbaadbd 100644
755--- a/libstdc++-v3/doc/html/manual/appendix_contributing.html
756+++ b/libstdc++-v3/doc/html/manual/appendix_contributing.html
757@@ -1,14 +1,14 @@
758 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
759 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
760-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Appendix A.  Contributing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
761+<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; "/><link rel="home" href="../spine.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. 
762 Contributing
763
764 </th></tr><tr><td align="left"><a accesskey="p" href="bk01pt04.html">Prev</a> </td><th width="60%" align="center">Part IV. 
765 Appendices
766 </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"/>
767 Contributing
768- <a id="id613503" class="indexterm"/>
769-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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>
770+ <a id="id492936" class="indexterm"/>
771+</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>
772 The GNU C++ Library follows an open development model. Active
773 contributors are assigned maintainer-ship responsibility, and given
774 write access to the source repository. First time contributors
775@@ -23,22 +23,22 @@
776 the standard from their respective national standards
777 organization. In the USA, this national standards
778 organization is ANSI and their web-site is right
779- <a class="link" href="http://www.ansi.org" target="">here.</a>
780+ <a class="link" href="http://www.ansi.org">here.</a>
781 (And if you've already registered with them, clicking this link will take you to directly to the place where you can
782- <a class="link" href="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003" target="">buy the standard on-line</a>.)
783+ <a class="link" href="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003">buy the standard on-line</a>.)
784 </p></li><li class="listitem"><p>
785 The library working group bugs, and known defects, can
786 be obtained here:
787- <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/" target="">http://www.open-std.org/jtc1/sc22/wg21 </a>
788+ <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/">http://www.open-std.org/jtc1/sc22/wg21 </a>
789 </p></li><li class="listitem"><p>
790 The newsgroup dedicated to standardization issues is
791 comp.std.c++: this FAQ for this group is quite useful and
792 can be
793- found <a class="link" href="http://www.comeaucomputing.com/csc/faq.html" target="">
794+ found <a class="link" href="http://www.comeaucomputing.com/csc/faq.html">
795 here </a>.
796 </p></li><li class="listitem"><p>
797 Peruse
798- the <a class="link" href="http://www.gnu.org/prep/standards" target="">GNU
799+ the <a class="link" href="http://www.gnu.org/prep/standards">GNU
800 Coding Standards</a>, and chuckle when you hit the part
801 about <span class="quote">“<span class="quote">Using Languages Other Than C</span>”</span>.
802 </p></li><li class="listitem"><p>
803@@ -67,7 +67,7 @@
804 this question would be appreciated.
805 </p><p>
806 For more information about getting a copyright assignment, please see
807- <a class="link" href="http://www.gnu.org/prep/maintain/html_node/Legal-Matters.html" target="">Legal
808+ <a class="link" href="http://www.gnu.org/prep/maintain/html_node/Legal-Matters.html">Legal
809 Matters</a>.
810 </p><p>
811 Please contact Benjamin Kosnik at
812@@ -77,7 +77,7 @@
813 <code class="email">&lt;<a class="email" href="mailto:mailto:assign@gnu.org">mailto:assign@gnu.org</a>&gt;</code>, please cc the libstdc++
814 maintainer above so that progress can be monitored.
815 </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>
816- <a class="link" href="http://gcc.gnu.org/svnwrite.html" target="">Getting write access
817+ <a class="link" href="http://gcc.gnu.org/svnwrite.html">Getting write access
818 (look for "Write after approval")</a>
819 </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>
820 Every patch must have several pieces of information before it can be
821@@ -104,7 +104,7 @@
822 else, use <span class="command"><strong>diff -cp OLD NEW</strong></span> ... If your
823 version of diff does not support these options, then get the
824 latest version of GNU
825- diff. The <a class="link" href="http://gcc.gnu.org/wiki/SvnTricks" target="">SVN
826+ diff. The <a class="link" href="http://gcc.gnu.org/wiki/SvnTricks">SVN
827 Tricks</a> wiki page has information on customising the
828 output of <code class="code">svn diff</code>.
829 </p></li><li class="listitem"><p>
830diff --git a/libstdc++-v3/doc/html/manual/appendix_free.html b/libstdc++-v3/doc/html/manual/appendix_free.html
831index a8942f7..84f4403 100644
832--- a/libstdc++-v3/doc/html/manual/appendix_free.html
833+++ b/libstdc++-v3/doc/html/manual/appendix_free.html
834@@ -1,13 +1,13 @@
835 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
836 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
837-<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.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
838+<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; "/><link rel="home" href="../spine.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. 
839 Free Software Needs Free Documentation
840
841 </th></tr><tr><td align="left"><a accesskey="p" href="backwards.html">Prev</a> </td><th width="60%" align="center">Part IV. 
842 Appendices
843 </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"/>
844 Free Software Needs Free Documentation
845- <a id="id625881" class="indexterm"/>
846+ <a id="id505314" class="indexterm"/>
847 </h1></div></div></div><p>
848 The biggest deficiency in free operating systems is not in the
849 software--it is the lack of good free manuals that we can include in
850@@ -41,7 +41,7 @@ can ill afford to lose manuals this way.
851 Free documentation, like free software, is a matter of freedom,
852 not price. The problem with these manuals was not that O'Reilly
853 Associates charged a price for printed copies--that in itself is fine.
854-(The Free Software Foundation <a class="link" href="http://www.gnu.org/doc/doc.html" target="">sells printed copies</a> of
855+(The Free Software Foundation <a class="link" href="http://www.gnu.org/doc/doc.html">sells printed copies</a> of
856 free GNU manuals, too.) But GNU manuals are available in source code
857 form, while these manuals are available only on paper. GNU manuals
858 come with permission to copy and modify; the Perl manuals do not.
859@@ -117,7 +117,7 @@ manuals instead of proprietary ones. One way you can help this is to
860 check the distribution terms of a manual before you buy it, and
861 prefer copylefted manuals to non-copylefted ones.
862 </p><p>
863-[Note: We now maintain a <a class="link" href="http://www.fsf.org/licensing/doc/other-free-books.html" target="">web page
864+[Note: We now maintain a <a class="link" href="http://www.fsf.org/licensing/doc/other-free-books.html">web page
865 that lists free books available from other publishers</a>].
866 </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
867 permitted worldwide, without royalty, in any medium, provided this
868diff --git a/libstdc++-v3/doc/html/manual/appendix_gfdl.html b/libstdc++-v3/doc/html/manual/appendix_gfdl.html
869index c74a471..9a46f18 100644
870--- a/libstdc++-v3/doc/html/manual/appendix_gfdl.html
871+++ b/libstdc++-v3/doc/html/manual/appendix_gfdl.html
872@@ -1,10 +1,10 @@
873 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
874 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
875-<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.75.2"/><link rel="home" href="../spine.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. 
876+<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"/><link rel="home" href="../spine.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. 
877 Appendices
878 </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>
879 Copyright © 2000, 2001, 2002, 2007, 2008
880- <a class="link" href="http://www.fsf.org/" target="">Free Software Foundation, Inc.</a>
881+ <a class="link" href="http://www.fsf.org/">Free Software Foundation, Inc.</a>
882 </p><p>
883 Everyone is permitted to copy and distribute verbatim copies of this
884 license document, but changing it is not allowed.
885@@ -377,7 +377,7 @@
886 Free Documentation License from time to time. Such new versions will be
887 similar in spirit to the present version, but may differ in detail to
888 address new problems or concerns. See
889- <a class="link" href="http://www.gnu.org/copyleft/" target="">Copyleft</a>.
890+ <a class="link" href="http://www.gnu.org/copyleft/">Copyleft</a>.
891 </p><p>
892 Each version of the License is given a distinguishing version number. If
893 the Document specifies that a particular numbered version of this License
894diff --git a/libstdc++-v3/doc/html/manual/appendix_gpl.html b/libstdc++-v3/doc/html/manual/appendix_gpl.html
895index dc89be9..58d1308 100644
896--- a/libstdc++-v3/doc/html/manual/appendix_gpl.html
897+++ b/libstdc++-v3/doc/html/manual/appendix_gpl.html
898@@ -1,6 +1,6 @@
899 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
900 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
901-<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.75.2"/><link rel="home" href="../spine.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. 
902+<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"/><link rel="home" href="../spine.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. 
903 <acronym class="acronym">GNU</acronym> General Public License version 3
904 </th></tr><tr><td align="left"><a accesskey="p" href="appendix_free.html">Prev</a> </td><th width="60%" align="center">Part IV. 
905 Appendices
906@@ -10,7 +10,7 @@
907 Version 3, 29 June 2007
908 </p><p>
909 Copyright © 2007 Free Software Foundation, Inc.
910- <a class="link" href="http://www.fsf.org/" target="">http://www.fsf.org/</a>
911+ <a class="link" href="http://www.fsf.org/">http://www.fsf.org/</a>
912 </p><p>
913 Everyone is permitted to copy and distribute verbatim copies of this license
914 document, but changing it is not allowed.
915@@ -78,7 +78,7 @@
916 </p><p>
917 The precise terms and conditions for copying, distribution and modification
918 follow.
919- </p><h2><a id="id626220"/>
920+ </p><h2><a id="id505653"/>
921 TERMS AND CONDITIONS
922 </h2><h2><a id="gpl-3-definitions"/>
923 0. Definitions.
924@@ -619,7 +619,7 @@
925 waiver of all civil liability in connection with the Program, unless a
926 warranty or assumption of liability accompanies a copy of the Program in
927 return for a fee.
928- </p><h2><a id="id627044"/>
929+ </p><h2><a id="id506476"/>
930 END OF TERMS AND CONDITIONS
931 </h2><h2><a id="HowToApply"/>
932 How to Apply These Terms to Your New Programs
933@@ -648,7 +648,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
934 <acronym class="acronym">GNU</acronym> General Public License for more details.
935
936 You should have received a copy of the <acronym class="acronym">GNU</acronym> General Public License
937-along with this program. If not, see <a class="link" href="http://www.gnu.org/licenses/" target="">http://www.gnu.org/licenses/</a>.
938+along with this program. If not, see <a class="link" href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>.
939 </pre><p>
940 Also add information on how to contact you by electronic and paper mail.
941 </p><p>
942@@ -669,14 +669,14 @@ under certain conditions; type ‘<code class="literal">show c</code>’ for det
943 if any, to sign a “copyright disclaimer” for the program, if
944 necessary. For more information on this, and how to apply and follow the
945 <acronym class="acronym">GNU</acronym> <acronym class="acronym">GPL</acronym>, see
946- <a class="link" href="http://www.gnu.org/licenses/" target="">http://www.gnu.org/licenses/</a>.
947+ <a class="link" href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>.
948 </p><p>
949 The <acronym class="acronym">GNU</acronym> General Public License does not permit
950 incorporating your program into proprietary programs. If your program is a
951 subroutine library, you may consider it more useful to permit linking
952 proprietary applications with the library. If this is what you want to do,
953 use the <acronym class="acronym">GNU</acronym> Lesser General Public License instead of this
954- License. But first, please read <a class="link" href="http://www.gnu.org/philosophy/why-not-lgpl.html" target="">http://www.gnu.org/philosophy/why-not-lgpl.html</a>.
955+ 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>.
956 </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. 
957 Free Software Needs Free Documentation
958
959diff --git a/libstdc++-v3/doc/html/manual/appendix_porting.html b/libstdc++-v3/doc/html/manual/appendix_porting.html
960index 0b1b44f..8cb4398 100644
961--- a/libstdc++-v3/doc/html/manual/appendix_porting.html
962+++ b/libstdc++-v3/doc/html/manual/appendix_porting.html
963@@ -1,15 +1,15 @@
964 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
965 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
966-<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.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
967+<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; "/><link rel="home" href="../spine.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. 
968 Porting and Maintenance
969
970 </th></tr><tr><td align="left"><a accesskey="p" href="source_design_notes.html">Prev</a> </td><th width="60%" align="center">Part IV. 
971 Appendices
972 </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"/>
973 Porting and Maintenance
974- <a id="id614622" class="indexterm"/>
975-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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><dt><span class="section"><a href="documentation_hacking.html#doc.docbook">Docbook</a></span></dt></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><dt><span class="section"><a href="test.html#test.run">Running the Testsuite</a></span></dt><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><dt><span class="section"><a href="test.html#test.special">Special Topics</a></span></dt></dl></dd><dt><span class="section"><a href="abi.html">ABI Policy and Guidelines</a></span></dt><dd><dl><dt><span class="section"><a href="abi.html#abi.cxx_interface">The C++ Interface</a></span></dt><dt><span class="section"><a href="abi.html#abi.versioning">Versioning</a></span></dt><dt><span class="section"><a href="abi.html#abi.changes_allowed">Allowed Changes</a></span></dt><dt><span class="section"><a href="abi.html#abi.changes_no">Prohibited Changes</a></span></dt><dt><span class="section"><a href="abi.html#abi.impl">Implementation</a></span></dt><dt><span class="section"><a href="abi.html#abi.testing">Testing</a></span></dt><dt><span class="section"><a href="abi.html#abi.issues">Outstanding Issues</a></span></dt></dl></dd><dt><span class="section"><a href="api.html">API Evolution and Deprecation History</a></span></dt><dd><dl><dt><span class="section"><a href="api.html#api.rel_300"><code class="constant">3.0</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_310"><code class="constant">3.1</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_320"><code class="constant">3.2</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_330"><code class="constant">3.3</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_340"><code class="constant">3.4</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_400"><code class="constant">4.0</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_410"><code class="constant">4.1</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_420"><code class="constant">4.2</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_430"><code class="constant">4.3</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_440"><code class="constant">4.4</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_450"><code class="constant">4.5</code></a></span></dt></dl></dd><dt><span class="section"><a href="backwards.html">Backwards Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="backwards.html#backwards.first">First</a></span></dt><dt><span class="section"><a href="backwards.html#backwards.second">Second</a></span></dt><dt><span class="section"><a href="backwards.html#backwards.third">Third</a></span></dt></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>
976- As noted <a class="link" href="http://gcc.gnu.org/install/prerequisites.html" target="">previously</a>,
977+ <a id="id494054" class="indexterm"/>
978+</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><dt><span class="section"><a href="documentation_hacking.html#doc.docbook">Docbook</a></span></dt></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><dt><span class="section"><a href="test.html#test.run">Running the Testsuite</a></span></dt><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><dt><span class="section"><a href="test.html#test.special">Special Topics</a></span></dt></dl></dd><dt><span class="section"><a href="abi.html">ABI Policy and Guidelines</a></span></dt><dd><dl><dt><span class="section"><a href="abi.html#abi.cxx_interface">The C++ Interface</a></span></dt><dt><span class="section"><a href="abi.html#abi.versioning">Versioning</a></span></dt><dt><span class="section"><a href="abi.html#abi.changes_allowed">Allowed Changes</a></span></dt><dt><span class="section"><a href="abi.html#abi.changes_no">Prohibited Changes</a></span></dt><dt><span class="section"><a href="abi.html#abi.impl">Implementation</a></span></dt><dt><span class="section"><a href="abi.html#abi.testing">Testing</a></span></dt><dt><span class="section"><a href="abi.html#abi.issues">Outstanding Issues</a></span></dt></dl></dd><dt><span class="section"><a href="api.html">API Evolution and Deprecation History</a></span></dt><dd><dl><dt><span class="section"><a href="api.html#api.rel_300"><code class="constant">3.0</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_310"><code class="constant">3.1</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_320"><code class="constant">3.2</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_330"><code class="constant">3.3</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_340"><code class="constant">3.4</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_400"><code class="constant">4.0</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_410"><code class="constant">4.1</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_420"><code class="constant">4.2</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_430"><code class="constant">4.3</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_440"><code class="constant">4.4</code></a></span></dt><dt><span class="section"><a href="api.html#api.rel_450"><code class="constant">4.5</code></a></span></dt></dl></dd><dt><span class="section"><a href="backwards.html">Backwards Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="backwards.html#backwards.first">First</a></span></dt><dt><span class="section"><a href="backwards.html#backwards.second">Second</a></span></dt><dt><span class="section"><a href="backwards.html#backwards.third">Third</a></span></dt></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>
979+ As noted <a class="link" href="http://gcc.gnu.org/install/prerequisites.html">previously</a>,
980 certain other tools are necessary for hacking on files that
981 control configure (<code class="code">configure.ac</code>,
982 <code class="code">acinclude.m4</code>) and make
983@@ -19,14 +19,14 @@
984 in GCC try to stay in sync with each other in terms of versions of
985 the auto-tools used, so please try to play nicely with the
986 neighbors.
987- </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="id614754"/><p class="title"><b>Figure B.1. Configure and Build File Dependencies</b></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/confdeps.png" style="text-align: middle" alt="Dependency Graph for Configure and Build Files"/></div></div></div><br class="figure-break"/><p>
988+ </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="id494186"/><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="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/confdeps.png" style="text-align: middle" alt="Dependency Graph for Configure and Build Files"/></div></div></div><br class="figure-break"/><p>
989 Regenerate all generated files by using the command sequence
990 <code class="code">"autoreconf"</code> at the top level of the libstdc++ source
991 directory. The following will also work, but is much more complex:
992 <code class="code">"aclocal-1.11 &amp;&amp; autoconf-2.64 &amp;&amp;
993 autoheader-2.64 &amp;&amp; automake-1.11"</code> The version
994 numbers may be absent entirely or otherwise vary depending on
995- <a class="link" href="http://gcc.gnu.org/install/prerequisites.html" target="">the
996+ <a class="link" href="http://gcc.gnu.org/install/prerequisites.html">the
997 current requirements</a> and your vendor's choice of
998 installation names.
999 </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>
1000@@ -196,7 +196,7 @@
1001 </p><p>
1002 If you're wondering what that line noise in the last example was,
1003 that's how you embed autoconf special characters in output text.
1004- They're called <a class="link" href="http://www.gnu.org/software/autoconf/manual/autoconf.html#Quadrigraphs" target=""><span class="emphasis"><em>quadrigraphs</em></span></a>
1005+ 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>
1006 and you should use them whenever necessary.
1007 </p></li><li class="listitem"><p>HELP-STRING is what you think it is. Do not include the
1008 "default" text like we used to do; it will be done for you by
1009diff --git a/libstdc++-v3/doc/html/manual/associative.html b/libstdc++-v3/doc/html/manual/associative.html
1010index e4f072f..351ec94 100644
1011--- a/libstdc++-v3/doc/html/manual/associative.html
1012+++ b/libstdc++-v3/doc/html/manual/associative.html
1013@@ -1,6 +1,6 @@
1014 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1015 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1016-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Associative</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
1017+<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; "/><link rel="home" href="../spine.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. 
1018 Containers
1019
1020 </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>
1021@@ -13,7 +13,7 @@
1022 item to insert. The standard says that <span class="quote">“<span class="quote"><code class="code">t</code> is
1023 inserted as close as possible to the position just prior to
1024 <code class="code">p</code>.</span>”</span> (Library DR #233 addresses this topic,
1025- referring to <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1780.html" target="">N1780</a>.
1026+ referring to <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1780.html">N1780</a>.
1027 Since version 4.2 GCC implements the resolution to DR 233, so
1028 that insertions happen as close as possible to the hint. For
1029 earlier releases the hint was only used as described below.
1030diff --git a/libstdc++-v3/doc/html/manual/atomics.html b/libstdc++-v3/doc/html/manual/atomics.html
1031index 4ff4b74..68052a7 100644
1032--- a/libstdc++-v3/doc/html/manual/atomics.html
1033+++ b/libstdc++-v3/doc/html/manual/atomics.html
1034@@ -1,14 +1,14 @@
1035 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1036 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1037-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 14.  Atomics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; , &#10; atomic&#10; "/><link rel="home" href="../spine.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. 
1038+<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; "/><link rel="home" href="../spine.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. 
1039 Atomics
1040
1041 </th></tr><tr><td align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
1042 Standard Contents
1043- </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><h1 class="title"><a id="std.atomics"/>
1044+ </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. 
1045 Atomics
1046- <a id="id602150" class="indexterm"/>
1047-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="atomics.html#std.atomics.api">API Reference</a></span></dt></dl></div><p>
1048+ <a id="id481583" class="indexterm"/>
1049+</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>
1050 Facilities for atomic operations.
1051 </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>
1052 All items are declared in the standard header
1053diff --git a/libstdc++-v3/doc/html/manual/backwards.html b/libstdc++-v3/doc/html/manual/backwards.html
1054index 40e7ccb..2ac6d78 100644
1055--- a/libstdc++-v3/doc/html/manual/backwards.html
1056+++ b/libstdc++-v3/doc/html/manual/backwards.html
1057@@ -1,6 +1,6 @@
1058 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1059 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1060-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Backwards Compatibility</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; backwards&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
1061+<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; "/><link rel="home" href="../spine.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. 
1062 Porting and Maintenance
1063
1064 </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
1065@@ -17,8 +17,8 @@ ISO Standard (e.g., statistical analysis). While there are a lot of
1066 really useful things that are used by a lot of people, the Standards
1067 Committee couldn't include everything, and so a lot of those
1068 <span class="quote">“<span class="quote">obvious</span>”</span> classes didn't get included.
1069-</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="id624435"/>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>.
1070-</p></div><div class="section" title="No cout in ostream.h, no cin in istream.h"><div class="titlepage"><div><div><h4 class="title"><a id="id624468"/>No <code class="code">cout</code> in <code class="code">ostream.h</code>, no <code class="code">cin</code> in <code class="code">istream.h</code></h4></div></div></div><p>
1071+</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="id503868"/>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>.
1072+</p></div><div class="section" title="No cout in ostream.h, no cin in istream.h"><div class="titlepage"><div><div><h4 class="title"><a id="id503900"/>No <code class="code">cout</code> in <code class="code">ostream.h</code>, no <code class="code">cin</code> in <code class="code">istream.h</code></h4></div></div></div><p>
1073 In earlier versions of the standard,
1074 <code class="filename">fstream.h</code>,
1075 <code class="filename">ostream.h</code>
1076@@ -29,7 +29,7 @@ Committee couldn't include everything, and so a lot of those
1077 explicitly to get the required definitions.
1078 </p><p> Some include adjustment may be required.</p><p>This project is no longer maintained or supported, and the sources
1079 archived. For the desperate,
1080-the <a class="link" href="http://gcc.gnu.org/extensions.html" target="">GCC extensions
1081+the <a class="link" href="http://gcc.gnu.org/extensions.html">GCC extensions
1082 page</a> describes where to find the last libg++ source. The code is
1083 considered replaced and rewritten.
1084 </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>
1085@@ -44,7 +44,7 @@ considered replaced and rewritten.
1086 archived. The code is considered replaced and rewritten.
1087 </p><p>
1088 Portability notes and known implementation limitations are as follows.
1089-</p><div class="section" title="Namespace std:: not supported"><div class="titlepage"><div><div><h4 class="title"><a id="id624570"/>Namespace <code class="code">std::</code> not supported</h4></div></div></div><p>
1090+</p><div class="section" title="Namespace std:: not supported"><div class="titlepage"><div><div><h4 class="title"><a id="id504003"/>Namespace <code class="code">std::</code> not supported</h4></div></div></div><p>
1091 Some care is required to support C++ compiler and or library
1092 implementation that do not have the standard library in
1093 <code class="code">namespace std</code>.
1094@@ -108,7 +108,7 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
1095 AC_DEFINE(HAVE_NAMESPACE_STD,,[Define if g++ supports namespace std. ])
1096 fi
1097 ])
1098-</pre></div><div class="section" title="Illegal iterator usage"><div class="titlepage"><div><div><h4 class="title"><a id="id624697"/>Illegal iterator usage</h4></div></div></div><p>
1099+</pre></div><div class="section" title="Illegal iterator usage"><div class="titlepage"><div><div><h4 class="title"><a id="id504130"/>Illegal iterator usage</h4></div></div></div><p>
1100 The following illustrate implementation-allowed illegal iterator
1101 use, and then correct use.
1102 </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
1103@@ -121,7 +121,7 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
1104 </p></li><li class="listitem"><p>
1105 <code class="code">if (iterator)</code> won't work any more =&gt; use
1106 <code class="code">if (iterator != iterator_type())</code>
1107- </p></li></ul></div></div><div class="section" title="isspace from cctype is a macro"><div class="titlepage"><div><div><h4 class="title"><a id="id624758"/><code class="code">isspace</code> from <code class="filename">cctype</code> is a macro
1108+ </p></li></ul></div></div><div class="section" title="isspace from cctype is a macro"><div class="titlepage"><div><div><h4 class="title"><a id="id504191"/><code class="code">isspace</code> from <code class="filename">cctype</code> is a macro
1109 </h4></div></div></div><p>
1110 Glibc 2.0.x and 2.1.x define <code class="filename">ctype.h</code> functionality as macros
1111 (isspace, isalpha etc.).
1112@@ -154,7 +154,7 @@ std:: (__ctype_b[(int) ( ( 'X' ) )] &amp; (unsigned short int) _ISspace ) ;
1113 (<code class="filename">ctype.h</code>) and the
1114 definitions in namespace <code class="code">std::</code>
1115 (<code class="code">&lt;cctype&gt;</code>).
1116-</p></div><div class="section" title="No vector::at, deque::at, string::at"><div class="titlepage"><div><div><h4 class="title"><a id="id624854"/>No <code class="code">vector::at</code>, <code class="code">deque::at</code>, <code class="code">string::at</code></h4></div></div></div><p>
1117+</p></div><div class="section" title="No vector::at, deque::at, string::at"><div class="titlepage"><div><div><h4 class="title"><a id="id504286"/>No <code class="code">vector::at</code>, <code class="code">deque::at</code>, <code class="code">string::at</code></h4></div></div></div><p>
1118 One solution is to add an autoconf-test for this:
1119 </p><pre class="programlisting">
1120 AC_MSG_CHECKING(for container::at)
1121@@ -180,7 +180,7 @@ AC_DEFINE(HAVE_CONTAINER_AT)],
1122 </pre><p>
1123 If you are using other (non-GNU) compilers it might be a good idea
1124 to check for <code class="code">string::at</code> separately.
1125-</p></div><div class="section" title="No std::char_traits&lt;char&gt;::eof"><div class="titlepage"><div><div><h4 class="title"><a id="id624893"/>No <code class="code">std::char_traits&lt;char&gt;::eof</code></h4></div></div></div><p>
1126+</p></div><div class="section" title="No std::char_traits&lt;char&gt;::eof"><div class="titlepage"><div><div><h4 class="title"><a id="id504326"/>No <code class="code">std::char_traits&lt;char&gt;::eof</code></h4></div></div></div><p>
1127 Use some kind of autoconf test, plus this:
1128 </p><pre class="programlisting">
1129 #ifdef HAVE_CHAR_TRAITS
1130@@ -188,7 +188,7 @@ AC_DEFINE(HAVE_CONTAINER_AT)],
1131 #else
1132 #define CPP_EOF EOF
1133 #endif
1134-</pre></div><div class="section" title="No string::clear"><div class="titlepage"><div><div><h4 class="title"><a id="id624911"/>No <code class="code">string::clear</code></h4></div></div></div><p>
1135+</pre></div><div class="section" title="No string::clear"><div class="titlepage"><div><div><h4 class="title"><a id="id504344"/>No <code class="code">string::clear</code></h4></div></div></div><p>
1136 There are two functions for deleting the contents of a string:
1137 <code class="code">clear</code> and <code class="code">erase</code> (the latter returns the
1138 string).
1139@@ -206,12 +206,12 @@ erase(size_type __pos = 0, size_type __n = npos)
1140 Unfortunately, <code class="code">clear</code> is not implemented in this
1141 version, so you should use <code class="code">erase</code> (which is probably
1142 faster than <code class="code">operator=(charT*)</code>).
1143-</p></div><div class="section" title="Removal of ostream::form and istream::scan extensions"><div class="titlepage"><div><div><h4 class="title"><a id="id624957"/>
1144+</p></div><div class="section" title="Removal of ostream::form and istream::scan extensions"><div class="titlepage"><div><div><h4 class="title"><a id="id504390"/>
1145 Removal of <code class="code">ostream::form</code> and <code class="code">istream::scan</code>
1146 extensions
1147 </h4></div></div></div><p>
1148 These are no longer supported. Please use stringstreams instead.
1149-</p></div><div class="section" title="No basic_stringbuf, basic_stringstream"><div class="titlepage"><div><div><h4 class="title"><a id="id624976"/>No <code class="code">basic_stringbuf</code>, <code class="code">basic_stringstream</code></h4></div></div></div><p>
1150+</p></div><div class="section" title="No basic_stringbuf, basic_stringstream"><div class="titlepage"><div><div><h4 class="title"><a id="id504408"/>No <code class="code">basic_stringbuf</code>, <code class="code">basic_stringstream</code></h4></div></div></div><p>
1151 Although the ISO standard <code class="code">i/ostringstream</code>-classes are
1152 provided, (<code class="filename">sstream</code>), for
1153 compatibility with older implementations the pre-ISO
1154@@ -299,14 +299,14 @@ any = temp;
1155 Another example of using stringstreams is in <a class="link" href="strings.html#strings.string.shrink" title="Shrink to Fit">this howto</a>.
1156 </p><p> There is additional information in the libstdc++-v2 info files, in
1157 particular <span class="quote">“<span class="quote">info iostream</span>”</span>.
1158-</p></div><div class="section" title="Little or no wide character support"><div class="titlepage"><div><div><h4 class="title"><a id="id625132"/>Little or no wide character support</h4></div></div></div><p>
1159+</p></div><div class="section" title="Little or no wide character support"><div class="titlepage"><div><div><h4 class="title"><a id="id504564"/>Little or no wide character support</h4></div></div></div><p>
1160 Classes <code class="classname">wstring</code> and
1161 <code class="classname">char_traits&lt;wchar_t&gt;</code> are
1162 not supported.
1163- </p></div><div class="section" title="No templatized iostreams"><div class="titlepage"><div><div><h4 class="title"><a id="id625150"/>No templatized iostreams</h4></div></div></div><p>
1164+ </p></div><div class="section" title="No templatized iostreams"><div class="titlepage"><div><div><h4 class="title"><a id="id504583"/>No templatized iostreams</h4></div></div></div><p>
1165 Classes <code class="classname">wfilebuf</code> and
1166 <code class="classname">wstringstream</code> are not supported.
1167- </p></div><div class="section" title="Thread safety issues"><div class="titlepage"><div><div><h4 class="title"><a id="id625169"/>Thread safety issues</h4></div></div></div><p>
1168+ </p></div><div class="section" title="Thread safety issues"><div class="titlepage"><div><div><h4 class="title"><a id="id504602"/>Thread safety issues</h4></div></div></div><p>
1169 Earlier GCC releases had a somewhat different approach to
1170 threading configuration and proper compilation. Before GCC 3.0,
1171 configuration of the threading model was dictated by compiler
1172@@ -331,7 +331,7 @@ particular <span class="quote">“<span class="quote">info iostream</span>”</s
1173 against the gthr.h abstraction layer which is provided by gcc. A
1174 minor problem that pops up every so often is different
1175 interpretations of what "thread-safe" means for a
1176- library (not a general program). We currently use the <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html" target="">same
1177+ library (not a general program). We currently use the <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html">same
1178 definition that SGI</a> uses for their STL subset. However,
1179 the exception for read-only containers only applies to the STL
1180 components. This definition is widely-used and something similar
1181@@ -343,11 +343,11 @@ particular <span class="quote">“<span class="quote">info iostream</span>”</s
1182 "Thread Next" to move down the thread. This farm is in
1183 latest-to-oldest order.
1184 </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
1185- Our threading expert Loren gives a breakdown of <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-10/msg00024.html" target="">the
1186+ Our threading expert Loren gives a breakdown of <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-10/msg00024.html">the
1187 six situations involving threads</a> for the 3.0
1188 release series.
1189 </p></li><li class="listitem"><p>
1190- <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00384.html" target="">
1191+ <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00384.html">
1192 This message</a> inspired a recent updating of issues with
1193 threading and the SGI STL library. It also contains some
1194 example POSIX-multithreaded STL code.
1195@@ -364,7 +364,7 @@ libstdc++-v3.
1196 of the SGI STL (version 3.3), with extensive changes.
1197 </p><p>A more formal description of the V3 goals can be found in the
1198 official <a class="link" href="source_design_notes.html" title="Design Notes">design document</a>.
1199- </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="id625293"/>Pre-ISO headers moved to backwards or removed</h4></div></div></div><p> The pre-ISO C++ headers
1200+ </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="id504726"/>Pre-ISO headers moved to backwards or removed</h4></div></div></div><p> The pre-ISO C++ headers
1201 (<code class="code">iostream.h</code>, <code class="code">defalloc.h</code> etc.) are
1202 available, unlike previous libstdc++ versions, but inclusion
1203 generates a warning that you are using deprecated headers.
1204@@ -373,7 +373,7 @@ libstdc++-v3.
1205 <code class="code">std::</code> into the global namespace.
1206 </p><p>For those of you new to ISO C++ (welcome, time travelers!), no,
1207 that isn't a typo. Yes, the headers really have new names.
1208- 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="">item
1209+ 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
1210 [27.4]</a>.
1211 </p><p> Some include adjustment may be required. What follows is an
1212 autoconf test that defines <code class="code">PRE_STDCXX_HEADERS</code> when they
1213@@ -436,7 +436,7 @@ like <code class="filename">vector.h</code> can be replaced with <code class="fi
1214 directive <code class="code">using namespace std;</code> can be put at the global
1215 scope. This should be enough to get this code compiling, assuming the
1216 other usage is correct.
1217-</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="id625378"/>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
1218+</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="id504811"/>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
1219 replaced by standardized libraries.
1220 In particular, the unordered_map and unordered_set containers of TR1
1221 are suitable replacement for the non-standard hash_map and hash_set
1222@@ -508,7 +508,7 @@ AC_DEFUN([AC_HEADER_EXT_HASH_SET], [
1223 AC_DEFINE(HAVE_EXT_HASH_SET,,[Define if ext/hash_set is present. ])
1224 fi
1225 ])
1226-</pre></div><div class="section" title="No ios::nocreate/ios::noreplace."><div class="titlepage"><div><div><h4 class="title"><a id="id625481"/>No <code class="code">ios::nocreate/ios::noreplace</code>.
1227+</pre></div><div class="section" title="No ios::nocreate/ios::noreplace."><div class="titlepage"><div><div><h4 class="title"><a id="id504914"/>No <code class="code">ios::nocreate/ios::noreplace</code>.
1228 </h4></div></div></div><p> The existence of <code class="code">ios::nocreate</code> being used for
1229 input-streams has been confirmed, most probably because the author
1230 thought it would be more correct to specify nocreate explicitly. So
1231@@ -519,7 +519,7 @@ open the file for reading, check if it has been opened, and then
1232 decide whether you want to create/replace or not. To my knowledge,
1233 even older implementations support <code class="code">app</code>, <code class="code">ate</code>
1234 and <code class="code">trunc</code> (except for <code class="code">app</code> ?).
1235-</p></div><div class="section" title="No stream::attach(int fd)"><div class="titlepage"><div><div><h4 class="title"><a id="id625529"/>
1236+</p></div><div class="section" title="No stream::attach(int fd)"><div class="titlepage"><div><div><h4 class="title"><a id="id504962"/>
1237 No <code class="code">stream::attach(int fd)</code>
1238 </h4></div></div></div><p>
1239 Phil Edwards writes: It was considered and rejected for the ISO
1240@@ -535,14 +535,14 @@ No <code class="code">stream::attach(int fd)</code>
1241 </p><p>
1242 An extension is available that implements this.
1243 <code class="filename">ext/stdio_filebuf.h</code> contains a derived class called
1244- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html" target=""><code class="code">__gnu_cxx::stdio_filebuf</code></a>.
1245+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html"><code class="code">__gnu_cxx::stdio_filebuf</code></a>.
1246 This class can be constructed from a C <code class="code">FILE*</code> or a file
1247 descriptor, and provides the <code class="code">fd()</code> function.
1248 </p><p>
1249 For another example of this, refer to
1250- <a class="link" href="http://www.josuttis.com/cppcode/fdstream.html" target="">fdstream example</a>
1251+ <a class="link" href="http://www.josuttis.com/cppcode/fdstream.html">fdstream example</a>
1252 by Nicolai Josuttis.
1253-</p></div><div class="section" title="Support for C++98 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id625597"/>
1254+</p></div><div class="section" title="Support for C++98 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id505030"/>
1255 Support for C++98 dialect.
1256 </h4></div></div></div><p>Check for complete library coverage of the C++1998/2003 standard.
1257 </p><pre class="programlisting">
1258@@ -610,7 +610,7 @@ AC_DEFUN([AC_HEADER_STDCXX_98], [
1259 AC_DEFINE(STDCXX_98_HEADERS,,[Define if ISO C++ 1998 header files are present. ])
1260 fi
1261 ])
1262-</pre></div><div class="section" title="Support for C++TR1 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id625624"/>
1263+</pre></div><div class="section" title="Support for C++TR1 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id505057"/>
1264 Support for C++TR1 dialect.
1265 </h4></div></div></div><p>Check for library coverage of the TR1 standard.
1266 </p><pre class="programlisting">
1267@@ -687,7 +687,7 @@ AC_DEFUN([AC_HEADER_TR1_UNORDERED_SET], [
1268 AC_DEFINE(HAVE_TR1_UNORDERED_SET,,[Define if tr1/unordered_set is present. ])
1269 fi
1270 ])
1271-</pre></div><div class="section" title="Support for C++0x dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id625668"/>
1272+</pre></div><div class="section" title="Support for C++0x dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id505101"/>
1273 Support for C++0x dialect.
1274 </h4></div></div></div><p>Check for baseline language coverage in the compiler for the C++0xstandard.
1275 </p><pre class="programlisting">
1276@@ -899,19 +899,19 @@ AC_DEFUN([AC_HEADER_UNORDERED_SET], [
1277 AC_DEFINE(HAVE_UNORDERED_SET,,[Define if unordered_set is present. ])
1278 fi
1279 ])
1280-</pre></div><div class="section" title="Container::iterator_type is not necessarily Container::value_type*"><div class="titlepage"><div><div><h4 class="title"><a id="id625747"/>
1281+</pre></div><div class="section" title="Container::iterator_type is not necessarily Container::value_type*"><div class="titlepage"><div><div><h4 class="title"><a id="id505180"/>
1282 Container::iterator_type is not necessarily Container::value_type*
1283 </h4></div></div></div><p>
1284 This is a change in behavior from the previous version. Now, most
1285 <span class="type">iterator_type</span> typedefs in container classes are POD
1286 objects, not <span class="type">value_type</span> pointers.
1287-</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"><a id="id625777"/><p><span class="biblioid">
1288+</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"><a id="id505210"/><p><span class="biblioid">
1289 . </span><span class="citetitle"><em class="citetitle">
1290 Migrating to GCC 4.1
1291- </em>. </span><span class="author"><span class="firstname">Dan</span> <span class="surname">Kegel</span>. </span></p></div><div class="biblioentry"><a id="id625802"/><p><span class="biblioid">
1292+ </em>. </span><span class="author"><span class="firstname">Dan</span> <span class="surname">Kegel</span>. </span></p></div><div class="biblioentry"><a id="id505235"/><p><span class="biblioid">
1293 . </span><span class="citetitle"><em class="citetitle">
1294 Building the Whole Debian Archive with GCC 4.1: A Summary
1295- </em>. </span><span class="author"><span class="firstname">Martin</span> <span class="surname">Michlmayr</span>. </span></p></div><div class="biblioentry"><a id="id625828"/><p><span class="biblioid">
1296+ </em>. </span><span class="author"><span class="firstname">Martin</span> <span class="surname">Michlmayr</span>. </span></p></div><div class="biblioentry"><a id="id505261"/><p><span class="biblioid">
1297 . </span><span class="citetitle"><em class="citetitle">
1298 Migration guide for GCC-3.2
1299 </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="../spine.html">Home</a></td><td align="right" valign="top"> Appendix C. 
1300diff --git a/libstdc++-v3/doc/html/manual/bitmap_allocator.html b/libstdc++-v3/doc/html/manual/bitmap_allocator.html
1301index 9d0f9e6..be584e4 100644
1302--- a/libstdc++-v3/doc/html/manual/bitmap_allocator.html
1303+++ b/libstdc++-v3/doc/html/manual/bitmap_allocator.html
1304@@ -1,6 +1,6 @@
1305 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1306 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1307-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>bitmap_allocator</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; allocator&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="ext_allocators.html" title="Chapter 20. Allocators"/><link rel="prev" href="ext_allocators.html" title="Chapter 20. Allocators"/><link rel="next" href="ext_containers.html" title="Chapter 21. Containers"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">bitmap_allocator</th></tr><tr><td align="left"><a accesskey="p" href="ext_allocators.html">Prev</a> </td><th width="60%" align="center">Chapter 20. Allocators</th><td align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr></table><hr/></div><div class="section" title="bitmap_allocator"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.bitmap"/>bitmap_allocator</h2></div></div></div><p>
1308+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>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; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="ext_allocators.html" title="Chapter 20. Allocators"/><link rel="prev" href="ext_allocators.html" title="Chapter 20. Allocators"/><link rel="next" href="ext_containers.html" title="Chapter 21. Containers"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">bitmap_allocator</th></tr><tr><td align="left"><a accesskey="p" href="ext_allocators.html">Prev</a> </td><th width="60%" align="center">Chapter 20. Allocators</th><td align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr></table><hr/></div><div class="section" title="bitmap_allocator"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.bitmap"/>bitmap_allocator</h2></div></div></div><p>
1309 </p><div class="section" title="Design"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.bitmap.design"/>Design</h3></div></div></div><p>
1310 As this name suggests, this allocator uses a bit-map to keep track
1311 of the used and unused memory locations for it's book-keeping
1312@@ -103,7 +103,7 @@ else return false.</p></li></ol></div><p>
1313 </p><p>
1314 Consider a block of size 64 ints. In memory, it would look like this:
1315 (assume a 32-bit system where, size_t is a 32-bit entity).
1316- </p><div class="table"><a id="id611395"/><p class="title"><b>Table 20.1. Bitmap Allocator Memory Map</b></p><div class="table-contents"><table summary="Bitmap Allocator Memory Map" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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>
1317+ </p><div class="table"><a id="id490827"/><p class="title"><strong>Table 20.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>
1318 The first Column(268) represents the size of the Block in bytes as
1319 seen by the Bitmap Allocator. Internally, a global free list is
1320 used to keep track of the free blocks used and given back by the
1321diff --git a/libstdc++-v3/doc/html/manual/bk01pt02.html b/libstdc++-v3/doc/html/manual/bk01pt02.html
1322index 52b7816..3a0751a 100644
1323--- a/libstdc++-v3/doc/html/manual/bk01pt02.html
1324+++ b/libstdc++-v3/doc/html/manual/bk01pt02.html
1325@@ -1,10 +1,10 @@
1326 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1327 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1328-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Part II.  Standard Contents</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="spine.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. 
1329+<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"/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="spine.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. 
1330 Standard Contents
1331 </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. 
1332 Standard Contents
1333- </h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="support.html">4.
1334+ </h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="chapter"><a href="support.html">4.
1335 Support
1336
1337 </a></span></dt><dd><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></dd><dt><span class="chapter"><a href="diagnostics.html">5.
1338diff --git a/libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html b/libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html
1339index df22048..6a67bef 100644
1340--- a/libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html
1341+++ b/libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html
1342@@ -1,6 +1,6 @@
1343 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1344 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1345-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Concept Checking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
1346+<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; "/><link rel="home" href="../spine.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. 
1347 Diagnostics
1348
1349 </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>
1350@@ -21,7 +21,7 @@
1351 The primary author of the checking code, Jeremy Siek, had already
1352 started work on a replacement implementation. The new code was
1353 formally reviewed and accepted into
1354- <a class="link" href="http://www.boost.org/libs/concept_check/concept_check.htm" target="">the
1355+ <a class="link" href="http://www.boost.org/libs/concept_check/concept_check.htm">the
1356 Boost libraries</a>, and we are pleased to incorporate it into the
1357 GNU C++ library.
1358 </p><p>
1359diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch17s02.html b/libstdc++-v3/doc/html/manual/bk01pt03ch17s02.html
1360index 0c9dcdd..8fa7981 100644
1361--- a/libstdc++-v3/doc/html/manual/bk01pt03ch17s02.html
1362+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch17s02.html
1363@@ -1,6 +1,6 @@
1364 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1365 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1366-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Semantics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; debug&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
1367+<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; "/><link rel="home" href="../spine.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>
1368 </p><p>A program that uses the C++ standard library correctly
1369 will maintain the same semantics under debug mode as it had with
1370 the normal (release) library. All functional and exception-handling
1371diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html b/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html
1372index 1f6a5e0..7e017b6 100644
1373--- a/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html
1374+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html
1375@@ -1,6 +1,6 @@
1376 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1377 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1378-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; debug&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
1379+<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; "/><link rel="home" href="../spine.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>
1380 </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
1381 compiler flag <code class="code">-D_GLIBCXX_DEBUG</code>. Note that this flag
1382 changes the sizes and behavior of standard class templates such
1383@@ -19,6 +19,6 @@
1384 mode or with debug mode. The
1385 following table provides the names and headers of the debugging
1386 containers:
1387-</p><div class="table"><a id="id602987"/><p class="title"><b>Table 17.1. Debugging Containers</b></p><div class="table-contents"><table summary="Debugging Containers" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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++0x mode, these additional
1388+</p><div class="table"><a id="id482419"/><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++0x mode, these additional
1389 containers have additional debug capability.
1390-</p><div class="table"><a id="id603361"/><p class="title"><b>Table 17.2. Debugging Containers C++0x</b></p><div class="table-contents"><table summary="Debugging Containers C++0x" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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="../spine.html">Home</a></td><td align="right" valign="top"> Design</td></tr></table></div></body></html>
1391+</p><div class="table"><a id="id482793"/><p class="title"><strong>Table 17.2. Debugging Containers C++0x</strong></p><div class="table-contents"><table summary="Debugging Containers C++0x" 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="../spine.html">Home</a></td><td align="right" valign="top"> Design</td></tr></table></div></body></html>
1392diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch17s04.html b/libstdc++-v3/doc/html/manual/bk01pt03ch17s04.html
1393index 12fa703..3e35af0 100644
1394--- a/libstdc++-v3/doc/html/manual/bk01pt03ch17s04.html
1395+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch17s04.html
1396@@ -1,6 +1,6 @@
1397 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1398 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1399-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; debug&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
1400+<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; "/><link rel="home" href="../spine.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>
1401 </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>
1402 </p><p> The libstdc++ debug mode replaces unsafe (but efficient) standard
1403 containers and iterators with semantically equivalent safe standard
1404@@ -194,7 +194,7 @@ template&lt;typename _Tp, typename _Allocator = allocator&lt;_Tp&gt;
1405 environments by minimizing dependencies.</p><p>Achieving link- and run-time coexistence is not a trivial
1406 implementation task. To achieve this goal we required a small
1407 extension to the GNU C++ compiler (since incorporated into the C++0x language specification, described in the GCC Manual for the C++ language as
1408- <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Namespace-Association.html#Namespace-Association" target="">namespace
1409+ <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Namespace-Association.html#Namespace-Association">namespace
1410 association</a>), and a complex organization of debug- and
1411 release-modes. The end result is that we have achieved per-use
1412 recompilation but have had to give up some checking of the
1413@@ -353,7 +353,7 @@ test02()
1414 declarations disallow specialization. This method fails
1415 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
1416 namespaces. </em></span>
1417- See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00004.html" target=""> this post
1418+ See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00004.html"> this post
1419 </a>
1420 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
1421 allow the debug mode to effectively alias the
1422@@ -376,7 +376,7 @@ test02()
1423 functions taking no arguments in mixed-mode settings resulting in
1424 equivalent link names, <code class="code"> vector::push_back() </code> being
1425 one example.
1426- See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00177.html" target="">link
1427+ See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00177.html">link
1428 name</a> </p></li></ul></div><p>Other options may exist for implementing the debug mode, many of
1429 which have probably been considered and others that may still be
1430 lurking. This list may be expanded over time to include other
1431@@ -392,13 +392,13 @@ test02()
1432 </p><p> There are several existing implementations of debug modes for C++
1433 standard library implementations, although none of them directly
1434 supports debugging for programs using libstdc++. The existing
1435- 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" target="">SafeSTL</a>:
1436+ 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>:
1437 SafeSTL was the original debugging version of the Standard Template
1438 Library (STL), implemented by Cay S. Horstmann on top of the
1439 Hewlett-Packard STL. Though it inspired much work in this area, it
1440 has not been kept up-to-date for use with modern compilers or C++
1441- standard library implementations.</p></li><li class="listitem"><p><a class="link" href="http://www.stlport.org/" target="">STLport</a>: STLport is a free
1442- implementation of the C++ standard library derived from the <a class="link" href="http://www.sgi.com/tech/stl/" target="">SGI implementation</a>, and
1443+ standard library implementations.</p></li><li class="listitem"><p><a class="link" href="http://www.stlport.org/">STLport</a>: STLport is a free
1444+ implementation of the C++ standard library derived from the <a class="link" href="http://www.sgi.com/tech/stl/">SGI implementation</a>, and
1445 ported to many other platforms. It includes a debug mode that uses a
1446 wrapper model (that in some ways inspired the libstdc++ debug mode
1447 design), although at the time of this writing the debug mode is
1448diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch18s02.html b/libstdc++-v3/doc/html/manual/bk01pt03ch18s02.html
1449index 3398c8f..7a7419a 100644
1450--- a/libstdc++-v3/doc/html/manual/bk01pt03ch18s02.html
1451+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch18s02.html
1452@@ -1,6 +1,6 @@
1453 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1454 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1455-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Semantics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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,
1456+<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; "/><link rel="home" href="../spine.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,
1457 i.e. user-defined functors must not throw exceptions.
1458 Also, the order of execution is not guaranteed for some functions, of course.
1459 Therefore, user-defined functors should not have any concurrent side effects.
1460diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html b/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html
1461index 7b0c49f..b3a3db9 100644
1462--- a/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html
1463+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html
1464@@ -1,12 +1,12 @@
1465 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1466 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1467-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
1468+<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; "/><link rel="home" href="../spine.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>
1469 Any use of parallel functionality requires additional compiler
1470 and runtime support, in particular support for OpenMP. Adding this support is
1471 not difficult: just compile your application with the compiler
1472 flag <code class="literal">-fopenmp</code>. This will link
1473 in <code class="code">libgomp</code>, the GNU
1474- OpenMP <a class="link" href="http://gcc.gnu.org/onlinedocs/libgomp" target="">implementation</a>,
1475+ OpenMP <a class="link" href="http://gcc.gnu.org/onlinedocs/libgomp">implementation</a>,
1476 whose presence is mandatory.
1477 </p><p>
1478 In addition, hardware that supports atomic operations and a compiler
1479@@ -63,4 +63,4 @@ Then compile this code with the prerequisite compiler flags
1480 flags for atomic operations.)
1481 </p><p> The following table provides the names and headers of all the
1482 parallel algorithms that can be used in a similar manner:
1483-</p><div class="table"><a id="id604948"/><p class="title"><b>Table 18.1. Parallel Algorithms</b></p><div class="table-contents"><table summary="Parallel Algorithms" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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="../spine.html">Home</a></td><td align="right" valign="top"> Design</td></tr></table></div></body></html>
1484+</p><div class="table"><a id="id484380"/><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="../spine.html">Home</a></td><td align="right" valign="top"> Design</td></tr></table></div></body></html>
1485diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch18s04.html b/libstdc++-v3/doc/html/manual/bk01pt03ch18s04.html
1486index 0ed32d3..91c951d 100644
1487--- a/libstdc++-v3/doc/html/manual/bk01pt03ch18s04.html
1488+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch18s04.html
1489@@ -1,6 +1,6 @@
1490 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1491 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1492-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
1493+<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; "/><link rel="home" href="../spine.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>
1494 </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>
1495 All parallel algorithms are intended to have signatures that are
1496 equivalent to the ISO C++ algorithms replaced. For instance, the
1497@@ -175,7 +175,7 @@ i. e. it is a singleton. It can be read and written by calling
1498 <code class="code">__gnu_parallel::_Settings::set</code>, respectively.
1499 Please note that the first call return a const object, so direct manipulation
1500 is forbidden.
1501-See <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01005.html" target="">
1502+See <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01005.html">
1503 <code class="filename">settings.h</code></a>
1504 for complete details.
1505 </p><p>
1506diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch18s05.html b/libstdc++-v3/doc/html/manual/bk01pt03ch18s05.html
1507index 52ed30c..f00a4a2 100644
1508--- a/libstdc++-v3/doc/html/manual/bk01pt03ch18s05.html
1509+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch18s05.html
1510@@ -1,6 +1,6 @@
1511 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1512 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1513-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Testing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
1514+<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; "/><link rel="home" href="../spine.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>
1515 Both the normal conformance and regression tests and the
1516 supplemental performance tests work.
1517 </p><p>
1518diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html b/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html
1519index 25a409b..ce915dd 100644
1520--- a/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html
1521+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html
1522@@ -1,7 +1,7 @@
1523 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1524 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1525-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
1526-</p><div class="table"><a id="id607071"/><p class="title"><b>Table 19.1. Profile Code Location</b></p><div class="table-contents"><table summary="Profile Code Location" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/></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
1527+<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; "/><link rel="home" href="../spine.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>
1528+</p><div class="table"><a id="id486504"/><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
1529 only included from <code class="code">impl/profiler.h</code>, which is the only
1530 file included from the public headers.</td></tr></tbody></table></div></div><br class="table-break"/><p>
1531 </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>
1532@@ -61,7 +61,7 @@
1533 call stack of its constructor location.
1534 </p><p>
1535 For details, see
1536- <a class="link" href="http://dx.doi.org/10.1109/CGO.2009.36" target="">paper presented at
1537+ <a class="link" href="http://dx.doi.org/10.1109/CGO.2009.36">paper presented at
1538 CGO 2009</a>.
1539 </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>
1540 Final analysis takes place offline, and it is based entirely on the
1541diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch19s03.html b/libstdc++-v3/doc/html/manual/bk01pt03ch19s03.html
1542index 64d44c3..37d1ed8 100644
1543--- a/libstdc++-v3/doc/html/manual/bk01pt03ch19s03.html
1544+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch19s03.html
1545@@ -1,6 +1,6 @@
1546 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1547 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1548-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Extensions for Custom Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
1549+<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; "/><link rel="home" href="../spine.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>
1550 Many large projects use their own data structures instead of the ones in the
1551 standard library. If these data structures are similar in functionality
1552 to the standard library, they can be instrumented with the same hooks
1553diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch19s04.html b/libstdc++-v3/doc/html/manual/bk01pt03ch19s04.html
1554index 9142e73..8fc162b 100644
1555--- a/libstdc++-v3/doc/html/manual/bk01pt03ch19s04.html
1556+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch19s04.html
1557@@ -1,6 +1,6 @@
1558 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1559 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1560-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Empirical Cost Model</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
1561+<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; "/><link rel="home" href="../spine.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>
1562 Currently, the cost model uses formulas with predefined relative weights
1563 for alternative containers or container implementations. For instance,
1564 iterating through a vector is X times faster than iterating through a list.
1565diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch19s05.html b/libstdc++-v3/doc/html/manual/bk01pt03ch19s05.html
1566index 74bf0a7..2d072f0 100644
1567--- a/libstdc++-v3/doc/html/manual/bk01pt03ch19s05.html
1568+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch19s05.html
1569@@ -1,6 +1,6 @@
1570 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1571 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1572-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Implementation Issues</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
1573+<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; "/><link rel="home" href="../spine.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>
1574 Accurate stack traces are needed during profiling since we group events by
1575 call context and dynamic instance. Without accurate traces, diagnostics
1576 may be hard to interpret. For instance, when giving advice to the user
1577diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html b/libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html
1578index 13f276d..ddcc7f5 100644
1579--- a/libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html
1580+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html
1581@@ -1,6 +1,6 @@
1582 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1583 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1584-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Developer Information</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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
1585+<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; "/><link rel="home" href="../spine.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
1586 <code class="code">-D_GLIBCXX_PROFILE</code> through preprocessor directives in
1587 <code class="code">include/std/*</code>.
1588 </p><p>Instrumented implementations are provided in
1589diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html b/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html
1590index b063391..8c134e7 100644
1591--- a/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html
1592+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html
1593@@ -1,6 +1,6 @@
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>Diagnostics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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="ext_allocators.html" title="Chapter 20. Allocators"/></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="ext_allocators.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>
1597+<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; "/><link rel="home" href="../spine.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="ext_allocators.html" title="Chapter 20. Allocators"/></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="ext_allocators.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>
1598 The table below presents all the diagnostics we intend to implement.
1599 Each diagnostic has a corresponding compile time switch
1600 <code class="code">-D_GLIBCXX_PROFILE_&lt;diagnostic&gt;</code>.
1601@@ -18,7 +18,7 @@
1602 A high accuracy means that the diagnostic is unlikely to be wrong.
1603 These grades are not perfect. They are just meant to guide users with
1604 specific needs or time budgets.
1605- </p><div class="table"><a id="id607953"/><p class="title"><b>Table 19.2. Profile Diagnostics</b></p><div class="table-contents"><table summary="Profile Diagnostics" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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">
1606+ </p><div class="table"><a id="id487386"/><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">
1607 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">
1608 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">
1609 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">
1610@@ -375,9 +375,9 @@ foo.cc:1: advice: Change "list" to "forward_list".
1611 Quick Sort for a particular call context.
1612 </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>
1613 See papers:
1614- <a class="link" href="http://portal.acm.org/citation.cfm?doid=1065944.1065981" target="">
1615+ <a class="link" href="http://portal.acm.org/citation.cfm?doid=1065944.1065981">
1616 A framework for adaptive algorithm selection in STAPL</a> and
1617- <a class="link" href="http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=4228227" target="">
1618+ <a class="link" href="http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=4228227">
1619 Optimizing Sorting with Machine Learning Algorithms</a>.
1620 </p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>60%.
1621 </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span> Change sort algorithm
1622@@ -442,7 +442,7 @@ foo.cc:7: advice: Insert prefetch instruction.
1623 </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>Allocation can be tuned
1624 to a specific traversal pattern, to result in better data locality.
1625 See paper:
1626- <a class="link" href="http://www.springerlink.com/content/8085744l00x72662/" target="">
1627+ <a class="link" href="http://www.springerlink.com/content/8085744l00x72662/">
1628 Custom Memory Allocation for Free</a>.
1629 </p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>30%.
1630 </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>
1631@@ -501,7 +501,7 @@ the allocation sequence or switching to a structure conscious allocator.
1632 Keep a shadow for each container. Record iterator dereferences and
1633 container member accesses. Issue advice for elements referenced by
1634 multiple threads.
1635- See paper: <a class="link" href="http://portal.acm.org/citation.cfm?id=207110.207148" target="">
1636+ See paper: <a class="link" href="http://portal.acm.org/citation.cfm?id=207110.207148">
1637 The LRPD test: speculative run-time parallelization of loops with
1638 privatization and reduction parallelization</a>.
1639 </p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
1640diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html b/libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html
1641index 843e233..eba8cfb 100644
1642--- a/libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html
1643+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html
1644@@ -1,6 +1,6 @@
1645 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1646 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1647-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>HP/SGI</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="ext_containers.html" title="Chapter 21. Containers"/><link rel="prev" href="ext_containers.html" title="Chapter 21. Containers"/><link rel="next" href="bk01pt03ch21s03.html" title="Deprecated HP/SGI"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">HP/SGI</th></tr><tr><td align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><th width="60%" align="center">Chapter 21. Containers</th><td align="right"> <a accesskey="n" href="bk01pt03ch21s03.html">Next</a></td></tr></table><hr/></div><div class="section" title="HP/SGI"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.sgi"/>HP/SGI</h2></div></div></div><p>
1648+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>HP/SGI</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="ext_containers.html" title="Chapter 21. Containers"/><link rel="prev" href="ext_containers.html" title="Chapter 21. Containers"/><link rel="next" href="bk01pt03ch21s03.html" title="Deprecated HP/SGI"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">HP/SGI</th></tr><tr><td align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><th width="60%" align="center">Chapter 21. Containers</th><td align="right"> <a accesskey="n" href="bk01pt03ch21s03.html">Next</a></td></tr></table><hr/></div><div class="section" title="HP/SGI"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.sgi"/>HP/SGI</h2></div></div></div><p>
1649 </p><p>A few extensions and nods to backwards-compatibility have been made with
1650 containers. Those dealing with older SGI-style allocators are dealt with
1651 elsewhere. The remaining ones all deal with bits:
1652diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch21s03.html b/libstdc++-v3/doc/html/manual/bk01pt03ch21s03.html
1653index 03ea182..2f75d60 100644
1654--- a/libstdc++-v3/doc/html/manual/bk01pt03ch21s03.html
1655+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch21s03.html
1656@@ -1,6 +1,6 @@
1657 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1658 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1659-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Deprecated HP/SGI</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="ext_containers.html" title="Chapter 21. Containers"/><link rel="prev" href="bk01pt03ch21s02.html" title="HP/SGI"/><link rel="next" href="ext_utilities.html" title="Chapter 22. Utilities"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Deprecated HP/SGI</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch21s02.html">Prev</a> </td><th width="60%" align="center">Chapter 21. Containers</th><td align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr></table><hr/></div><div class="section" title="Deprecated HP/SGI"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.deprecated_sgi"/>Deprecated HP/SGI</h2></div></div></div><p>
1660+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Deprecated HP/SGI</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="ext_containers.html" title="Chapter 21. Containers"/><link rel="prev" href="bk01pt03ch21s02.html" title="HP/SGI"/><link rel="next" href="ext_utilities.html" title="Chapter 22. Utilities"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Deprecated HP/SGI</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch21s02.html">Prev</a> </td><th width="60%" align="center">Chapter 21. Containers</th><td align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr></table><hr/></div><div class="section" title="Deprecated HP/SGI"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.deprecated_sgi"/>Deprecated HP/SGI</h2></div></div></div><p>
1661 The SGI hashing classes <code class="classname">hash_set</code> and
1662 <code class="classname">hash_set</code> have been deprecated by the
1663 unordered_set, unordered_multiset, unordered_map,
1664@@ -25,12 +25,12 @@
1665 sets.
1666 </p><p>Each of the associative containers map, multimap, set, and multiset
1667 have a counterpart which uses a
1668- <a class="link" href="http://www.sgi.com/tech/stl/HashFunction.html" target="">hashing
1669+ <a class="link" href="http://www.sgi.com/tech/stl/HashFunction.html">hashing
1670 function</a> to do the arranging, instead of a strict weak ordering
1671 function. The classes take as one of their template parameters a
1672 function object that will return the hash value; by default, an
1673 instantiation of
1674- <a class="link" href="http://www.sgi.com/tech/stl/hash.html" target="">hash</a>.
1675+ <a class="link" href="http://www.sgi.com/tech/stl/hash.html">hash</a>.
1676 You should specialize this functor for your class, or define your own,
1677 before trying to use one of the hashing classes.
1678 </p><p>The hashing classes support all the usual associative container
1679diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch28s02.html b/libstdc++-v3/doc/html/manual/bk01pt03ch28s02.html
1680index b4a73d8..4350e20 100644
1681--- a/libstdc++-v3/doc/html/manual/bk01pt03ch28s02.html
1682+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch28s02.html
1683@@ -1,6 +1,6 @@
1684 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1685 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1686-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Implementation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="ext_concurrency.html" title="Chapter 28. Concurrency"/><link rel="prev" href="ext_concurrency.html" title="Chapter 28. Concurrency"/><link rel="next" href="bk01pt03ch28s03.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 28. Concurrency</th><td align="right"> <a accesskey="n" href="bk01pt03ch28s03.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
1687+<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; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="ext_concurrency.html" title="Chapter 28. Concurrency"/><link rel="prev" href="ext_concurrency.html" title="Chapter 28. Concurrency"/><link rel="next" href="bk01pt03ch28s03.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 28. Concurrency</th><td align="right"> <a accesskey="n" href="bk01pt03ch28s03.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
1688 implemented via compiler intrinsics (if the underlying host is
1689 capable) or by library fallbacks.</p><p>Compiler intrinsics (builtins) are always preferred. However, as
1690 the compiler builtins for atomics are not universally implemented,
1691@@ -23,7 +23,7 @@ non-ancient x86 hardware, <code class="code">-march=native</code> usually does t
1692 trick.</p><p> For hosts without compiler intrinsics, but with capable
1693 hardware, hand-crafted assembly is selected. This is the case for the following hosts:
1694 </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.
1695-</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=""> documentation</a>.
1696+</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>.
1697 </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>.
1698 </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
1699 the thread interface for GCC. This layer is called "gthread," and is
1700@@ -33,7 +33,7 @@ a POSIX-like interface.
1701 the current host. In libstdc++ implementation files,
1702 &lt;bits/gthr.h&gt; is used to select the proper gthreads file.
1703 </p><p>Within libstdc++ sources, all calls to underlying thread functionality
1704-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="">documentation</a>.
1705+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>.
1706 </p><p>By design, the gthread layer is interoperable with the types,
1707 functions, and usage found in the usual &lt;pthread.h&gt; file,
1708 including <code class="code">pthread_t</code>, <code class="code">pthread_once_t</code>, <code class="code">pthread_create</code>,
1709diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch28s03.html b/libstdc++-v3/doc/html/manual/bk01pt03ch28s03.html
1710index 9349d14..b70d5a6 100644
1711--- a/libstdc++-v3/doc/html/manual/bk01pt03ch28s03.html
1712+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch28s03.html
1713@@ -1,6 +1,6 @@
1714 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1715 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1716-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Use</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="ext_concurrency.html" title="Chapter 28. Concurrency"/><link rel="prev" href="bk01pt03ch28s02.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="bk01pt03ch28s02.html">Prev</a> </td><th width="60%" align="center">Chapter 28. 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:
1717+<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; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="ext_concurrency.html" title="Chapter 28. Concurrency"/><link rel="prev" href="bk01pt03ch28s02.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="bk01pt03ch28s02.html">Prev</a> </td><th width="60%" align="center">Chapter 28. 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:
1718 </p><pre class="programlisting">
1719 #include &lt;ext/concurrence.h&gt;
1720
1721diff --git a/libstdc++-v3/doc/html/manual/bk01pt03pr01.html b/libstdc++-v3/doc/html/manual/bk01pt03pr01.html
1722index 38f9d2a..65348b7 100644
1723--- a/libstdc++-v3/doc/html/manual/bk01pt03pr01.html
1724+++ b/libstdc++-v3/doc/html/manual/bk01pt03pr01.html
1725@@ -1,9 +1,9 @@
1726 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1727 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1728-<html xmlns="http://www.w3.org/1999/xhtml"><head><title/><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
1729+<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; "/><link rel="home" href="../spine.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. 
1730 Extensions
1731
1732-</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="id602454"/></h1></div></div></div><p>
1733+</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="id481886"/></h1></div></div></div><p>
1734 Here we will make an attempt at describing the non-Standard extensions to
1735 the library. Some of these are from SGI's STL, some of these are GNU's,
1736 and some just seemed to appear on the doorstep.
1737diff --git a/libstdc++-v3/doc/html/manual/bk01pt04.html b/libstdc++-v3/doc/html/manual/bk01pt04.html
1738index 649db70..acdf72a 100644
1739--- a/libstdc++-v3/doc/html/manual/bk01pt04.html
1740+++ b/libstdc++-v3/doc/html/manual/bk01pt04.html
1741@@ -1,10 +1,10 @@
1742 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1743 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1744-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Part IV.  Appendices</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="spine.html" title="The GNU C++ Library Manual"/><link rel="prev" href="bk01pt03ch28s03.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. 
1745+<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"/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="spine.html" title="The GNU C++ Library Manual"/><link rel="prev" href="bk01pt03ch28s03.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. 
1746 Appendices
1747 </th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch28s03.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. 
1748 Appendices
1749-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="appendix"><a href="appendix_contributing.html">A.
1750+</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.
1751 Contributing
1752
1753 </a></span></dt><dd><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></dd><dt><span class="appendix"><a href="appendix_porting.html">B.
1754diff --git a/libstdc++-v3/doc/html/manual/bugs.html b/libstdc++-v3/doc/html/manual/bugs.html
1755index 423bcb6..eb6efdc 100644
1756--- a/libstdc++-v3/doc/html/manual/bugs.html
1757+++ b/libstdc++-v3/doc/html/manual/bugs.html
1758@@ -1,8 +1,8 @@
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>Bugs</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
1762+<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; "/><link rel="home" href="../spine.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>
1763 Information on known bugs, details on efforts to fix them, and
1764- fixed bugs are all available as part of the <a class="link" href="http://gcc.gnu.org/bugs/" target="">GCC bug tracking system</a>,
1765+ fixed bugs are all available as part of the <a class="link" href="http://gcc.gnu.org/bugs/">GCC bug tracking system</a>,
1766 with the category set to <code class="literal">libstdc++</code>.
1767 </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>
1768 Everybody's got issues. Even the C++ Standard Library.
1769@@ -15,9 +15,9 @@
1770 Here are the issues which have resulted in code changes to the library.
1771 The links are to the specific defect reports from a <span class="emphasis"><em>partial
1772 copy</em></span> of the Issues List. You can read the full version online
1773- at the <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/" target="">ISO C++
1774+ at the <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/">ISO C++
1775 Committee homepage</a>, linked to on the
1776- <a class="link" href="http://gcc.gnu.org/readings.html" target="">GCC "Readings"
1777+ <a class="link" href="http://gcc.gnu.org/readings.html">GCC "Readings"
1778 page</a>. If
1779 you spend a lot of time reading the issues, we recommend downloading
1780 the ZIP file and reading them locally.
1781@@ -34,318 +34,318 @@
1782 and src directories for appearances of
1783 <code class="constant">_GLIBCXX_RESOLVE_LIB_DEFECTS</code> for examples
1784 of style. Note that we usually do not make changes to the
1785- code until an issue has reached <a class="link" href="../ext/lwg-active.html#DR" target="">DR</a> status.
1786- </p><div class="variablelist"><dl><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#5" target="">5</a>:
1787+ code until an issue has reached <a class="link" href="../ext/lwg-active.html#DR">DR</a> status.
1788+ </p><div class="variablelist"><dl><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#5">5</a>:
1789 <span class="emphasis"><em>string::compare specification questionable</em></span>
1790 </span></dt><dd><p>This should be two overloaded functions rather than a single function.
1791- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#17" target="">17</a>:
1792+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#17">17</a>:
1793 <span class="emphasis"><em>Bad bool parsing</em></span>
1794 </span></dt><dd><p>Apparently extracting Boolean values was messed up...
1795- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#19" target="">19</a>:
1796+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#19">19</a>:
1797 <span class="emphasis"><em>"Noconv" definition too vague</em></span>
1798 </span></dt><dd><p>If <code class="code">codecvt::do_in</code> returns <code class="code">noconv</code> there are
1799 no changes to the values in <code class="code">[to, to_limit)</code>.
1800- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#22" target="">22</a>:
1801+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#22">22</a>:
1802 <span class="emphasis"><em>Member open vs flags</em></span>
1803 </span></dt><dd><p>Re-opening a file stream does <span class="emphasis"><em>not</em></span> clear the state flags.
1804- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#23" target="">23</a>:
1805+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#23">23</a>:
1806 <span class="emphasis"><em>Num_get overflow result</em></span>
1807 </span></dt><dd><p>Implement the proposed resolution.
1808- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#25" target="">25</a>:
1809+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#25">25</a>:
1810 <span class="emphasis"><em>String operator&lt;&lt; uses width() value wrong</em></span>
1811 </span></dt><dd><p>Padding issues.
1812- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#48" target="">48</a>:
1813+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#48">48</a>:
1814 <span class="emphasis"><em>Use of non-existent exception constructor</em></span>
1815 </span></dt><dd><p>An instance of <code class="code">ios_base::failure</code> is constructed instead.
1816- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#49" target="">49</a>:
1817+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#49">49</a>:
1818 <span class="emphasis"><em>Underspecification of ios_base::sync_with_stdio</em></span>
1819 </span></dt><dd><p>The return type is the <span class="emphasis"><em>previous</em></span> state of synchronization.
1820- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#50" target="">50</a>:
1821+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#50">50</a>:
1822 <span class="emphasis"><em>Copy constructor and assignment operator of ios_base</em></span>
1823 </span></dt><dd><p>These members functions are declared <code class="code">private</code> and are
1824 thus inaccessible. Specifying the correct semantics of
1825 "copying stream state" was deemed too complicated.
1826- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#60" target="">60</a>:
1827+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#60">60</a>:
1828 <span class="emphasis"><em>What is a formatted input function?</em></span>
1829 </span></dt><dd><p>This DR made many widespread changes to <code class="code">basic_istream</code>
1830 and <code class="code">basic_ostream</code> all of which have been implemented.
1831- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#63" target="">63</a>:
1832+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#63">63</a>:
1833 <span class="emphasis"><em>Exception-handling policy for unformatted output</em></span>
1834 </span></dt><dd><p>Make the policy consistent with that of formatted input, unformatted
1835 input, and formatted output.
1836- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#68" target="">68</a>:
1837+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#68">68</a>:
1838 <span class="emphasis"><em>Extractors for char* should store null at end</em></span>
1839 </span></dt><dd><p>And they do now. An editing glitch in the last item in the list of
1840 [27.6.1.2.3]/7.
1841- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#74" target="">74</a>:
1842+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#74">74</a>:
1843 <span class="emphasis"><em>Garbled text for codecvt::do_max_length</em></span>
1844 </span></dt><dd><p>The text of the standard was gibberish. Typos gone rampant.
1845- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#75" target="">75</a>:
1846+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#75">75</a>:
1847 <span class="emphasis"><em>Contradiction in codecvt::length's argument types</em></span>
1848 </span></dt><dd><p>Change the first parameter to <code class="code">stateT&amp;</code> and implement
1849 the new effects paragraph.
1850- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#83" target="">83</a>:
1851+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#83">83</a>:
1852 <span class="emphasis"><em>string::npos vs. string::max_size()</em></span>
1853 </span></dt><dd><p>Safety checks on the size of the string should test against
1854 <code class="code">max_size()</code> rather than <code class="code">npos</code>.
1855- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#90" target="">90</a>:
1856+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#90">90</a>:
1857 <span class="emphasis"><em>Incorrect description of operator&gt;&gt; for strings</em></span>
1858 </span></dt><dd><p>The effect contain <code class="code">isspace(c,getloc())</code> which must be
1859 replaced by <code class="code">isspace(c,is.getloc())</code>.
1860- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#91" target="">91</a>:
1861+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#91">91</a>:
1862 <span class="emphasis"><em>Description of operator&gt;&gt; and getline() for string&lt;&gt;
1863 might cause endless loop</em></span>
1864 </span></dt><dd><p>They behave as a formatted input function and as an unformatted
1865 input function, respectively (except that <code class="code">getline</code> is
1866 not required to set <code class="code">gcount</code>).
1867- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#103" target="">103</a>:
1868+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#103">103</a>:
1869 <span class="emphasis"><em>set::iterator is required to be modifiable, but this allows
1870 modification of keys.</em></span>
1871 </span></dt><dd><p>For associative containers where the value type is the same as
1872 the key type, both <code class="code">iterator</code> and <code class="code">const_iterator
1873 </code> are constant iterators.
1874- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#109" target="">109</a>:
1875+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#109">109</a>:
1876 <span class="emphasis"><em>Missing binders for non-const sequence elements</em></span>
1877 </span></dt><dd><p>The <code class="code">binder1st</code> and <code class="code">binder2nd</code> didn't have an
1878 <code class="code">operator()</code> taking a non-const parameter.
1879- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#110" target="">110</a>:
1880+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#110">110</a>:
1881 <span class="emphasis"><em>istreambuf_iterator::equal not const</em></span>
1882 </span></dt><dd><p>This was not a const member function. Note that the DR says to
1883 replace the function with a const one; we have instead provided an
1884 overloaded version with identical contents.
1885- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#117" target="">117</a>:
1886+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#117">117</a>:
1887 <span class="emphasis"><em>basic_ostream uses nonexistent num_put member functions</em></span>
1888 </span></dt><dd><p><code class="code">num_put::put()</code> was overloaded on the wrong types.
1889- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#118" target="">118</a>:
1890+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#118">118</a>:
1891 <span class="emphasis"><em>basic_istream uses nonexistent num_get member functions</em></span>
1892 </span></dt><dd><p>Same as 117, but for <code class="code">num_get::get()</code>.
1893- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#129" target="">129</a>:
1894+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#129">129</a>:
1895 <span class="emphasis"><em>Need error indication from seekp() and seekg()</em></span>
1896 </span></dt><dd><p>These functions set <code class="code">failbit</code> on error now.
1897- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#130" target="">130</a>:
1898+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#130">130</a>:
1899 <span class="emphasis"><em>Return type of container::erase(iterator) differs for associative containers</em></span>
1900 </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>.
1901- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#136" target="">136</a>:
1902+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#136">136</a>:
1903 <span class="emphasis"><em>seekp, seekg setting wrong streams?</em></span>
1904 </span></dt><dd><p><code class="code">seekp</code> should only set the output stream, and
1905 <code class="code">seekg</code> should only set the input stream.
1906- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#167" target="">167</a>:
1907+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#167">167</a>:
1908 <span class="emphasis"><em>Improper use of traits_type::length()</em></span>
1909 </span></dt><dd><p><code class="code">op&lt;&lt;</code> with a <code class="code">const char*</code> was
1910 calculating an incorrect number of characters to write.
1911- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#169" target="">169</a>:
1912+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#169">169</a>:
1913 <span class="emphasis"><em>Bad efficiency of overflow() mandated</em></span>
1914 </span></dt><dd><p>Grow efficiently the internal array object.
1915- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#171" target="">171</a>:
1916+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#171">171</a>:
1917 <span class="emphasis"><em>Strange seekpos() semantics due to joint position</em></span>
1918 </span></dt><dd><p>Quite complex to summarize...
1919- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#181" target="">181</a>:
1920+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#181">181</a>:
1921 <span class="emphasis"><em>make_pair() unintended behavior</em></span>
1922 </span></dt><dd><p>This function used to take its arguments as reference-to-const, now
1923 it copies them (pass by value).
1924- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#195" target="">195</a>:
1925+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#195">195</a>:
1926 <span class="emphasis"><em>Should basic_istream::sentry's constructor ever set eofbit?</em></span>
1927 </span></dt><dd><p>Yes, it can, specifically if EOF is reached while skipping whitespace.
1928- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#211" target="">211</a>:
1929+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#211">211</a>:
1930 <span class="emphasis"><em>operator&gt;&gt;(istream&amp;, string&amp;) doesn't set failbit</em></span>
1931 </span></dt><dd><p>If nothing is extracted into the string, <code class="code">op&gt;&gt;</code> now
1932 sets <code class="code">failbit</code> (which can cause an exception, etc., etc.).
1933- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#214" target="">214</a>:
1934+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#214">214</a>:
1935 <span class="emphasis"><em>set::find() missing const overload</em></span>
1936 </span></dt><dd><p>Both <code class="code">set</code> and <code class="code">multiset</code> were missing
1937 overloaded find, lower_bound, upper_bound, and equal_range functions
1938 for const instances.
1939- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#231" target="">231</a>:
1940+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#231">231</a>:
1941 <span class="emphasis"><em>Precision in iostream?</em></span>
1942 </span></dt><dd><p>For conversion from a floating-point type, <code class="code">str.precision()</code>
1943 is specified in the conversion specification.
1944- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#233" target="">233</a>:
1945+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#233">233</a>:
1946 <span class="emphasis"><em>Insertion hints in associative containers</em></span>
1947 </span></dt><dd><p>Implement N1780, first check before then check after, insert as close
1948 to hint as possible.
1949- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#235" target="">235</a>:
1950+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#235">235</a>:
1951 <span class="emphasis"><em>No specification of default ctor for reverse_iterator</em></span>
1952 </span></dt><dd><p>The declaration of <code class="code">reverse_iterator</code> lists a default constructor.
1953 However, no specification is given what this constructor should do.
1954- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#241" target="">241</a>:
1955+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#241">241</a>:
1956 <span class="emphasis"><em>Does unique_copy() require CopyConstructible and Assignable?</em></span>
1957 </span></dt><dd><p>Add a helper for forward_iterator/output_iterator, fix the existing
1958 one for input_iterator/output_iterator to not rely on Assignability.
1959- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#243" target="">243</a>:
1960+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#243">243</a>:
1961 <span class="emphasis"><em>get and getline when sentry reports failure</em></span>
1962 </span></dt><dd><p>Store a null character only if the character array has a non-zero size.
1963- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#251" target="">251</a>:
1964+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#251">251</a>:
1965 <span class="emphasis"><em>basic_stringbuf missing allocator_type</em></span>
1966 </span></dt><dd><p>This nested typedef was originally not specified.
1967- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#253" target="">253</a>:
1968+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#253">253</a>:
1969 <span class="emphasis"><em>valarray helper functions are almost entirely useless</em></span>
1970 </span></dt><dd><p>Make the copy constructor and copy-assignment operator declarations
1971 public in gslice_array, indirect_array, mask_array, slice_array; provide
1972 definitions.
1973- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#265" target="">265</a>:
1974+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#265">265</a>:
1975 <span class="emphasis"><em>std::pair::pair() effects overly restrictive</em></span>
1976 </span></dt><dd><p>The default ctor would build its members from copies of temporaries;
1977 now it simply uses their respective default ctors.
1978- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#266" target="">266</a>:
1979+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#266">266</a>:
1980 <span class="emphasis"><em>bad_exception::~bad_exception() missing Effects clause</em></span>
1981 </span></dt><dd><p>The <code class="code">bad_</code>* classes no longer have destructors (they
1982 are trivial), since no description of them was ever given.
1983- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#271" target="">271</a>:
1984+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#271">271</a>:
1985 <span class="emphasis"><em>basic_iostream missing typedefs</em></span>
1986 </span></dt><dd><p>The typedefs it inherits from its base classes can't be used, since
1987 (for example) <code class="code">basic_iostream&lt;T&gt;::traits_type</code> is ambiguous.
1988- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#275" target="">275</a>:
1989+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#275">275</a>:
1990 <span class="emphasis"><em>Wrong type in num_get::get() overloads</em></span>
1991 </span></dt><dd><p>Similar to 118.
1992- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#280" target="">280</a>:
1993+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#280">280</a>:
1994 <span class="emphasis"><em>Comparison of reverse_iterator to const reverse_iterator</em></span>
1995 </span></dt><dd><p>Add global functions with two template parameters.
1996 (NB: not added for now a templated assignment operator)
1997- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#292" target="">292</a>:
1998+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#292">292</a>:
1999 <span class="emphasis"><em>Effects of a.copyfmt (a)</em></span>
2000 </span></dt><dd><p>If <code class="code">(this == &amp;rhs)</code> do nothing.
2001- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#300" target="">300</a>:
2002+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#300">300</a>:
2003 <span class="emphasis"><em>List::merge() specification incomplete</em></span>
2004 </span></dt><dd><p>If <code class="code">(this == &amp;x)</code> do nothing.
2005- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#303" target="">303</a>:
2006+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#303">303</a>:
2007 <span class="emphasis"><em>Bitset input operator underspecified</em></span>
2008 </span></dt><dd><p>Basically, compare the input character to
2009 <code class="code">is.widen(0)</code> and <code class="code">is.widen(1)</code>.
2010- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#305" target="">305</a>:
2011+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#305">305</a>:
2012 <span class="emphasis"><em>Default behavior of codecvt&lt;wchar_t, char,
2013 mbstate_t&gt;::length()</em></span>
2014 </span></dt><dd><p>Do not specify what <code class="code">codecvt&lt;wchar_t, char,
2015 mbstate_t&gt;::do_length</code> must return.
2016- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#328" target="">328</a>:
2017+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#328">328</a>:
2018 <span class="emphasis"><em>Bad sprintf format modifier in
2019 money_put&lt;&gt;::do_put()</em></span>
2020 </span></dt><dd><p>Change the format string to "%.0Lf".
2021- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#365" target="">365</a>:
2022+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#365">365</a>:
2023 <span class="emphasis"><em>Lack of const-qualification in clause 27</em></span>
2024 </span></dt><dd><p>Add const overloads of <code class="code">is_open</code>.
2025- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#387" target="">387</a>:
2026+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#387">387</a>:
2027 <span class="emphasis"><em>std::complex over-encapsulated</em></span>
2028 </span></dt><dd><p>Add the <code class="code">real(T)</code> and <code class="code">imag(T)</code>
2029 members; in C++0x mode, also adjust the existing
2030 <code class="code">real()</code> and <code class="code">imag()</code> members and
2031 free functions.
2032- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#389" target="">389</a>:
2033+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#389">389</a>:
2034 <span class="emphasis"><em>Const overload of valarray::operator[] returns
2035 by value</em></span>
2036 </span></dt><dd><p>Change it to return a <code class="code">const T&amp;</code>.
2037- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#396" target="">396</a>:
2038+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#396">396</a>:
2039 <span class="emphasis"><em>what are characters zero and one</em></span>
2040 </span></dt><dd><p>Implement the proposed resolution.
2041- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#402" target="">402</a>:
2042+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#402">402</a>:
2043 <span class="emphasis"><em>Wrong new expression in [some_]allocator::construct</em></span>
2044 </span></dt><dd><p>Replace "new" with "::new".
2045- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#408" target="">408</a>:
2046+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#408">408</a>:
2047 <span class="emphasis"><em>
2048 Is vector&lt;reverse_iterator&lt;char*&gt; &gt; forbidden?
2049 </em></span>
2050 </span></dt><dd><p>Tweak the debug-mode checks in _Safe_iterator.
2051- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#409" target="">409</a>:
2052+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#409">409</a>:
2053 <span class="emphasis"><em>Closing an fstream should clear the error state</em></span>
2054 </span></dt><dd><p>Have <code class="code">open</code> clear the error flags.
2055- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#431" target="">431</a>:
2056+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#431">431</a>:
2057 <span class="emphasis"><em>Swapping containers with unequal allocators</em></span>
2058 </span></dt><dd><p>Implement Option 3, as per N1599.
2059- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#432" target="">432</a>:
2060+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#432">432</a>:
2061 <span class="emphasis"><em>stringbuf::overflow() makes only one write position
2062 available</em></span>
2063 </span></dt><dd><p>Implement the resolution, beyond DR 169.
2064- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#434" target="">434</a>:
2065+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#434">434</a>:
2066 <span class="emphasis"><em>bitset::to_string() hard to use</em></span>
2067 </span></dt><dd><p>Add three overloads, taking fewer template arguments.
2068- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#438" target="">438</a>:
2069+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#438">438</a>:
2070 <span class="emphasis"><em>Ambiguity in the "do the right thing" clause</em></span>
2071 </span></dt><dd><p>Implement the resolution, basically cast less.
2072- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#453" target="">453</a>:
2073+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#453">453</a>:
2074 <span class="emphasis"><em>basic_stringbuf::seekoff need not always fail for an empty stream</em></span>
2075 </span></dt><dd><p>Don't fail if the next pointer is null and newoff is zero.
2076- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#455" target="">455</a>:
2077+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#455">455</a>:
2078 <span class="emphasis"><em>cerr::tie() and wcerr::tie() are overspecified</em></span>
2079 </span></dt><dd><p>Initialize cerr tied to cout and wcerr tied to wcout.
2080- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#464" target="">464</a>:
2081+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#464">464</a>:
2082 <span class="emphasis"><em>Suggestion for new member functions in standard containers</em></span>
2083 </span></dt><dd><p>Add <code class="code">data()</code> to <code class="code">std::vector</code> and
2084 <code class="code">at(const key_type&amp;)</code> to <code class="code">std::map</code>.
2085- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#508" target="">508</a>:
2086+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#508">508</a>:
2087 <span class="emphasis"><em>Bad parameters for ranlux64_base_01</em></span>
2088 </span></dt><dd><p>Fix the parameters.
2089- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#512" target="">512</a>:
2090+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#512">512</a>:
2091 <span class="emphasis"><em>Seeding subtract_with_carry_01 from a single unsigned long</em></span>
2092 </span></dt><dd><p>Construct a <code class="code">linear_congruential</code> engine and seed with it.
2093- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#526" target="">526</a>:
2094+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#526">526</a>:
2095 <span class="emphasis"><em>Is it undefined if a function in the standard changes in
2096 parameters?</em></span>
2097 </span></dt><dd><p>Use &amp;value.
2098- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#538" target="">538</a>:
2099+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#538">538</a>:
2100 <span class="emphasis"><em>241 again: Does unique_copy() require CopyConstructible
2101 and Assignable?</em></span>
2102 </span></dt><dd><p>In case of input_iterator/output_iterator rely on Assignability of
2103 input_iterator' value_type.
2104- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#539" target="">539</a>:
2105+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#539">539</a>:
2106 <span class="emphasis"><em>partial_sum and adjacent_difference should mention
2107 requirements</em></span>
2108 </span></dt><dd><p>We were almost doing the right thing, just use std::move
2109 in adjacent_difference.
2110- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#541" target="">541</a>:
2111+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#541">541</a>:
2112 <span class="emphasis"><em>shared_ptr template assignment and void</em></span>
2113 </span></dt><dd><p>Add an auto_ptr&lt;void&gt; specialization.
2114- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#543" target="">543</a>:
2115+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#543">543</a>:
2116 <span class="emphasis"><em>valarray slice default constructor</em></span>
2117 </span></dt><dd><p>Follow the straightforward proposed resolution.
2118- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#550" target="">550</a>:
2119+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#550">550</a>:
2120 <span class="emphasis"><em>What should the return type of pow(float,int) be?</em></span>
2121 </span></dt><dd><p>In C++0x mode, remove the pow(float,int), etc., signatures.
2122- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#586" target="">586</a>:
2123+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#586">586</a>:
2124 <span class="emphasis"><em>string inserter not a formatted function</em></span>
2125 </span></dt><dd><p>Change it to be a formatted output function (i.e. catch exceptions).
2126- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#596" target="">596</a>:
2127+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#596">596</a>:
2128 <span class="emphasis"><em>27.8.1.3 Table 112 omits "a+" and "a+b" modes</em></span>
2129 </span></dt><dd><p>Add the missing modes to fopen_mode.
2130- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#630" target="">630</a>:
2131+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#630">630</a>:
2132 <span class="emphasis"><em>arrays of valarray</em></span>
2133 </span></dt><dd><p>Implement the simple resolution.
2134- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#660" target="">660</a>:
2135+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#660">660</a>:
2136 <span class="emphasis"><em>Missing bitwise operations</em></span>
2137 </span></dt><dd><p>Add the missing operations.
2138- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#691" target="">691</a>:
2139+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#691">691</a>:
2140 <span class="emphasis"><em>const_local_iterator cbegin, cend missing from TR1</em></span>
2141 </span></dt><dd><p>In C++0x mode add cbegin(size_type) and cend(size_type)
2142 to the unordered containers.
2143- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#693" target="">693</a>:
2144+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#693">693</a>:
2145 <span class="emphasis"><em>std::bitset::all() missing</em></span>
2146 </span></dt><dd><p>Add it, consistently with the discussion.
2147- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#695" target="">695</a>:
2148+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#695">695</a>:
2149 <span class="emphasis"><em>ctype&lt;char&gt;::classic_table() not accessible</em></span>
2150 </span></dt><dd><p>Make the member functions table and classic_table public.
2151- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#696" target="">696</a>:
2152+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#696">696</a>:
2153 <span class="emphasis"><em>istream::operator&gt;&gt;(int&amp;) broken</em></span>
2154 </span></dt><dd><p>Implement the straightforward resolution.
2155- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#761" target="">761</a>:
2156+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#761">761</a>:
2157 <span class="emphasis"><em>unordered_map needs an at() member function</em></span>
2158 </span></dt><dd><p>In C++0x mode, add at() and at() const.
2159- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#775" target="">775</a>:
2160+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#775">775</a>:
2161 <span class="emphasis"><em>Tuple indexing should be unsigned?</em></span>
2162 </span></dt><dd><p>Implement the int -&gt; size_t replacements.
2163- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#776" target="">776</a>:
2164+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#776">776</a>:
2165 <span class="emphasis"><em>Undescribed assign function of std::array</em></span>
2166 </span></dt><dd><p>In C++0x mode, remove assign, add fill.
2167- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#781" target="">781</a>:
2168+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#781">781</a>:
2169 <span class="emphasis"><em>std::complex should add missing C99 functions</em></span>
2170 </span></dt><dd><p>In C++0x mode, add std::proj.
2171- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#809" target="">809</a>:
2172+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#809">809</a>:
2173 <span class="emphasis"><em>std::swap should be overloaded for array types</em></span>
2174 </span></dt><dd><p>Add the overload.
2175- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#844" target="">844</a>:
2176+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#844">844</a>:
2177 <span class="emphasis"><em>complex pow return type is ambiguous</em></span>
2178 </span></dt><dd><p>In C++0x mode, remove the pow(complex&lt;T&gt;, int) signature.
2179- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#853" target="">853</a>:
2180+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#853">853</a>:
2181 <span class="emphasis"><em>to_string needs updating with zero and one</em></span>
2182 </span></dt><dd><p>Update / add the signatures.
2183- </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#865" target="">865</a>:
2184+ </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#865">865</a>:
2185 <span class="emphasis"><em>More algorithms that throw away information</em></span>
2186 </span></dt><dd><p>The traditional HP / SGI return type and value is blessed
2187 by the resolution of the DR.
2188diff --git a/libstdc++-v3/doc/html/manual/concurrency.html b/libstdc++-v3/doc/html/manual/concurrency.html
2189index 43b58e1..bc1b787 100644
2190--- a/libstdc++-v3/doc/html/manual/concurrency.html
2191+++ b/libstdc++-v3/doc/html/manual/concurrency.html
2192@@ -1,14 +1,14 @@
2193 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2194 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2195-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 15.  Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; , &#10; mutex&#10; , &#10; thread&#10; , &#10; future&#10; , &#10; condition_variable&#10; "/><link rel="home" href="../spine.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. 
2196+<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; "/><link rel="home" href="../spine.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. 
2197 Concurrency
2198
2199 </th></tr><tr><td align="left"><a accesskey="p" href="atomics.html">Prev</a> </td><th width="60%" align="center">Part II. 
2200 Standard Contents
2201- </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><h1 class="title"><a id="std.concurrency"/>
2202+ </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. 
2203 Concurrency
2204- <a id="id602270" class="indexterm"/>
2205-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></div><p>
2206+ <a id="id481702" class="indexterm"/>
2207+</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>
2208 Facilities for concurrent operation, and control thereof.
2209 </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>
2210 All items are declared in one of four standard header files.
2211diff --git a/libstdc++-v3/doc/html/manual/configure.html b/libstdc++-v3/doc/html/manual/configure.html
2212index 5d56b43..70409d0 100644
2213--- a/libstdc++-v3/doc/html/manual/configure.html
2214+++ b/libstdc++-v3/doc/html/manual/configure.html
2215@@ -1,6 +1,6 @@
2216 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2217 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2218-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Configure</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><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; "/><link rel="home" href="../spine.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>
2219+<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; "/><link rel="home" href="../spine.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>
2220 When configuring libstdc++, you'll have to configure the entire
2221 <span class="emphasis"><em>gccsrcdir</em></span> directory. Consider using the
2222 toplevel gcc configuration option
2223@@ -10,7 +10,7 @@
2224 Here are all of the configure options specific to libstdc++. Keep
2225 in mind that
2226
2227- <a class="link" href="http://sourceware.org/autobook/autobook/autobook_14.html" target="">they
2228+ <a class="link" href="http://sourceware.org/autobook/autobook/autobook_14.html">they
2229 all have opposite forms as well</a> (enable/disable and
2230 with/without). The defaults are for the <span class="emphasis"><em>current
2231 development sources</em></span>, which may be different than those
2232@@ -53,7 +53,7 @@
2233 choices are 'ieee_1003.1-2001' to specify an X/Open, Standard Unix
2234 (IEEE Std. 1003.1-2001) model based on langinfo/iconv/catgets,
2235 'gnu' to specify a model based on functionality from the GNU C
2236- library (langinfo/iconv/gettext) (from <a class="link" href="http://sources.redhat.com/glibc/" target="">glibc</a>, the GNU C
2237+ library (langinfo/iconv/gettext) (from <a class="link" href="http://sources.redhat.com/glibc/">glibc</a>, the GNU C
2238 library), or 'generic' to use a generic "C"
2239 abstraction which consists of "C" locale info.
2240 </p><p>If not explicitly specified, the configure proccess tries
2241@@ -80,10 +80,24 @@
2242 (described next).
2243 </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
2244 given in the
2245- general <a class="link" href="http://gcc.gnu.org/install/configure.html" target="">compiler
2246+ general <a class="link" href="http://gcc.gnu.org/install/configure.html">compiler
2247 configuration instructions</a>. This option can change the
2248 library ABI.
2249- </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-debug</code></span></dt><dd><p>Build separate debug libraries in addition to what is normally built.
2250+ </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-time</code></span></dt><dd><p>This is an abbreviated form of
2251+ <code class="code">'--enable-libstdcxx-time=yes'</code>(described next).
2252+ </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
2253+ clock_gettime clocks, used in the implementation of [time.clock],
2254+ and of the nanosleep and sched_yield functions, used in the
2255+ implementation of [thread.thread.this] of the current C++0x draft.
2256+ The choice OPTION=yes checks for the availability of the facilities
2257+ in libc and libposix4. In case of need the latter is also linked
2258+ to libstdc++ as part of the build process. OPTION=rt also searches
2259+ (and, in case, links) librt. Note that the latter is not always
2260+ desirable because, in glibc, for example, in turn it triggers the
2261+ linking of libpthread too, which activates locking, a large overhead
2262+ for single-thread programs. OPTION=no skips the tests completely.
2263+ The default is OPTION=no.
2264+ </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-debug</code></span></dt><dd><p>Build separate debug libraries in addition to what is normally built.
2265 By default, the debug libraries are compiled with
2266 <code class="code"> CXXFLAGS='-g3 -O0 -fno-inline'</code>
2267 , are installed in <code class="code">${libdir}/debug</code>, and have the
2268@@ -180,24 +194,18 @@
2269 In addition, this generated file is used later on (by appending <code class="code">
2270 --include bits/stdc++.h </code> to CXXFLAGS) when running the
2271 testsuite.
2272+ </p></dd><dt><span class="term"><code class="code">--enable-extern-template</code>[default]</span></dt><dd><p>Use extern template to pre-instantiate all required
2273+ specializations for certain types defined in the standard libraries.
2274+ These types include <code class="classname">string</code> and dependents like
2275+ <code class="classname">char_traits</code>, the templateized io classes,
2276+ <code class="classname">allocator</code>, and others.
2277+ Disabling means that implicit
2278+ template generation will be used when compiling these types. By
2279+ default, this option is on. This option can change the library ABI.
2280 </p></dd><dt><span class="term"><code class="code">--disable-hosted-libstdcxx</code></span></dt><dd><p>
2281 By default, a complete <span class="emphasis"><em>hosted</em></span> C++ library is
2282 built. The C++ Standard also describes a
2283 <span class="emphasis"><em>freestanding</em></span> environment, in which only a
2284 minimal set of headers are provided. This option builds such an
2285 environment.
2286- </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-time</code></span></dt><dd><p>This is an abbreviated form of
2287- <code class="code">'--enable-libstdcxx-time=yes'</code>(described next).
2288- </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
2289- clock_gettime clocks, used in the implementation of [time.clock],
2290- and of the nanosleep and sched_yield functions, used in the
2291- implementation of [thread.thread.this] of the current C++0x draft.
2292- The choice OPTION=yes checks for the availability of the facilities
2293- in libc and libposix4. In case of need the latter is also linked
2294- to libstdc++ as part of the build process. OPTION=rt also searches
2295- (and, in case, links) librt. Note that the latter is not always
2296- desirable because, in glibc, for example, in turn it triggers the
2297- linking of libpthread too, which activates locking, a large overhead
2298- for single-thread programs. OPTION=no skips the tests completely.
2299- The default is OPTION=no.
2300- </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="../spine.html">Home</a></td><td align="right" valign="top"> Make</td></tr></table></div></body></html>
2301+ </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="../spine.html">Home</a></td><td align="right" valign="top"> Make</td></tr></table></div></body></html>
2302diff --git a/libstdc++-v3/doc/html/manual/containers.html b/libstdc++-v3/doc/html/manual/containers.html
2303index c89c6b7..1185af6 100644
2304--- a/libstdc++-v3/doc/html/manual/containers.html
2305+++ b/libstdc++-v3/doc/html/manual/containers.html
2306@@ -1,17 +1,17 @@
2307 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2308 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2309-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 9.  Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
2310+<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; "/><link rel="home" href="../spine.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. 
2311 Containers
2312
2313 </th></tr><tr><td align="left"><a accesskey="p" href="facets.html">Prev</a> </td><th width="60%" align="center">Part II. 
2314 Standard Contents
2315- </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><h1 class="title"><a id="std.containers"/>
2316+ </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. 
2317 Containers
2318- <a id="id599317" class="indexterm"/>
2319-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt></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></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>
2320+ <a id="id478750" class="indexterm"/>
2321+</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><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt></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></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>
2322 Yes it is, and that's okay. This is a decision that we preserved
2323 when we imported SGI's STL implementation. The following is
2324- quoted from <a class="link" href="http://www.sgi.com/tech/stl/FAQ.html" target="">their FAQ</a>:
2325+ quoted from <a class="link" href="http://www.sgi.com/tech/stl/FAQ.html">their FAQ</a>:
2326 </p><div class="blockquote"><blockquote class="blockquote"><p>
2327 The size() member function, for list and slist, takes time
2328 proportional to the number of elements in the list. This was a
2329@@ -44,12 +44,12 @@
2330 ...
2331 </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>
2332 </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>
2333- In <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-04/msg00105.html" target="">this
2334+ In <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-04/msg00105.html">this
2335 message to the list</a>, Daniel Kostecky announced work on an
2336 alternate form of <code class="code">std::vector</code> that would support
2337 hints on the number of elements to be over-allocated. The design
2338 was also described, along with possible implementation choices.
2339 </p><p>
2340- The first two alpha releases were announced <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00048.html" target="">here</a>
2341- and <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00111.html" target="">here</a>.
2342+ The first two alpha releases were announced <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00048.html">here</a>
2343+ and <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00111.html">here</a>.
2344 </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="../spine.html">Home</a></td><td align="right" valign="top"> Associative</td></tr></table></div></body></html>
2345diff --git a/libstdc++-v3/doc/html/manual/containers_and_c.html b/libstdc++-v3/doc/html/manual/containers_and_c.html
2346index 0c0ef56..3e612aa 100644
2347--- a/libstdc++-v3/doc/html/manual/containers_and_c.html
2348+++ b/libstdc++-v3/doc/html/manual/containers_and_c.html
2349@@ -1,6 +1,6 @@
2350 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2351 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2352-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
2353+<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; "/><link rel="home" href="../spine.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. 
2354 Containers
2355
2356 </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>
2357diff --git a/libstdc++-v3/doc/html/manual/debug.html b/libstdc++-v3/doc/html/manual/debug.html
2358index e33c107..55b5abf 100644
2359--- a/libstdc++-v3/doc/html/manual/debug.html
2360+++ b/libstdc++-v3/doc/html/manual/debug.html
2361@@ -1,6 +1,6 @@
2362 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2363 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2364-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Debugging Support</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; debug&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
2365+<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; "/><link rel="home" href="../spine.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>
2366 There are numerous things that can be done to improve the ease with
2367 which C++ binaries are debugged when using the GNU tool chain. Here
2368 are some of them.
2369@@ -28,7 +28,7 @@
2370 platform can be identified via the value set by the
2371 PREFERRED_DEBUGGING_TYPE macro in the gcc sources.
2372 </p><p>
2373- Many other options are available: please see <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options" target="">"Options
2374+ Many other options are available: please see <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options">"Options
2375 for Debugging Your Program"</a> in Using the GNU Compiler
2376 Collection (GCC) for a complete list.
2377 </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>
2378@@ -147,11 +147,11 @@
2379 </p><p>
2380 The approach described above is known to work with the following race
2381 detection tools:
2382- <a class="link" href="http://valgrind.org/docs/manual/drd-manual.html" target="">
2383+ <a class="link" href="http://valgrind.org/docs/manual/drd-manual.html">
2384 DRD</a>,
2385- <a class="link" href="http://valgrind.org/docs/manual/hg-manual.html" target="">
2386+ <a class="link" href="http://valgrind.org/docs/manual/hg-manual.html">
2387 Helgrind</a>, and
2388- <a class="link" href="http://code.google.com/p/data-race-test" target="">
2389+ <a class="link" href="http://code.google.com/p/data-race-test">
2390 ThreadSanitizer</a>.
2391 </p><p>
2392 With DRD, Helgrind and ThreadSanitizer you will need to define
2393@@ -163,7 +163,7 @@
2394 Refer to the documentation of each particular tool for details.
2395 </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>
2396 </p><p>
2397- Many options are available for GDB itself: please see <a class="link" href="http://sources.redhat.com/gdb/current/onlinedocs/gdb/" target="">
2398+ Many options are available for GDB itself: please see <a class="link" href="http://sources.redhat.com/gdb/current/onlinedocs/gdb/">
2399 "GDB features for C++" </a> in the GDB documentation. Also
2400 recommended: the other parts of this manual.
2401 </p><p>
2402@@ -207,12 +207,12 @@
2403 pretty-printers were not loaded.
2404 </p><p>
2405 For additional information on STL support and GDB please visit:
2406- <a class="link" href="http://sourceware.org/gdb/wiki/STLSupport" target=""> "GDB Support
2407+ <a class="link" href="http://sourceware.org/gdb/wiki/STLSupport"> "GDB Support
2408 for STL" </a> in the GDB wiki. Additionally, in-depth
2409 documentation and discussion of the pretty printing feature can be
2410 found in "Pretty Printing" node in the GDB manual. You can find
2411 on-line versions of the GDB user manual in GDB's homepage, at
2412- <a class="link" href="http://sourceware.org/gdb/" target=""> "GDB: The GNU Project
2413+ <a class="link" href="http://sourceware.org/gdb/"> "GDB: The GNU Project
2414 Debugger" </a>.
2415 </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>
2416 The <a class="link" href="termination.html#support.termination.verbose" title="Verbose Terminate Handler">verbose
2417diff --git a/libstdc++-v3/doc/html/manual/debug_mode.html b/libstdc++-v3/doc/html/manual/debug_mode.html
2418index 66a2de5..f35960b 100644
2419--- a/libstdc++-v3/doc/html/manual/debug_mode.html
2420+++ b/libstdc++-v3/doc/html/manual/debug_mode.html
2421@@ -1,9 +1,9 @@
2422 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2423 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2424-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 17. Debug Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; debug&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
2425+<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; "/><link rel="home" href="../spine.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. 
2426 Extensions
2427
2428-</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><h1 class="title"><a id="manual.ext.debug_mode"/>Debug Mode</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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><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>
2429+</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><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>
2430 By default, libstdc++ is built with efficiency in mind, and
2431 therefore performs little or no error checking that is not
2432 required by the C++ standard. This means that programs that
2433diff --git a/libstdc++-v3/doc/html/manual/diagnostics.html b/libstdc++-v3/doc/html/manual/diagnostics.html
2434index 1f86869..9c9abdf 100644
2435--- a/libstdc++-v3/doc/html/manual/diagnostics.html
2436+++ b/libstdc++-v3/doc/html/manual/diagnostics.html
2437@@ -1,14 +1,14 @@
2438 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2439 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2440-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 5.  Diagnostics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
2441+<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; "/><link rel="home" href="../spine.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. 
2442 Diagnostics
2443
2444 </th></tr><tr><td align="left"><a accesskey="p" href="termination.html">Prev</a> </td><th width="60%" align="center">Part II. 
2445 Standard Contents
2446- </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><h1 class="title"><a id="std.diagnostics"/>
2447+ </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. 
2448 Diagnostics
2449- <a id="id592934" class="indexterm"/>
2450-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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>
2451+ <a id="id472366" class="indexterm"/>
2452+</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>
2453 All exception objects are defined in one of the standard header
2454 files: <code class="filename">exception</code>,
2455 <code class="filename">stdexcept</code>, <code class="filename">new</code>, and
2456diff --git a/libstdc++-v3/doc/html/manual/documentation_hacking.html b/libstdc++-v3/doc/html/manual/documentation_hacking.html
2457index 8e80c67..fbb85b1 100644
2458--- a/libstdc++-v3/doc/html/manual/documentation_hacking.html
2459+++ b/libstdc++-v3/doc/html/manual/documentation_hacking.html
2460@@ -1,6 +1,6 @@
2461 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2462 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2463-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Writing and Generating Documentation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="ISO C++, documentation, style, docbook, doxygen"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
2464+<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; "/><link rel="home" href="../spine.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. 
2465 Porting and Maintenance
2466
2467 </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>
2468@@ -25,7 +25,7 @@
2469 reference. Although divergent, this conforms to the GNU Project
2470 recommendations as long as the output is of sufficient quality,
2471 as per
2472- <a class="link" href="http://www.gnu.org/prep/standards/standards.html#Documentation" target="">
2473+ <a class="link" href="http://www.gnu.org/prep/standards/standards.html#Documentation">
2474 GNU Manuals</a>.
2475 </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>
2476 Certain Makefile rules are required by the GNU Coding
2477@@ -117,19 +117,19 @@
2478 supported, and are always aliased to dummy rules. These
2479 unsupported formats are: <span class="emphasis"><em>info</em></span>,
2480 <span class="emphasis"><em>ps</em></span>, and <span class="emphasis"><em>dvi</em></span>.
2481- </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="id615654"/><p class="title"><b>Table B.1. Doxygen Prerequisites</b></p><div class="table-contents"><table summary="Doxygen Prerequisites" border="1"><colgroup><col style="text-align: center"/><col style="text-align: center"/><col style="text-align: center"/></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>
2482+ </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="id495087"/><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>
2483 Prerequisite tools are Bash 2.0 or later,
2484- <a class="link" href="http://www.doxygen.org/" target="">Doxygen</a>, and
2485- the <a class="link" href="http://www.gnu.org/software/coreutils/" target="">GNU
2486+ <a class="link" href="http://www.doxygen.org/">Doxygen</a>, and
2487+ the <a class="link" href="http://www.gnu.org/software/coreutils/">GNU
2488 coreutils</a>. (GNU versions of find, xargs, and possibly
2489 sed and grep are used, just because the GNU versions make
2490 things very easy.)
2491 </p><p>
2492 To generate the pretty pictures and hierarchy
2493 graphs, the
2494- <a class="link" href="http://www.graphviz.org" target="">Graphviz</a> package
2495+ <a class="link" href="http://www.graphviz.org">Graphviz</a> package
2496 will need to be installed. For PDF
2497- output, <a class="link" href="http://www.tug.org/applications/pdftex/" target="">
2498+ output, <a class="link" href="http://www.tug.org/applications/pdftex/">
2499 pdflatex</a> is required.
2500 </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>
2501 The following Makefile rules run Doxygen to generate HTML
2502@@ -173,7 +173,7 @@
2503 Adding Doxygen markup to a file (informally called
2504 <span class="quote">“<span class="quote">doxygenating</span>”</span>) is very simple. The Doxygen manual can be
2505 found
2506- <a class="link" href="http://www.stack.nl/~dimitri/doxygen/download.html#latestman" target="">here</a>.
2507+ <a class="link" href="http://www.stack.nl/~dimitri/doxygen/download.html#latestman">here</a>.
2508 We try to use a very-recent version of Doxygen.
2509 </p><p>
2510 For classes, use
2511@@ -185,7 +185,7 @@
2512 member functions.
2513 </p><p>
2514 Some commentary to accompany
2515- the first list in the <a class="link" href="http://www.stack.nl/~dimitri/doxygen/docblocks.html" target="">Special
2516+ the first list in the <a class="link" href="http://www.stack.nl/~dimitri/doxygen/docblocks.html">Special
2517 Documentation Blocks</a> section of
2518 the Doxygen manual:
2519 </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>For longer comments, use the Javadoc style...</p></li><li class="listitem"><p>
2520@@ -263,7 +263,7 @@
2521 writing Doxygen comments. Single and double quotes, and
2522 separators in filenames are two common trouble spots. When in
2523 doubt, consult the following table.
2524- </p><div class="table"><a id="id616157"/><p class="title"><b>Table B.2. HTML to Doxygen Markup Comparison</b></p><div class="table-contents"><table summary="HTML to Doxygen Markup Comparison" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/></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="id616319"/><p class="title"><b>Table B.3. Docbook Prerequisites</b></p><div class="table-contents"><table summary="Docbook Prerequisites" border="1"><colgroup><col style="text-align: center"/><col style="text-align: center"/><col style="text-align: center"/></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></tbody></table></div></div><br class="table-break"/><p>
2525+ </p><div class="table"><a id="id495589"/><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="id495751"/><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></tbody></table></div></div><br class="table-break"/><p>
2526 Editing the DocBook sources requires an XML editor. Many
2527 exist: some notable options
2528 include <span class="command"><strong>emacs</strong></span>, <span class="application">Kate</span>,
2529@@ -298,16 +298,16 @@
2530 by a vendor package like <code class="filename">libxml2</code> and <code class="filename">docbook5-schemas-5.0-4</code>
2531 </p><p>
2532 For PDF output, something that transforms valid Docbook XML to PDF is
2533- required. Possible solutions include <a class="link" href="http://dblatex.sourceforge.net" target="">dblatex</a>,
2534+ required. Possible solutions include <a class="link" href="http://dblatex.sourceforge.net">dblatex</a>,
2535 <span class="command"><strong>xmlto</strong></span>, or <span class="command"><strong>prince</strong></span>. Of
2536 these, <span class="command"><strong>dblatex</strong></span> is the default. Other
2537- options are listed on the DocBook web <a class="link" href="http://wiki.docbook.org/topic/DocBookPublishingTools" target="">pages</a>. Please
2538+ options are listed on the DocBook web <a class="link" href="http://wiki.docbook.org/topic/DocBookPublishingTools">pages</a>. Please
2539 consult the <code class="email">&lt;<a class="email" href="mailto:libstdc++@gcc.gnu.org">libstdc++@gcc.gnu.org</a>&gt;</code> list when
2540 preparing printed manuals for current best practice and
2541 suggestions.
2542 </p><p>
2543 For Texinfo output, something that transforms valid Docbook
2544- XML to Texinfo is required. The default choice is <a class="link" href="http://docbook2x.sourceforge.net/" target="">docbook2X</a>.
2545+ XML to Texinfo is required. The default choice is <a class="link" href="http://docbook2x.sourceforge.net/">docbook2X</a>.
2546 </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>
2547 The following Makefile rules generate (in order): an HTML
2548 version of all the DocBook documentation, a PDF version of the
2549@@ -347,7 +347,7 @@ make <code class="literal">XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwal
2550 </code></strong>
2551 </pre><p>
2552 Please note that individual sections and chapters of the
2553- manual can be validated by substiuting the file desired for
2554+ manual can be validated by substituting the file desired for
2555 <code class="filename">xml/index.xml</code> in the command
2556 above. Reducing scope in this manner can be helpful when
2557 validation on the entire manual fails.
2558@@ -416,14 +416,14 @@ make <code class="literal">XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwal
2559     </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>
2560 Complete details on Docbook markup can be found in the DocBook
2561 Element Reference,
2562- <a class="link" href="http://www.docbook.org/tdg/en/html/part2.html" target="">online</a>.
2563+ <a class="link" href="http://www.docbook.org/tdg/en/html/part2.html">online</a>.
2564 An incomplete reference for HTML to Docbook conversion is
2565 detailed in the table below.
2566- </p><div class="table"><a id="id616796"/><p class="title"><b>Table B.4. HTML to Docbook XML Markup Comparison</b></p><div class="table-contents"><table summary="HTML to Docbook XML Markup Comparison" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/></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;,
2567+ </p><div class="table"><a id="id496228"/><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;,
2568 &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>
2569 And examples of detailed markup for which there are no real HTML
2570 equivalents are listed in the table below.
2571-</p><div class="table"><a id="id616997"/><p class="title"><b>Table B.5. Docbook XML Element Use</b></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/></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">
2572+</p><div class="table"><a id="id496429"/><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">
2573 <p>&lt;function&gt;clear()&lt;/function&gt;</p>
2574 <p>&lt;function&gt;fs.clear()&lt;/function&gt;</p>
2575 </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">
2576diff --git a/libstdc++-v3/doc/html/manual/dynamic_memory.html b/libstdc++-v3/doc/html/manual/dynamic_memory.html
2577index c217415..481347b 100644
2578--- a/libstdc++-v3/doc/html/manual/dynamic_memory.html
2579+++ b/libstdc++-v3/doc/html/manual/dynamic_memory.html
2580@@ -1,6 +1,6 @@
2581 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2582 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2583-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Dynamic Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
2584+<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; "/><link rel="home" href="../spine.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. 
2585 Support
2586
2587 </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>
2588diff --git a/libstdc++-v3/doc/html/manual/ext_algorithms.html b/libstdc++-v3/doc/html/manual/ext_algorithms.html
2589index 9e956ba..354dd9b 100644
2590--- a/libstdc++-v3/doc/html/manual/ext_algorithms.html
2591+++ b/libstdc++-v3/doc/html/manual/ext_algorithms.html
2592@@ -1,9 +1,9 @@
2593 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2594 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2595-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 23. Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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 22. Utilities"/><link rel="next" href="ext_numerics.html" title="Chapter 24. Numerics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 23. Algorithms</th></tr><tr><td align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><th width="60%" align="center">Part III. 
2596+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 23. Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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 22. Utilities"/><link rel="next" href="ext_numerics.html" title="Chapter 24. Numerics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 23. Algorithms</th></tr><tr><td align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><th width="60%" align="center">Part III. 
2597 Extensions
2598
2599-</th><td align="right"> <a accesskey="n" href="ext_numerics.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 23. Algorithms"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext.algorithms"/>Algorithms</h1></div></div></div><p>25.1.6 (count, count_if) is extended with two more versions of count
2600+</th><td align="right"> <a accesskey="n" href="ext_numerics.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 23. Algorithms"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.algorithms"/>Chapter 23. Algorithms</h2></div></div></div><p>25.1.6 (count, count_if) is extended with two more versions of count
2601 and count_if. The standard versions return their results. The
2602 additional signatures return void, but take a final parameter by
2603 reference to which they assign their results, e.g.,
2604diff --git a/libstdc++-v3/doc/html/manual/ext_allocators.html b/libstdc++-v3/doc/html/manual/ext_allocators.html
2605index 5aee3fb..bd283b7 100644
2606--- a/libstdc++-v3/doc/html/manual/ext_allocators.html
2607+++ b/libstdc++-v3/doc/html/manual/ext_allocators.html
2608@@ -1,9 +1,9 @@
2609 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2610 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2611-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 20. Allocators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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="bitmap_allocator.html" title="bitmap_allocator"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 20. Allocators</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s07.html">Prev</a> </td><th width="60%" align="center">Part III. 
2612+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 20. Allocators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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="bitmap_allocator.html" title="bitmap_allocator"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 20. Allocators</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s07.html">Prev</a> </td><th width="60%" align="center">Part III. 
2613 Extensions
2614
2615-</th><td align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 20. Allocators"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext.allocator"/>Allocators</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ext_allocators.html#manual.ext.allocator.mt">mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="ext_allocators.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.impl">Implementation</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.example_single">Single Thread Example</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.example_multi">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="section"><a href="bitmap_allocator.html">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="bitmap_allocator.html#allocator.bitmap.impl">Implementation</a></span></dt></dl></dd></dl></div><div class="section" title="mt_allocator"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.mt"/>mt_allocator</h2></div></div></div><p>
2616+</th><td align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 20. Allocators"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator"/>Chapter 20. Allocators</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_allocators.html#manual.ext.allocator.mt">mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="ext_allocators.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.impl">Implementation</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.example_single">Single Thread Example</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.example_multi">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="section"><a href="bitmap_allocator.html">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="bitmap_allocator.html#allocator.bitmap.impl">Implementation</a></span></dt></dl></dd></dl></div><div class="section" title="mt_allocator"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.mt"/>mt_allocator</h2></div></div></div><p>
2617 </p><div class="section" title="Intro"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.intro"/>Intro</h3></div></div></div><p>
2618 The mt allocator [hereinafter referred to simply as "the allocator"]
2619 is a fixed size (power of two) allocator that was initially
2620@@ -212,7 +212,7 @@ containers, this works, as an instance of the allocator is constructed
2621 as part of a container's constructor. However, this assumption is
2622 implementation-specific, and subject to change. For an example of a
2623 pool that frees memory, see the following
2624- <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc?view=markup" target="">
2625+ <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc?view=markup">
2626 example.</a>
2627 </p></div></div><div class="section" title="Single Thread Example"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.example_single"/>Single Thread Example</h3></div></div></div><p>
2628 Let's start by describing how the data on a freelist is laid out in memory.
2629diff --git a/libstdc++-v3/doc/html/manual/ext_compile_checks.html b/libstdc++-v3/doc/html/manual/ext_compile_checks.html
2630index 2363456..c648797 100644
2631--- a/libstdc++-v3/doc/html/manual/ext_compile_checks.html
2632+++ b/libstdc++-v3/doc/html/manual/ext_compile_checks.html
2633@@ -1,9 +1,9 @@
2634 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2635 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2636-<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.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
2637+<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; "/><link rel="home" href="../spine.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. 
2638 Extensions
2639
2640-</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><h1 class="title"><a id="manual.ext.compile_checks"/>Compile Time Checks</h1></div></div></div><p>
2641+</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>
2642 Also known as concept checking.
2643 </p><p>In 1999, SGI added <span class="emphasis"><em>concept checkers</em></span> to their implementation
2644 of the STL: code which checked the template parameters of
2645@@ -19,7 +19,7 @@
2646 </p><p>The primary author of the checking code, Jeremy Siek, had already
2647 started work on a replacement implementation. The new code has been
2648 formally reviewed and accepted into
2649- <a class="link" href="http://www.boost.org/libs/concept_check/concept_check.htm" target="">the
2650+ <a class="link" href="http://www.boost.org/libs/concept_check/concept_check.htm">the
2651 Boost libraries</a>, and we are pleased to incorporate it into the
2652 GNU C++ library.
2653 </p><p>The new version imposes a much smaller space overhead on the generated
2654diff --git a/libstdc++-v3/doc/html/manual/ext_concurrency.html b/libstdc++-v3/doc/html/manual/ext_concurrency.html
2655index db95269..99718e0 100644
2656--- a/libstdc++-v3/doc/html/manual/ext_concurrency.html
2657+++ b/libstdc++-v3/doc/html/manual/ext_concurrency.html
2658@@ -1,9 +1,9 @@
2659 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2660 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2661-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 28. Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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 27. Demangling"/><link rel="next" href="bk01pt03ch28s02.html" title="Implementation"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 28. Concurrency</th></tr><tr><td align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><th width="60%" align="center">Part III. 
2662+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 28. 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; "/><link rel="home" href="../spine.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 27. Demangling"/><link rel="next" href="bk01pt03ch28s02.html" title="Implementation"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 28. Concurrency</th></tr><tr><td align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><th width="60%" align="center">Part III. 
2663 Extensions
2664
2665-</th><td align="right"> <a accesskey="n" href="bk01pt03ch28s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 28. Concurrency"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext.concurrency"/>Concurrency</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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="bk01pt03ch28s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch28s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch28s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch28s03.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 &lt;ext/concurrence.h&gt; contains all the higher-level
2666+</th><td align="right"> <a accesskey="n" href="bk01pt03ch28s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 28. Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency"/>Chapter 28. 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="bk01pt03ch28s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch28s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch28s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch28s03.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 &lt;ext/concurrence.h&gt; contains all the higher-level
2667 constructs for playing with threads. In contrast to the atomics layer,
2668 the concurrence layer consists largely of types. All types are defined within <code class="code">namespace __gnu_cxx</code>.
2669 </p><p>
2670diff --git a/libstdc++-v3/doc/html/manual/ext_containers.html b/libstdc++-v3/doc/html/manual/ext_containers.html
2671index d2a949b..d07860b 100644
2672--- a/libstdc++-v3/doc/html/manual/ext_containers.html
2673+++ b/libstdc++-v3/doc/html/manual/ext_containers.html
2674@@ -1,9 +1,9 @@
2675 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2676 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2677-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 21. Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bitmap_allocator.html" title="bitmap_allocator"/><link rel="next" href="bk01pt03ch21s02.html" title="HP/SGI"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 21. Containers</th></tr><tr><td align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><th width="60%" align="center">Part III. 
2678+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 21. Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bitmap_allocator.html" title="bitmap_allocator"/><link rel="next" href="bk01pt03ch21s02.html" title="HP/SGI"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 21. Containers</th></tr><tr><td align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><th width="60%" align="center">Part III. 
2679 Extensions
2680
2681-</th><td align="right"> <a accesskey="n" href="bk01pt03ch21s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 21. Containers"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext.containers"/>Containers</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.pbds">Policy Based Data Structures</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html">HP/SGI</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s03.html">Deprecated HP/SGI</a></span></dt></dl></div><p>
2682+</th><td align="right"> <a accesskey="n" href="bk01pt03ch21s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 21. Containers"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers"/>Chapter 21. Containers</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.pbds">Policy Based Data Structures</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html">HP/SGI</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s03.html">Deprecated HP/SGI</a></span></dt></dl></div><p>
2683 </p><div class="section" title="Policy Based Data Structures"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.pbds"/>Policy Based Data Structures</h2></div></div></div><p>
2684- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/index.html" target="">More details here</a>.
2685+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/index.html">More details here</a>.
2686 </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="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch21s02.html">Next</a></td></tr><tr><td align="left" valign="top">bitmap_allocator </td><td align="center"><a accesskey="h" href="../spine.html">Home</a></td><td align="right" valign="top"> HP/SGI</td></tr></table></div></body></html>
2687diff --git a/libstdc++-v3/doc/html/manual/ext_demangling.html b/libstdc++-v3/doc/html/manual/ext_demangling.html
2688index d842990..0120bc2 100644
2689--- a/libstdc++-v3/doc/html/manual/ext_demangling.html
2690+++ b/libstdc++-v3/doc/html/manual/ext_demangling.html
2691@@ -1,14 +1,14 @@
2692 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2693 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2694-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 27. Demangling</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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 26. Input and Output"/><link rel="next" href="ext_concurrency.html" title="Chapter 28. Concurrency"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 27. Demangling</th></tr><tr><td align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><th width="60%" align="center">Part III. 
2695+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 27. Demangling</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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 26. Input and Output"/><link rel="next" href="ext_concurrency.html" title="Chapter 28. Concurrency"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 27. Demangling</th></tr><tr><td align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><th width="60%" align="center">Part III. 
2696 Extensions
2697
2698-</th><td align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 27. Demangling"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext.demangle"/>Demangling</h1></div></div></div><p>
2699+</th><td align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 27. Demangling"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.demangle"/>Chapter 27. Demangling</h2></div></div></div><p>
2700 Transforming C++ ABI identifiers (like RTTI symbols) into the
2701 original C++ source identifiers is called
2702 <span class="quote">“<span class="quote">demangling.</span>”</span>
2703 </p><p>
2704- If you have read the <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01115.html" target="">source
2705+ If you have read the <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01115.html">source
2706 documentation for <code class="code">namespace abi</code></a> then you are
2707 aware of the cross-vendor C++ ABI in use by GCC. One of the
2708 exposed functions is used for demangling,
2709diff --git a/libstdc++-v3/doc/html/manual/ext_io.html b/libstdc++-v3/doc/html/manual/ext_io.html
2710index 5447e18..aba0fe1 100644
2711--- a/libstdc++-v3/doc/html/manual/ext_io.html
2712+++ b/libstdc++-v3/doc/html/manual/ext_io.html
2713@@ -1,9 +1,9 @@
2714 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2715 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2716-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 26. Input and Output</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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 25. Iterators"/><link rel="next" href="ext_demangling.html" title="Chapter 27. Demangling"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 26. 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. 
2717+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 26. 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; "/><link rel="home" href="../spine.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 25. Iterators"/><link rel="next" href="ext_demangling.html" title="Chapter 27. Demangling"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 26. 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. 
2718 Extensions
2719
2720-</th><td align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 26. Input and Output"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext.io"/>Input and Output</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></div><p>
2721+</th><td align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 26. Input and Output"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.io"/>Chapter 26. 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>
2722 Extensions allowing <code class="code">filebuf</code>s to be constructed from
2723 "C" types like FILE*s and file descriptors.
2724 </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
2725@@ -39,7 +39,7 @@
2726 the <code class="code">fd()</code> function were removed from the standard
2727 filebuf. Instead, <code class="code">&lt;ext/stdio_filebuf.h&gt;</code> contains
2728 a derived class called
2729- <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html" target=""><code class="code">__gnu_cxx::stdio_filebuf</code></a>.
2730+ <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html"><code class="code">__gnu_cxx::stdio_filebuf</code></a>.
2731 This class can be constructed from a C <code class="code">FILE*</code> or a file
2732 descriptor, and provides the <code class="code">fd()</code> function.
2733 </p></li></ul></div><p>If you want to access a <code class="code">filebuf</code>'s file descriptor to
2734diff --git a/libstdc++-v3/doc/html/manual/ext_iterators.html b/libstdc++-v3/doc/html/manual/ext_iterators.html
2735index 5740e66..8c00985 100644
2736--- a/libstdc++-v3/doc/html/manual/ext_iterators.html
2737+++ b/libstdc++-v3/doc/html/manual/ext_iterators.html
2738@@ -1,9 +1,9 @@
2739 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2740 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2741-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 25. Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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 24. Numerics"/><link rel="next" href="ext_io.html" title="Chapter 26. Input and Output"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 25. Iterators</th></tr><tr><td align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><th width="60%" align="center">Part III. 
2742+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 25. Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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 24. Numerics"/><link rel="next" href="ext_io.html" title="Chapter 26. Input and Output"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 25. Iterators</th></tr><tr><td align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><th width="60%" align="center">Part III. 
2743 Extensions
2744
2745-</th><td align="right"> <a accesskey="n" href="ext_io.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 25. Iterators"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext.iterators"/>Iterators</h1></div></div></div><p>24.3.2 describes <code class="code">struct iterator</code>, which didn't exist in the
2746+</th><td align="right"> <a accesskey="n" href="ext_io.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 25. Iterators"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.iterators"/>Chapter 25. Iterators</h2></div></div></div><p>24.3.2 describes <code class="code">struct iterator</code>, which didn't exist in the
2747 original HP STL implementation (the language wasn't rich enough at the
2748 time). For backwards compatibility, base classes are provided which
2749 declare the same nested typedefs:
2750diff --git a/libstdc++-v3/doc/html/manual/ext_numerics.html b/libstdc++-v3/doc/html/manual/ext_numerics.html
2751index fb15705..71d417c 100644
2752--- a/libstdc++-v3/doc/html/manual/ext_numerics.html
2753+++ b/libstdc++-v3/doc/html/manual/ext_numerics.html
2754@@ -1,9 +1,9 @@
2755 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2756 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2757-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 24. Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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 23. Algorithms"/><link rel="next" href="ext_iterators.html" title="Chapter 25. Iterators"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 24. Numerics</th></tr><tr><td align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><th width="60%" align="center">Part III. 
2758+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 24. Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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 23. Algorithms"/><link rel="next" href="ext_iterators.html" title="Chapter 25. Iterators"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 24. Numerics</th></tr><tr><td align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><th width="60%" align="center">Part III. 
2759 Extensions
2760
2761-</th><td align="right"> <a accesskey="n" href="ext_iterators.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 24. Numerics"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext.numerics"/>Numerics</h1></div></div></div><p>26.4, the generalized numeric operations such as accumulate, are extended
2762+</th><td align="right"> <a accesskey="n" href="ext_iterators.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 24. Numerics"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.numerics"/>Chapter 24. Numerics</h2></div></div></div><p>26.4, the generalized numeric operations such as accumulate, are extended
2763 with the following functions:
2764 </p><pre class="programlisting">
2765 power (x, n);
2766diff --git a/libstdc++-v3/doc/html/manual/ext_utilities.html b/libstdc++-v3/doc/html/manual/ext_utilities.html
2767index b07281d..d15057c 100644
2768--- a/libstdc++-v3/doc/html/manual/ext_utilities.html
2769+++ b/libstdc++-v3/doc/html/manual/ext_utilities.html
2770@@ -1,9 +1,9 @@
2771 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2772 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2773-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 22. Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch21s03.html" title="Deprecated HP/SGI"/><link rel="next" href="ext_algorithms.html" title="Chapter 23. Algorithms"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 22. Utilities</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch21s03.html">Prev</a> </td><th width="60%" align="center">Part III. 
2774+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 22. Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch21s03.html" title="Deprecated HP/SGI"/><link rel="next" href="ext_algorithms.html" title="Chapter 23. Algorithms"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 22. Utilities</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch21s03.html">Prev</a> </td><th width="60%" align="center">Part III. 
2775 Extensions
2776
2777-</th><td align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 22. Utilities"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext.util"/>Utilities</h1></div></div></div><p>
2778+</th><td align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 22. Utilities"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.util"/>Chapter 22. Utilities</h2></div></div></div><p>
2779 The &lt;functional&gt; header contains many additional functors
2780 and helper functions, extending section 20.3. They are
2781 implemented in the file stl_function.h:
2782diff --git a/libstdc++-v3/doc/html/manual/extensions.html b/libstdc++-v3/doc/html/manual/extensions.html
2783index 5395251..7fae907 100644
2784--- a/libstdc++-v3/doc/html/manual/extensions.html
2785+++ b/libstdc++-v3/doc/html/manual/extensions.html
2786@@ -1,9 +1,9 @@
2787 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2788 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2789-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Part III.  Extensions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="spine.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. 
2790+<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; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="spine.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. 
2791 Extensions
2792
2793 </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. 
2794 Extensions
2795- <a id="id602435" class="indexterm"/>
2796-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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><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><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><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><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="ext_allocators.html">20. Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="ext_allocators.html#manual.ext.allocator.mt">mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="ext_allocators.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.impl">Implementation</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.example_single">Single Thread Example</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.example_multi">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="section"><a href="bitmap_allocator.html">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="bitmap_allocator.html#allocator.bitmap.impl">Implementation</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ext_containers.html">21. Containers</a></span></dt><dd><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.pbds">Policy Based Data Structures</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html">HP/SGI</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s03.html">Deprecated HP/SGI</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_utilities.html">22. Utilities</a></span></dt><dt><span class="chapter"><a href="ext_algorithms.html">23. Algorithms</a></span></dt><dt><span class="chapter"><a href="ext_numerics.html">24. Numerics</a></span></dt><dt><span class="chapter"><a href="ext_iterators.html">25. Iterators</a></span></dt><dt><span class="chapter"><a href="ext_io.html">26. 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">27. Demangling</a></span></dt><dt><span class="chapter"><a href="ext_concurrency.html">28. 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="bk01pt03ch28s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch28s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch28s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch28s03.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="spine.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="../spine.html">Home</a></td><td align="right" valign="top"> </td></tr></table></div></body></html>
2797+ <a id="id481867" class="indexterm"/>
2798+</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><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><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><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><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="ext_allocators.html">20. Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="ext_allocators.html#manual.ext.allocator.mt">mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="ext_allocators.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.impl">Implementation</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.example_single">Single Thread Example</a></span></dt><dt><span class="section"><a href="ext_allocators.html#allocator.mt.example_multi">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="section"><a href="bitmap_allocator.html">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="bitmap_allocator.html#allocator.bitmap.impl">Implementation</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ext_containers.html">21. Containers</a></span></dt><dd><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.pbds">Policy Based Data Structures</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html">HP/SGI</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s03.html">Deprecated HP/SGI</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_utilities.html">22. Utilities</a></span></dt><dt><span class="chapter"><a href="ext_algorithms.html">23. Algorithms</a></span></dt><dt><span class="chapter"><a href="ext_numerics.html">24. Numerics</a></span></dt><dt><span class="chapter"><a href="ext_iterators.html">25. Iterators</a></span></dt><dt><span class="chapter"><a href="ext_io.html">26. 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">27. Demangling</a></span></dt><dt><span class="chapter"><a href="ext_concurrency.html">28. 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="bk01pt03ch28s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch28s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch28s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch28s03.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="spine.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="../spine.html">Home</a></td><td align="right" valign="top"> </td></tr></table></div></body></html>
2799diff --git a/libstdc++-v3/doc/html/manual/facets.html b/libstdc++-v3/doc/html/manual/facets.html
2800index efd519a..cfe89bc 100644
2801--- a/libstdc++-v3/doc/html/manual/facets.html
2802+++ b/libstdc++-v3/doc/html/manual/facets.html
2803@@ -1,9 +1,9 @@
2804 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2805 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2806-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Facets</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
2807+<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; "/><link rel="home" href="../spine.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. 
2808 Localization
2809
2810-</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="id597127"/>Specializations</h5></div></div></div><p>
2811+</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="id476560"/>Specializations</h5></div></div></div><p>
2812 For the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt; ,
2813 conversions are made between the internal character set (always UCS4
2814 on GNU/Linux) and whatever the currently selected locale for the
2815@@ -50,23 +50,23 @@ characters.
2816 </p></li><li class="listitem"><p>
2817 Rename abstract base class. See if just smash-overriding is a
2818 better approach. Clarify, add sanity to naming.
2819- </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="id597252"/><p><span class="citetitle"><em class="citetitle">
2820+ </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="id476684"/><p><span class="citetitle"><em class="citetitle">
2821 The GNU C Library
2822- </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="id597292"/><p><span class="citetitle"><em class="citetitle">
2823+ </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="id476724"/><p><span class="citetitle"><em class="citetitle">
2824 Correspondence
2825- </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="id597318"/><p><span class="citetitle"><em class="citetitle">
2826+ </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="id476750"/><p><span class="citetitle"><em class="citetitle">
2827 ISO/IEC 14882:1998 Programming languages - C++
2828- </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id597337"/><p><span class="citetitle"><em class="citetitle">
2829+ </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id476769"/><p><span class="citetitle"><em class="citetitle">
2830 ISO/IEC 9899:1999 Programming languages - C
2831- </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id597356"/><p><span class="biblioid">
2832+ </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id476788"/><p><span class="biblioid">
2833 . </span><span class="citetitle"><em class="citetitle">
2834 The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
2835 </em>. </span><span class="copyright">Copyright © 1999
2836- The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span></p></div><div class="biblioentry"><a id="id597385"/><p><span class="citetitle"><em class="citetitle">
2837+ The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span></p></div><div class="biblioentry"><a id="id476817"/><p><span class="citetitle"><em class="citetitle">
2838 The C++ Programming Language, Special Edition
2839 </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">
2840 Addison Wesley
2841- . </span></span></p></div><div class="biblioentry"><a id="id597424"/><p><span class="citetitle"><em class="citetitle">
2842+ . </span></span></p></div><div class="biblioentry"><a id="id476856"/><p><span class="citetitle"><em class="citetitle">
2843 Standard C++ IOStreams and Locales
2844 </em>. </span><span class="subtitle">
2845 Advanced Programmer's Guide and Reference
2846@@ -409,39 +409,39 @@ codecvt usage.
2847 </p></li><li class="listitem"><p>
2848 wchar_t/char internal buffers and conversions between
2849 internal/external buffers?
2850- </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="id598074"/><p><span class="citetitle"><em class="citetitle">
2851+ </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="id477506"/><p><span class="citetitle"><em class="citetitle">
2852 The GNU C Library
2853 </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">
2854 Chapters 6 Character Set Handling and 7 Locales and Internationalization
2855- . </span></p></div><div class="biblioentry"><a id="id598113"/><p><span class="citetitle"><em class="citetitle">
2856+ . </span></p></div><div class="biblioentry"><a id="id477546"/><p><span class="citetitle"><em class="citetitle">
2857 Correspondence
2858- </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="id598139"/><p><span class="citetitle"><em class="citetitle">
2859+ </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="id477571"/><p><span class="citetitle"><em class="citetitle">
2860 ISO/IEC 14882:1998 Programming languages - C++
2861- </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id598158"/><p><span class="citetitle"><em class="citetitle">
2862+ </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id477590"/><p><span class="citetitle"><em class="citetitle">
2863 ISO/IEC 9899:1999 Programming languages - C
2864- </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id598177"/><p><span class="biblioid">
2865+ </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id477609"/><p><span class="biblioid">
2866 . </span><span class="citetitle"><em class="citetitle">
2867 System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
2868 </em>. </span><span class="copyright">Copyright © 2008
2869 The Open Group/The Institute of Electrical and Electronics
2870 Engineers, Inc.
2871- . </span></p></div><div class="biblioentry"><a id="id598206"/><p><span class="citetitle"><em class="citetitle">
2872+ . </span></p></div><div class="biblioentry"><a id="id477639"/><p><span class="citetitle"><em class="citetitle">
2873 The C++ Programming Language, Special Edition
2874 </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">
2875 Addison Wesley
2876- . </span></span></p></div><div class="biblioentry"><a id="id598245"/><p><span class="citetitle"><em class="citetitle">
2877+ . </span></span></p></div><div class="biblioentry"><a id="id477677"/><p><span class="citetitle"><em class="citetitle">
2878 Standard C++ IOStreams and Locales
2879 </em>. </span><span class="subtitle">
2880 Advanced Programmer's Guide and Reference
2881 . </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">
2882 Addison Wesley Longman
2883- . </span></span></p></div><div class="biblioentry"><a id="id598292"/><p><span class="biblioid">
2884+ . </span></span></p></div><div class="biblioentry"><a id="id477724"/><p><span class="biblioid">
2885 . </span><span class="citetitle"><em class="citetitle">
2886 A brief description of Normative Addendum 1
2887- </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"><a id="id598321"/><p><span class="biblioid">
2888+ </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"><a id="id477754"/><p><span class="biblioid">
2889 . </span><span class="citetitle"><em class="citetitle">
2890 The Unicode HOWTO
2891- </em>. </span><span class="author"><span class="firstname">Bruno</span> <span class="surname">Haible</span>. </span></p></div><div class="biblioentry"><a id="id598347"/><p><span class="biblioid">
2892+ </em>. </span><span class="author"><span class="firstname">Bruno</span> <span class="surname">Haible</span>. </span></p></div><div class="biblioentry"><a id="id477779"/><p><span class="biblioid">
2893 . </span><span class="citetitle"><em class="citetitle">
2894 UTF-8 and Unicode FAQ for Unix/Linux
2895 </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>
2896@@ -685,37 +685,37 @@ void test01()
2897 model. As of this writing, it is unknown how to query to see
2898 if a specified message catalog exists using the gettext
2899 package.
2900- </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="id599021"/><p><span class="citetitle"><em class="citetitle">
2901+ </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="id478453"/><p><span class="citetitle"><em class="citetitle">
2902 The GNU C Library
2903 </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
2904- . </span></p></div><div class="biblioentry"><a id="id599061"/><p><span class="citetitle"><em class="citetitle">
2905+ . </span></p></div><div class="biblioentry"><a id="id478493"/><p><span class="citetitle"><em class="citetitle">
2906 Correspondence
2907- </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="id599086"/><p><span class="citetitle"><em class="citetitle">
2908+ </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="id478519"/><p><span class="citetitle"><em class="citetitle">
2909 ISO/IEC 14882:1998 Programming languages - C++
2910- </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id599105"/><p><span class="citetitle"><em class="citetitle">
2911+ </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id478538"/><p><span class="citetitle"><em class="citetitle">
2912 ISO/IEC 9899:1999 Programming languages - C
2913- </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id599124"/><p><span class="biblioid">
2914+ </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id478557"/><p><span class="biblioid">
2915 . </span><span class="citetitle"><em class="citetitle">
2916 System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
2917 </em>. </span><span class="copyright">Copyright © 2008
2918 The Open Group/The Institute of Electrical and Electronics
2919 Engineers, Inc.
2920- . </span></p></div><div class="biblioentry"><a id="id599154"/><p><span class="citetitle"><em class="citetitle">
2921+ . </span></p></div><div class="biblioentry"><a id="id478586"/><p><span class="citetitle"><em class="citetitle">
2922 The C++ Programming Language, Special Edition
2923 </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">
2924 Addison Wesley
2925- . </span></span></p></div><div class="biblioentry"><a id="id599192"/><p><span class="citetitle"><em class="citetitle">
2926+ . </span></span></p></div><div class="biblioentry"><a id="id478624"/><p><span class="citetitle"><em class="citetitle">
2927 Standard C++ IOStreams and Locales
2928 </em>. </span><span class="subtitle">
2929 Advanced Programmer's Guide and Reference
2930 . </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">
2931 Addison Wesley Longman
2932- . </span></span></p></div><div class="biblioentry"><a id="id599239"/><p><span class="biblioid">
2933+ . </span></span></p></div><div class="biblioentry"><a id="id478672"/><p><span class="biblioid">
2934 . </span><span class="citetitle"><em class="citetitle">
2935 API Specifications, Java Platform
2936 </em>. </span><span class="pagenums">java.util.Properties, java.text.MessageFormat,
2937 java.util.Locale, java.util.ResourceBundle
2938- . </span></p></div><div class="biblioentry"><a id="id599261"/><p><span class="biblioid">
2939+ . </span></p></div><div class="biblioentry"><a id="id478694"/><p><span class="biblioid">
2940 . </span><span class="citetitle"><em class="citetitle">
2941 GNU gettext tools, version 0.10.38, Native Language Support
2942 Library and Tools.
2943diff --git a/libstdc++-v3/doc/html/manual/fstreams.html b/libstdc++-v3/doc/html/manual/fstreams.html
2944index 240443d..6c03a2b 100644
2945--- a/libstdc++-v3/doc/html/manual/fstreams.html
2946+++ b/libstdc++-v3/doc/html/manual/fstreams.html
2947@@ -1,6 +1,6 @@
2948 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2949 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2950-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>File Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
2951+<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; "/><link rel="home" href="../spine.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. 
2952 Input and Output
2953
2954 </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>
2955@@ -138,7 +138,7 @@
2956 </p><p>
2957 An instructive thread from comp.lang.c++.moderated delved off into
2958 this topic starting more or less at
2959- <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="">this</a>
2960+ <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>
2961 post and continuing to the end of the thread. (The subject heading is "binary iostreams" on both comp.std.c++
2962 and comp.lang.c++.moderated.) Take special note of the replies by James Kanze and Dietmar Kühl.
2963 </p><p>Briefly, the problems of byte ordering and type sizes mean that
2964diff --git a/libstdc++-v3/doc/html/manual/generalized_numeric_operations.html b/libstdc++-v3/doc/html/manual/generalized_numeric_operations.html
2965index 1bb3728..043cbeb 100644
2966--- a/libstdc++-v3/doc/html/manual/generalized_numeric_operations.html
2967+++ b/libstdc++-v3/doc/html/manual/generalized_numeric_operations.html
2968@@ -1,6 +1,6 @@
2969 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2970 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2971-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Generalized Operations</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
2972+<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; "/><link rel="home" href="../spine.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. 
2973 Numerics
2974
2975 </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>
2976diff --git a/libstdc++-v3/doc/html/manual/internals.html b/libstdc++-v3/doc/html/manual/internals.html
2977index 3c45ab7..c6531fb 100644
2978--- a/libstdc++-v3/doc/html/manual/internals.html
2979+++ b/libstdc++-v3/doc/html/manual/internals.html
2980@@ -1,6 +1,6 @@
2981 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2982 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2983-<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.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; internals&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
2984+<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; "/><link rel="home" href="../spine.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. 
2985 Porting and Maintenance
2986
2987 </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>
2988diff --git a/libstdc++-v3/doc/html/manual/intro.html b/libstdc++-v3/doc/html/manual/intro.html
2989index 3cc870e..d283df0 100644
2990--- a/libstdc++-v3/doc/html/manual/intro.html
2991+++ b/libstdc++-v3/doc/html/manual/intro.html
2992@@ -1,9 +1,9 @@
2993 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2994 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2995-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Part I.  Introduction</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="spine.html" title="The GNU C++ Library Manual"/><link rel="prev" href="spine.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. 
2996+<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; "/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="spine.html" title="The GNU C++ Library Manual"/><link rel="prev" href="spine.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. 
2997 Introduction
2998
2999 </th></tr><tr><td align="left"><a accesskey="p" href="spine.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. 
3000 Introduction
3001- <a id="id531452" class="indexterm"/>
3002-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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><dt><span class="section"><a href="status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><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><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></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="spine.html">Prev</a> </td><td align="center"><a accesskey="u" href="spine.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="../spine.html">Home</a></td><td align="right" valign="top"> Chapter 1. Status</td></tr></table></div></body></html>
3003+ <a id="id400676" class="indexterm"/>
3004+</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><dt><span class="section"><a href="status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><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><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></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="spine.html">Prev</a> </td><td align="center"><a accesskey="u" href="spine.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="../spine.html">Home</a></td><td align="right" valign="top"> Chapter 1. Status</td></tr></table></div></body></html>
3005diff --git a/libstdc++-v3/doc/html/manual/io.html b/libstdc++-v3/doc/html/manual/io.html
3006index 615e5f9..01ef0ff 100644
3007--- a/libstdc++-v3/doc/html/manual/io.html
3008+++ b/libstdc++-v3/doc/html/manual/io.html
3009@@ -1,14 +1,14 @@
3010 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3011 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3012-<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.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3013+<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; "/><link rel="home" href="../spine.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. 
3014 Input and Output
3015
3016 </th></tr><tr><td align="left"><a accesskey="p" href="numerics_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
3017 Standard Contents
3018- </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><h1 class="title"><a id="std.io"/>
3019+ </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. 
3020 Input and Output
3021- <a id="id601039" class="indexterm"/>
3022-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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
3023+ <a id="id480471" class="indexterm"/>
3024+</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
3025 only include the headers you really need. Many people simply include
3026 &lt;iostream&gt; when they don't need to -- and that can <span class="emphasis"><em>penalize
3027 your runtime as well.</em></span> Here are some tips on which header to use
3028diff --git a/libstdc++-v3/doc/html/manual/io_and_c.html b/libstdc++-v3/doc/html/manual/io_and_c.html
3029index 9857532..6b40661 100644
3030--- a/libstdc++-v3/doc/html/manual/io_and_c.html
3031+++ b/libstdc++-v3/doc/html/manual/io_and_c.html
3032@@ -1,6 +1,6 @@
3033 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3034 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3035-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3036+<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; "/><link rel="home" href="../spine.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. 
3037 Input and Output
3038
3039 </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>
3040diff --git a/libstdc++-v3/doc/html/manual/iterators.html b/libstdc++-v3/doc/html/manual/iterators.html
3041index 54f76b4..8a44178 100644
3042--- a/libstdc++-v3/doc/html/manual/iterators.html
3043+++ b/libstdc++-v3/doc/html/manual/iterators.html
3044@@ -1,14 +1,14 @@
3045 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3046 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3047-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 10.  Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3048+<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; "/><link rel="home" href="../spine.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. 
3049 Iterators
3050
3051 </th></tr><tr><td align="left"><a accesskey="p" href="containers_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
3052 Standard Contents
3053- </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><h1 class="title"><a id="std.iterators"/>
3054+ </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. 
3055 Iterators
3056- <a id="id600205" class="indexterm"/>
3057-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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>
3058+ <a id="id479637" class="indexterm"/>
3059+</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>
3060 The following
3061 FAQ <a class="link" href="../faq.html#faq.iterator_as_pod" title="7.1.">entry</a> points out that
3062 iterators are not implemented as pointers. They are a generalization
3063diff --git a/libstdc++-v3/doc/html/manual/license.html b/libstdc++-v3/doc/html/manual/license.html
3064index 257fc5c..da021a9 100644
3065--- a/libstdc++-v3/doc/html/manual/license.html
3066+++ b/libstdc++-v3/doc/html/manual/license.html
3067@@ -1,11 +1,11 @@
3068 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3069 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3070-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>License</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
3071+<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; "/><link rel="home" href="../spine.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>
3072 There are two licenses affecting GNU libstdc++: one for the code,
3073 and one for the documentation.
3074 </p><p>
3075 There is a license section in the FAQ regarding common <a class="link" href="../faq.html#faq.license">questions</a>. If you have more
3076- questions, ask the FSF or the <a class="link" href="http://gcc.gnu.org/lists.html" target="">gcc mailing list</a>.
3077+ questions, ask the FSF or the <a class="link" href="http://gcc.gnu.org/lists.html">gcc mailing list</a>.
3078 </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>
3079 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>,
3080 with the addition under section 7 of an exception described in
3081@@ -16,7 +16,7 @@ GCC RUNTIME LIBRARY EXCEPTION<br/>
3082 <br/>
3083 Version 3.1, 31 March 2009<br/>
3084 <br/>
3085-Copyright (C) 2009 <a class="link" href="http://www.fsf.org" target="">Free Software Foundation, Inc.</a><br/>
3086+Copyright (C) 2009 <a class="link" href="http://www.fsf.org">Free Software Foundation, Inc.</a><br/>
3087 <br/>
3088 Everyone is permitted to copy and distribute verbatim copies of this<br/>
3089 license document, but changing it is not allowed.<br/>
3090diff --git a/libstdc++-v3/doc/html/manual/localization.html b/libstdc++-v3/doc/html/manual/localization.html
3091index 80f98b5..6947a01 100644
3092--- a/libstdc++-v3/doc/html/manual/localization.html
3093+++ b/libstdc++-v3/doc/html/manual/localization.html
3094@@ -1,14 +1,14 @@
3095 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3096 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3097-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 8.  Localization</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3098+<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; "/><link rel="home" href="../spine.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. 
3099 Localization
3100
3101 </th></tr><tr><td align="left"><a accesskey="p" href="strings.html">Prev</a> </td><th width="60%" align="center">Part II. 
3102 Standard Contents
3103- </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><h1 class="title"><a id="std.localization"/>
3104+ </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. 
3105 Localization
3106- <a id="id596473" class="indexterm"/>
3107-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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></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><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt></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>
3108+ <a id="id475905" class="indexterm"/>
3109+</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></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><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt></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>
3110 Describes the basic locale object, including nested
3111 classes id, facet, and the reference-counted implementation object,
3112 class _Impl.
3113@@ -403,28 +403,28 @@ global locale" (emphasis Paolo), that is:
3114 What should non-required facet instantiations do? If the
3115 generic implementation is provided, then how to end-users
3116 provide specializations?
3117- </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="id596835"/><p><span class="citetitle"><em class="citetitle">
3118+ </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="id476268"/><p><span class="citetitle"><em class="citetitle">
3119 The GNU C Library
3120 </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">
3121 Chapters 6 Character Set Handling and 7 Locales and
3122 Internationalization
3123- . </span></p></div><div class="biblioentry"><a id="id596875"/><p><span class="citetitle"><em class="citetitle">
3124+ . </span></p></div><div class="biblioentry"><a id="id476307"/><p><span class="citetitle"><em class="citetitle">
3125 Correspondence
3126- </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="id596901"/><p><span class="citetitle"><em class="citetitle">
3127+ </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="id476333"/><p><span class="citetitle"><em class="citetitle">
3128 ISO/IEC 14882:1998 Programming languages - C++
3129- </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id596920"/><p><span class="citetitle"><em class="citetitle">
3130+ </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id476352"/><p><span class="citetitle"><em class="citetitle">
3131 ISO/IEC 9899:1999 Programming languages - C
3132- </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id596939"/><p><span class="biblioid">
3133+ </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id476371"/><p><span class="biblioid">
3134 . </span><span class="citetitle"><em class="citetitle">
3135 System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
3136 </em>. </span><span class="copyright">Copyright © 2008
3137 The Open Group/The Institute of Electrical and Electronics
3138 Engineers, Inc.
3139- . </span></p></div><div class="biblioentry"><a id="id596968"/><p><span class="citetitle"><em class="citetitle">
3140+ . </span></p></div><div class="biblioentry"><a id="id476400"/><p><span class="citetitle"><em class="citetitle">
3141 The C++ Programming Language, Special Edition
3142 </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">
3143 Addison Wesley
3144- . </span></span></p></div><div class="biblioentry"><a id="id597007"/><p><span class="citetitle"><em class="citetitle">
3145+ . </span></span></p></div><div class="biblioentry"><a id="id476439"/><p><span class="citetitle"><em class="citetitle">
3146 Standard C++ IOStreams and Locales
3147 </em>. </span><span class="subtitle">
3148 Advanced Programmer's Guide and Reference
3149diff --git a/libstdc++-v3/doc/html/manual/make.html b/libstdc++-v3/doc/html/manual/make.html
3150index ed8dc67..62b1499 100644
3151--- a/libstdc++-v3/doc/html/manual/make.html
3152+++ b/libstdc++-v3/doc/html/manual/make.html
3153@@ -1,7 +1,7 @@
3154 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3155 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3156-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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
3157- <a class="link" href="http://gcc.gnu.org/install/" target="">GCC Installation
3158+<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; "/><link rel="home" href="../spine.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
3159+ <a class="link" href="http://gcc.gnu.org/install/">GCC Installation
3160 Instructions</a> first. Read <span class="emphasis"><em>all of them</em></span>.
3161 <span class="emphasis"><em>Twice.</em></span>
3162 </p><p>Then type: <span class="command"><strong>make</strong></span>, and congratulations, you've
3163diff --git a/libstdc++-v3/doc/html/manual/memory.html b/libstdc++-v3/doc/html/manual/memory.html
3164index 8b52edb..5953539 100644
3165--- a/libstdc++-v3/doc/html/manual/memory.html
3166+++ b/libstdc++-v3/doc/html/manual/memory.html
3167@@ -1,6 +1,6 @@
3168 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3169 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3170-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3171+<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; "/><link rel="home" href="../spine.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. 
3172 Utilities
3173
3174 </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>
3175@@ -58,7 +58,7 @@
3176 The easiest way of fulfilling the requirements is to call
3177 <code class="function">operator new</code> each time a container needs
3178 memory, and to call <code class="function">operator delete</code> each time
3179- the container releases memory. This method may be <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00105.html" target="">slower</a>
3180+ the container releases memory. This method may be <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00105.html">slower</a>
3181 than caching the allocations and re-using previously-allocated
3182 memory, but has the advantage of working correctly across a wide
3183 variety of hardware and operating systems, including large
3184@@ -93,7 +93,7 @@
3185 or loading and unloading shared objects in memory. As such, using
3186 caching allocators on systems that do not support
3187 <code class="function">abi::__cxa_atexit</code> is not recommended.
3188- </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="id593653"/>Interface Design</h5></div></div></div><p>
3189+ </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="id473085"/>Interface Design</h5></div></div></div><p>
3190 The only allocator interface that
3191 is supported is the standard C++ interface. As such, all STL
3192 containers have been adjusted, and all external allocators have
3193@@ -106,7 +106,7 @@
3194 </p><p>
3195 The base class that <code class="classname">allocator</code> is derived from
3196 may not be user-configurable.
3197-</p></div><div class="section" title="Selecting Default Allocation Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id593682"/>Selecting Default Allocation Policy</h5></div></div></div><p>
3198+</p></div><div class="section" title="Selecting Default Allocation Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id473115"/>Selecting Default Allocation Policy</h5></div></div></div><p>
3199 It's difficult to pick an allocation strategy that will provide
3200 maximum utility, without excessively penalizing some behavior. In
3201 fact, it's difficult just deciding which typical actions to measure
3202@@ -120,8 +120,8 @@
3203 Over multiple iterations, various STL container
3204 objects have elements inserted to some maximum amount. A variety
3205 of allocators are tested.
3206- 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="">sequence</a>
3207- 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="">associative</a>
3208+ 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>
3209+ 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>
3210 containers.
3211 </p></li><li class="listitem"><p>
3212 Insertion and erasure in a multi-threaded environment.
3213@@ -130,20 +130,20 @@
3214 on a per-thread basis, as well as measuring thread contention
3215 for memory resources.
3216 Test source
3217- <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="">here</a>.
3218+ <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>.
3219 </p></li><li class="listitem"><p>
3220 A threaded producer/consumer model.
3221 </p><p>
3222 Test source for
3223- <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc?view=markup" target="">sequence</a>
3224+ <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc?view=markup">sequence</a>
3225 and
3226- <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc?view=markup" target="">associative</a>
3227+ <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc?view=markup">associative</a>
3228 containers.
3229 </p></li></ol></div><p>
3230 The current default choice for
3231 <code class="classname">allocator</code> is
3232 <code class="classname">__gnu_cxx::new_allocator</code>.
3233- </p></div><div class="section" title="Disabling Memory Caching"><div class="titlepage"><div><div><h5 class="title"><a id="id593793"/>Disabling Memory Caching</h5></div></div></div><p>
3234+ </p></div><div class="section" title="Disabling Memory Caching"><div class="titlepage"><div><div><h5 class="title"><a id="id473225"/>Disabling Memory Caching</h5></div></div></div><p>
3235 In use, <code class="classname">allocator</code> may allocate and
3236 deallocate using implementation-specified strategies and
3237 heuristics. Because of this, every call to an allocator object's
3238@@ -308,29 +308,29 @@
3239 A high-performance allocator that uses a bit-map to keep track
3240 of the used and unused memory locations. It has its own
3241 documentation, found <a class="link" href="bitmap_allocator.html" title="bitmap_allocator">here</a>.
3242- </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="id594244"/><p><span class="citetitle"><em class="citetitle">
3243+ </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="id473676"/><p><span class="citetitle"><em class="citetitle">
3244 ISO/IEC 14882:1998 Programming languages - C++
3245 </em>. </span>
3246 isoc++_1998
3247- <span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry"><a id="id594259"/><p><span class="biblioid">
3248+ <span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry"><a id="id473691"/><p><span class="biblioid">
3249 . </span><span class="citetitle"><em class="citetitle">
3250 The Standard Librarian: What Are Allocators Good For?
3251 </em>. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
3252 C/C++ Users Journal
3253- . </span></span></p></div><div class="biblioentry"><a id="id594292"/><p><span class="biblioid">
3254+ . </span></span></p></div><div class="biblioentry"><a id="id473725"/><p><span class="biblioid">
3255 . </span><span class="citetitle"><em class="citetitle">
3256 The Hoard Memory Allocator
3257- </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span></p></div><div class="biblioentry"><a id="id594318"/><p><span class="biblioid">
3258+ </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span></p></div><div class="biblioentry"><a id="id473750"/><p><span class="biblioid">
3259 . </span><span class="citetitle"><em class="citetitle">
3260 Reconsidering Custom Memory Allocation
3261- </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"><a id="id594371"/><p><span class="biblioid">
3262+ </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"><a id="id473804"/><p><span class="biblioid">
3263 . </span><span class="citetitle"><em class="citetitle">
3264 Allocator Types
3265 </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">
3266 C/C++ Users Journal
3267- . </span></span></p></div><div class="biblioentry"><a id="id594413"/><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">
3268+ . </span></span></p></div><div class="biblioentry"><a id="id473845"/><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">
3269 Addison Wesley
3270- . </span></span></p></div><div class="biblioentry"><a id="id594450"/><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
3271+ . </span></span></p></div><div class="biblioentry"><a id="id473882"/><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
3272 happen with misuse of the <code class="classname">auto_ptr</code> class
3273 template (called <acronym class="acronym">AP</acronym> here) would take some
3274 time. Suffice it to say that the use of <acronym class="acronym">AP</acronym>
3275@@ -446,7 +446,7 @@ drops to zero.
3276 Derived classes override those functions to destroy resources in a context
3277 where the correct dynamic type is known. This is an application of the
3278 technique known as type erasure.
3279- </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="id594810"/>Class Hierarchy</h5></div></div></div><p>
3280+ </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="id474243"/>Class Hierarchy</h5></div></div></div><p>
3281 A <code class="classname">shared_ptr&lt;T&gt;</code> contains a pointer of
3282 type <span class="type">T*</span> and an object of type
3283 <code class="classname">__shared_count</code>. The shared_count contains a
3284@@ -488,14 +488,14 @@ be forwarded to <span class="type">Tp</span>'s constructor.
3285 Unlike the other <code class="classname">_Sp_counted_*</code> classes, this one is parameterized on the
3286 type of object, not the type of pointer; this is purely a convenience
3287 that simplifies the implementation slightly.
3288- </p></dd></dl></div></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h5 class="title"><a id="id594989"/>Thread Safety</h5></div></div></div><p>
3289+ </p></dd></dl></div></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h5 class="title"><a id="id474421"/>Thread Safety</h5></div></div></div><p>
3290 C++0x-only features are: rvalue-ref/move support, allocator support,
3291 aliasing constructor, make_shared &amp; allocate_shared. Additionally,
3292 the constructors taking <code class="classname">auto_ptr</code> parameters are
3293 deprecated in C++0x mode.
3294 </p><p>
3295 The
3296-<a class="link" href="http://boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety" target="">Thread
3297+<a class="link" href="http://boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety">Thread
3298 Safety</a> section of the Boost shared_ptr documentation says "shared_ptr
3299 objects offer the same level of thread safety as built-in types."
3300 The implementation must ensure that concurrent updates to separate shared_ptr
3301@@ -538,7 +538,7 @@ compiler, standard library, platform etc. For the version of
3302 shared_ptr in libstdc++ the compiler and library are fixed, which
3303 makes things much simpler: we have an atomic CAS or we don't, see Lock
3304 Policy below for details.
3305-</p></div><div class="section" title="Selecting Lock Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id595059"/>Selecting Lock Policy</h5></div></div></div><p>
3306+</p></div><div class="section" title="Selecting Lock Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id474491"/>Selecting Lock Policy</h5></div></div></div><p>
3307 </p><p>
3308 There is a single <code class="classname">_Sp_counted_base</code> class,
3309 which is a template parameterized on the enum
3310@@ -558,7 +558,7 @@ available policies are:
3311 <span class="type">_S_Atomic</span>
3312 </p><p>
3313 Selected when GCC supports a builtin atomic compare-and-swap operation
3314-on the target processor (see <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html" target="">Atomic
3315+on the target processor (see <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html">Atomic
3316 Builtins</a>.) The reference counts are maintained using a lock-free
3317 algorithm and GCC's atomic builtins, which provide the required memory
3318 synchronisation.
3319@@ -579,7 +579,7 @@ used when libstdc++ is built without <code class="literal">--enable-threads</cod
3320 <code class="filename">ext/atomicity.h</code>, which detect if the program
3321 is multi-threaded. If only one thread of execution exists in
3322 the program then less expensive non-atomic operations are used.
3323- </p></div><div class="section" title="Dual C++0x and TR1 Implementation"><div class="titlepage"><div><div><h5 class="title"><a id="id595181"/>Dual C++0x and TR1 Implementation</h5></div></div></div><p>
3324+ </p></div><div class="section" title="Dual C++0x and TR1 Implementation"><div class="titlepage"><div><div><h5 class="title"><a id="id474613"/>Dual C++0x and TR1 Implementation</h5></div></div></div><p>
3325 The interface of <code class="classname">tr1::shared_ptr</code> was extended for C++0x
3326 with support for rvalue-references and the other features from N2351.
3327 The <code class="classname">_Sp_counted_base</code> base class is implemented in
3328@@ -596,7 +596,7 @@ change unless bug fixes require it. If the code that is common to both
3329 C++0x and TR1 modes needs to diverge further then it might be necessary to
3330 duplicate <code class="classname">_Sp_counted_base</code> and only make changes to
3331 the C++0x version.
3332-</p></div><div class="section" title="Related functions and classes"><div class="titlepage"><div><div><h5 class="title"><a id="id595237"/>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>,
3333+</p></div><div class="section" title="Related functions and classes"><div class="titlepage"><div><div><h5 class="title"><a id="id474669"/>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>,
3334 <code class="code">const_pointer_cast</code></span></dt><dd><p>
3335 As noted in N2351, these functions can be implemented non-intrusively using
3336 the alias constructor. However the aliasing constructor is only available
3337@@ -629,13 +629,13 @@ is called. Users should not try to use this.
3338 As well as the extra constructors, this implementation also needs some
3339 members of _Sp_counted_deleter to be protected where they could otherwise
3340 be private.
3341- </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="id595386"/>Examples</h5></div></div></div><p>
3342+ </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="id474818"/>Examples</h5></div></div></div><p>
3343 Examples of use can be found in the testsuite, under
3344 <code class="filename">testsuite/tr1/2_general_utilities/shared_ptr</code>,
3345 <code class="filename">testsuite/20_util/shared_ptr</code>
3346 and
3347 <code class="filename">testsuite/20_util/weak_ptr</code>.
3348- </p></div><div class="section" title="Unresolved Issues"><div class="titlepage"><div><div><h5 class="title"><a id="id595416"/>Unresolved Issues</h5></div></div></div><p>
3349+ </p></div><div class="section" title="Unresolved Issues"><div class="titlepage"><div><div><h5 class="title"><a id="id474848"/>Unresolved Issues</h5></div></div></div><p>
3350 The <span class="emphasis"><em><code class="classname">shared_ptr</code> atomic access</em></span>
3351 clause in the C++0x working draft is not implemented in GCC.
3352 </p><p>
3353@@ -676,22 +676,22 @@ be private.
3354 code to work with, Peter Dimov in particular for his help and
3355 invaluable advice on thread safety. Phillip Jordan and Paolo
3356 Carlini for the lock policy implementation.
3357- </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"><a id="id595509"/><p><span class="biblioid">
3358+ </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"><a id="id474942"/><p><span class="biblioid">
3359 . </span><span class="citetitle"><em class="citetitle">
3360 Improving shared_ptr for C++0x, Revision 2
3361 </em>. </span><span class="subtitle">
3362 N2351
3363- . </span></p></div><div class="biblioentry"><a id="id595531"/><p><span class="biblioid">
3364+ . </span></p></div><div class="biblioentry"><a id="id474963"/><p><span class="biblioid">
3365 . </span><span class="citetitle"><em class="citetitle">
3366 C++ Standard Library Active Issues List
3367 </em>. </span><span class="subtitle">
3368 N2456
3369- . </span></p></div><div class="biblioentry"><a id="id595552"/><p><span class="biblioid">
3370+ . </span></p></div><div class="biblioentry"><a id="id474984"/><p><span class="biblioid">
3371 . </span><span class="citetitle"><em class="citetitle">
3372 Working Draft, Standard for Programming Language C++
3373 </em>. </span><span class="subtitle">
3374 N2461
3375- . </span></p></div><div class="biblioentry"><a id="id595573"/><p><span class="biblioid">shared_ptr
3376+ . </span></p></div><div class="biblioentry"><a id="id475006"/><p><span class="biblioid">shared_ptr
3377 . </span><span class="citetitle"><em class="citetitle">
3378 Boost C++ Libraries documentation, shared_ptr
3379 </em>. </span><span class="subtitle">
3380diff --git a/libstdc++-v3/doc/html/manual/numerics.html b/libstdc++-v3/doc/html/manual/numerics.html
3381index 08cd13e..ccf1f26 100644
3382--- a/libstdc++-v3/doc/html/manual/numerics.html
3383+++ b/libstdc++-v3/doc/html/manual/numerics.html
3384@@ -1,14 +1,14 @@
3385 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3386 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3387-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 12.  Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3388+<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; "/><link rel="home" href="../spine.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. 
3389 Numerics
3390
3391 </th></tr><tr><td align="left"><a accesskey="p" href="algorithms.html">Prev</a> </td><th width="60%" align="center">Part II. 
3392 Standard Contents
3393- </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><h1 class="title"><a id="std.numerics"/>
3394+ </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. 
3395 Numerics
3396- <a id="id600692" class="indexterm"/>
3397-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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>
3398+ <a id="id480125" class="indexterm"/>
3399+</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>
3400 </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>
3401 </p><p>Using <code class="code">complex&lt;&gt;</code> becomes even more comple- er, sorry,
3402 <span class="emphasis"><em>complicated</em></span>, with the not-quite-gratuitously-incompatible
3403@@ -16,7 +16,7 @@
3404 compiled a list of C++98 and C99 conflict points; his description of
3405 C's new type versus those of C++ and how to get them playing together
3406 nicely is
3407-<a class="link" href="http://david.tribble.com/text/cdiffs.htm#C99-complex" target="">here</a>.
3408+<a class="link" href="http://david.tribble.com/text/cdiffs.htm#C99-complex">here</a>.
3409 </p><p><code class="code">complex&lt;&gt;</code> is intended to be instantiated with a
3410 floating-point type. As long as you meet that and some other basic
3411 requirements, then the resulting instantiation has all of the usual
3412diff --git a/libstdc++-v3/doc/html/manual/numerics_and_c.html b/libstdc++-v3/doc/html/manual/numerics_and_c.html
3413index a6ad1dd..3a2fb49 100644
3414--- a/libstdc++-v3/doc/html/manual/numerics_and_c.html
3415+++ b/libstdc++-v3/doc/html/manual/numerics_and_c.html
3416@@ -1,6 +1,6 @@
3417 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3418 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3419-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3420+<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; "/><link rel="home" href="../spine.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. 
3421 Numerics
3422
3423 </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
3424diff --git a/libstdc++-v3/doc/html/manual/pairs.html b/libstdc++-v3/doc/html/manual/pairs.html
3425index 2409bb8..8c4dbb7 100644
3426--- a/libstdc++-v3/doc/html/manual/pairs.html
3427+++ b/libstdc++-v3/doc/html/manual/pairs.html
3428@@ -1,6 +1,6 @@
3429 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3430 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3431-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Pairs</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3432+<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; "/><link rel="home" href="../spine.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. 
3433 Utilities
3434
3435 </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
3436diff --git a/libstdc++-v3/doc/html/manual/parallel_mode.html b/libstdc++-v3/doc/html/manual/parallel_mode.html
3437index 9e186ab..9c94e26 100644
3438--- a/libstdc++-v3/doc/html/manual/parallel_mode.html
3439+++ b/libstdc++-v3/doc/html/manual/parallel_mode.html
3440@@ -1,9 +1,9 @@
3441 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3442 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3443-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 18. Parallel Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3444+<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; "/><link rel="home" href="../spine.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. 
3445 Extensions
3446
3447-</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><h1 class="title"><a id="manual.ext.parallel_mode"/>Parallel Mode</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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><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
3448+</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><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
3449 implementation of many algorithms the C++ Standard Library.
3450 </p><p>
3451 Several of the standard algorithms, for instance
3452@@ -13,11 +13,11 @@ explicit source declaration or by compiling existing sources with a
3453 specific compiler flag.
3454 </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
3455 <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
3456-<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="id606616"/><p><span class="citetitle"><em class="citetitle">
3457+<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="id486049"/><p><span class="citetitle"><em class="citetitle">
3458 Parallelization of Bulk Operations for STL Dictionaries
3459 </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">
3460 Workshop on Highly Parallel Processing on a Chip (HPPC) 2007. (LNCS)
3461- . </span></span></p></div><div class="biblioentry"><a id="id606659"/><p><span class="citetitle"><em class="citetitle">
3462+ . </span></span></p></div><div class="biblioentry"><a id="id486091"/><p><span class="citetitle"><em class="citetitle">
3463 The Multi-Core Standard Template Library
3464 </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">
3465 Euro-Par 2007: Parallel Processing. (LNCS 4641)
3466diff --git a/libstdc++-v3/doc/html/manual/profile_mode.html b/libstdc++-v3/doc/html/manual/profile_mode.html
3467index ff61b5d..3c1b2d3 100644
3468--- a/libstdc++-v3/doc/html/manual/profile_mode.html
3469+++ b/libstdc++-v3/doc/html/manual/profile_mode.html
3470@@ -1,9 +1,9 @@
3471 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3472 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3473-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 19. Profile Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; "/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3474+<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; "/><link rel="home" href="../spine.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. 
3475 Extensions
3476
3477-</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><h1 class="title"><a id="manual.ext.profile_mode"/>Profile Mode</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><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>
3478+</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><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><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>
3479 <span class="emphasis"><em>Goal: </em></span>Give performance improvement advice based on
3480 recognition of suboptimal usage patterns of the standard library.
3481 </p><p>
3482@@ -12,7 +12,7 @@
3483 various components at interesting entry/exit points to/from the standard
3484 library. Process trace, recognize suboptimal patterns, give advice.
3485 For details, see
3486- <a class="link" href="http://dx.doi.org/10.1109/CGO.2009.36" target="">paper presented at
3487+ <a class="link" href="http://dx.doi.org/10.1109/CGO.2009.36">paper presented at
3488 CGO 2009</a>.
3489 </p><p>
3490 <span class="emphasis"><em>Strengths: </em></span>
3491@@ -138,7 +138,7 @@ vector-size: improvement = 3: call stack = 0x804842c ...
3492 call context.
3493 (Environment variable not supported.)
3494 </p></li></ul></div><p>
3495- </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="id610508"/><p><span class="citetitle"><em class="citetitle">
3496+ </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="id489940"/><p><span class="citetitle"><em class="citetitle">
3497 Perflint: A Context Sensitive Performance Advisor for C++ Programs
3498 </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">
3499 Proceedings of the 2009 International Symposium on Code Generation
3500diff --git a/libstdc++-v3/doc/html/manual/setup.html b/libstdc++-v3/doc/html/manual/setup.html
3501index a9ead27..e0b5cae 100644
3502--- a/libstdc++-v3/doc/html/manual/setup.html
3503+++ b/libstdc++-v3/doc/html/manual/setup.html
3504@@ -1,9 +1,9 @@
3505 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3506 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3507-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 2. Setup</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3508+<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; "/><link rel="home" href="../spine.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. 
3509 Introduction
3510
3511-</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><h1 class="title"><a id="manual.intro.setup"/>Setup</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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
3512+</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
3513 and properly built binaries useful for linking to other software is
3514 a multi-step process. Steps include getting the sources,
3515 configuring and building the sources, testing, and installation.
3516@@ -22,9 +22,9 @@
3517 </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>
3518 Because libstdc++ is part of GCC, the primary source for
3519 installation instructions is
3520- <a class="link" href="http://gcc.gnu.org/install/" target="">the GCC install page</a>.
3521+ <a class="link" href="http://gcc.gnu.org/install/">the GCC install page</a>.
3522 In particular, list of prerequisite software needed to build the library
3523- <a class="link" href="http://gcc.gnu.org/install/prerequisites.html" target="">
3524+ <a class="link" href="http://gcc.gnu.org/install/prerequisites.html">
3525 starts with those requirements.</a> The same pages also list
3526 the tools you will need if you wish to modify the source.
3527 </p><p>
3528@@ -32,7 +32,7 @@
3529 </p><p>As of GCC 4.0.1 the minimum version of binutils required to build
3530 libstdc++ is <code class="code">2.15.90.0.1.1</code>. You can get snapshots
3531 (as well as releases) of binutils from
3532- <a class="link" href="ftp://sources.redhat.com/pub/binutils/" target="">
3533+ <a class="link" href="ftp://sources.redhat.com/pub/binutils/">
3534 ftp://sources.redhat.com/pub/binutils</a>.
3535 Older releases of libstdc++ do not require such a recent version,
3536 but to take full advantage of useful space-saving features and
3537diff --git a/libstdc++-v3/doc/html/manual/source_code_style.html b/libstdc++-v3/doc/html/manual/source_code_style.html
3538index b55ee85..ff4b4db 100644
3539--- a/libstdc++-v3/doc/html/manual/source_code_style.html
3540+++ b/libstdc++-v3/doc/html/manual/source_code_style.html
3541@@ -1,6 +1,6 @@
3542 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3543 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3544-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Coding Style</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3545+<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; "/><link rel="home" href="../spine.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. 
3546 Contributing
3547
3548 </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>
3549@@ -197,13 +197,13 @@
3550       it is intended to precede the recommendations of the GNU Coding<br/>
3551       Standard, which can be referenced in full here:<br/>
3552 <br/>
3553-      <a class="link" href="http://www.gnu.org/prep/standards/standards.html#Formatting" target="">http://www.gnu.org/prep/standards/standards.html#Formatting</a><br/>
3554+      <a class="link" href="http://www.gnu.org/prep/standards/standards.html#Formatting">http://www.gnu.org/prep/standards/standards.html#Formatting</a><br/>
3555 <br/>
3556       The rest of this is also interesting reading, but skip the "Design<br/>
3557       Advice" part.<br/>
3558 <br/>
3559       The GCC coding conventions are here, and are also useful:<br/>
3560-      <a class="link" href="http://gcc.gnu.org/codingconventions.html" target="">http://gcc.gnu.org/codingconventions.html</a><br/>
3561+      <a class="link" href="http://gcc.gnu.org/codingconventions.html">http://gcc.gnu.org/codingconventions.html</a><br/>
3562 <br/>
3563       In addition, because it doesn't seem to be stated explicitly anywhere<br/>
3564       else, there is an 80 column source limit.<br/>
3565diff --git a/libstdc++-v3/doc/html/manual/source_design_notes.html b/libstdc++-v3/doc/html/manual/source_design_notes.html
3566index 3d0d9f1..fab57a6 100644
3567--- a/libstdc++-v3/doc/html/manual/source_design_notes.html
3568+++ b/libstdc++-v3/doc/html/manual/source_design_notes.html
3569@@ -1,6 +1,6 @@
3570 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3571 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3572-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design Notes</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3573+<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; "/><link rel="home" href="../spine.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. 
3574 Contributing
3575
3576 </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>
3577diff --git a/libstdc++-v3/doc/html/manual/source_organization.html b/libstdc++-v3/doc/html/manual/source_organization.html
3578index 371da57..3e17c8b 100644
3579--- a/libstdc++-v3/doc/html/manual/source_organization.html
3580+++ b/libstdc++-v3/doc/html/manual/source_organization.html
3581@@ -1,6 +1,6 @@
3582 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3583 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3584-<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.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3585+<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; "/><link rel="home" href="../spine.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. 
3586 Contributing
3587
3588 </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>
3589diff --git a/libstdc++-v3/doc/html/manual/spine.html b/libstdc++-v3/doc/html/manual/spine.html
3590index 14a38c9..36225c1 100644
3591--- a/libstdc++-v3/doc/html/manual/spine.html
3592+++ b/libstdc++-v3/doc/html/manual/spine.html
3593@@ -1,10 +1,10 @@
3594 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3595 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3596-<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.75.2"/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="../spine.html" title="The GNU C++ Library"/><link rel="prev" href="../spine.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="../spine.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-index"/>The GNU C++ Library Manual</h1></div><div><p class="copyright">Copyright © 2009, 2010
3597- <a class="link" href="http://www.fsf.org" target="">FSF</a>
3598- </p></div><div><div class="legalnotice" title="Legal Notice"><a id="id533702"/><p>
3599+<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"/><link rel="home" href="../spine.html" title="The GNU C++ Library"/><link rel="up" href="../spine.html" title="The GNU C++ Library"/><link rel="prev" href="../spine.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="../spine.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-index"/>The GNU C++ Library Manual</h1></div><div><p class="copyright">Copyright © 2009, 2010
3600+ <a class="link" href="http://www.fsf.org">FSF</a>
3601+ </p></div><div><div class="legalnotice" title="Legal Notice"><a id="id399399"/><p>
3602 <a class="link" href="license.html" title="License">License</a>
3603- </p></div></div></div><hr/></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="part"><a href="intro.html">I.
3604+ </p></div></div></div><hr/></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="part"><a href="intro.html">I.
3605 Introduction
3606
3607 </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><dt><span class="section"><a href="status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><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><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></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.
3608@@ -61,7 +61,7 @@
3609
3610 </a></span></dt><dt><span class="appendix"><a href="appendix_gpl.html">D.
3611 <acronym class="acronym">GNU</acronym> General Public License version 3
3612- </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><b>List of Figures</b></p><dl><dt>B.1. <a href="appendix_porting.html#id614754">Configure and Build File Dependencies</a></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>1.1. <a href="status.html#id533556">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#id518456">C++ 200x Implementation Status</a></dt><dt>1.3. <a href="status.html#id576790">C++ TR1 Implementation Status</a></dt><dt>1.4. <a href="status.html#id582361">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using.html#id586478">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#id586707">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#id587011">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#id587217">C++ 200x Library Headers</a></dt><dt>3.5. <a href="using_headers.html#id587646">C++ 200x Library Headers for C Library Facilities</a></dt><dt>3.6. <a href="using_headers.html#id587895">C++ TR 1 Library Headers</a></dt><dt>3.7. <a href="using_headers.html#id588036">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.8. <a href="using_headers.html#id588211">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.9. <a href="using_headers.html#id588257">C++ ABI Headers</a></dt><dt>3.10. <a href="using_headers.html#id588311">Extension Headers</a></dt><dt>3.11. <a href="using_headers.html#id588608">Extension Debug Headers</a></dt><dt>3.12. <a href="using_headers.html#id588731">Extension Profile Headers</a></dt><dt>3.13. <a href="using_headers.html#id588843">Extension Parallel Headers</a></dt><dt>17.1. <a href="bk01pt03ch17s03.html#id602987">Debugging Containers</a></dt><dt>17.2. <a href="bk01pt03ch17s03.html#id603361">Debugging Containers C++0x</a></dt><dt>18.1. <a href="bk01pt03ch18s03.html#id604948">Parallel Algorithms</a></dt><dt>19.1. <a href="bk01pt03ch19s02.html#id607071">Profile Code Location</a></dt><dt>19.2. <a href="bk01pt03ch19s07.html#id607953">Profile Diagnostics</a></dt><dt>20.1. <a href="bitmap_allocator.html#id611395">Bitmap Allocator Memory Map</a></dt><dt>B.1. <a href="documentation_hacking.html#id615654">Doxygen Prerequisites</a></dt><dt>B.2. <a href="documentation_hacking.html#id616157">HTML to Doxygen Markup Comparison</a></dt><dt>B.3. <a href="documentation_hacking.html#id616319">Docbook Prerequisites</a></dt><dt>B.4. <a href="documentation_hacking.html#id616796">HTML to Docbook XML Markup Comparison</a></dt><dt>B.5. <a href="documentation_hacking.html#id616997">Docbook XML Element Use</a></dt><dt>B.6. <a href="api.html#id622712">Extension Allocators</a></dt><dt>B.7. <a href="api.html#id622942">Extension Allocators Continued</a></dt></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="../spine.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="../spine.html">Home</a></td><td align="right" valign="top"> Part I. 
3613+ </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>B.1. <a href="appendix_porting.html#id494186">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#id410184">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#id414053">C++ 200x Implementation Status</a></dt><dt>1.3. <a href="status.html#id456195">C++ TR1 Implementation Status</a></dt><dt>1.4. <a href="status.html#id461766">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using.html#id465910">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#id466139">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#id466443">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#id466649">C++ 200x Library Headers</a></dt><dt>3.5. <a href="using_headers.html#id467078">C++ 200x Library Headers for C Library Facilities</a></dt><dt>3.6. <a href="using_headers.html#id467327">C++ TR 1 Library Headers</a></dt><dt>3.7. <a href="using_headers.html#id467468">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.8. <a href="using_headers.html#id467644">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.9. <a href="using_headers.html#id467690">C++ ABI Headers</a></dt><dt>3.10. <a href="using_headers.html#id467743">Extension Headers</a></dt><dt>3.11. <a href="using_headers.html#id468041">Extension Debug Headers</a></dt><dt>3.12. <a href="using_headers.html#id468164">Extension Profile Headers</a></dt><dt>3.13. <a href="using_headers.html#id468275">Extension Parallel Headers</a></dt><dt>17.1. <a href="bk01pt03ch17s03.html#id482419">Debugging Containers</a></dt><dt>17.2. <a href="bk01pt03ch17s03.html#id482793">Debugging Containers C++0x</a></dt><dt>18.1. <a href="bk01pt03ch18s03.html#id484380">Parallel Algorithms</a></dt><dt>19.1. <a href="bk01pt03ch19s02.html#id486504">Profile Code Location</a></dt><dt>19.2. <a href="bk01pt03ch19s07.html#id487386">Profile Diagnostics</a></dt><dt>20.1. <a href="bitmap_allocator.html#id490827">Bitmap Allocator Memory Map</a></dt><dt>B.1. <a href="documentation_hacking.html#id495087">Doxygen Prerequisites</a></dt><dt>B.2. <a href="documentation_hacking.html#id495589">HTML to Doxygen Markup Comparison</a></dt><dt>B.3. <a href="documentation_hacking.html#id495751">Docbook Prerequisites</a></dt><dt>B.4. <a href="documentation_hacking.html#id496228">HTML to Docbook XML Markup Comparison</a></dt><dt>B.5. <a href="documentation_hacking.html#id496429">Docbook XML Element Use</a></dt><dt>B.6. <a href="api.html#id502145">Extension Allocators</a></dt><dt>B.7. <a href="api.html#id502375">Extension Allocators Continued</a></dt></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="../spine.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="../spine.html">Home</a></td><td align="right" valign="top"> Part I. 
3614 Introduction
3615
3616 </td></tr></table></div></body></html>
3617diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html
3618index a9d15c9..438c1bf 100644
3619--- a/libstdc++-v3/doc/html/manual/status.html
3620+++ b/libstdc++-v3/doc/html/manual/status.html
3621@@ -1,14 +1,14 @@
3622 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3623 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3624-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 1. Status</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3625+<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; "/><link rel="home" href="../spine.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. 
3626 Introduction
3627
3628-</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><h1 class="title"><a id="manual.intro.status"/>Status</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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><dt><span class="section"><a href="status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><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>
3629+</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><dt><span class="section"><a href="status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><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>
3630 This status table is based on the table of contents of ISO/IEC 14882:2003.
3631 </p><p>
3632 This page describes the C++ support in mainline GCC SVN, not in any
3633 particular release.
3634-</p><div class="table"><a id="id533556"/><p class="title"><b>Table 1.1. C++ 1998/2003 Implementation Status</b></p><div class="table-contents"><table summary="C++ 1998/2003 Implementation Status" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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">
3635+</p><div class="table"><a id="id410184"/><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">
3636 <span class="emphasis"><em>18</em></span>
3637 </td><td colspan="3" style="text-align: left">
3638 <span class="emphasis"><em>Language support</em></span>
3639@@ -144,8 +144,8 @@ particular release.
3640 a get area exists will... whatever <code class="code">fflush()</code> does, I think.
3641 </p></div></div><div class="section" title="C++ 200x"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.200x"/>C++ 200x</h3></div></div></div><p>
3642 This table is based on the table of contents of ISO/IEC
3643-JTC1 SC22 WG21 Doc No: N3092 Date: 2010-03-26
3644-Final Committee Draft, Standard for Programming Language C++
3645+JTC1 SC22 WG21 Doc No: N3290 Date: 2011-04-11
3646+Final Draft International Standard, Standard for Programming Language C++
3647 </p><p>
3648 In this implementation <code class="literal">-std=gnu++0x</code> or
3649 <code class="literal">-std=c++0x</code> flags must be used to enable language
3650@@ -155,13 +155,12 @@ options. The pre-defined symbol
3651 <code class="constant">__GXX_EXPERIMENTAL_CXX0X__</code> is used to check for the
3652 presence of the required flag.
3653 </p><p>
3654-This page describes the C++0x support in mainline GCC SVN, not in any
3655-particular release.
3656-</p><div class="table"><a id="id518456"/><p class="title"><b>Table 1.2. C++ 200x Implementation Status</b></p><div class="table-contents"><table summary="C++ 200x Implementation Status" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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">
3657+This page describes the C++0x support in the GCC 4.6 release series.
3658+</p><div class="table"><a id="id414053"/><p class="title"><strong>Table 1.2. C++ 200x Implementation Status</strong></p><div class="table-contents"><table summary="C++ 200x 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">
3659 <span class="emphasis"><em>18</em></span>
3660 </td><td colspan="3" style="text-align: left">
3661 <span class="emphasis"><em>Language support</em></span>
3662- </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.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.3.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.3.1.2</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.1.3</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.1.4</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.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.3.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.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">Violating exception-specifications</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 style="background-color: #C8B0B0"><td style="text-align: left">18.9.3</td><td style="text-align: left">Initializer list range access</td><td style="text-align: left">N</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">
3663+ </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 style="background-color: #C8B0B0"><td style="text-align: left">18.9.3</td><td style="text-align: left">Initializer list range access</td><td style="text-align: left">N</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">
3664 <span class="emphasis"><em>19</em></span>
3665 </td><td colspan="3" style="text-align: left">
3666 <span class="emphasis"><em>Diagnostics</em></span>
3667@@ -169,12 +168,22 @@ particular release.
3668 <span class="emphasis"><em>20</em></span>
3669 </td><td colspan="3" style="text-align: left">
3670 <span class="emphasis"><em>General utilities</em></span>
3671- </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">Requirements</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3</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.3.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.3.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.3.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.3.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.5</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.5.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.3.5.2</td><td style="text-align: left">Class template <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.3</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.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">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.6</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.6.1</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.6.2</td><td style="text-align: left">Arithmetic on <code class="code">ratio</code> types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.3</td><td style="text-align: left">Comparison of <code class="code">ratio</code> types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.4</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.7</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.7.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.7.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.7.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.7.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.7.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.7.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.7.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, is_nothrow_constructible</td></tr><tr><td style="text-align: left">20.7.5</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 style="background-color: #B0B0B0"><td style="text-align: left">20.7.6</td><td style="text-align: left">Transformations between types</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing underlying_type</td></tr><tr><td style="text-align: left">20.7.6.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.7.6.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.7.6.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.7.6.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.7.6.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.7.6.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.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">Y</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">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.3</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.8.4</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.5</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.6</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.7</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.8</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.9</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.10</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">20.8.11</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.8.12</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 style="background-color: #B0B0B0"><td style="text-align: left">20.8.13</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.14</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.14.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.14.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.15</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">Memory</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">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.9.2</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: #C8B0B0"><td style="text-align: left">20.9.3</td><td style="text-align: left">Pointer 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">20.9.4</td><td style="text-align: left">Allocator traits</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.5</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 style="background-color: #C8B0B0"><td style="text-align: left">20.9.6</td><td style="text-align: left">Scoped allocator adaptor</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">20.9.6.1</td><td style="text-align: left">Scoped allocator adaptor member types</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">20.9.6.2</td><td style="text-align: left">Scoped allocator adaptor 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">20.9.6.3</td><td style="text-align: left">Scoped allocator adaptor members</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7</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.9.8</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.9.9</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.9.9.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.9.9.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.9.9.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.9.9.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.9.10</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.9.11</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.9.11.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.9.11.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">
3672+ </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><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">Y</td><td style="text-align: left"> </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 style="background-color: #B0B0B0"><td style="text-align: left">20.4.2.4</td><td style="text-align: left">Tuple creation functions</td><td style="text-align: left">Partial</td><td style="text-align: left"><code class="code">tuple_cat</code> should be a single variadic signature (DR 1385)</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 style="background-color: #C8B0B0"><td style="text-align: left">20.4.2.8</td><td style="text-align: left">Tuple traits</td><td style="text-align: left">N</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: #C8B0B0"><td style="text-align: left">20.6.3</td><td style="text-align: left">Pointer traits</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">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: #C8B0B0"><td style="text-align: left">20.6.8</td><td style="text-align: left">Allocator traits</td><td style="text-align: left">N</td><td style="text-align: left"> </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">
3673 <p>
3674 Uses code from
3675- <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="">boost::shared_ptr</a>.
3676+ <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</a>.
3677 </p>
3678- </td></tr><tr><td style="text-align: left">20.9.11.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.9.11.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.9.11.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.9.11.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">20.9.12</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.9.13</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.9.16</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.10</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.10.1</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.10.2</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.10.2.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.10.2.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.10.2.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><td style="text-align: left">20.10.3</td><td style="text-align: left">Class template <code class="code">duration</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">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.10.5</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.10.5.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><td style="text-align: left">20.10.5.2</td><td style="text-align: left">Class <code class="code">monotonic_clock</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10.5.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</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: #C8B0B0"><td style="text-align: left">20.12</td><td style="text-align: left">Class <code class="code">type_index</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
3679+ </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,
3680+ is_assignable, is_copy_assignable, is_move_assignable,
3681+ is_trivially_constructible, is_trivially_default_constructible,
3682+ is_trivially_copy_constructible, is_trivially_move_constructible,
3683+ is_trivially_assignable, is_trivially_default_assignable,
3684+ is_trivially_copy_assignable, is_trivially_move_assignable,
3685+ is_trivially_destructible,
3686+ is_nothrow_assignable,
3687+ is_nothrow_copy_assignable, is_nothrow_move_assignable,
3688+ is_nothrow_destructible
3689+ </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: #C8B0B0"><td style="text-align: left">20.12</td><td style="text-align: left">Scoped allocator adaptor</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><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 style="background-color: #C8B0B0"><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">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">20.12.3</td><td style="text-align: left">Scoped allocator adaptor 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">20.12.4</td><td style="text-align: left">Scoped allocator adaptor 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">20.12.5</td><td style="text-align: left">Scoped allocator 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">20.13</td><td style="text-align: left">Class <code class="code">type_index</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
3690 <span class="emphasis"><em>21</em></span>
3691 </td><td colspan="3" style="text-align: left">
3692 <span class="emphasis"><em>Strings</em></span>
3693@@ -186,7 +195,7 @@ particular release.
3694 <span class="emphasis"><em>23</em></span>
3695 </td><td colspan="3" style="text-align: left">
3696 <span class="emphasis"><em>Containers</em></span>
3697- </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><td style="text-align: left">23.2.1</td><td style="text-align: left">General 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.2</td><td style="text-align: left">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><td style="text-align: left">23.2.4</td><td style="text-align: left">Associative containers</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">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.1</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.2</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.3</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.4</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.5</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.3.5.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.3.5.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.3.5.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.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.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.4.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.4.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.4.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">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.1</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.2</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.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">23.5.4</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">
3698+ </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><td style="text-align: left">23.2.1</td><td style="text-align: left">General 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.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><td style="text-align: left">23.2.4</td><td style="text-align: left">Associative containers</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">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">
3699 <span class="emphasis"><em>24</em></span>
3700 </td><td colspan="3" style="text-align: left">
3701 <span class="emphasis"><em>Iterators</em></span>
3702@@ -198,11 +207,14 @@ particular release.
3703 <span class="emphasis"><em>26</em></span>
3704 </td><td colspan="3" style="text-align: left">
3705 <span class="emphasis"><em>Numerics</em></span>
3706- </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.1</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.2</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.3</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.1</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.1.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.1.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.2</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.2.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.2.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.2.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.2.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.3</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.3.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.3.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.3.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.3.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.3.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.4</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.4.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.4.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.4.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.4.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.4.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.4.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.5</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.5.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.5.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.5.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 style="background-color: #C8B0B0"><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">N</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"><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.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.7.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.7.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.7.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.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">
3707+ </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 style="background-color: #B0B0B0"><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">Partial</td><td style="text-align: left">Missing move and swap operations</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">
3708 <span class="emphasis"><em>27</em></span>
3709 </td><td colspan="3" style="text-align: left">
3710 <span class="emphasis"><em>Input/output library</em></span>
3711- </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">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.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 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">Missing move and swap operations</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">
3712+ </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">
3713+ Missing move and swap operations on <code class="code">basic_ios</code>. Missing
3714+ <code class="code">make_error_code</code> and <code class="code">make_error_condition</code>.
3715+ </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">
3716 <span class="emphasis"><em>28</em></span>
3717 </td><td colspan="3" style="text-align: left">
3718 <span class="emphasis"><em>Regular expressions</em></span>
3719@@ -210,15 +222,18 @@ particular release.
3720 <span class="emphasis"><em>29</em></span>
3721 </td><td colspan="3" style="text-align: left">
3722 <span class="emphasis"><em>Atomic operations</em></span>
3723- </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><td style="text-align: left">29.4</td><td style="text-align: left">Lock-free property</td><td style="text-align: left">Y</td><td style="text-align: left">Based on _GLIBCXX_ATOMIC_PROPERTY</td></tr><tr><td style="text-align: left">29.5</td><td style="text-align: left">Atomic types</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">29.5.1</td><td style="text-align: left">Integral types</td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">29.5.2</td><td style="text-align: left">Address types</td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">29.5.3</td><td style="text-align: left">Generic types</td><td style="text-align: left">Y</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">
3724+ </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
3725+ <code class="code">ATOMIC_POINTER_LOCK_FREE</code>.
3726+ Based on _GLIBCXX_ATOMIC_PROPERTY
3727+ </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">
3728 <span class="emphasis"><em>30</em></span>
3729 </td><td colspan="3" style="text-align: left">
3730 <span class="emphasis"><em>Thread support</em></span>
3731- </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> is not trivially copyable</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">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</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.2</td><td style="text-align: left">Timed mutex requirements</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 <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.2.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.3</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.3.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.3.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.4</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.5</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.5.1</td><td style="text-align: left"><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.5.2</td><td style="text-align: left"><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">Associated asynchronous 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">Missing future_status and future::share()</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">Missing future_status</td></tr><tr><td style="text-align: left">30.6.9</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.10</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">
3732+ </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"> </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">Missing future_status and future::share()</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">Missing 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">
3733 <span class="emphasis"><em>Appendix D</em></span>
3734 </td><td colspan="3" style="text-align: left">
3735 <span class="emphasis"><em>Compatibility features</em></span>
3736- </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">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"><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.5</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.6</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.7</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.8</td><td style="text-align: left">char* streams</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></tbody></table></div></div><br class="table-break"/></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>
3737+ </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><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>
3738 This table is based on the table of contents of ISO/IEC DTR 19768
3739 Doc No: N1836=05-0096 Date: 2005-06-24
3740 Draft Technical Report on C++ Library Extensions
3741@@ -229,10 +244,10 @@ In this implementation the header names are prefixed by
3742 </p><p>
3743 This page describes the TR1 support in mainline GCC SVN, not in any particular
3744 release.
3745-</p><div class="table"><a id="id576790"/><p class="title"><b>Table 1.3. C++ TR1 Implementation Status</b></p><div class="table-contents"><table summary="C++ TR1 Implementation Status" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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">
3746+</p><div class="table"><a id="id456195"/><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">
3747 <p>
3748 Uses code from
3749- <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="">boost::shared_ptr</a>.
3750+ <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</a>.
3751 </p>
3752 </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><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>
3753 This table is based on the table of contents of
3754@@ -242,7 +257,7 @@ decimal floating-point arithmetic
3755 </p><p>
3756 This page describes the TR 24733 support in mainline GCC SVN, not in any
3757 particular release.
3758-</p><div class="table"><a id="id582361"/><p class="title"><b>Table 1.4. C++ TR 24733 Implementation Status</b></p><div class="table-contents"><table summary="C++ TR 24733 Implementation Status" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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">
3759+</p><div class="table"><a id="id461766"/><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">
3760 <span class="emphasis"><em>0</em></span>
3761 </td><td colspan="3" style="text-align: left">
3762 <span class="emphasis"><em>Introduction</em></span>
3763diff --git a/libstdc++-v3/doc/html/manual/streambufs.html b/libstdc++-v3/doc/html/manual/streambufs.html
3764index 17aaddb..92c148d 100644
3765--- a/libstdc++-v3/doc/html/manual/streambufs.html
3766+++ b/libstdc++-v3/doc/html/manual/streambufs.html
3767@@ -1,15 +1,15 @@
3768 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3769 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3770-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Stream Buffers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3771+<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; "/><link rel="home" href="../spine.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. 
3772 Input and Output
3773
3774 </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>
3775 </p><p>Creating your own stream buffers for I/O can be remarkably easy.
3776 If you are interested in doing so, we highly recommend two very
3777 excellent books:
3778- <a class="link" href="http://www.angelikalanger.com/iostreams.html" target="">Standard C++
3779+ <a class="link" href="http://www.angelikalanger.com/iostreams.html">Standard C++
3780 IOStreams and Locales</a> by Langer and Kreft, ISBN 0-201-18395-1, and
3781- <a class="link" href="http://www.josuttis.com/libbook/" target="">The C++ Standard Library</a>
3782+ <a class="link" href="http://www.josuttis.com/libbook/">The C++ Standard Library</a>
3783 by Nicolai Josuttis, ISBN 0-201-37926-0. Both are published by
3784 Addison-Wesley, who isn't paying us a cent for saying that, honest.
3785 </p><p>Here is a simple example, io/outbuf1, from the Josuttis text. It
3786@@ -55,7 +55,7 @@
3787 }
3788 </pre><p>Try it yourself! More examples can be found in 3.1.x code, in
3789 <code class="code">include/ext/*_filebuf.h</code>, and in this article by James Kanze:
3790- <a class="link" href="http://kanze.james.neuf.fr/articles/fltrsbf1.html" target="">Filtering
3791+ <a class="link" href="http://kanze.james.neuf.fr/articles/fltrsbf1.html">Filtering
3792 Streambufs</a>.
3793 </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
3794 the fact that C++ may not, in fact, have anything to do with it?
3795diff --git a/libstdc++-v3/doc/html/manual/strings.html b/libstdc++-v3/doc/html/manual/strings.html
3796index 5a5c96f..a70edcd 100644
3797--- a/libstdc++-v3/doc/html/manual/strings.html
3798+++ b/libstdc++-v3/doc/html/manual/strings.html
3799@@ -1,14 +1,14 @@
3800 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3801 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3802-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 7.  Strings</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3803+<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; "/><link rel="home" href="../spine.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. 
3804 Strings
3805
3806 </th></tr><tr><td align="left"><a accesskey="p" href="traits.html">Prev</a> </td><th width="60%" align="center">Part II. 
3807 Standard Contents
3808- </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><h1 class="title"><a id="std.strings"/>
3809+ </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. 
3810 Strings
3811- <a id="id595652" class="indexterm"/>
3812-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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>
3813+ <a id="id475084" class="indexterm"/>
3814+</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>
3815 Here are Standard, simple, and portable ways to perform common
3816 transformations on a <code class="code">string</code> instance, such as
3817 "convert to all upper case." The word transformations
3818@@ -64,7 +64,7 @@
3819 are overloaded names (declared in <code class="code">&lt;cctype&gt;</code> and
3820 <code class="code">&lt;locale&gt;</code>) so the template-arguments for
3821 <code class="code">transform&lt;&gt;</code> cannot be deduced, as explained in
3822- <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-11/msg00180.html" target="">this
3823+ <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-11/msg00180.html">this
3824 message</a>.
3825
3826 At minimum, you can write short wrappers like
3827@@ -91,7 +91,7 @@
3828 optimize named temporaries out of existence.
3829 </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>
3830 </p><p>The well-known-and-if-it-isn't-well-known-it-ought-to-be
3831- <a class="link" href="http://www.gotw.ca/gotw/" target="">Guru of the Week</a>
3832+ <a class="link" href="http://www.gotw.ca/gotw/">Guru of the Week</a>
3833 discussions held on Usenet covered this topic in January of 1998.
3834 Briefly, the challenge was, <span class="quote">“<span class="quote">write a 'ci_string' class which
3835 is identical to the standard 'string' class, but is
3836@@ -108,10 +108,10 @@
3837 assert( strcmp( s.c_str(), "AbCdE" ) == 0 );
3838 assert( strcmp( s.c_str(), "abcde" ) != 0 ); </pre><p>The solution is surprisingly easy. The original answer was
3839 posted on Usenet, and a revised version appears in Herb Sutter's
3840- 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="">GotW 29</a>.
3841+ 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>.
3842 </p><p>See? Told you it was easy!</p><p>
3843 <span class="emphasis"><em>Added June 2000:</em></span> The May 2000 issue of C++
3844- Report contains a fascinating <a class="link" href="http://lafstern.org/matt/col2_new.pdf" target=""> article</a> by
3845+ Report contains a fascinating <a class="link" href="http://lafstern.org/matt/col2_new.pdf"> article</a> by
3846 Matt Austern (yes, <span class="emphasis"><em>the</em></span> Matt Austern) on why
3847 case-insensitive comparisons are not as easy as they seem, and
3848 why creating a class is the <span class="emphasis"><em>wrong</em></span> way to go
3849@@ -123,7 +123,7 @@
3850 that nobody ever called me on it...) The GotW question and answer
3851 remain useful instructional tools, however.
3852 </p><p><span class="emphasis"><em>Added September 2000:</em></span> James Kanze provided a link to a
3853- <a class="link" href="http://www.unicode.org/reports/tr21/tr21-5.html" target="">Unicode
3854+ <a class="link" href="http://www.unicode.org/reports/tr21/tr21-5.html">Unicode
3855 Technical Report discussing case handling</a>, which provides some
3856 very good information.
3857 </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>
3858@@ -169,15 +169,15 @@
3859 works and can be specialized even for <code class="code">int</code> and other
3860 built-in types.
3861 </p><p>If you want to use your own special character class, then you have
3862- <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00163.html" target="">a lot
3863+ <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00163.html">a lot
3864 of work to do</a>, especially if you with to use i18n features
3865 (facets require traits information but don't have a traits argument).
3866- </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="">on the
3867+ </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
3868 mailing list</a> and at a later date was put into the file <code class="code">
3869 include/ext/pod_char_traits.h</code>. We agree
3870 that the way it's used with basic_string (scroll down to main())
3871- doesn't look nice, but that's because <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00236.html" target="">the
3872- nice-looking first attempt</a> turned out to <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00242.html" target="">not
3873+ doesn't look nice, but that's because <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00236.html">the
3874+ nice-looking first attempt</a> turned out to <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00242.html">not
3875 be conforming C++</a>, due to the rule that CharT must be a POD.
3876 (See how tricky this is?)
3877 </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>
3878@@ -280,7 +280,7 @@ stringtok(Container &amp;container, string const &amp;in,
3879 their application from a Win32 platform, they discover that they
3880 are relying on special functions offered by the CString class.
3881 </p><p>Things are not as bad as they seem. In
3882- <a class="link" href="http://gcc.gnu.org/ml/gcc/1999-04n/msg00236.html" target="">this
3883+ <a class="link" href="http://gcc.gnu.org/ml/gcc/1999-04n/msg00236.html">this
3884 message</a>, Joe Buck points out a few very important things:
3885 </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>The Standard <code class="code">string</code> supports all the operations
3886 that CString does, with three exceptions.
3887diff --git a/libstdc++-v3/doc/html/manual/stringstreams.html b/libstdc++-v3/doc/html/manual/stringstreams.html
3888index be4683d..1107d61 100644
3889--- a/libstdc++-v3/doc/html/manual/stringstreams.html
3890+++ b/libstdc++-v3/doc/html/manual/stringstreams.html
3891@@ -1,6 +1,6 @@
3892 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3893 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3894-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Memory Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3895+<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; "/><link rel="home" href="../spine.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. 
3896 Input and Output
3897
3898 </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>
3899diff --git a/libstdc++-v3/doc/html/manual/support.html b/libstdc++-v3/doc/html/manual/support.html
3900index b5f2d11..39c8185 100644
3901--- a/libstdc++-v3/doc/html/manual/support.html
3902+++ b/libstdc++-v3/doc/html/manual/support.html
3903@@ -1,14 +1,14 @@
3904 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3905 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3906-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 4.  Support</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3907+<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; "/><link rel="home" href="../spine.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. 
3908 Support
3909
3910 </th></tr><tr><td align="left"><a accesskey="p" href="bk01pt02.html">Prev</a> </td><th width="60%" align="center">Part II. 
3911 Standard Contents
3912- </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><h1 class="title"><a id="std.support"/>
3913+ </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. 
3914 Support
3915- <a id="id592185" class="indexterm"/>
3916-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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>
3917+ <a id="id471617" class="indexterm"/>
3918+</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>
3919 This part deals with the functions called and objects created
3920 automatically during the course of a program's existence.
3921 </p><p>
3922@@ -58,7 +58,7 @@
3923 traits classes to give access to various implementation
3924 defined-aspects of the fundamental types. The traits classes --
3925 fourteen in total -- are all specializations of the template class
3926- <code class="classname">numeric_limits</code>, documented <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00593.html" target="">here</a>
3927+ <code class="classname">numeric_limits</code>, documented <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00593.html">here</a>
3928 and defined as follows:
3929 </p><pre class="programlisting">
3930 template&lt;typename T&gt;
3931@@ -116,14 +116,14 @@
3932 overloading won't do what you expect. (This is why
3933 <span class="command"><strong>g++</strong></span> has a magic extension, so that
3934 <code class="constant">NULL</code> is always a pointer.)
3935- </p><p>In his book <a class="link" href="http://www.awprofessional.com/titles/0-201-92488-9/" target=""><span class="emphasis"><em>Effective
3936+ </p><p>In his book <a class="link" href="http://www.awprofessional.com/titles/0-201-92488-9/"><span class="emphasis"><em>Effective
3937 C++</em></span></a>, Scott Meyers points out that the best way
3938 to solve this problem is to not overload on pointer-vs-integer
3939 types to begin with. He also offers a way to make your own magic
3940 <code class="constant">NULL</code> that will match pointers before it
3941 matches integers.
3942 </p><p>See
3943- <a class="link" href="http://www.awprofessional.com/titles/0-201-31015-5/" target="">the
3944+ <a class="link" href="http://www.awprofessional.com/titles/0-201-31015-5/">the
3945 Effective C++ CD example</a>
3946 </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. 
3947 Standard Contents
3948diff --git a/libstdc++-v3/doc/html/manual/termination.html b/libstdc++-v3/doc/html/manual/termination.html
3949index c0c78a5..cc52359 100644
3950--- a/libstdc++-v3/doc/html/manual/termination.html
3951+++ b/libstdc++-v3/doc/html/manual/termination.html
3952@@ -1,6 +1,6 @@
3953 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3954 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3955-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Termination</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
3956+<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; "/><link rel="home" href="../spine.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. 
3957 Support
3958
3959 </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>
3960diff --git a/libstdc++-v3/doc/html/manual/test.html b/libstdc++-v3/doc/html/manual/test.html
3961index 09943f8..b346c42 100644
3962--- a/libstdc++-v3/doc/html/manual/test.html
3963+++ b/libstdc++-v3/doc/html/manual/test.html
3964@@ -1,6 +1,6 @@
3965 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3966 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3967-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Test</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><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; "/><link rel="home" href="../spine.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. 
3968+<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; "/><link rel="home" href="../spine.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. 
3969 Porting and Maintenance
3970
3971 </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>
3972@@ -146,9 +146,9 @@ cat 27_io/objects/char/3_xin.in | a.out
3973 output, and the executable output (if any).
3974 </p><p>
3975 Archives of test results for various versions and platforms are
3976- available on the GCC website in the <a class="link" href="http://gcc.gnu.org/gcc-4.3/buildstat.html" target="">build
3977+ available on the GCC website in the <a class="link" href="http://gcc.gnu.org/gcc-4.3/buildstat.html">build
3978 status</a> section of each individual release, and are also
3979- archived on a daily basis on the <a class="link" href="http://gcc.gnu.org/ml/gcc-testresults/current" target="">gcc-testresults</a>
3980+ archived on a daily basis on the <a class="link" href="http://gcc.gnu.org/ml/gcc-testresults/current">gcc-testresults</a>
3981 mailing list. Please check either of these places for a similar
3982 combination of source version, operating system, and host CPU.
3983 </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>
3984@@ -493,7 +493,7 @@ only default variables.
3985 reporting functions including:
3986 </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"/>
3987 Qualifying Exception Safety Guarantees
3988- <a id="id619257" class="indexterm"/>
3989+ <a id="id498690" class="indexterm"/>
3990 </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>
3991 Testing is composed of running a particular test sequence,
3992 and looking at what happens to the surrounding code when
3993diff --git a/libstdc++-v3/doc/html/manual/traits.html b/libstdc++-v3/doc/html/manual/traits.html
3994index 56f3758..4c04c7b 100644
3995--- a/libstdc++-v3/doc/html/manual/traits.html
3996+++ b/libstdc++-v3/doc/html/manual/traits.html
3997@@ -1,6 +1,6 @@
3998 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3999 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4000-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Traits</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
4001+<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; "/><link rel="home" href="../spine.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. 
4002 Utilities
4003
4004 </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>
4005diff --git a/libstdc++-v3/doc/html/manual/using.html b/libstdc++-v3/doc/html/manual/using.html
4006index 93d9ebc..f9eeb59 100644
4007--- a/libstdc++-v3/doc/html/manual/using.html
4008+++ b/libstdc++-v3/doc/html/manual/using.html
4009@@ -1,15 +1,15 @@
4010 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4011 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4012-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 3. Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
4013+<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; "/><link rel="home" href="../spine.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. 
4014 Introduction
4015
4016-</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><h1 class="title"><a id="manual.intro.using"/>Using</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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><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></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>
4017+</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><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></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>
4018 The set of features available in the GNU C++ library is shaped
4019 by
4020- several <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc-4.3.2//gcc/Invoking-GCC.html" target="">GCC
4021+ several <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc-4.3.2//gcc/Invoking-GCC.html">GCC
4022 Command Options</a>. Options that impact libstdc++ are
4023 enumerated and detailed in the table below.
4024 </p><p>
4025 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.
4026- </p><div class="table"><a id="id586478"/><p class="title"><b>Table 3.1. C++ Command Options</b></p><div class="table-contents"><table summary="C++ Command Options" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/></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++0x</code></td><td style="text-align: left">Use the working draft of the upcoming ISO C++0x standard.</td></tr><tr><td style="text-align: left"><code class="literal">-std=gnu++0x</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++0x &lt;thread&gt;, &lt;future&gt;,
4027+ </p><div class="table"><a id="id465910"/><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++0x</code></td><td style="text-align: left">Use the working draft of the upcoming ISO C++0x standard.</td></tr><tr><td style="text-align: left"><code class="literal">-std=gnu++0x</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++0x &lt;thread&gt;, &lt;future&gt;,
4028 &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="../spine.html">Home</a></td><td align="right" valign="top"> Headers</td></tr></table></div></body></html>
4029diff --git a/libstdc++-v3/doc/html/manual/using_concurrency.html b/libstdc++-v3/doc/html/manual/using_concurrency.html
4030index 072adcb..a0ca2a6 100644
4031--- a/libstdc++-v3/doc/html/manual/using_concurrency.html
4032+++ b/libstdc++-v3/doc/html/manual/using_concurrency.html
4033@@ -1,6 +1,6 @@
4034 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4035 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4036-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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
4037+<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; "/><link rel="home" href="../spine.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
4038 of multithreaded applications which use the Standard C++
4039 library. This information is GCC-specific since the C++
4040 standard does not address matters of multithreaded applications.
4041@@ -34,7 +34,7 @@
4042 AFAIK, none of this is properly documented anywhere other than
4043 in ``gcc -dumpspecs'' (look at lib and cpp entries).
4044 </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>
4045-We currently use the <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html" target="">SGI STL</a> definition of thread safety.
4046+We currently use the <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html">SGI STL</a> definition of thread safety.
4047 </p><p>The library strives to be thread-safe when all of the following
4048 conditions are met:
4049 </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>The system's libc is itself thread-safe,
4050@@ -53,7 +53,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
4051 Requisite command-line flags are used for atomic operations
4052 and threading. Examples of this include <code class="code">-pthread</code>
4053 and <code class="code">-march=native</code>, although specifics vary
4054- depending on the host environment. See <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html" target="">Machine
4055+ depending on the host environment. See <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html">Machine
4056 Dependent Options</a>.
4057 </p></li><li class="listitem"><p>
4058 An implementation of atomicity.h functions
4059@@ -161,9 +161,9 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
4060 threaded and non-threaded code), see Chapter 17.
4061 </p><p>Two excellent pages to read when working with the Standard C++
4062 containers and threads are
4063- <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html" target="">SGI's
4064+ <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html">SGI's
4065 http://www.sgi.com/tech/stl/thread_safety.html</a> and
4066- <a class="link" href="http://www.sgi.com/tech/stl/Allocators.html" target="">SGI's
4067+ <a class="link" href="http://www.sgi.com/tech/stl/Allocators.html">SGI's
4068 http://www.sgi.com/tech/stl/Allocators.html</a>.
4069 </p><p><span class="emphasis"><em>However, please ignore all discussions about the user-level
4070 configuration of the lock implementation inside the STL
4071diff --git a/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html b/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html
4072index fc4c51d..6ca06ca 100644
4073--- a/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html
4074+++ b/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html
4075@@ -1,6 +1,6 @@
4076 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4077 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4078-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Linking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
4079+<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; "/><link rel="home" href="../spine.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>
4080 Or as close as it gets: freestanding. This is a minimal
4081 configuration, with only partial support for the standard
4082 library. Assume only the following header files can be used:
4083@@ -51,10 +51,10 @@
4084 But how?
4085 </p><p>
4086 A quick read of the relevant part of the GCC
4087- manual, <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html#Invoking-G_002b_002b" target="">Compiling
4088+ manual, <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html#Invoking-G_002b_002b">Compiling
4089 C++ Programs</a>, specifies linking against a C++
4090 library. More details from the
4091- GCC <a class="link" href="http://gcc.gnu.org/faq.html#rpath" target="">FAQ</a>,
4092+ GCC <a class="link" href="http://gcc.gnu.org/faq.html#rpath">FAQ</a>,
4093 which states <span class="emphasis"><em>GCC does not, by default, specify a
4094 location so that the dynamic linker can find dynamic libraries at
4095 runtime.</em></span>
4096diff --git a/libstdc++-v3/doc/html/manual/using_exceptions.html b/libstdc++-v3/doc/html/manual/using_exceptions.html
4097index 711f885..d1e2693 100644
4098--- a/libstdc++-v3/doc/html/manual/using_exceptions.html
4099+++ b/libstdc++-v3/doc/html/manual/using_exceptions.html
4100@@ -1,6 +1,6 @@
4101 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4102 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4103-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Exceptions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><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; "/><link rel="home" href="../spine.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>
4104+<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; "/><link rel="home" href="../spine.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>
4105 The C++ language provides language support for stack unwinding
4106 with <code class="literal">try</code> and <code class="literal">catch</code> blocks and
4107 the <code class="literal">throw</code> keyword.
4108@@ -113,7 +113,7 @@ exception neutrality and exception safety.
4109 support <code class="literal">try</code> and <code class="literal">catch</code> blocks
4110 and thrown objects. (Language support
4111 for <code class="literal">-fno-exceptions</code> is documented in the GNU
4112- GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options" target="">manual</a>.)
4113+ GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options">manual</a>.)
4114 </p><p>Before detailing the library support
4115 for <code class="literal">-fno-exceptions</code>, first a passing note on
4116 the things lost when this flag is used: it will break exceptions
4117@@ -266,7 +266,7 @@ is called.
4118 }
4119 catch(...)
4120 { this-&gt;_M_setstate(ios_base::badbit); }
4121-</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"><a id="id591326"/><p><span class="biblioid">
4122+</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"><a id="id470759"/><p><span class="biblioid">
4123 . </span><span class="citetitle"><em class="citetitle">
4124 System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
4125 </em>. </span><span class="pagenums">
4126@@ -274,34 +274,34 @@ is called.
4127 . </span><span class="copyright">Copyright © 2008
4128 The Open Group/The Institute of Electrical and Electronics
4129 Engineers, Inc.
4130- . </span></p></div><div class="biblioentry"><a id="id591359"/><p><span class="biblioid">
4131+ . </span></p></div><div class="biblioentry"><a id="id470792"/><p><span class="biblioid">
4132 . </span><span class="citetitle"><em class="citetitle">
4133 Error and Exception Handling
4134 </em>. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams </span>. </span><span class="publisher"><span class="publishername">
4135 Boost
4136- . </span></span></p></div><div class="biblioentry"><a id="id591392"/><p><span class="biblioid">
4137+ . </span></span></p></div><div class="biblioentry"><a id="id470825"/><p><span class="biblioid">
4138 . </span><span class="citetitle"><em class="citetitle">
4139 Exception-Safety in Generic Components
4140 </em>. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams</span>. </span><span class="publisher"><span class="publishername">
4141 Boost
4142- . </span></span></p></div><div class="biblioentry"><a id="id591426"/><p><span class="biblioid">
4143+ . </span></span></p></div><div class="biblioentry"><a id="id470858"/><p><span class="biblioid">
4144 . </span><span class="citetitle"><em class="citetitle">
4145 Standard Library Exception Policy
4146 </em>. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
4147 WG21 N1077
4148- . </span></span></p></div><div class="biblioentry"><a id="id591459"/><p><span class="biblioid">
4149+ . </span></span></p></div><div class="biblioentry"><a id="id470891"/><p><span class="biblioid">
4150 . </span><span class="citetitle"><em class="citetitle">
4151 ia64 c++ abi exception handling
4152 </em>. </span><span class="author"><span class="firstname">Richard</span> <span class="surname">Henderson</span>. </span><span class="publisher"><span class="publishername">
4153 GNU
4154- . </span></span></p></div><div class="biblioentry"><a id="id591492"/><p><span class="biblioid">
4155+ . </span></span></p></div><div class="biblioentry"><a id="id470924"/><p><span class="biblioid">
4156 . </span><span class="citetitle"><em class="citetitle">
4157 Appendix E: Standard-Library Exception Safety
4158- </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span></p></div><div class="biblioentry"><a id="id591518"/><p><span class="citetitle"><em class="citetitle">
4159+ </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span></p></div><div class="biblioentry"><a id="id470950"/><p><span class="citetitle"><em class="citetitle">
4160 Exceptional C++
4161 </em>. </span><span class="pagenums">
4162 Exception-Safety Issues and Techniques
4163- . </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry"><a id="id591538"/><p><span class="biblioid">
4164+ . </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry"><a id="id470970"/><p><span class="biblioid">
4165 . </span><span class="citetitle"><em class="citetitle">
4166 GCC Bug 25191: exception_defines.h #defines try/catch
4167 </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="../spine.html">Home</a></td><td align="right" valign="top"> Debugging Support</td></tr></table></div></body></html>
4168diff --git a/libstdc++-v3/doc/html/manual/using_headers.html b/libstdc++-v3/doc/html/manual/using_headers.html
4169index b62e09c..fde253e 100644
4170--- a/libstdc++-v3/doc/html/manual/using_headers.html
4171+++ b/libstdc++-v3/doc/html/manual/using_headers.html
4172@@ -1,6 +1,6 @@
4173 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4174 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4175-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Headers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
4176+<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; "/><link rel="home" href="../spine.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>
4177 The C++ standard specifies the entire set of header files that
4178 must be available to all hosted implementations. Actually, the
4179 word "files" is a misnomer, since the contents of the
4180@@ -20,19 +20,19 @@
4181 upcoming 200x standard.
4182 </p><p>
4183 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>.
4184- </p><div class="table"><a id="id586707"/><p class="title"><b>Table 3.2. C++ 1998 Library Headers</b></p><div class="table-contents"><table summary="C++ 1998 Library Headers" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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="id587011"/><p class="title"><b>Table 3.3. C++ 1998 Library Headers for C Library Facilities</b></p><div class="table-contents"><table summary="C++ 1998 Library Headers for C Library Facilities" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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>
4185+ </p><div class="table"><a id="id466139"/><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="id466443"/><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>
4186 C++0x include files. These are only available in C++0x compilation
4187 mode, i.e. <code class="literal">-std=c++0x</code> or <code class="literal">-std=gnu++0x</code>.
4188-</p><p/><div class="table"><a id="id587217"/><p class="title"><b>Table 3.4. C++ 200x Library Headers</b></p><div class="table-contents"><table summary="C++ 200x Library Headers" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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="id587646"/><p class="title"><b>Table 3.5. C++ 200x Library Headers for C Library Facilities</b></p><div class="table-contents"><table summary="C++ 200x Library Headers for C Library Facilities" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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>
4189+</p><p/><div class="table"><a id="id466649"/><p class="title"><strong>Table 3.4. C++ 200x Library Headers</strong></p><div class="table-contents"><table summary="C++ 200x 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="id467078"/><p class="title"><strong>Table 3.5. C++ 200x Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ 200x 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>
4190 In addition, TR1 includes as:
4191-</p><div class="table"><a id="id587895"/><p class="title"><b>Table 3.6. C++ TR 1 Library Headers</b></p><div class="table-contents"><table summary="C++ TR 1 Library Headers" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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="id588036"/><p class="title"><b>Table 3.7. C++ TR 1 Library Headers for C Library Facilities</b></p><div class="table-contents"><table summary="C++ TR 1 Library Headers for C Library Facilities" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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++
4192+</p><div class="table"><a id="id467327"/><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="id467468"/><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++
4193 compiler supports scalar decimal floating-point types defined via
4194 <code class="code">__attribute__((mode(SD|DD|LD)))</code>.
4195-</p><div class="table"><a id="id588211"/><p class="title"><b>Table 3.8. C++ TR 24733 Decimal Floating-Point Header</b></p><div class="table-contents"><table summary="C++ TR 24733 Decimal Floating-Point Header" border="1"><colgroup><col style="text-align: left"/></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>
4196+</p><div class="table"><a id="id467644"/><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>
4197 Also included are files for the C++ ABI interface:
4198-</p><div class="table"><a id="id588257"/><p class="title"><b>Table 3.9. C++ ABI Headers</b></p><div class="table-contents"><table summary="C++ ABI Headers" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/></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>
4199+</p><div class="table"><a id="id467690"/><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>
4200 And a large variety of extensions.
4201-</p><div class="table"><a id="id588311"/><p class="title"><b>Table 3.10. Extension Headers</b></p><div class="table-contents"><table summary="Extension Headers" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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="id588608"/><p class="title"><b>Table 3.11. Extension Debug Headers</b></p><div class="table-contents"><table summary="Extension Debug Headers" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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="id588731"/><p class="title"><b>Table 3.12. Extension Profile Headers</b></p><div class="table-contents"><table summary="Extension Profile Headers" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/><col style="text-align: left"/></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="id588843"/><p class="title"><b>Table 3.13. Extension Parallel Headers</b></p><div class="table-contents"><table summary="Extension Parallel Headers" border="1"><colgroup><col style="text-align: left"/><col style="text-align: left"/></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.
4202+</p><div class="table"><a id="id467743"/><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="id468041"/><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="id468164"/><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="id468275"/><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.
4203 </p><p>First, mixing different dialects of the standard headers is not
4204 possible. It's an all-or-nothing affair. Thus, code like
4205 </p><pre class="programlisting">
4206@@ -100,5 +100,5 @@ g++ -Winvalid-pch -I. -include stdc++.h -H -g -O2 hello.cc -o test.exe
4207 ! ./stdc++.h.gch
4208 . /mnt/share/bld/H-x86-gcc.20071201/include/c++/4.3.0/iostream
4209 . /mnt/share/bld/H-x86-gcc.20071201include/c++/4.3.0/string
4210-</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" target="">documentation</a>.
4211+</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>.
4212 </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="../spine.html">Home</a></td><td align="right" valign="top"> Macros</td></tr></table></div></body></html>
4213diff --git a/libstdc++-v3/doc/html/manual/using_macros.html b/libstdc++-v3/doc/html/manual/using_macros.html
4214index 167d8fc..3e124e9 100644
4215--- a/libstdc++-v3/doc/html/manual/using_macros.html
4216+++ b/libstdc++-v3/doc/html/manual/using_macros.html
4217@@ -1,6 +1,6 @@
4218 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4219 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4220-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Macros</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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>
4221+<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; "/><link rel="home" href="../spine.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>
4222 All library macros begin with <code class="code">_GLIBCXX_</code>.
4223 </p><p>
4224 Furthermore, all pre-processor macros, switches, and
4225diff --git a/libstdc++-v3/doc/html/manual/using_namespaces.html b/libstdc++-v3/doc/html/manual/using_namespaces.html
4226index 98e3d1f..ffd6c6f 100644
4227--- a/libstdc++-v3/doc/html/manual/using_namespaces.html
4228+++ b/libstdc++-v3/doc/html/manual/using_namespaces.html
4229@@ -1,6 +1,6 @@
4230 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4231 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4232-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Namespaces</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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.
4233+<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; "/><link rel="home" href="../spine.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.
4234 </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
4235 within namespace std." This includes namespaces nested
4236 within <code class="code">namespace std</code>, such as <code class="code">namespace
4237@@ -11,7 +11,7 @@ but necessary for interoperability.
4238 </p></li><li class="listitem"><p>__gnu_</p><p>Indicating one of several GNU extensions. Choices
4239 include <code class="code">__gnu_cxx</code>, <code class="code">__gnu_debug</code>, <code class="code">__gnu_parallel</code>,
4240 and <code class="code">__gnu_pbds</code>.
4241-</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="">documentation</a>.
4242+</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>.
4243 </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>
4244 One standard requirement is that the library components are defined
4245 in <code class="code">namespace std::</code>. Thus, in order to use these types or
4246diff --git a/libstdc++-v3/doc/html/manual/utilities.html b/libstdc++-v3/doc/html/manual/utilities.html
4247index 9a31fbf..e41e994 100644
4248--- a/libstdc++-v3/doc/html/manual/utilities.html
4249+++ b/libstdc++-v3/doc/html/manual/utilities.html
4250@@ -1,17 +1,17 @@
4251 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4252 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4253-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 6.  Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; "/><link rel="home" href="../spine.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. 
4254+<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; "/><link rel="home" href="../spine.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. 
4255 Utilities
4256
4257 </th></tr><tr><td align="left"><a accesskey="p" href="bk01pt02ch05s02.html">Prev</a> </td><th width="60%" align="center">Part II. 
4258 Standard Contents
4259- </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><h1 class="title"><a id="std.util"/>
4260+ </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. 
4261 Utilities
4262- <a id="id593161" class="indexterm"/>
4263-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></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><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt></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
4264+ <a id="id472594" class="indexterm"/>
4265+</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><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt></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
4266 get slightly the wrong idea. In the interest of not reinventing
4267 the wheel, we will refer you to the introduction to the functor
4268 concept written by SGI as chapter of their STL, in
4269- <a class="link" href="http://www.sgi.com/tech/stl/functors.html" target="">their
4270+ <a class="link" href="http://www.sgi.com/tech/stl/functors.html">their
4271 http://www.sgi.com/tech/stl/functors.html</a>.
4272 </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="../spine.html">Home</a></td><td align="right" valign="top"> Pairs</td></tr></table></div></body></html>
4273diff --git a/libstdc++-v3/doc/html/spine.html b/libstdc++-v3/doc/html/spine.html
4274index ce364a1..e3522b7 100644
4275--- a/libstdc++-v3/doc/html/spine.html
4276+++ b/libstdc++-v3/doc/html/spine.html
4277@@ -1,8 +1,8 @@
4278 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
4279 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4280-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>The GNU C++ Library</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><link rel="home" href="spine.html" title="The GNU C++ Library"/><link rel="next" href="manual/spine.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/spine.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="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
4281- <a class="link" href="http://www.fsf.org" target="">FSF</a>
4282- </p></div></div><hr/></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="book"><a href="manual/spine.html">The GNU C++ Library Manual</a></span></dt><dd><dl><dt><span class="part"><a href="manual/intro.html">I.
4283+<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"/><link rel="home" href="spine.html" title="The GNU C++ Library"/><link rel="next" href="manual/spine.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/spine.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="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
4284+ <a class="link" href="http://www.fsf.org">FSF</a>
4285+ </p></div></div><hr/></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="book"><a href="manual/spine.html">The GNU C++ Library Manual</a></span></dt><dd><dl><dt><span class="part"><a href="manual/intro.html">I.
4286 Introduction
4287
4288 </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><dt><span class="section"><a href="manual/status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="section"><a href="manual/status.html#status.iso.tr1">C++ TR1</a></span></dt><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><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></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.
4289diff --git a/libstdc++-v3/doc/xml/manual/documentation_hacking.xml b/libstdc++-v3/doc/xml/manual/documentation_hacking.xml
4290index a2d1cdd..7b2ed7c 100644
4291--- a/libstdc++-v3/doc/xml/manual/documentation_hacking.xml
4292+++ b/libstdc++-v3/doc/xml/manual/documentation_hacking.xml
4293@@ -746,7 +746,7 @@ make <literal>XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwalsh"</literal>
4294
4295 <para>
4296 Please note that individual sections and chapters of the
4297- manual can be validated by substiuting the file desired for
4298+ manual can be validated by substituting the file desired for
4299 <filename>xml/index.xml</filename> in the command
4300 above. Reducing scope in this manner can be helpful when
4301 validation on the entire manual fails.
4302@@ -987,4 +987,4 @@ make <literal>XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwalsh"</literal>
4303
4304 </section>
4305 </section>
4306-</section>
4307\ No newline at end of file
4308+</section>
4309diff --git a/libstdc++-v3/doc/xml/manual/status_cxx200x.xml b/libstdc++-v3/doc/xml/manual/status_cxx200x.xml
4310index 9d69f0a..3e4be8f 100644
4311--- a/libstdc++-v3/doc/xml/manual/status_cxx200x.xml
4312+++ b/libstdc++-v3/doc/xml/manual/status_cxx200x.xml
4313@@ -15,8 +15,8 @@
4314
4315 <para>
4316 This table is based on the table of contents of ISO/IEC
4317-JTC1 SC22 WG21 Doc No: N3092 Date: 2010-03-26
4318-Final Committee Draft, Standard for Programming Language C++
4319+JTC1 SC22 WG21 Doc No: N3290 Date: 2011-04-11
4320+Final Draft International Standard, Standard for Programming Language C++
4321 </para>
4322
4323 <para>
4324@@ -30,8 +30,7 @@ presence of the required flag.
4325 </para>
4326
4327 <para>
4328-This page describes the C++0x support in mainline GCC SVN, not in any
4329-particular release.
4330+This page describes the C++0x support in the GCC 4.6 release series.
4331 </para>
4332
4333 <!-- Status is Yes or No, Broken/Partial-->
4334@@ -92,46 +91,46 @@ particular release.
4335 </row>
4336
4337 <row>
4338- <entry>18.3.1</entry>
4339+ <entry>18.3.2</entry>
4340 <entry>Numeric Limits</entry>
4341 <entry/>
4342 <entry/>
4343 </row>
4344 <row>
4345- <entry>18.3.1.1</entry>
4346+ <entry>18.3.2.3</entry>
4347 <entry>Class template <code>numeric_limits</code></entry>
4348 <entry>Y</entry>
4349 <entry/>
4350 </row>
4351 <row>
4352- <entry>18.3.1.2</entry>
4353+ <entry>18.3.2.4</entry>
4354 <entry><code>numeric_limits</code> members</entry>
4355 <entry>Y</entry>
4356 <entry/>
4357 </row>
4358 <row>
4359 <?dbhtml bgcolor="#C8B0B0" ?>
4360- <entry>18.3.1.3</entry>
4361+ <entry>18.3.2.5</entry>
4362 <entry><code>float_round_style</code></entry>
4363 <entry>N</entry>
4364 <entry/>
4365 </row>
4366 <row>
4367 <?dbhtml bgcolor="#C8B0B0" ?>
4368- <entry>18.3.1.4</entry>
4369+ <entry>18.3.2.6</entry>
4370 <entry><code>float_denorm_style</code></entry>
4371 <entry>N</entry>
4372 <entry/>
4373 </row>
4374 <row>
4375- <entry>18.3.1.5</entry>
4376+ <entry>18.3.2.7</entry>
4377 <entry><code>numeric_limits</code> specializations</entry>
4378 <entry>Y</entry>
4379 <entry/>
4380 </row>
4381
4382 <row>
4383- <entry>18.3.2</entry>
4384+ <entry>18.3.3</entry>
4385 <entry>C Library</entry>
4386 <entry>Y</entry>
4387 <entry/>
4388@@ -200,7 +199,7 @@ particular release.
4389 </row>
4390 <row>
4391 <entry>18.8.2</entry>
4392- <entry>Violating exception-specifications</entry>
4393+ <entry>Class bad_exception</entry>
4394 <entry>Y</entry>
4395 <entry/>
4396 </row>
4397@@ -343,66 +342,66 @@ particular release.
4398 </row>
4399 <row>
4400 <entry>20.2</entry>
4401- <entry>Requirements</entry>
4402- <entry/>
4403- <entry/>
4404- </row>
4405- <row>
4406- <entry>20.3</entry>
4407 <entry>Utility components</entry>
4408 <entry/>
4409 <entry/>
4410 </row>
4411 <row>
4412- <entry>20.3.1</entry>
4413+ <entry>20.2.1</entry>
4414 <entry>Operators</entry>
4415 <entry>Y</entry>
4416 <entry/>
4417 </row>
4418 <row>
4419- <entry>20.3.2</entry>
4420+ <entry>20.2.2</entry>
4421 <entry>Swap</entry>
4422 <entry>Y</entry>
4423 <entry/>
4424 </row>
4425 <row>
4426- <entry>20.3.3</entry>
4427+ <entry>20.2.3</entry>
4428 <entry><code>forward</code> and <code>move</code> helpers</entry>
4429 <entry>Y</entry>
4430 <entry/>
4431 </row>
4432 <row>
4433- <entry>20.3.4</entry>
4434+ <entry>20.2.4</entry>
4435 <entry>Function template <code>declval</code></entry>
4436 <entry>Y</entry>
4437 <entry/>
4438 </row>
4439 <row>
4440- <entry>20.3.5</entry>
4441+ <entry>20.3</entry>
4442 <entry>Pairs</entry>
4443 <entry/>
4444 <entry/>
4445 </row>
4446 <row>
4447- <entry>20.3.5.1</entry>
4448+ <entry>20.3.1</entry>
4449 <entry>In general</entry>
4450 <entry/>
4451 <entry/>
4452 </row>
4453 <row>
4454- <entry>20.3.5.2</entry>
4455+ <entry>20.3.2</entry>
4456 <entry>Class template <code>pair</code></entry>
4457 <entry>Y</entry>
4458 <entry/>
4459 </row>
4460 <row>
4461- <entry>20.3.5.3</entry>
4462+ <entry>20.3.3</entry>
4463+ <entry>Specialized algorithms</entry>
4464+ <entry>Y</entry>
4465+ <entry/>
4466+ </row>
4467+ <row>
4468+ <entry>20.3.4</entry>
4469 <entry>Tuple-like access to <code>pair</code></entry>
4470 <entry>Y</entry>
4471 <entry/>
4472 </row>
4473 <row>
4474- <entry>20.3.5.5</entry>
4475+ <entry>20.3.5</entry>
4476 <entry>Piecewise construction</entry>
4477 <entry>Y</entry>
4478 <entry/>
4479@@ -422,6 +421,62 @@ particular release.
4480 <row>
4481 <entry>20.4.2</entry>
4482 <entry>Class template <code>tuple</code></entry>
4483+ <entry/>
4484+ <entry/>
4485+ </row>
4486+ <row>
4487+ <entry>20.4.2.1</entry>
4488+ <entry>Construction</entry>
4489+ <entry>Y</entry>
4490+ <entry/>
4491+ </row>
4492+ <row>
4493+ <entry>20.4.2.2</entry>
4494+ <entry>Assignment</entry>
4495+ <entry>Y</entry>
4496+ <entry/>
4497+ </row>
4498+ <row>
4499+ <entry>20.4.2.3</entry>
4500+ <entry>Swap</entry>
4501+ <entry>Y</entry>
4502+ <entry/>
4503+ </row>
4504+ <row>
4505+ <?dbhtml bgcolor="#B0B0B0" ?>
4506+ <entry>20.4.2.4</entry>
4507+ <entry>Tuple creation functions</entry>
4508+ <entry>Partial</entry>
4509+ <entry><code>tuple_cat</code> should be a single variadic signature (DR 1385)</entry>
4510+ </row>
4511+ <row>
4512+ <entry>20.4.2.5</entry>
4513+ <entry>Tuple helper classes</entry>
4514+ <entry>Y</entry>
4515+ <entry/>
4516+ </row>
4517+ <row>
4518+ <entry>20.4.2.6</entry>
4519+ <entry>Element access</entry>
4520+ <entry>Y</entry>
4521+ <entry/>
4522+ </row>
4523+ <row>
4524+ <entry>20.4.2.7</entry>
4525+ <entry>Relational operators</entry>
4526+ <entry>Y</entry>
4527+ <entry/>
4528+ </row>
4529+ <row>
4530+ <?dbhtml bgcolor="#C8B0B0" ?>
4531+ <entry>20.4.2.8</entry>
4532+ <entry>Tuple traits</entry>
4533+ <entry>N</entry>
4534+ <entry/>
4535+ </row>
4536+ <row>
4537+ <entry>20.4.2.9</entry>
4538+ <entry>Tuple specialized algorithms</entry>
4539 <entry>Y</entry>
4540 <entry/>
4541 </row>
4542@@ -432,130 +487,198 @@ particular release.
4543 <entry/>
4544 </row>
4545 <row>
4546+ <entry>20.5.1</entry>
4547+ <entry><code>bitset</code> constructors</entry>
4548+ <entry>Y</entry>
4549+ <entry/>
4550+ </row>
4551+ <row>
4552+ <entry>20.5.2</entry>
4553+ <entry><code>bitset</code> members</entry>
4554+ <entry>Y</entry>
4555+ <entry/>
4556+ </row>
4557+ <row>
4558+ <entry>20.5.3</entry>
4559+ <entry><code>bitset</code> hash support</entry>
4560+ <entry>Y</entry>
4561+ <entry/>
4562+ </row>
4563+ <row>
4564+ <entry>20.5.4</entry>
4565+ <entry><code>bitset</code> operators</entry>
4566+ <entry>Y</entry>
4567+ <entry/>
4568+ </row>
4569+ <row>
4570 <entry>20.6</entry>
4571- <entry>Compile-time rational arithmetic</entry>
4572+ <entry>Memory</entry>
4573 <entry/>
4574 <entry/>
4575 </row>
4576 <row>
4577 <entry>20.6.1</entry>
4578- <entry>Class template <code>ratio</code></entry>
4579- <entry>Y</entry>
4580+ <entry>In general</entry>
4581+ <entry/>
4582 <entry/>
4583 </row>
4584 <row>
4585 <entry>20.6.2</entry>
4586- <entry>Arithmetic on <code>ratio</code> types</entry>
4587- <entry>Y</entry>
4588+ <entry>Header <code>&lt;memory&gt;</code> synopsis</entry>
4589+ <entry/>
4590 <entry/>
4591 </row>
4592 <row>
4593+ <?dbhtml bgcolor="#C8B0B0" ?>
4594 <entry>20.6.3</entry>
4595- <entry>Comparison of <code>ratio</code> types</entry>
4596- <entry>Y</entry>
4597+ <entry>Pointer traits</entry>
4598+ <entry>N</entry>
4599 <entry/>
4600 </row>
4601 <row>
4602+ <?dbhtml bgcolor="#B0B0B0" ?>
4603 <entry>20.6.4</entry>
4604- <entry>SI types for <code>ratio</code></entry>
4605- <entry>Y</entry>
4606+ <entry>Pointer safety</entry>
4607+ <entry>Partial</entry>
4608 <entry/>
4609 </row>
4610 <row>
4611- <entry>20.7</entry>
4612- <entry>Metaprogramming and type traits</entry>
4613+ <?dbhtml bgcolor="#C8B0B0" ?>
4614+ <entry>20.6.5</entry>
4615+ <entry>Align</entry>
4616+ <entry>N</entry>
4617 <entry/>
4618+ </row>
4619+ <row>
4620+ <entry>20.6.6</entry>
4621+ <entry>Allocator argument tag</entry>
4622+ <entry>Y</entry>
4623 <entry/>
4624 </row>
4625 <row>
4626- <entry>20.7.1</entry>
4627- <entry>Requirements</entry>
4628+ <entry>20.6.7</entry>
4629+ <entry><code>uses_allocator</code></entry>
4630 <entry>Y</entry>
4631 <entry/>
4632 </row>
4633 <row>
4634- <entry>20.7.2</entry>
4635- <entry>Header <code>&lt;type_traits&gt;</code> synopsis</entry>
4636+ <?dbhtml bgcolor="#C8B0B0" ?>
4637+ <entry>20.6.8</entry>
4638+ <entry>Allocator traits</entry>
4639+ <entry>N</entry>
4640 <entry/>
4641+ </row>
4642+ <row>
4643+ <entry>20.6.9</entry>
4644+ <entry>The default allocator</entry>
4645+ <entry>Y</entry>
4646 <entry/>
4647 </row>
4648 <row>
4649- <entry>20.7.3</entry>
4650- <entry>Helper classes</entry>
4651+ <entry>20.6.10</entry>
4652+ <entry>Raw storage iterator</entry>
4653 <entry>Y</entry>
4654 <entry/>
4655 </row>
4656 <row>
4657- <entry>20.7.4</entry>
4658- <entry>Unary Type Traits</entry>
4659+ <entry>20.6.11</entry>
4660+ <entry>Temporary buffers</entry>
4661 <entry>Y</entry>
4662 <entry/>
4663 </row>
4664 <row>
4665- <entry>20.7.4.1</entry>
4666- <entry>Primary type categories</entry>
4667+ <entry>20.6.12</entry>
4668+ <entry>Specialized algorithms</entry>
4669+ <entry/>
4670+ <entry/>
4671+ </row>
4672+ <row>
4673+ <entry>20.6.12.1</entry>
4674+ <entry><code>addressof</code></entry>
4675 <entry>Y</entry>
4676 <entry/>
4677 </row>
4678 <row>
4679- <entry>20.7.4.2</entry>
4680- <entry>Composite type traits</entry>
4681+ <entry>20.6.12.2</entry>
4682+ <entry><code>uninitialized_copy</code></entry>
4683 <entry>Y</entry>
4684 <entry/>
4685 </row>
4686 <row>
4687- <?dbhtml bgcolor="#B0B0B0" ?>
4688- <entry>20.7.4.3</entry>
4689- <entry>Type properties</entry>
4690- <entry>Partial</entry>
4691- <entry>Missing is_trivially_copyable, is_nothrow_constructible</entry>
4692+ <entry>20.6.12.3</entry>
4693+ <entry><code>uninitialized_fill</code></entry>
4694+ <entry>Y</entry>
4695+ <entry/>
4696 </row>
4697 <row>
4698- <entry>20.7.5</entry>
4699- <entry>Relationships between types</entry>
4700+ <entry>20.6.12.4</entry>
4701+ <entry><code>uninitialized_fill_n</code></entry>
4702 <entry>Y</entry>
4703 <entry/>
4704 </row>
4705 <row>
4706- <?dbhtml bgcolor="#B0B0B0" ?>
4707- <entry>20.7.6</entry>
4708- <entry>Transformations between types</entry>
4709- <entry>Partial</entry>
4710- <entry>Missing underlying_type</entry>
4711+ <entry>20.6.13</entry>
4712+ <entry>C library</entry>
4713+ <entry>Y</entry>
4714+ <entry/>
4715 </row>
4716 <row>
4717- <entry>20.7.6.1</entry>
4718- <entry>Const-volatile modifications</entry>
4719+ <entry>20.7</entry>
4720+ <entry>Smart pointers</entry>
4721+ <entry/>
4722+ <entry/>
4723+ </row>
4724+ <row>
4725+ <entry>20.7.1</entry>
4726+ <entry>Class template <code>unique_ptr</code></entry>
4727 <entry>Y</entry>
4728 <entry/>
4729 </row>
4730 <row>
4731- <entry>20.7.6.2</entry>
4732- <entry>Reference modifications</entry>
4733+ <entry>20.7.2</entry>
4734+ <entry>Shared-ownership pointers</entry>
4735 <entry>Y</entry>
4736 <entry/>
4737 </row>
4738 <row>
4739- <entry>20.7.6.3</entry>
4740- <entry>Sign modifications</entry>
4741+ <entry>20.7.2.1</entry>
4742+ <entry>Class <code>bad_weak_ptr</code></entry>
4743 <entry>Y</entry>
4744 <entry/>
4745 </row>
4746 <row>
4747- <entry>20.7.6.4</entry>
4748- <entry>Array modifications</entry>
4749+ <entry>20.7.2.2</entry>
4750+ <entry>Class template <code>shared_ptr</code></entry>
4751+ <entry>Y</entry>
4752+ <entry>
4753+ <para>
4754+ Uses code from
4755+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</link>.
4756+ </para>
4757+ </entry>
4758+ </row>
4759+ <row>
4760+ <entry>20.7.2.3</entry>
4761+ <entry>Class template <code>weak_ptr</code></entry>
4762 <entry>Y</entry>
4763 <entry/>
4764 </row>
4765 <row>
4766- <entry>20.7.6.5</entry>
4767- <entry>Pointer modifications</entry>
4768+ <entry>20.7.2.4</entry>
4769+ <entry>Class template <code>emable_shared_from_this</code></entry>
4770 <entry>Y</entry>
4771 <entry/>
4772 </row>
4773 <row>
4774- <entry>20.7.6.6</entry>
4775- <entry>Other transformations</entry>
4776+ <?dbhtml bgcolor="#B0B0B0" ?>
4777+ <entry>20.7.2.5</entry>
4778+ <entry><code>shared_ptr</code> atomic access</entry>
4779+ <entry>Partial</entry>
4780+ <entry/>
4781+ </row>
4782+ <row>
4783+ <entry>20.7.2.6</entry>
4784+ <entry>Smart pointer hash support</entry>
4785 <entry>Y</entry>
4786 <entry/>
4787 </row>
4788@@ -568,363 +691,320 @@ particular release.
4789 <row>
4790 <entry>20.8.1</entry>
4791 <entry>Definitions</entry>
4792- <entry>Y</entry>
4793+ <entry/>
4794 <entry/>
4795 </row>
4796 <row>
4797 <entry>20.8.2</entry>
4798 <entry>Requirements</entry>
4799- <entry>Y</entry>
4800 <entry/>
4801- </row>
4802- <row>
4803- <entry>20.8.3</entry>
4804- <entry>Base</entry>
4805- <entry>Y</entry>
4806 <entry/>
4807 </row>
4808 <row>
4809- <entry>20.8.4</entry>
4810+ <entry>20.8.3</entry>
4811 <entry>Class template <code>reference_wrapper</code></entry>
4812 <entry>Y</entry>
4813 <entry/>
4814 </row>
4815 <row>
4816- <entry>20.8.5</entry>
4817+ <entry>20.8.4</entry>
4818 <entry>Arithmetic operation</entry>
4819 <entry>Y</entry>
4820 <entry/>
4821 </row>
4822 <row>
4823- <entry>20.8.6</entry>
4824+ <entry>20.8.5</entry>
4825 <entry>Comparisons</entry>
4826 <entry>Y</entry>
4827 <entry/>
4828 </row>
4829 <row>
4830- <entry>20.8.7</entry>
4831+ <entry>20.8.6</entry>
4832 <entry>Logical operations</entry>
4833 <entry>Y</entry>
4834 <entry/>
4835 </row>
4836 <row>
4837- <entry>20.8.8</entry>
4838+ <entry>20.8.7</entry>
4839 <entry>Bitwise operations</entry>
4840 <entry>Y</entry>
4841 <entry/>
4842 </row>
4843 <row>
4844- <entry>20.8.9</entry>
4845+ <entry>20.8.8</entry>
4846 <entry>Negators</entry>
4847 <entry>Y</entry>
4848 <entry/>
4849 </row>
4850 <row>
4851- <entry>20.8.10</entry>
4852+ <entry>20.8.9</entry>
4853 <entry>Function template <code>bind</code></entry>
4854 <entry>Y</entry>
4855 <entry/>
4856 </row>
4857 <row>
4858- <entry>20.8.11</entry>
4859- <entry>Adaptors for pointers to functions</entry>
4860- <entry>Y</entry>
4861- <entry/>
4862- </row>
4863- <row>
4864- <entry>20.8.12</entry>
4865- <entry>Adaptors for pointers to members</entry>
4866- <entry>Y</entry>
4867- <entry/>
4868- </row>
4869- <row>
4870 <?dbhtml bgcolor="#B0B0B0" ?>
4871- <entry>20.8.13</entry>
4872+ <entry>20.8.10</entry>
4873 <entry>Function template <code>mem_fn</code></entry>
4874 <entry>Partial</entry>
4875 <entry>Missing overloads for reference-qualified member functions</entry>
4876 </row>
4877 <row>
4878- <entry>20.8.14</entry>
4879+ <entry>20.8.11</entry>
4880 <entry>Polymorphic function wrappers</entry>
4881 <entry/>
4882 <entry/>
4883 </row>
4884 <row>
4885- <entry>20.8.14.1</entry>
4886+ <entry>20.8.11.1</entry>
4887 <entry>Class <code>bad_function_call</code></entry>
4888 <entry>Y</entry>
4889 <entry/>
4890 </row>
4891 <row>
4892 <?dbhtml bgcolor="#B0B0B0" ?>
4893- <entry>20.8.14.2</entry>
4894+ <entry>20.8.11.2</entry>
4895 <entry>Class template <code>function</code></entry>
4896 <entry>Partial</entry>
4897 <entry>Missing allocator support</entry>
4898 </row>
4899 <row>
4900- <entry>20.8.15</entry>
4901+ <entry>20.8.12</entry>
4902 <entry>Class template <code>hash</code></entry>
4903 <entry>Y</entry>
4904 <entry/>
4905 </row>
4906 <row>
4907 <entry>20.9</entry>
4908- <entry>Memory</entry>
4909+ <entry>Metaprogramming and type traits</entry>
4910 <entry/>
4911 <entry/>
4912 </row>
4913 <row>
4914 <entry>20.9.1</entry>
4915- <entry>Allocator argument tag</entry>
4916+ <entry>Requirements</entry>
4917 <entry>Y</entry>
4918 <entry/>
4919 </row>
4920 <row>
4921 <entry>20.9.2</entry>
4922- <entry><code>uses_allocator</code></entry>
4923- <entry>Y</entry>
4924+ <entry>Header <code>&lt;type_traits&gt;</code> synopsis</entry>
4925+ <entry/>
4926 <entry/>
4927 </row>
4928 <row>
4929- <?dbhtml bgcolor="#C8B0B0" ?>
4930 <entry>20.9.3</entry>
4931- <entry>Pointer traits</entry>
4932- <entry>N</entry>
4933+ <entry>Helper classes</entry>
4934+ <entry>Y</entry>
4935 <entry/>
4936 </row>
4937 <row>
4938- <?dbhtml bgcolor="#C8B0B0" ?>
4939 <entry>20.9.4</entry>
4940- <entry>Allocator traits</entry>
4941- <entry>N</entry>
4942+ <entry>Unary Type Traits</entry>
4943+ <entry>Y</entry>
4944 <entry/>
4945 </row>
4946 <row>
4947- <entry>20.9.5</entry>
4948- <entry>The default allocator</entry>
4949+ <entry>20.9.4.1</entry>
4950+ <entry>Primary type categories</entry>
4951 <entry>Y</entry>
4952 <entry/>
4953 </row>
4954 <row>
4955- <?dbhtml bgcolor="#C8B0B0" ?>
4956- <entry>20.9.6</entry>
4957- <entry>Scoped allocator adaptor</entry>
4958- <entry/>
4959+ <entry>20.9.4.2</entry>
4960+ <entry>Composite type traits</entry>
4961+ <entry>Y</entry>
4962 <entry/>
4963 </row>
4964 <row>
4965- <?dbhtml bgcolor="#C8B0B0" ?>
4966- <entry>20.9.6.1</entry>
4967- <entry>Scoped allocator adaptor member types</entry>
4968- <entry>N</entry>
4969- <entry/>
4970+ <?dbhtml bgcolor="#B0B0B0" ?>
4971+ <entry>20.9.4.3</entry>
4972+ <entry>Type properties</entry>
4973+ <entry>Partial</entry>
4974+ <entry>Missing is_trivially_copyable,
4975+ is_assignable, is_copy_assignable, is_move_assignable,
4976+ is_trivially_constructible, is_trivially_default_constructible,
4977+ is_trivially_copy_constructible, is_trivially_move_constructible,
4978+ is_trivially_assignable, is_trivially_default_assignable,
4979+ is_trivially_copy_assignable, is_trivially_move_assignable,
4980+ is_trivially_destructible,
4981+ is_nothrow_assignable,
4982+ is_nothrow_copy_assignable, is_nothrow_move_assignable,
4983+ is_nothrow_destructible
4984+ </entry>
4985 </row>
4986 <row>
4987- <?dbhtml bgcolor="#C8B0B0" ?>
4988- <entry>20.9.6.2</entry>
4989- <entry>Scoped allocator adaptor constructors</entry>
4990- <entry>N</entry>
4991+ <entry>20.9.5</entry>
4992+ <entry>Type property queries</entry>
4993+ <entry>Y</entry>
4994 <entry/>
4995 </row>
4996 <row>
4997- <?dbhtml bgcolor="#C8B0B0" ?>
4998- <entry>20.9.6.3</entry>
4999- <entry>Scoped allocator adaptor members</entry>
5000- <entry>N</entry>
5001+ <entry>20.9.6</entry>
5002+ <entry>Relationships between types</entry>
5003+ <entry>Y</entry>
5004 <entry/>
5005 </row>
5006 <row>
5007 <entry>20.9.7</entry>
5008- <entry>Raw storage iterator</entry>
5009- <entry>Y</entry>
5010+ <entry>Transformations between types</entry>
5011 <entry/>
5012- </row>
5013- <row>
5014- <entry>20.9.8</entry>
5015- <entry>Temporary buffers</entry>
5016- <entry>Y</entry>
5017 <entry/>
5018 </row>
5019 <row>
5020- <entry>20.9.9</entry>
5021- <entry>Specialized algorithms</entry>
5022- <entry/>
5023+ <entry>20.9.7.1</entry>
5024+ <entry>Const-volatile modifications</entry>
5025+ <entry>Y</entry>
5026 <entry/>
5027 </row>
5028 <row>
5029- <entry>20.9.9.1</entry>
5030- <entry><code>addressof</code></entry>
5031+ <entry>20.9.7.2</entry>
5032+ <entry>Reference modifications</entry>
5033 <entry>Y</entry>
5034 <entry/>
5035 </row>
5036 <row>
5037- <entry>20.9.9.2</entry>
5038- <entry><code>uninitialized_copy</code></entry>
5039+ <entry>20.9.7.3</entry>
5040+ <entry>Sign modifications</entry>
5041 <entry>Y</entry>
5042 <entry/>
5043 </row>
5044 <row>
5045- <entry>20.9.9.3</entry>
5046- <entry><code>uninitialized_fill</code></entry>
5047+ <entry>20.9.7.4</entry>
5048+ <entry>Array modifications</entry>
5049 <entry>Y</entry>
5050 <entry/>
5051 </row>
5052 <row>
5053- <entry>20.9.9.4</entry>
5054- <entry><code>uninitialized_fill_n</code></entry>
5055+ <entry>20.9.7.5</entry>
5056+ <entry>Pointer modifications</entry>
5057 <entry>Y</entry>
5058 <entry/>
5059 </row>
5060 <row>
5061- <entry>20.9.10</entry>
5062- <entry>Class template <code>unique_ptr</code></entry>
5063+ <entry>20.9.7.6</entry>
5064+ <entry>Other transformations</entry>
5065 <entry>Y</entry>
5066 <entry/>
5067 </row>
5068 <row>
5069- <entry>20.9.11</entry>
5070- <entry>Smart pointers</entry>
5071+ <entry>20.10</entry>
5072+ <entry>Compile-time rational arithmetic</entry>
5073 <entry/>
5074 <entry/>
5075 </row>
5076 <row>
5077- <entry>20.9.11.1</entry>
5078- <entry>Class <code>bad_weak_ptr</code></entry>
5079- <entry>Y</entry>
5080+ <entry>20.10.1</entry>
5081+ <entry>In general</entry>
5082 <entry/>
5083- </row>
5084- <row>
5085- <entry>20.9.11.2</entry>
5086- <entry>Class template <code>shared_ptr</code></entry>
5087- <entry>Y</entry>
5088- <entry>
5089- <para>
5090- Uses code from
5091- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</link>.
5092- </para>
5093- </entry>
5094- </row>
5095- <row>
5096- <entry>20.9.11.3</entry>
5097- <entry>Class template <code>weak_ptr</code></entry>
5098- <entry>Y</entry>
5099 <entry/>
5100 </row>
5101 <row>
5102- <entry>20.9.11.4</entry>
5103- <entry>Class template <code>emable_shared_from_this</code></entry>
5104- <entry>Y</entry>
5105+ <entry>20.10.2</entry>
5106+ <entry>Header <code>&lt;ratio&gt;</code> synopsis</entry>
5107 <entry/>
5108- </row>
5109- <row>
5110- <?dbhtml bgcolor="#B0B0B0" ?>
5111- <entry>20.9.11.5</entry>
5112- <entry><code>shared_ptr</code> atomic access</entry>
5113- <entry>Partial</entry>
5114 <entry/>
5115 </row>
5116 <row>
5117- <entry>20.9.11.6</entry>
5118- <entry>Hash support</entry>
5119+ <entry>20.10.3</entry>
5120+ <entry>Class template <code>ratio</code></entry>
5121 <entry>Y</entry>
5122 <entry/>
5123 </row>
5124 <row>
5125- <?dbhtml bgcolor="#B0B0B0" ?>
5126- <entry>20.9.12</entry>
5127- <entry>Pointer safety</entry>
5128- <entry>Partial</entry>
5129+ <entry>20.10.4</entry>
5130+ <entry>Arithmetic on <code>ratio</code>s</entry>
5131+ <entry>Y</entry>
5132 <entry/>
5133 </row>
5134 <row>
5135- <?dbhtml bgcolor="#C8B0B0" ?>
5136- <entry>20.9.13</entry>
5137- <entry>Align</entry>
5138- <entry>N</entry>
5139+ <entry>20.10.5</entry>
5140+ <entry>Comparison of <code>ratio</code>s</entry>
5141+ <entry>Y</entry>
5142 <entry/>
5143 </row>
5144 <row>
5145- <entry>20.9.16</entry>
5146- <entry>C library</entry>
5147+ <entry>20.10.6</entry>
5148+ <entry>SI types for <code>ratio</code></entry>
5149 <entry>Y</entry>
5150 <entry/>
5151 </row>
5152 <row>
5153- <entry>20.10</entry>
5154+ <entry>20.11</entry>
5155 <entry>Time utilities</entry>
5156 <entry/>
5157 <entry/>
5158 </row>
5159 <row>
5160- <entry>20.10.1</entry>
5161+ <entry>20.11.3</entry>
5162 <entry>Clock requirements</entry>
5163 <entry>Y</entry>
5164 <entry/>
5165 </row>
5166 <row>
5167- <entry>20.10.2</entry>
5168+ <entry>20.11.4</entry>
5169 <entry>Time-related traits</entry>
5170 <entry/>
5171 <entry/>
5172 </row>
5173 <row>
5174- <entry>20.10.2.1</entry>
5175+ <entry>20.11.4.1</entry>
5176 <entry><code>treat_as_floating_point</code></entry>
5177 <entry>Y</entry>
5178 <entry/>
5179 </row>
5180 <row>
5181- <entry>20.10.2.2</entry>
5182+ <entry>20.11.4.2</entry>
5183 <entry><code>duration_values</code></entry>
5184 <entry>Y</entry>
5185 <entry/>
5186 </row>
5187 <row>
5188- <entry>20.10.2.3</entry>
5189+ <entry>20.11.4.3</entry>
5190 <entry>Specializations of <code>common_type</code></entry>
5191 <entry>Y</entry>
5192 <entry/>
5193 </row>
5194 <row>
5195- <entry>20.10.3</entry>
5196+ <?dbhtml bgcolor="#B0B0B0" ?>
5197+ <entry>20.11.5</entry>
5198 <entry>Class template <code>duration</code></entry>
5199- <entry>Y</entry>
5200- <entry/>
5201+ <entry>Partial</entry>
5202+ <entry>Missing constexpr for non-member arithmetic operations</entry>
5203 </row>
5204 <row>
5205- <entry>20.10.4</entry>
5206+ <entry>20.11.6</entry>
5207 <entry>Class template <code>time_point</code></entry>
5208 <entry>Y</entry>
5209 <entry/>
5210 </row>
5211 <row>
5212- <entry>20.10.5</entry>
5213+ <entry>20.11.7</entry>
5214 <entry>Clocks</entry>
5215 <entry/>
5216 <entry/>
5217 </row>
5218 <row>
5219- <entry>20.10.5.1</entry>
5220+ <entry>20.11.7.1</entry>
5221 <entry>Class <code>system_clock</code></entry>
5222 <entry>Y</entry>
5223 <entry/>
5224 </row>
5225 <row>
5226- <entry>20.10.5.2</entry>
5227- <entry>Class <code>monotonic_clock</code></entry>
5228- <entry>Y</entry>
5229- <entry/>
5230+ <?dbhtml bgcolor="#C8B0B0" ?>
5231+ <entry>20.11.7.2</entry>
5232+ <entry>Class <code>steady_clock</code></entry>
5233+ <entry>N</entry>
5234+ <entry>Support old <code>monotonic_clock</code> spec instead</entry>
5235 </row>
5236 <row>
5237- <entry>20.10.5.3</entry>
5238+ <entry>20.11.7.3</entry>
5239 <entry>Class <code>high_resolution_clock</code></entry>
5240 <entry>Y</entry>
5241 <entry/>
5242 </row>
5243 <row>
5244- <entry>20.11</entry>
5245+ <entry>20.11.8</entry>
5246 <entry>Date and time functions</entry>
5247 <entry>Y</entry>
5248 <entry/>
5249@@ -932,6 +1012,48 @@ particular release.
5250 <row>
5251 <?dbhtml bgcolor="#C8B0B0" ?>
5252 <entry>20.12</entry>
5253+ <entry>Scoped allocator adaptor</entry>
5254+ <entry/>
5255+ <entry/>
5256+ </row>
5257+ <row>
5258+ <?dbhtml bgcolor="#C8B0B0" ?>
5259+ <entry>20.12.1</entry>
5260+ <entry>Header <code>&lt;scoped_allocator&gt;</code> synopsis</entry>
5261+ <entry/>
5262+ <entry/>
5263+ </row>
5264+ <row>
5265+ <?dbhtml bgcolor="#C8B0B0" ?>
5266+ <entry>20.12.2</entry>
5267+ <entry>Scoped allocator adaptor member types</entry>
5268+ <entry>N</entry>
5269+ <entry/>
5270+ </row>
5271+ <row>
5272+ <?dbhtml bgcolor="#C8B0B0" ?>
5273+ <entry>20.12.3</entry>
5274+ <entry>Scoped allocator adaptor constructors</entry>
5275+ <entry>N</entry>
5276+ <entry/>
5277+ </row>
5278+ <row>
5279+ <?dbhtml bgcolor="#C8B0B0" ?>
5280+ <entry>20.12.4</entry>
5281+ <entry>Scoped allocator adaptor members</entry>
5282+ <entry>N</entry>
5283+ <entry/>
5284+ </row>
5285+ <row>
5286+ <?dbhtml bgcolor="#C8B0B0" ?>
5287+ <entry>20.12.5</entry>
5288+ <entry>Scoped allocator operators</entry>
5289+ <entry>N</entry>
5290+ <entry/>
5291+ </row>
5292+ <row>
5293+ <?dbhtml bgcolor="#C8B0B0" ?>
5294+ <entry>20.13</entry>
5295 <entry>Class <code>type_index</code></entry>
5296 <entry>N</entry>
5297 <entry/>
5298@@ -1261,7 +1383,7 @@ particular release.
5299 </row>
5300 <row>
5301 <entry>23.2.2</entry>
5302- <entry>Data races</entry>
5303+ <entry>Container data races</entry>
5304 <entry>Y</entry>
5305 <entry/>
5306 </row>
5307@@ -1290,50 +1412,26 @@ particular release.
5308 <entry/>
5309 </row>
5310 <row>
5311- <entry>23.3.1</entry>
5312- <entry>Class template <code>array</code></entry>
5313- <entry>Y</entry>
5314- <entry/>
5315- </row>
5316- <row>
5317 <entry>23.3.2</entry>
5318- <entry>Class template <code>deque</code></entry>
5319+ <entry>Class template <code>array</code></entry>
5320 <entry>Y</entry>
5321 <entry/>
5322 </row>
5323 <row>
5324 <entry>23.3.3</entry>
5325- <entry>Class template <code>forward_list</code></entry>
5326+ <entry>Class template <code>deque</code></entry>
5327 <entry>Y</entry>
5328 <entry/>
5329 </row>
5330 <row>
5331 <entry>23.3.4</entry>
5332- <entry>Class template <code>list</code></entry>
5333+ <entry>Class template <code>forward_list</code></entry>
5334 <entry>Y</entry>
5335 <entry/>
5336 </row>
5337 <row>
5338 <entry>23.3.5</entry>
5339- <entry>Container adaptors</entry>
5340- <entry/>
5341- <entry/>
5342- </row>
5343- <row>
5344- <entry>23.3.5.1</entry>
5345- <entry>Class template <code>queue</code></entry>
5346- <entry>Y</entry>
5347- <entry/>
5348- </row>
5349- <row>
5350- <entry>23.3.5.2</entry>
5351- <entry>Class template <code>priority_queue</code></entry>
5352- <entry>Y</entry>
5353- <entry/>
5354- </row>
5355- <row>
5356- <entry>23.3.5.3</entry>
5357- <entry>Class template <code>stack</code></entry>
5358+ <entry>Class template <code>list</code></entry>
5359 <entry>Y</entry>
5360 <entry/>
5361 </row>
5362@@ -1356,25 +1454,25 @@ particular release.
5363 <entry/>
5364 </row>
5365 <row>
5366- <entry>23.4.1</entry>
5367+ <entry>23.4.4</entry>
5368 <entry>Class template <code>map</code></entry>
5369 <entry>Y</entry>
5370 <entry/>
5371 </row>
5372 <row>
5373- <entry>23.4.2</entry>
5374+ <entry>23.4.5</entry>
5375 <entry>Class template <code>multimap</code></entry>
5376 <entry>Y</entry>
5377 <entry/>
5378 </row>
5379 <row>
5380- <entry>23.4.3</entry>
5381+ <entry>23.4.6</entry>
5382 <entry>Class template <code>set</code></entry>
5383 <entry>Y</entry>
5384 <entry/>
5385 </row>
5386 <row>
5387- <entry>23.4.4</entry>
5388+ <entry>23.4.7</entry>
5389 <entry>Class template <code>multiset</code></entry>
5390 <entry>Y</entry>
5391 <entry/>
5392@@ -1386,30 +1484,54 @@ particular release.
5393 <entry/>
5394 </row>
5395 <row>
5396- <entry>23.5.1</entry>
5397+ <entry>23.5.4</entry>
5398 <entry>Class template <code>unordered_map</code></entry>
5399 <entry>Y</entry>
5400 <entry/>
5401 </row>
5402 <row>
5403- <entry>23.5.2</entry>
5404+ <entry>23.5.5</entry>
5405 <entry>Class template <code>unordered_multimap</code></entry>
5406 <entry>Y</entry>
5407 <entry/>
5408 </row>
5409 <row>
5410- <entry>23.5.3</entry>
5411+ <entry>23.5.6</entry>
5412 <entry>Class template <code>unordered_set</code></entry>
5413 <entry>Y</entry>
5414 <entry/>
5415 </row>
5416 <row>
5417- <entry>23.5.4</entry>
5418+ <entry>23.5.7</entry>
5419 <entry>Class template <code>unordered_multiset</code></entry>
5420 <entry>Y</entry>
5421 <entry/>
5422 </row>
5423 <row>
5424+ <entry>23.6</entry>
5425+ <entry>Container adaptors</entry>
5426+ <entry/>
5427+ <entry/>
5428+ </row>
5429+ <row>
5430+ <entry>23.6.1</entry>
5431+ <entry>Class template <code>queue</code></entry>
5432+ <entry>Y</entry>
5433+ <entry/>
5434+ </row>
5435+ <row>
5436+ <entry>23.6.2</entry>
5437+ <entry>Class template <code>priority_queue</code></entry>
5438+ <entry>Y</entry>
5439+ <entry/>
5440+ </row>
5441+ <row>
5442+ <entry>23.6.3</entry>
5443+ <entry>Class template <code>stack</code></entry>
5444+ <entry>Y</entry>
5445+ <entry/>
5446+ </row>
5447+ <row>
5448 <entry>
5449 <emphasis>24</emphasis>
5450 </entry>
5451@@ -1621,19 +1743,19 @@ particular release.
5452 <entry/>
5453 </row>
5454 <row>
5455- <entry>26.5.4.1</entry>
5456+ <entry>26.5.4.2</entry>
5457 <entry>Class template <code>discard_block_engine</code></entry>
5458 <entry>Y</entry>
5459 <entry>Missing constexpr</entry>
5460 </row>
5461 <row>
5462- <entry>26.5.4.2</entry>
5463+ <entry>26.5.4.3</entry>
5464 <entry>Class template <code>independent_bits_engine</code></entry>
5465 <entry>Y</entry>
5466 <entry>Missing constexpr</entry>
5467 </row>
5468 <row>
5469- <entry>26.5.4.3</entry>
5470+ <entry>26.5.4.4</entry>
5471 <entry>Class template <code>shuffle_order_engine</code></entry>
5472 <entry>Y</entry>
5473 <entry>Missing constexpr</entry>
5474@@ -1675,151 +1797,151 @@ particular release.
5475 <entry/>
5476 </row>
5477 <row>
5478- <entry>26.5.8.1</entry>
5479+ <entry>26.5.8.2</entry>
5480 <entry>Uniform distributions</entry>
5481 <entry/>
5482 <entry/>
5483 </row>
5484 <row>
5485- <entry>26.5.8.1.1</entry>
5486+ <entry>26.5.8.2.1</entry>
5487 <entry>Class template <code>uniform_int_distribution</code></entry>
5488 <entry>Y</entry>
5489 <entry/>
5490 </row>
5491 <row>
5492- <entry>26.5.8.1.2</entry>
5493+ <entry>26.5.8.2.2</entry>
5494 <entry>Class template <code>uniform_real_distribution</code></entry>
5495 <entry>Y</entry>
5496 <entry/>
5497 </row>
5498 <row>
5499- <entry>26.5.8.2</entry>
5500+ <entry>26.5.8.3</entry>
5501 <entry>Bernoulli distributions</entry>
5502 <entry/>
5503 <entry/>
5504 </row>
5505 <row>
5506- <entry>26.5.8.2.1</entry>
5507+ <entry>26.5.8.3.1</entry>
5508 <entry>Class <code>bernoulli_distribution</code></entry>
5509 <entry>Y</entry>
5510 <entry/>
5511 </row>
5512 <row>
5513- <entry>26.5.8.2.2</entry>
5514+ <entry>26.5.8.3.2</entry>
5515 <entry>Class template <code>binomial_distribution</code></entry>
5516 <entry>Y</entry>
5517 <entry/>
5518 </row>
5519 <row>
5520- <entry>26.5.8.2.3</entry>
5521+ <entry>26.5.8.3.3</entry>
5522 <entry>Class template <code>geometric_distribution</code></entry>
5523 <entry>Y</entry>
5524 <entry/>
5525 </row>
5526 <row>
5527- <entry>26.5.8.2.4</entry>
5528+ <entry>26.5.8.3.4</entry>
5529 <entry>Class template <code>negative_binomial_distribution</code></entry>
5530 <entry>Y</entry>
5531 <entry/>
5532 </row>
5533 <row>
5534- <entry>26.5.8.3</entry>
5535+ <entry>26.5.8.4</entry>
5536 <entry>Poisson distributions</entry>
5537 <entry/>
5538 <entry/>
5539 </row>
5540 <row>
5541- <entry>26.5.8.3.1</entry>
5542+ <entry>26.5.8.4.1</entry>
5543 <entry>Class template <code>poisson_distribution</code></entry>
5544 <entry>Y</entry>
5545 <entry/>
5546 </row>
5547 <row>
5548- <entry>26.5.8.3.2</entry>
5549+ <entry>26.5.8.4.2</entry>
5550 <entry>Class template <code>exponential_distribution</code></entry>
5551 <entry>Y</entry>
5552 <entry/>
5553 </row>
5554 <row>
5555- <entry>26.5.8.3.3</entry>
5556+ <entry>26.5.8.4.3</entry>
5557 <entry>Class template <code>gamma_distribution</code></entry>
5558 <entry>Y</entry>
5559 <entry/>
5560 </row>
5561 <row>
5562- <entry>26.5.8.3.4</entry>
5563+ <entry>26.5.8.4.4</entry>
5564 <entry>Class template <code>weibull_distribution</code></entry>
5565 <entry>Y</entry>
5566 <entry/>
5567 </row>
5568 <row>
5569- <entry>26.5.8.3.5</entry>
5570+ <entry>26.5.8.4.5</entry>
5571 <entry>Class template <code>extreme_value_distribution</code></entry>
5572 <entry>Y</entry>
5573 <entry/>
5574 </row>
5575 <row>
5576- <entry>26.5.8.4</entry>
5577+ <entry>26.5.8.5</entry>
5578 <entry>Normal distributions</entry>
5579 <entry/>
5580 <entry/>
5581 </row>
5582 <row>
5583- <entry>26.5.8.4.1</entry>
5584+ <entry>26.5.8.5.1</entry>
5585 <entry>Class template <code>normal_distribution</code></entry>
5586 <entry>Y</entry>
5587 <entry/>
5588 </row>
5589 <row>
5590- <entry>26.5.8.4.2</entry>
5591+ <entry>26.5.8.5.2</entry>
5592 <entry>Class template <code>lognormal_distribution</code></entry>
5593 <entry>Y</entry>
5594 <entry/>
5595 </row>
5596 <row>
5597- <entry>26.5.8.4.3</entry>
5598+ <entry>26.5.8.5.3</entry>
5599 <entry>Class template <code>chi_squared_distribution</code></entry>
5600 <entry>Y</entry>
5601 <entry/>
5602 </row>
5603 <row>
5604- <entry>26.5.8.4.4</entry>
5605+ <entry>26.5.8.5.4</entry>
5606 <entry>Class template <code>cauchy_distribution</code></entry>
5607 <entry>Y</entry>
5608 <entry/>
5609 </row>
5610 <row>
5611- <entry>26.5.8.4.5</entry>
5612+ <entry>26.5.8.5.5</entry>
5613 <entry>Class template <code>fisher_f_distribution</code></entry>
5614 <entry>Y</entry>
5615 <entry/>
5616 </row>
5617 <row>
5618- <entry>26.5.8.4.6</entry>
5619+ <entry>26.5.8.5.6</entry>
5620 <entry>Class template <code>student_t_distribution</code></entry>
5621 <entry>Y</entry>
5622 <entry/>
5623 </row>
5624 <row>
5625- <entry>26.5.8.5</entry>
5626+ <entry>26.5.8.6</entry>
5627 <entry>Sampling distributions</entry>
5628 <entry/>
5629 <entry/>
5630 </row>
5631 <row>
5632- <entry>26.5.8.5.1</entry>
5633+ <entry>26.5.8.6.1</entry>
5634 <entry>Class template <code>discrete_distribution</code></entry>
5635 <entry>Y</entry>
5636 <entry/>
5637 </row>
5638 <row>
5639- <entry>26.5.8.5.2</entry>
5640+ <entry>26.5.8.6.2</entry>
5641 <entry>Class template <code>piecewise_constant_distribution</code></entry>
5642 <entry>Y</entry>
5643 <entry/>
5644 </row>
5645 <row>
5646- <entry>26.5.8.5.3</entry>
5647+ <entry>26.5.8.6.3</entry>
5648 <entry>Class template <code>piecewise_linear_distribution</code></entry>
5649 <entry>Y</entry>
5650 <entry/>
5651@@ -1837,10 +1959,11 @@ particular release.
5652 <entry/>
5653 </row>
5654 <row>
5655+ <?dbhtml bgcolor="#B0B0B0" ?>
5656 <entry>26.6.2</entry>
5657 <entry>Class template <code>valarray</code></entry>
5658- <entry>Y</entry>
5659- <entry/>
5660+ <entry>Partial</entry>
5661+ <entry>Missing move and swap operations</entry>
5662 </row>
5663 <row>
5664 <entry>26.6.3</entry>
5665@@ -1885,10 +2008,9 @@ particular release.
5666 <entry/>
5667 </row>
5668 <row>
5669- <?dbhtml bgcolor="#C8B0B0" ?>
5670 <entry>26.6.10</entry>
5671 <entry><code>valarray</code> range access</entry>
5672- <entry>N</entry>
5673+ <entry>Y</entry>
5674 <entry/>
5675 </row>
5676 <row>
5677@@ -1899,30 +2021,36 @@ particular release.
5678 </row>
5679 <row>
5680 <entry>26.7.1</entry>
5681- <entry><code>accumulate</code></entry>
5682+ <entry>Header <code>&lt;numeric&gt;</code> synopsis</entry>
5683 <entry>Y</entry>
5684 <entry/>
5685 </row>
5686 <row>
5687 <entry>26.7.2</entry>
5688- <entry><code>inner_product</code></entry>
5689+ <entry><code>accumulate</code></entry>
5690 <entry>Y</entry>
5691 <entry/>
5692 </row>
5693 <row>
5694 <entry>26.7.3</entry>
5695- <entry><code>partial_sum</code></entry>
5696+ <entry><code>inner_product</code></entry>
5697 <entry>Y</entry>
5698 <entry/>
5699 </row>
5700 <row>
5701 <entry>26.7.4</entry>
5702- <entry><code>adjacent_difference</code></entry>
5703+ <entry><code>partial_sum</code></entry>
5704 <entry>Y</entry>
5705 <entry/>
5706 </row>
5707 <row>
5708 <entry>26.7.5</entry>
5709+ <entry><code>adjacent_difference</code></entry>
5710+ <entry>Y</entry>
5711+ <entry/>
5712+ </row>
5713+ <row>
5714+ <entry>26.7.6</entry>
5715 <entry>iota</entry>
5716 <entry>Y</entry>
5717 <entry/>
5718@@ -1986,12 +2114,18 @@ particular release.
5719 </row>
5720 <row>
5721 <entry>27.4.1</entry>
5722- <entry>Narrow stream objects</entry>
5723+ <entry>Overview</entry>
5724 <entry>Y</entry>
5725 <entry/>
5726 </row>
5727 <row>
5728 <entry>27.4.2</entry>
5729+ <entry>Narrow stream objects</entry>
5730+ <entry>Y</entry>
5731+ <entry/>
5732+ </row>
5733+ <row>
5734+ <entry>27.4.3</entry>
5735 <entry>Wide stream objects</entry>
5736 <entry>Y</entry>
5737 <entry/>
5738@@ -2001,7 +2135,10 @@ particular release.
5739 <entry>27.5</entry>
5740 <entry>Iostreams base classes</entry>
5741 <entry>Partial</entry>
5742- <entry>Missing move and swap operations</entry>
5743+ <entry>
5744+ Missing move and swap operations on <code>basic_ios</code>. Missing
5745+ <code>make_error_code</code> and <code>make_error_condition</code>.
5746+ </entry>
5747 </row>
5748 <row>
5749 <entry>27.6</entry>
5750@@ -2155,33 +2292,20 @@ particular release.
5751 <entry/>
5752 </row>
5753 <row>
5754+ <?dbhtml bgcolor="#B0B0B0" ?>
5755 <entry>29.4</entry>
5756 <entry>Lock-free property</entry>
5757- <entry>Y</entry>
5758- <entry>Based on _GLIBCXX_ATOMIC_PROPERTY</entry>
5759+ <entry>Partial</entry>
5760+ <entry>Missing <code>ATOMIC_BOOL_LOCK_FREE</code> and
5761+ <code>ATOMIC_POINTER_LOCK_FREE</code>.
5762+ Based on _GLIBCXX_ATOMIC_PROPERTY
5763+ </entry>
5764 </row>
5765 <row>
5766+ <?dbhtml bgcolor="#B0B0B0" ?>
5767 <entry>29.5</entry>
5768 <entry>Atomic types</entry>
5769- <entry/>
5770- <entry/>
5771- </row>
5772- <row>
5773- <entry>29.5.1</entry>
5774- <entry>Integral types</entry>
5775- <entry>Y</entry>
5776- <entry>Missing constexpr</entry>
5777- </row>
5778- <row>
5779- <entry>29.5.2</entry>
5780- <entry>Address types</entry>
5781- <entry>Y</entry>
5782- <entry>Missing constexpr</entry>
5783- </row>
5784- <row>
5785- <entry>29.5.3</entry>
5786- <entry>Generic types</entry>
5787- <entry>Y</entry>
5788+ <entry>Partial</entry>
5789 <entry>Missing constexpr</entry>
5790 </row>
5791 <row>
5792@@ -2234,7 +2358,7 @@ particular release.
5793 <entry>30.3.1</entry>
5794 <entry>Class <code>thread</code></entry>
5795 <entry>Partial</entry>
5796- <entry><code>thread::id</code> is not trivially copyable</entry>
5797+ <entry><code>thread::id</code> comparisons not well-defined</entry>
5798 </row>
5799 <row>
5800 <entry>30.3.2</entry>
5801@@ -2256,73 +2380,85 @@ particular release.
5802 </row>
5803 <row>
5804 <entry>30.4.1.1</entry>
5805+ <entry>In general</entry>
5806+ <entry/>
5807+ <entry/>
5808+ </row>
5809+ <row>
5810+ <entry>30.4.1.2</entry>
5811+ <entry>Mutex types</entry>
5812+ <entry/>
5813+ <entry/>
5814+ </row>
5815+ <row>
5816+ <entry>30.4.1.2.1</entry>
5817 <entry>Class <code>mutex</code></entry>
5818 <entry>Y</entry>
5819 <entry/>
5820 </row>
5821 <row>
5822- <entry>30.4.1.2</entry>
5823+ <entry>30.4.1.2.2</entry>
5824 <entry>Class <code>recursive_mutex</code></entry>
5825 <entry>Y</entry>
5826 <entry/>
5827 </row>
5828 <row>
5829- <entry>30.4.2</entry>
5830- <entry>Timed mutex requirements</entry>
5831+ <entry>30.4.1.3</entry>
5832+ <entry>Timed mutex types</entry>
5833 <entry/>
5834 <entry/>
5835 </row>
5836 <row>
5837- <entry>30.4.2.1</entry>
5838+ <entry>30.4.1.3.1</entry>
5839 <entry>Class <code>timed_mutex</code></entry>
5840 <entry>Y</entry>
5841 <entry/>
5842 </row>
5843 <row>
5844- <entry>30.4.2.2</entry>
5845+ <entry>30.4.1.3.2</entry>
5846 <entry>Class <code>recursive_timed_mutex</code></entry>
5847 <entry>Y</entry>
5848 <entry/>
5849 </row>
5850 <row>
5851- <entry>30.4.3</entry>
5852+ <entry>30.4.2</entry>
5853 <entry>Locks</entry>
5854 <entry/>
5855 <entry/>
5856 </row>
5857 <row>
5858- <entry>30.4.3.1</entry>
5859+ <entry>30.4.2.1</entry>
5860 <entry>Class template <code>lock_guard</code></entry>
5861 <entry>Y</entry>
5862 <entry/>
5863 </row>
5864 <row>
5865- <entry>30.4.3.2</entry>
5866+ <entry>30.4.2.2</entry>
5867 <entry>Class template <code>unique_lock</code></entry>
5868 <entry>Y</entry>
5869 <entry/>
5870 </row>
5871 <row>
5872- <entry>30.4.4</entry>
5873+ <entry>30.4.3</entry>
5874 <entry>Generic locking algorithms</entry>
5875 <entry>Y</entry>
5876 <entry/>
5877 </row>
5878 <row>
5879- <entry>30.4.5</entry>
5880+ <entry>30.4.4</entry>
5881 <entry>Call once</entry>
5882 <entry/>
5883 <entry/>
5884 </row>
5885 <row>
5886- <entry>30.4.5.1</entry>
5887- <entry><code>once_flag</code></entry>
5888+ <entry>30.4.4.1</entry>
5889+ <entry>Struct <code>once_flag</code></entry>
5890 <entry>Y</entry>
5891 <entry/>
5892 </row>
5893 <row>
5894- <entry>30.4.5.2</entry>
5895- <entry><code>call_once</code></entry>
5896+ <entry>30.4.4.2</entry>
5897+ <entry>Function <code>call_once</code></entry>
5898 <entry>Y</entry>
5899 <entry/>
5900 </row>
5901@@ -2371,7 +2507,7 @@ particular release.
5902 </row>
5903 <row>
5904 <entry>30.6.4</entry>
5905- <entry>Associated asynchronous state</entry>
5906+ <entry>Shared state</entry>
5907 <entry>Y</entry>
5908 <entry/>
5909 </row>
5910@@ -2397,14 +2533,14 @@ particular release.
5911 <entry>Missing future_status</entry>
5912 </row>
5913 <row>
5914- <entry>30.6.9</entry>
5915+ <entry>30.6.8</entry>
5916 <entry>Function template <code>async</code></entry>
5917 <entry>Y</entry>
5918 <entry/>
5919 </row>
5920 <row>
5921 <?dbhtml bgcolor="#B0B0B0" ?>
5922- <entry>30.6.10</entry>
5923+ <entry>30.6.9</entry>
5924 <entry>Class template <code>packaged_task</code></entry>
5925 <entry>Partial</entry>
5926 <entry>Missing make_ready_at_thread_exit</entry>
5927@@ -2425,43 +2561,43 @@ particular release.
5928 </row>
5929 <row>
5930 <entry>D.2</entry>
5931- <entry><code>static</code> keyword</entry>
5932+ <entry><code>register</code> keyword</entry>
5933 <entry/>
5934 <entry/>
5935 </row>
5936 <row>
5937 <entry>D.3</entry>
5938- <entry>Access declarations</entry>
5939+ <entry>Implicit declaration of copy functions</entry>
5940 <entry/>
5941 <entry/>
5942 </row>
5943 <row>
5944 <entry>D.4</entry>
5945- <entry><code>register</code> keyword</entry>
5946+ <entry>Dynamic exception specifications</entry>
5947 <entry/>
5948 <entry/>
5949 </row>
5950 <row>
5951 <entry>D.5</entry>
5952- <entry>Dynamic exception specifications</entry>
5953+ <entry>C standard library headers</entry>
5954 <entry/>
5955 <entry/>
5956 </row>
5957 <row>
5958 <entry>D.6</entry>
5959- <entry>C standard library headers</entry>
5960+ <entry>Old iostreams members</entry>
5961 <entry/>
5962 <entry/>
5963 </row>
5964 <row>
5965 <entry>D.7</entry>
5966- <entry>Old iostreams members</entry>
5967+ <entry><code>char*</code> streams</entry>
5968 <entry/>
5969 <entry/>
5970 </row>
5971 <row>
5972 <entry>D.8</entry>
5973- <entry>char* streams</entry>
5974+ <entry>Function objects</entry>
5975 <entry/>
5976 <entry/>
5977 </row>
5978@@ -2477,6 +2613,12 @@ particular release.
5979 <entry/>
5980 <entry/>
5981 </row>
5982+ <row>
5983+ <entry>D.11</entry>
5984+ <entry>Violating exception-specifications</entry>
5985+ <entry/>
5986+ <entry/>
5987+ </row>
5988
5989 </tbody>
5990 </tgroup>
5991--
59921.7.0.4
5993
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0226-Fix-PR-c-48838.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0226-Fix-PR-c-48838.patch
new file mode 100644
index 0000000000..af31ff0248
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0226-Fix-PR-c-48838.patch
@@ -0,0 +1,112 @@
1From 01c39e4050b00a6483b1e196b1308beed14d6e4a Mon Sep 17 00:00:00 2001
2From: dodji <dodji@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 6 May 2011 08:34:10 +0000
4Subject: [PATCH] Fix PR c++/48838
5
6gcc/cp
7
8 PR c++/48838
9 * cp-tree.h (non_static_member_function_p): Declare new function.
10 * tree.c (non_static_member_function_p): Define it.
11 * semantics.c (finish_call_expr): Use it.
12
13gcc/testsuite
14
15 PR c++/48838
16 * g++.dg/template/member9.C: New test case.
17
18git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173472 138bc75d-0d04-0410-961f-82ee72b054a4
19
20index 176a4b8..9fbca57 100644
21--- a/gcc/cp/cp-tree.h
22+++ b/gcc/cp/cp-tree.h
23@@ -5409,6 +5409,7 @@ extern tree get_fns (tree);
24 extern tree get_first_fn (tree);
25 extern tree ovl_cons (tree, tree);
26 extern tree build_overload (tree, tree);
27+extern bool non_static_member_function_p (tree);
28 extern const char *cxx_printable_name (tree, int);
29 extern const char *cxx_printable_name_translate (tree, int);
30 extern tree build_exception_variant (tree, tree);
31diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
32index b5c0b80..f43649e 100644
33--- a/gcc/cp/semantics.c
34+++ b/gcc/cp/semantics.c
35@@ -2041,8 +2041,7 @@ finish_call_expr (tree fn, VEC(tree,gc) **args, bool disallow_virtual,
36 is not included in *ARGS even though it is considered to
37 be part of the list of arguments. Note that this is
38 related to CWG issues 515 and 1005. */
39- || (((TREE_CODE (TREE_TYPE (fn)) == METHOD_TYPE)
40- || BASELINK_P (fn))
41+ || (non_static_member_function_p (fn)
42 && current_class_ref
43 && type_dependent_expression_p (current_class_ref)))
44 {
45diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
46index 15ee741..f04fd23 100644
47--- a/gcc/cp/tree.c
48+++ b/gcc/cp/tree.c
49@@ -1465,6 +1465,34 @@ build_overload (tree decl, tree chain)
50 return ovl_cons (decl, chain);
51 }
52
53+/* Return TRUE if FN is a non-static member function, FALSE otherwise.
54+ This function looks into BASELINK and OVERLOAD nodes. */
55+
56+bool
57+non_static_member_function_p (tree fn)
58+{
59+ if (fn == NULL_TREE)
60+ return false;
61+
62+ if (BASELINK_P (fn))
63+ {
64+ tree type = TREE_TYPE (fn);
65+
66+ if (type && TREE_CODE (type) == METHOD_TYPE)
67+ return true;
68+ else if (type && TREE_CODE (type) == FUNCTION_TYPE)
69+ return false;
70+ /* This is an overload. Lets look into its current value. */
71+ fn = get_fns (BASELINK_FUNCTIONS (fn));
72+ }
73+
74+ if (TREE_CODE (fn) == OVERLOAD)
75+ fn = OVL_CURRENT (fn);
76+
77+ return (DECL_P (fn)
78+ && DECL_NONSTATIC_MEMBER_FUNCTION_P (fn));
79+}
80+
81
82 #define PRINT_RING_SIZE 4
83
84new file mode 100644
85index 0000000..f15272d
86--- /dev/null
87+++ b/gcc/testsuite/g++.dg/template/member9.C
88@@ -0,0 +1,21 @@
89+// Origin PR c++/48838
90+// { dg-do compile }
91+
92+class DUChainItemSystem
93+{
94+public:
95+
96+ template<class T>
97+ void registerTypeClass();
98+
99+ static DUChainItemSystem& self();
100+};
101+
102+template<class T>
103+struct DUChainItemRegistrator
104+{
105+ DUChainItemRegistrator()
106+ {
107+ DUChainItemSystem::self().registerTypeClass<T>();
108+ }
109+};
110--
1111.7.0.4
112
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0227-PR-fortran-48894.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0227-PR-fortran-48894.patch
new file mode 100644
index 0000000000..0c6de4ff54
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0227-PR-fortran-48894.patch
@@ -0,0 +1,136 @@
1From ae55117ab726f901303318a546b5c8c66273579c Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 6 May 2011 10:11:59 +0000
4Subject: [PATCH] PR fortran/48894
5 * fortran.c: Include limits.h.
6 (TO_INT): Define.
7 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
8 *set.
9 (omp_set_num_threads_8_, omp_set_schedule_8_,
10 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
11 omp_get_team_size_8_): Use TO_INT macro.
12 * testsuite/libgomp.fortran/pr48894.f90: New test.
13
14git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173477 138bc75d-0d04-0410-961f-82ee72b054a4
15
16index 53469f5..39bd748 100644
17--- a/libgomp/fortran.c
18+++ b/libgomp/fortran.c
19@@ -1,4 +1,4 @@
20-/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
21+/* Copyright (C) 2005, 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
22 Contributed by Jakub Jelinek <jakub@redhat.com>.
23
24 This file is part of the GNU OpenMP Library (libgomp).
25@@ -27,6 +27,7 @@
26 #include "libgomp.h"
27 #include "libgomp_f.h"
28 #include <stdlib.h>
29+#include <limits.h>
30
31 #ifdef HAVE_ATTRIBUTE_ALIAS
32 /* Use internal aliases if possible. */
33@@ -244,6 +245,8 @@ omp_lock_symver (omp_unset_nest_lock_)
34 omp_lock_symver (omp_test_nest_lock_)
35 #endif
36
37+#define TO_INT(x) ((x) > INT_MIN ? (x) < INT_MAX ? (x) : INT_MAX : INT_MIN)
38+
39 void
40 omp_set_dynamic_ (const int32_t *set)
41 {
42@@ -253,7 +256,7 @@ omp_set_dynamic_ (const int32_t *set)
43 void
44 omp_set_dynamic_8_ (const int64_t *set)
45 {
46- omp_set_dynamic (*set);
47+ omp_set_dynamic (!!*set);
48 }
49
50 void
51@@ -265,7 +268,7 @@ omp_set_nested_ (const int32_t *set)
52 void
53 omp_set_nested_8_ (const int64_t *set)
54 {
55- omp_set_nested (*set);
56+ omp_set_nested (!!*set);
57 }
58
59 void
60@@ -277,7 +280,7 @@ omp_set_num_threads_ (const int32_t *set)
61 void
62 omp_set_num_threads_8_ (const int64_t *set)
63 {
64- omp_set_num_threads (*set);
65+ omp_set_num_threads (TO_INT (*set));
66 }
67
68 int32_t
69@@ -343,7 +346,7 @@ omp_set_schedule_ (const int32_t *kind, const int32_t *modifier)
70 void
71 omp_set_schedule_8_ (const int32_t *kind, const int64_t *modifier)
72 {
73- omp_set_schedule (*kind, *modifier);
74+ omp_set_schedule (*kind, TO_INT (*modifier));
75 }
76
77 void
78@@ -381,7 +384,7 @@ omp_set_max_active_levels_ (const int32_t *levels)
79 void
80 omp_set_max_active_levels_8_ (const int64_t *levels)
81 {
82- omp_set_max_active_levels (*levels);
83+ omp_set_max_active_levels (TO_INT (*levels));
84 }
85
86 int32_t
87@@ -405,7 +408,7 @@ omp_get_ancestor_thread_num_ (const int32_t *level)
88 int32_t
89 omp_get_ancestor_thread_num_8_ (const int64_t *level)
90 {
91- return omp_get_ancestor_thread_num (*level);
92+ return omp_get_ancestor_thread_num (TO_INT (*level));
93 }
94
95 int32_t
96@@ -417,7 +420,7 @@ omp_get_team_size_ (const int32_t *level)
97 int32_t
98 omp_get_team_size_8_ (const int64_t *level)
99 {
100- return omp_get_team_size (*level);
101+ return omp_get_team_size (TO_INT (*level));
102 }
103
104 int32_t
105diff --git a/libgomp/testsuite/libgomp.fortran/pr48894.f90 b/libgomp/testsuite/libgomp.fortran/pr48894.f90
106new file mode 100644
107index 0000000..af35112
108--- /dev/null
109+++ b/libgomp/testsuite/libgomp.fortran/pr48894.f90
110@@ -0,0 +1,23 @@
111+! PR fortran/48894
112+! { dg-do run }
113+! { dg-options "-fdefault-integer-8" }
114+
115+ use omp_lib
116+ integer, parameter :: zero = 0
117+ integer :: err
118+ logical :: l
119+ err = 0
120+ !$omp parallel
121+ !$omp parallel private (l)
122+ l = omp_get_ancestor_thread_num (-HUGE (zero)) .ne. -1
123+ l = l .or. (omp_get_ancestor_thread_num (HUGE (zero)) .ne. -1)
124+ l = l .or. (omp_get_team_size (-HUGE (zero)) .ne. -1)
125+ l = l .or. (omp_get_team_size (HUGE (zero)) .ne. -1)
126+ if (l) then
127+ !$omp atomic
128+ err = err + 1
129+ endif
130+ !$omp end parallel
131+ !$omp end parallel
132+ if (err .ne. 0) call abort
133+end
134--
1351.7.0.4
136
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0228-2011-05-06-Ramana-Radhakrishnan-ramana.radhakrishnan.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0228-2011-05-06-Ramana-Radhakrishnan-ramana.radhakrishnan.patch
new file mode 100644
index 0000000000..2266ffaadc
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0228-2011-05-06-Ramana-Radhakrishnan-ramana.radhakrishnan.patch
@@ -0,0 +1,28 @@
1From 6a792f0c655adf383671e01e6554c4e243ac24ad Mon Sep 17 00:00:00 2001
2From: ramana <ramana@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 6 May 2011 10:21:26 +0000
4Subject: [PATCH] 2011-05-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
5
6 PR target/48252
7 * config/arm/neon.md (neon_vtrn<mode>): Fix typo
8 from earlier commit.
9
10
11
12git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173480 138bc75d-0d04-0410-961f-82ee72b054a4
13
14index 491dd98..fddd632 100644
15--- a/gcc/config/arm/neon.md
16+++ b/gcc/config/arm/neon.md
17@@ -4093,7 +4093,7 @@
18 (const_string "neon_bp_3cycle")))]
19 )
20
21- "neon_vtrn<mode>"
22+(define_expand "neon_vtrn<mode>"
23 [(match_operand:SI 0 "s_register_operand" "r")
24 (match_operand:VDQW 1 "s_register_operand" "w")
25 (match_operand:VDQW 2 "s_register_operand" "w")]
26--
271.7.0.4
28
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0229-2011-05-06-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0229-2011-05-06-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch
new file mode 100644
index 0000000000..bc09a7e58b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0229-2011-05-06-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch
@@ -0,0 +1,58 @@
1From d78b2283de3896b886562a5e34dfca256b7130d4 Mon Sep 17 00:00:00 2001
2From: krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 6 May 2011 11:10:13 +0000
4Subject: [PATCH] 2011-05-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5
6 * config/s390/s390.c (s390_asm_trampoline_template): Comment
7 instruction sizes.
8 (s390_trampoline_init): Replace UNITS_PER_WORD with
9 UNITS_PER_LONG.
10
11
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173482 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index c1bb234..626007e 100644
16--- a/gcc/config/s390/s390.c
17+++ b/gcc/config/s390/s390.c
18@@ -9281,16 +9281,16 @@ s390_asm_trampoline_template (FILE *file)
19
20 if (TARGET_64BIT)
21 {
22- output_asm_insn ("basr\t%1,0", op);
23- output_asm_insn ("lmg\t%0,%1,14(%1)", op);
24- output_asm_insn ("br\t%1", op);
25+ output_asm_insn ("basr\t%1,0", op); /* 2 byte */
26+ output_asm_insn ("lmg\t%0,%1,14(%1)", op); /* 6 byte */
27+ output_asm_insn ("br\t%1", op); /* 2 byte */
28 ASM_OUTPUT_SKIP (file, (HOST_WIDE_INT)(TRAMPOLINE_SIZE - 10));
29 }
30 else
31 {
32- output_asm_insn ("basr\t%1,0", op);
33- output_asm_insn ("lm\t%0,%1,6(%1)", op);
34- output_asm_insn ("br\t%1", op);
35+ output_asm_insn ("basr\t%1,0", op); /* 2 byte */
36+ output_asm_insn ("lm\t%0,%1,6(%1)", op); /* 4 byte */
37+ output_asm_insn ("br\t%1", op); /* 2 byte */
38 ASM_OUTPUT_SKIP (file, (HOST_WIDE_INT)(TRAMPOLINE_SIZE - 8));
39 }
40 }
41@@ -9306,11 +9306,11 @@ s390_trampoline_init (rtx m_tramp, tree fndecl, rtx cxt)
42 rtx mem;
43
44 emit_block_move (m_tramp, assemble_trampoline_template (),
45- GEN_INT (2*UNITS_PER_WORD), BLOCK_OP_NORMAL);
46+ GEN_INT (2 * UNITS_PER_LONG), BLOCK_OP_NORMAL);
47
48- mem = adjust_address (m_tramp, Pmode, 2*UNITS_PER_WORD);
49+ mem = adjust_address (m_tramp, Pmode, 2 * UNITS_PER_LONG);
50 emit_move_insn (mem, cxt);
51- mem = adjust_address (m_tramp, Pmode, 3*UNITS_PER_WORD);
52+ mem = adjust_address (m_tramp, Pmode, 3 * UNITS_PER_LONG);
53 emit_move_insn (mem, fnaddr);
54 }
55
56--
571.7.0.4
58
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0230-PR-target-48900.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0230-PR-target-48900.patch
new file mode 100644
index 0000000000..0c235a12c5
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0230-PR-target-48900.patch
@@ -0,0 +1,44 @@
1From 13a0d397446972a93558be4da118ab2fd6da58bc Mon Sep 17 00:00:00 2001
2From: amodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 6 May 2011 14:30:10 +0000
4Subject: [PATCH] PR target/48900
5 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
6 const0_rtx as the arg to the dummy __tls_get_addr libcall.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173489 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index c6c1847..5019347 100644
11--- a/gcc/config/rs6000/rs6000.c
12+++ b/gcc/config/rs6000/rs6000.c
13@@ -6545,10 +6545,11 @@ rs6000_legitimize_tls_address (rtx addr, enum tls_model model)
14
15 if (model == TLS_MODEL_GLOBAL_DYNAMIC)
16 {
17- r3 = gen_rtx_REG (Pmode, 3);
18 tga = rs6000_tls_get_addr ();
19- emit_library_call_value (tga, dest, LCT_CONST, Pmode, 1, r3, Pmode);
20+ emit_library_call_value (tga, dest, LCT_CONST, Pmode,
21+ 1, const0_rtx, Pmode);
22
23+ r3 = gen_rtx_REG (Pmode, 3);
24 if (DEFAULT_ABI == ABI_AIX && TARGET_64BIT)
25 insn = gen_tls_gd_aix64 (r3, got, addr, tga, const0_rtx);
26 else if (DEFAULT_ABI == ABI_AIX && !TARGET_64BIT)
27@@ -6565,11 +6566,12 @@ rs6000_legitimize_tls_address (rtx addr, enum tls_model model)
28 }
29 else if (model == TLS_MODEL_LOCAL_DYNAMIC)
30 {
31- r3 = gen_rtx_REG (Pmode, 3);
32 tga = rs6000_tls_get_addr ();
33 tmp1 = gen_reg_rtx (Pmode);
34- emit_library_call_value (tga, tmp1, LCT_CONST, Pmode, 1, r3, Pmode);
35+ emit_library_call_value (tga, tmp1, LCT_CONST, Pmode,
36+ 1, const0_rtx, Pmode);
37
38+ r3 = gen_rtx_REG (Pmode, 3);
39 if (DEFAULT_ABI == ABI_AIX && TARGET_64BIT)
40 insn = gen_tls_ld_aix64 (r3, got, tga, const0_rtx);
41 else if (DEFAULT_ABI == ABI_AIX && !TARGET_64BIT)
42--
431.7.0.4
44
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0231-config-i386-i386.md-movdf_internal_nointeger-Apply.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0231-config-i386-i386.md-movdf_internal_nointeger-Apply.patch
new file mode 100644
index 0000000000..934efa4a07
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0231-config-i386-i386.md-movdf_internal_nointeger-Apply.patch
@@ -0,0 +1,23 @@
1From 651bd3dfce337b26f27ef04e5b36838b6d8f77ea Mon Sep 17 00:00:00 2001
2From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 6 May 2011 16:21:33 +0000
4Subject: [PATCH] * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
5 constraint modifier to "r".
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173495 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index a90e310..9db8a74 100644
10--- a/gcc/config/i386/i386.md
11+++ b/gcc/config/i386/i386.md
12@@ -3240,7 +3240,7 @@
13 [(set (match_operand:DF 0 "nonimmediate_operand"
14 "=f,m,f,*r ,o ,Y2*x,Y2*x,Y2*x ,m ")
15 (match_operand:DF 1 "general_operand"
16- "fm,f,G,*roF,*Fr,C ,Y2*x,mY2*x,Y2*x"))]
17+ "fm,f,G,*roF,F*r,C ,Y2*x,mY2*x,Y2*x"))]
18 "!TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
19 && (optimize_function_for_size_p (cfun)
20 || !TARGET_INTEGER_DFMODE_MOVES)
21--
221.7.0.4
23
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0232-PR-c-48089.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0232-PR-c-48089.patch
new file mode 100644
index 0000000000..300b4e143e
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0232-PR-c-48089.patch
@@ -0,0 +1,77 @@
1From 3db4aa63d6850f44758d06d5f075c76de6d4c1e9 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 6 May 2011 21:58:22 +0000
4Subject: [PATCH] PR c++/48089
5 * semantics.c (potential_constant_expression_1): Don't allow *this
6 in a constructor.
7 (register_constexpr_fundef): Use potential_rvalue_constant_expression.
8
9git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173513 138bc75d-0d04-0410-961f-82ee72b054a4
10
11index f43649e..8f621b9 100644
12--- a/gcc/cp/semantics.c
13+++ b/gcc/cp/semantics.c
14@@ -5704,11 +5704,11 @@ register_constexpr_fundef (tree fun, tree body)
15 body = unshare_expr (TREE_OPERAND (body, 0));
16 }
17
18- if (!potential_constant_expression (body))
19+ if (!potential_rvalue_constant_expression (body))
20 {
21 DECL_DECLARED_CONSTEXPR_P (fun) = false;
22 if (!DECL_TEMPLATE_INSTANTIATION (fun))
23- require_potential_constant_expression (body);
24+ require_potential_rvalue_constant_expression (body);
25 return NULL;
26 }
27 fundef->body = body;
28@@ -7560,7 +7560,16 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags)
29 tree x = TREE_OPERAND (t, 0);
30 STRIP_NOPS (x);
31 if (is_this_parameter (x))
32- return true;
33+ {
34+ if (DECL_CONSTRUCTOR_P (DECL_CONTEXT (x)) && want_rval)
35+ {
36+ if (flags & tf_error)
37+ sorry ("use of the value of the object being constructed "
38+ "in a constant expression");
39+ return false;
40+ }
41+ return true;
42+ }
43 return potential_constant_expression_1 (x, rval, flags);
44 }
45
46new file mode 100644
47index 0000000..fc69cfe
48--- /dev/null
49+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-48089.C
50@@ -0,0 +1,24 @@
51+// PR c++/48089
52+// { dg-options -std=c++0x }
53+
54+// bang is ill-formed (diagnostic required) because its initializer is
55+// non-constant, because it uses the value of an uninitialized object.
56+
57+// s() is ill-formed (no diagnostic required) because there is no set of
58+// arguments that would produce a constant expression.
59+
60+// R() is well-formed because i is initialized before j.
61+
62+struct s {
63+ constexpr s() : v(v) { } // { dg-message "" }
64+ int v;
65+};
66+
67+constexpr s bang; // { dg-error "" }
68+
69+struct R {
70+ int i,j;
71+ constexpr R() : i(42),j(i) { } // { dg-bogus "" "" { xfail *-*-* } }
72+};
73+
74+constexpr R r; // { dg-bogus "" "" { xfail *-*-* } }
75--
761.7.0.4
77
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0233-PR-c-48446.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0233-PR-c-48446.patch
new file mode 100644
index 0000000000..c27ea1c398
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0233-PR-c-48446.patch
@@ -0,0 +1,183 @@
1From dfb9470529df202844f4b5dfe757ff07fa9bd27f Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 6 May 2011 21:58:30 +0000
4Subject: [PATCH] PR c++/48446
5 * decl.c (stabilize_save_expr_r, stabilize_vla_size): New.
6 (grokdeclarator): Use stabilize_vla_size.
7 * init.c (get_temp_regvar): No longer static.
8 * cp-tree.h: Declare it.
9
10git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173514 138bc75d-0d04-0410-961f-82ee72b054a4
11
12index 9fbca57..be61dad 100644
13--- a/gcc/cp/cp-tree.h
14+++ b/gcc/cp/cp-tree.h
15@@ -4958,6 +4958,7 @@ extern tree build_offset_ref (tree, tree, bool);
16 extern tree build_new (VEC(tree,gc) **, tree, tree,
17 VEC(tree,gc) **, int,
18 tsubst_flags_t);
19+extern tree get_temp_regvar (tree, tree);
20 extern tree build_vec_init (tree, tree, tree, bool, int,
21 tsubst_flags_t);
22 extern tree build_delete (tree, tree,
23diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
24index 6f8bb9f..74bae0b 100644
25--- a/gcc/cp/decl.c
26+++ b/gcc/cp/decl.c
27@@ -7499,6 +7499,39 @@ check_static_variable_definition (tree decl, tree type)
28 return 0;
29 }
30
31+/* *expr_p is part of the TYPE_SIZE of a variably-sized array. If any
32+ SAVE_EXPRs in *expr_p wrap expressions with side-effects, break those
33+ expressions out into temporary variables so that walk_tree doesn't
34+ step into them (c++/15764). */
35+
36+static tree
37+stabilize_save_expr_r (tree *expr_p, int *walk_subtrees, void *data)
38+{
39+ struct pointer_set_t *pset = (struct pointer_set_t *)data;
40+ tree expr = *expr_p;
41+ if (TREE_CODE (expr) == SAVE_EXPR)
42+ {
43+ tree op = TREE_OPERAND (expr, 0);
44+ cp_walk_tree (&op, stabilize_save_expr_r, data, pset);
45+ if (TREE_SIDE_EFFECTS (op))
46+ TREE_OPERAND (expr, 0) = get_temp_regvar (TREE_TYPE (op), op);
47+ *walk_subtrees = 0;
48+ }
49+ else if (!EXPR_P (expr) || !TREE_SIDE_EFFECTS (expr))
50+ *walk_subtrees = 0;
51+ return NULL;
52+}
53+
54+/* Entry point for the above. */
55+
56+static void
57+stabilize_vla_size (tree size)
58+{
59+ struct pointer_set_t *pset = pointer_set_create ();
60+ /* Break out any function calls into temporary variables. */
61+ cp_walk_tree (&size, stabilize_save_expr_r, pset, pset);
62+}
63+
64 /* Given the SIZE (i.e., number of elements) in an array, compute an
65 appropriate index type for the array. If non-NULL, NAME is the
66 name of the thing being declared. */
67@@ -8951,7 +8984,12 @@ grokdeclarator (const cp_declarator *declarator,
68 && (decl_context == NORMAL || decl_context == FIELD)
69 && at_function_scope_p ()
70 && variably_modified_type_p (type, NULL_TREE))
71- finish_expr_stmt (TYPE_SIZE (type));
72+ {
73+ /* First break out any side-effects. */
74+ stabilize_vla_size (TYPE_SIZE (type));
75+ /* And then force evaluation of the SAVE_EXPR. */
76+ finish_expr_stmt (TYPE_SIZE (type));
77+ }
78
79 if (declarator->kind == cdk_reference)
80 {
81@@ -9026,6 +9064,14 @@ grokdeclarator (const cp_declarator *declarator,
82 }
83 }
84
85+ /* We need to stabilize side-effects in VLA sizes for regular array
86+ declarations too, not just pointers to arrays. */
87+ if (type != error_mark_node && !TYPE_NAME (type)
88+ && (decl_context == NORMAL || decl_context == FIELD)
89+ && at_function_scope_p ()
90+ && variably_modified_type_p (type, NULL_TREE))
91+ stabilize_vla_size (TYPE_SIZE (type));
92+
93 /* A `constexpr' specifier used in an object declaration declares
94 the object as `const'. */
95 if (constexpr_p && innermost_code != cdk_function)
96diff --git a/gcc/cp/init.c b/gcc/cp/init.c
97index 4798257..ff94b71 100644
98--- a/gcc/cp/init.c
99+++ b/gcc/cp/init.c
100@@ -45,7 +45,6 @@ static void expand_virtual_init (tree, tree);
101 static tree sort_mem_initializers (tree, tree);
102 static tree initializing_context (tree);
103 static void expand_cleanup_for_base (tree, tree);
104-static tree get_temp_regvar (tree, tree);
105 static tree dfs_initialize_vtbl_ptrs (tree, void *);
106 static tree build_dtor_call (tree, special_function_kind, int);
107 static tree build_field_list (tree, tree, int *);
108@@ -2871,7 +2870,7 @@ create_temporary_var (tree type)
109 things when it comes time to do final cleanups (which take place
110 "outside" the binding contour of the function). */
111
112-static tree
113+tree
114 get_temp_regvar (tree type, tree init)
115 {
116 tree decl;
117new file mode 100644
118index 0000000..401c4e0
119--- /dev/null
120+++ b/gcc/testsuite/c-c++-common/vla-1.c
121@@ -0,0 +1,21 @@
122+/* Test that changes to a variable are reflected in a VLA later in the
123+ expression. */
124+/* { dg-options "" } */
125+
126+#ifdef __cplusplus
127+extern "C"
128+#endif
129+void abort();
130+
131+int i = 4;
132+int f()
133+{
134+ return i;
135+}
136+
137+int main()
138+{
139+ if (i+=2, sizeof(*(int(*)[f()])0) != 6*sizeof(int))
140+ abort();
141+ return 0;
142+}
143diff --git a/gcc/testsuite/g++.dg/ext/vla10.C b/gcc/testsuite/g++.dg/ext/vla10.C
144new file mode 100644
145index 0000000..17cdb2f
146--- /dev/null
147+++ b/gcc/testsuite/g++.dg/ext/vla10.C
148@@ -0,0 +1,32 @@
149+// PR c++/48446
150+// { dg-options "" }
151+
152+template<typename T>
153+struct A
154+{
155+ ~A ();
156+ T *operator-> () const;
157+};
158+
159+struct B
160+{
161+ typedef A <B> P;
162+ static P foo (int);
163+};
164+
165+struct C
166+{
167+ typedef A<C> P;
168+ static const int c = 80;
169+};
170+
171+C::P bar ();
172+
173+void
174+baz ()
175+{
176+ char z[bar ()->c];
177+ {
178+ B::P m = B::foo (sizeof (z));
179+ }
180+}
181--
1821.7.0.4
183
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0234-PR-c-48911.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0234-PR-c-48911.patch
new file mode 100644
index 0000000000..24270d4efc
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0234-PR-c-48911.patch
@@ -0,0 +1,96 @@
1From 68a4f9142fb55bcae7e9d73a9f68450d00ff0307 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 6 May 2011 21:58:37 +0000
4Subject: [PATCH] PR c++/48911
5 * semantics.c (cxx_eval_array_reference): Handle implicit
6 initializers.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173515 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 8f621b9..8fd1820 100644
11--- a/gcc/cp/semantics.c
12+++ b/gcc/cp/semantics.c
13@@ -6280,6 +6280,7 @@ cxx_eval_array_reference (const constexpr_call *call, tree t,
14 non_constant_p);
15 tree index, oldidx;
16 HOST_WIDE_INT i;
17+ tree elem_type;
18 unsigned len, elem_nchars = 1;
19 if (*non_constant_p)
20 return t;
21@@ -6292,16 +6293,27 @@ cxx_eval_array_reference (const constexpr_call *call, tree t,
22 return t;
23 else if (addr)
24 return build4 (ARRAY_REF, TREE_TYPE (t), ary, index, NULL, NULL);
25+ elem_type = TREE_TYPE (TREE_TYPE (ary));
26 if (TREE_CODE (ary) == CONSTRUCTOR)
27 len = CONSTRUCTOR_NELTS (ary);
28 else
29 {
30- elem_nchars = (TYPE_PRECISION (TREE_TYPE (TREE_TYPE (ary)))
31+ elem_nchars = (TYPE_PRECISION (elem_type)
32 / TYPE_PRECISION (char_type_node));
33 len = (unsigned) TREE_STRING_LENGTH (ary) / elem_nchars;
34 }
35 if (compare_tree_int (index, len) >= 0)
36 {
37+ if (tree_int_cst_lt (index, array_type_nelts_top (TREE_TYPE (ary))))
38+ {
39+ /* If it's within the array bounds but doesn't have an explicit
40+ initializer, it's value-initialized. */
41+ tree val = build_value_init (elem_type, tf_warning_or_error);
42+ return cxx_eval_constant_expression (call, val,
43+ allow_non_constant, addr,
44+ non_constant_p);
45+ }
46+
47 if (!allow_non_constant)
48 error ("array subscript out of bound");
49 *non_constant_p = true;
50new file mode 100644
51index 0000000..547f552
52--- /dev/null
53+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-missing.C
54@@ -0,0 +1,39 @@
55+// PR c++/48911
56+// { dg-do compile }
57+// { dg-options "-std=c++0x" }
58+
59+#define SA(X) static_assert((X),#X)
60+
61+struct A
62+{
63+ constexpr A () : a (6) {}
64+ int a;
65+};
66+
67+int
68+main ()
69+{
70+ constexpr int a[2] = { 42 };
71+ constexpr int i = a[1];
72+ SA(i==0);
73+ constexpr int b[1] = { };
74+ constexpr int j = b[0];
75+ SA(j==0);
76+ constexpr char c[2] = "a";
77+ constexpr char k = c[1];
78+ SA(k==0);
79+ constexpr char d[2] = "";
80+ constexpr char l = d[1];
81+ SA(l==0);
82+ constexpr wchar_t e[2] = L"a";
83+ constexpr wchar_t m = e[1];
84+ SA(m==0);
85+ constexpr wchar_t f[2] = L"";
86+ constexpr wchar_t n = f[1];
87+ SA(n==0);
88+ constexpr A g[2] = { A () };
89+ constexpr A o = g[0];
90+ SA(o.a == 6);
91+ constexpr A p = g[1];
92+ SA(p.a == 6);
93+}
94--
951.7.0.4
96
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0235-PR-c-48909.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0235-PR-c-48909.patch
new file mode 100644
index 0000000000..0b96bd32cf
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0235-PR-c-48909.patch
@@ -0,0 +1,73 @@
1From 011e03ba93f21bead8eae267c82423d5893bf2f3 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 6 May 2011 21:58:44 +0000
4Subject: [PATCH] PR c++/48909
5 * semantics.c (cxx_eval_conditional_expression): Check
6 integer_zerop/onep instead.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173516 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 8fd1820..6b7ec39 100644
11--- a/gcc/cp/semantics.c
12+++ b/gcc/cp/semantics.c
13@@ -6255,13 +6255,12 @@ cxx_eval_conditional_expression (const constexpr_call *call, tree t,
14 allow_non_constant, addr,
15 non_constant_p);
16 VERIFY_CONSTANT (val);
17- if (val == boolean_true_node)
18- return cxx_eval_constant_expression (call, TREE_OPERAND (t, 1),
19+ /* Don't VERIFY_CONSTANT the other operands. */
20+ if (integer_zerop (val))
21+ return cxx_eval_constant_expression (call, TREE_OPERAND (t, 2),
22 allow_non_constant, addr,
23 non_constant_p);
24- gcc_assert (val == boolean_false_node);
25- /* Don't VERIFY_CONSTANT here. */
26- return cxx_eval_constant_expression (call, TREE_OPERAND (t, 2),
27+ return cxx_eval_constant_expression (call, TREE_OPERAND (t, 1),
28 allow_non_constant, addr,
29 non_constant_p);
30 }
31@@ -7828,12 +7827,12 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags)
32 tmp = TREE_OPERAND (t, 0);
33 if (!potential_constant_expression_1 (tmp, rval, flags))
34 return false;
35- else if (tmp == boolean_true_node)
36- return potential_constant_expression_1 (TREE_OPERAND (t, 1),
37- want_rval, flags);
38- else if (tmp == boolean_false_node)
39+ else if (integer_zerop (tmp))
40 return potential_constant_expression_1 (TREE_OPERAND (t, 2),
41 want_rval, flags);
42+ else if (TREE_CODE (tmp) == INTEGER_CST)
43+ return potential_constant_expression_1 (TREE_OPERAND (t, 1),
44+ want_rval, flags);
45 for (i = 1; i < 3; ++i)
46 if (potential_constant_expression_1 (TREE_OPERAND (t, i),
47 want_rval, tf_none))
48new file mode 100644
49index 0000000..2434096
50--- /dev/null
51+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-condition2.C
52@@ -0,0 +1,18 @@
53+// PR c++/48909
54+// { dg-options -std=c++0x }
55+
56+#define SA(X) static_assert((X),#X)
57+
58+constexpr int const * is_sorted_until(int const * first, int const * last)
59+{
60+ return first == last || first + 1 == last ? last
61+ : (*(first + 1) < *first) != false ? first + 1
62+ : is_sorted_until(first + 1, last);
63+}
64+
65+int main()
66+{
67+ static constexpr int array[2] = {0, 1};
68+ constexpr int const * last = is_sorted_until(array, array + 2);
69+ SA(last==array+2);
70+}
71--
721.7.0.4
73
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0239-var-tracking.c-find_mem_expr_in_1pdv-Fix-thinko.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0239-var-tracking.c-find_mem_expr_in_1pdv-Fix-thinko.patch
new file mode 100644
index 0000000000..0891cee104
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0239-var-tracking.c-find_mem_expr_in_1pdv-Fix-thinko.patch
@@ -0,0 +1,49 @@
1From c1e5d7daddf5063b108d1cc3d53253208fb6e204 Mon Sep 17 00:00:00 2001
2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 9 May 2011 11:30:23 +0000
4Subject: [PATCH] * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
5 (dataflow_set_preserve_mem_locs): Likewise.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173566 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index a9efcb1..548afbc 100644
10--- a/gcc/var-tracking.c
11+++ b/gcc/var-tracking.c
12@@ -4107,8 +4107,9 @@ find_mem_expr_in_1pdv (tree expr, rtx val, htab_t vars)
13 VALUE_RECURSED_INTO (val) = true;
14
15 for (node = var->var_part[0].loc_chain; node; node = node->next)
16- if (MEM_P (node->loc) && MEM_EXPR (node->loc) == expr
17- && MEM_OFFSET (node->loc) == 0)
18+ if (MEM_P (node->loc)
19+ && MEM_EXPR (node->loc) == expr
20+ && INT_MEM_OFFSET (node->loc) == 0)
21 {
22 where = node;
23 break;
24@@ -4171,11 +4172,10 @@ dataflow_set_preserve_mem_locs (void **slot, void *data)
25 {
26 for (loc = var->var_part[0].loc_chain; loc; loc = loc->next)
27 {
28- /* We want to remove dying MEMs that doesn't refer to
29- DECL. */
30+ /* We want to remove dying MEMs that doesn't refer to DECL. */
31 if (GET_CODE (loc->loc) == MEM
32 && (MEM_EXPR (loc->loc) != decl
33- || MEM_OFFSET (loc->loc))
34+ || INT_MEM_OFFSET (loc->loc) != 0)
35 && !mem_dies_at_call (loc->loc))
36 break;
37 /* We want to move here MEMs that do refer to DECL. */
38@@ -4219,7 +4219,7 @@ dataflow_set_preserve_mem_locs (void **slot, void *data)
39
40 if (GET_CODE (loc->loc) != MEM
41 || (MEM_EXPR (loc->loc) == decl
42- && MEM_OFFSET (loc->loc) == 0)
43+ && INT_MEM_OFFSET (loc->loc) == 0)
44 || !mem_dies_at_call (loc->loc))
45 {
46 if (old_loc != loc->loc && emit_notes)
47--
481.7.0.4
49
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0240-Fix-PR-c-48574.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0240-Fix-PR-c-48574.patch
new file mode 100644
index 0000000000..d4cb2847f4
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0240-Fix-PR-c-48574.patch
@@ -0,0 +1,63 @@
1From 870a98366a1b44e999c9ecee9e777b10d4c10ec9 Mon Sep 17 00:00:00 2001
2From: dodji <dodji@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 9 May 2011 12:34:19 +0000
4Subject: [PATCH] Fix PR c++/48574
5
6gcc/cp/
7
8 PR c++/48574
9 * class.c (fixed_type_or_null): Use type_dependent_p_push to test
10 if the instance has a dependent initializer.
11
12gcc/testsuite/
13
14 PR c++/48574
15 * g++.dg/template/dependent-expr8.C: New test case.
16
17git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173571 138bc75d-0d04-0410-961f-82ee72b054a4
18
19index c833329..e1b8645 100644
20--- a/gcc/cp/class.c
21+++ b/gcc/cp/class.c
22@@ -5937,7 +5937,7 @@ fixed_type_or_null (tree instance, int *nonnull, int *cdtorp)
23 itself. */
24 if (TREE_CODE (instance) == VAR_DECL
25 && DECL_INITIAL (instance)
26- && !type_dependent_expression_p (DECL_INITIAL (instance))
27+ && !type_dependent_expression_p_push (DECL_INITIAL (instance))
28 && !htab_find (ht, instance))
29 {
30 tree type;
31new file mode 100644
32index 0000000..20014d6
33--- /dev/null
34+++ b/gcc/testsuite/g++.dg/template/dependent-expr8.C
35@@ -0,0 +1,25 @@
36+// Origin PR c++/48574
37+// { dg-options "-std=c++0x" }
38+// { dg-do compile }
39+
40+struct A
41+{
42+ virtual int foo();
43+};
44+
45+void baz (int);
46+
47+template <typename T>
48+void
49+bar(T x)
50+{
51+ A &b = *x;
52+ baz (b.foo ());
53+}
54+
55+void
56+foo()
57+{
58+ A a;
59+ bar(&a);
60+}
61--
621.7.0.4
63
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0241-2011-05-09-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0241-2011-05-09-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch
new file mode 100644
index 0000000000..c54a86ff09
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0241-2011-05-09-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch
@@ -0,0 +1,26 @@
1From 48d61c502e8f5a441250318ab9bdf747112d08c6 Mon Sep 17 00:00:00 2001
2From: krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 9 May 2011 14:38:22 +0000
4Subject: [PATCH] 2011-05-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5
6 * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
7 temporary register to match Pmode.
8
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173573 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index 7639d2d..e40a1bb 100644
14--- a/gcc/config/s390/s390.md
15+++ b/gcc/config/s390/s390.md
16@@ -2026,6 +2026,7 @@
17 [(set (match_dup 0) (match_dup 1))]
18 {
19 rtx addr = operand_subword (operands[0], 1, 0, <MODE>mode);
20+ addr = gen_lowpart (Pmode, addr);
21 s390_load_address (addr, XEXP (operands[1], 0));
22 operands[1] = replace_equiv_address (operands[1], addr);
23 })
24--
251.7.0.4
26
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0242-2011-05-09-Paolo-Carlini-paolo.carlini-oracle.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0242-2011-05-09-Paolo-Carlini-paolo.carlini-oracle.com.patch
new file mode 100644
index 0000000000..3bcadabc77
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0242-2011-05-09-Paolo-Carlini-paolo.carlini-oracle.com.patch
@@ -0,0 +1,44 @@
1From 8f6d830742d2c5d41877ea601a91bccafe59f905 Mon Sep 17 00:00:00 2001
2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 9 May 2011 23:24:21 +0000
4Subject: [PATCH] 2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
5
6 PR c++/48522
7 * g++.dg/cpp0x/pr48522.C: New.
8
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173599 138bc75d-0d04-0410-961f-82ee72b054a4
12
13new file mode 100644
14index 0000000..1543d8a
15--- /dev/null
16+++ b/gcc/testsuite/g++.dg/cpp0x/pr48522.C
17@@ -0,0 +1,24 @@
18+// { dg-options "-std=c++0x" }
19+
20+template <typename T>
21+struct Handle
22+{
23+ Handle(T& t);
24+};
25+
26+template<class T>
27+struct Class {
28+ struct Struct {} data;
29+ void f();
30+ void g();
31+};
32+
33+template<class T>
34+void Class<T>::f() {
35+ Handle< decltype((data)) > handle(data);
36+}
37+
38+template<class T>
39+void Class<T>::g() {
40+ Handle< decltype((data)) > handle(data);
41+}
42--
431.7.0.4
44
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0244-PR-tree-optimization-48611.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0244-PR-tree-optimization-48611.patch
new file mode 100644
index 0000000000..1cef11a01a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0244-PR-tree-optimization-48611.patch
@@ -0,0 +1,77 @@
1From c0d3391a217001c01bae1fa84d8a2e5895398235 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 10 May 2011 06:31:59 +0000
4Subject: [PATCH] PR tree-optimization/48611
5 PR tree-optimization/48794
6 * tree-eh.c (remove_unreachable_handlers): Don't remove regions
7 referenced from RESX or EH_DISPATCH arguments.
8
9 * gfortran.dg/gomp/pr48611.f90: New test.
10 * gfortran.dg/gomp/pr48794.f90: New test.
11
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173608 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index e61d621..99b02c2 100644
16new file mode 100644
17index 0000000..643cc5c
18--- /dev/null
19+++ b/gcc/testsuite/gfortran.dg/gomp/pr48611.f90
20@@ -0,0 +1,12 @@
21+! PR tree-optimization/48611
22+! { dg-do compile }
23+! { dg-options "-Os -fopenmp -fexceptions -fno-tree-ccp -fno-tree-copy-prop" }
24+
25+ integer, allocatable :: a(:)
26+ logical :: l
27+!$omp parallel private (a) reduction (.or.:l)
28+ do i = 1, 7
29+ a(:) = i
30+ end do
31+!$omp end parallel
32+end
33diff --git a/gcc/testsuite/gfortran.dg/gomp/pr48794.f90 b/gcc/testsuite/gfortran.dg/gomp/pr48794.f90
34new file mode 100644
35index 0000000..11edb0b
36--- /dev/null
37+++ b/gcc/testsuite/gfortran.dg/gomp/pr48794.f90
38@@ -0,0 +1,12 @@
39+! PR tree-optimization/48794
40+! { dg-do compile }
41+! { dg-options "-Os -fopenmp -fexceptions -fno-tree-ccp -fno-tree-copy-prop" }
42+
43+ integer, allocatable :: a(:)
44+ logical :: l
45+ if (allocated (a)) call abort
46+!$omp parallel private (a) reduction (.or.:l)
47+ do i = 1, 7
48+ end do
49+!$omp end parallel
50+end
51diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
52index 0d6158b..19c779c 100644
53--- a/gcc/tree-eh.c
54+++ b/gcc/tree-eh.c
55@@ -3321,6 +3321,19 @@ remove_unreachable_handlers (void)
56 SET_BIT (r_reachable, region->index);
57 SET_BIT (lp_reachable, lp_nr);
58 }
59+
60+ /* Avoid removing regions referenced from RESX/EH_DISPATCH. */
61+ switch (gimple_code (stmt))
62+ {
63+ case GIMPLE_RESX:
64+ SET_BIT (r_reachable, gimple_resx_region (stmt));
65+ break;
66+ case GIMPLE_EH_DISPATCH:
67+ SET_BIT (r_reachable, gimple_eh_dispatch_region (stmt));
68+ break;
69+ default:
70+ break;
71+ }
72 }
73 }
74
75--
761.7.0.4
77
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0245-Backported-from-mainline.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0245-Backported-from-mainline.patch
new file mode 100644
index 0000000000..8dad95bd99
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0245-Backported-from-mainline.patch
@@ -0,0 +1,73 @@
1From 694cb3e1aa0163eba6e8130a5351ba66a0858207 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 10 May 2011 08:45:00 +0000
4Subject: [PATCH] Backported from mainline
5 2011-05-07 Zdenek Dvorak <ook@ucw.cz>
6
7 PR tree-optimization/48837
8 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
9 when accumulator transformation is performed.
10
11 * gcc.dg/pr48837.c: New testcase.
12
13
14git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173609 138bc75d-0d04-0410-961f-82ee72b054a4
15
16index 99b02c2..83f2ff1 100644
17new file mode 100644
18index 0000000..ffc65b9
19--- /dev/null
20+++ b/gcc/testsuite/gcc.dg/pr48837.c
21@@ -0,0 +1,30 @@
22+/* PR tree-optimization/48837 */
23+/* { dg-do run } */
24+/* { dg-options "-O2" } */
25+
26+void abort (void);
27+
28+__attribute__((noinline))
29+int baz(void)
30+{
31+ return 1;
32+}
33+
34+inline const int *bar(const int *a, const int *b)
35+{
36+ return *a ? a : b;
37+}
38+
39+int foo(int a, int b)
40+{
41+ return a || b ? baz() : foo(*bar(&a, &b), 1) + foo(1, 0);
42+}
43+
44+int main(void)
45+{
46+ if (foo(0, 0) != 2)
47+ abort();
48+
49+ return 0;
50+}
51+
52diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
53index 85aa82b..e50ecc2 100644
54--- a/gcc/tree-tailcall.c
55+++ b/gcc/tree-tailcall.c
56@@ -1019,6 +1019,14 @@ tree_optimize_tail_calls_1 (bool opt_tailcalls)
57 integer_one_node);
58 }
59
60+ if (a_acc || m_acc)
61+ {
62+ /* When the tail call elimination using accumulators is performed,
63+ statements adding the accumulated value are inserted at all exits.
64+ This turns all other tail calls to non-tail ones. */
65+ opt_tailcalls = false;
66+ }
67+
68 for (; tailcalls; tailcalls = next)
69 {
70 next = tailcalls->next;
71--
721.7.0.4
73
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0246-config-rx-rx.h-JUMP_ALIGN-LABEL_ALIGN-LOOP_ALIGN-Def.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0246-config-rx-rx.h-JUMP_ALIGN-LABEL_ALIGN-LOOP_ALIGN-Def.patch
new file mode 100644
index 0000000000..b5a0eabef2
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0246-config-rx-rx.h-JUMP_ALIGN-LABEL_ALIGN-LOOP_ALIGN-Def.patch
@@ -0,0 +1,76 @@
1From 37b0c0c107be5a66e933f54befeb9eb22e4d072b Mon Sep 17 00:00:00 2001
2From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 10 May 2011 10:34:44 +0000
4Subject: [PATCH] * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
5 (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
6 * config/rx/rx.c (rx_align_for_label): Add label and
7 uses_threshold parameters. Do not align when the label is not
8 used enough.
9 * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173613 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index e1ab9c2..8c8862e 100644
14--- a/gcc/config/rx/rx-protos.h
15+++ b/gcc/config/rx/rx-protos.h
16@@ -30,7 +30,7 @@ extern void rx_expand_prologue (void);
17 extern int rx_initial_elimination_offset (int, int);
18
19 #ifdef RTX_CODE
20-extern int rx_align_for_label (void);
21+extern int rx_align_for_label (rtx, int);
22 extern void rx_emit_stack_popm (rtx *, bool);
23 extern void rx_emit_stack_pushm (rtx *);
24 extern void rx_expand_epilogue (bool);
25@@ -38,7 +38,7 @@ extern char * rx_gen_move_template (rtx *, bool);
26 extern bool rx_is_legitimate_constant (rtx);
27 extern bool rx_is_restricted_memory_address (rtx, Mmode);
28 extern bool rx_match_ccmode (rtx, Mmode);
29-extern void rx_notice_update_cc (rtx body, rtx insn);
30+extern void rx_notice_update_cc (rtx, rtx);
31 extern void rx_split_cbranch (Mmode, Rcode, rtx, rtx, rtx);
32 extern Mmode rx_select_cc_mode (Rcode, rtx, rtx);
33 #endif
34diff --git a/gcc/config/rx/rx.c b/gcc/config/rx/rx.c
35index ad8d0bb..f56e779 100644
36--- a/gcc/config/rx/rx.c
37+++ b/gcc/config/rx/rx.c
38@@ -2752,8 +2752,15 @@ rx_match_ccmode (rtx insn, enum machine_mode cc_mode)
39
40
41 int
42-rx_align_for_label (void)
43+rx_align_for_label (rtx lab, int uses_threshold)
44 {
45+ /* This is a simple heuristic to guess when an alignment would not be useful
46+ because the delay due to the inserted NOPs would be greater than the delay
47+ due to the misaligned branch. If uses_threshold is zero then the alignment
48+ is always useful. */
49+ if (LABEL_NUSES (lab) < uses_threshold)
50+ return 0;
51+
52 return optimize_size ? 1 : 3;
53 }
54
55diff --git a/gcc/config/rx/rx.h b/gcc/config/rx/rx.h
56index 01fc23b..4a88a5b 100644
57--- a/gcc/config/rx/rx.h
58+++ b/gcc/config/rx/rx.h
59@@ -617,7 +617,13 @@ typedef unsigned int CUMULATIVE_ARGS;
60
61 #define SELECT_CC_MODE(OP,X,Y) rx_select_cc_mode((OP), (X), (Y))
62
63-#define LABEL_ALIGN_AFTER_BARRIER(x) rx_align_for_label ()
64+/* Compute the alignment needed for label X in various situations.
65+ If the user has specified an alignment then honour that, otherwise
66+ use rx_align_for_label. */
67+#define JUMP_ALIGN(x) (align_jumps ? align_jumps : rx_align_for_label (x, 0))
68+#define LABEL_ALIGN(x) (align_labels ? align_labels : rx_align_for_label (x, 3))
69+#define LOOP_ALIGN(x) (align_loops ? align_loops : rx_align_for_label (x, 2))
70+#define LABEL_ALIGN_AFTER_BARRIER(x) rx_align_for_label (x, 0)
71
72 #define ASM_OUTPUT_MAX_SKIP_ALIGN(STREAM, LOG, MAX_SKIP) \
73 do \
74--
751.7.0.4
76
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0248-config-rx-rx.c-rx_memory_move_cost-Reduce-the-cost-f.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0248-config-rx-rx.c-rx_memory_move_cost-Reduce-the-cost-f.patch
new file mode 100644
index 0000000000..b8358eaf44
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0248-config-rx-rx.c-rx_memory_move_cost-Reduce-the-cost-f.patch
@@ -0,0 +1,23 @@
1From 072020dc11d2dc8871ea399055d1a5490b736550 Mon Sep 17 00:00:00 2001
2From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 10 May 2011 11:24:14 +0000
4Subject: [PATCH] * config/rx/rx.c (rx_memory_move_cost): Reduce the cost for
5 stores.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173616 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index f56e779..6fd1153 100644
10--- a/gcc/config/rx/rx.c
11+++ b/gcc/config/rx/rx.c
12@@ -2595,7 +2595,7 @@ rx_trampoline_init (rtx tramp, tree fndecl, rtx chain)
13 static int
14 rx_memory_move_cost (enum machine_mode mode, reg_class_t regclass, bool in)
15 {
16- return 2 + memory_move_secondary_cost (mode, regclass, in);
17+ return (in ? 2:0) + memory_move_secondary_cost (mode, regclass, in);
18 }
19
20 /* Convert a CC_MODE to the set of flags that it represents. */
21--
221.7.0.4
23
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0249-Fix-PRs-48857-48495.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0249-Fix-PRs-48857-48495.patch
new file mode 100644
index 0000000000..3ce403368d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0249-Fix-PRs-48857-48495.patch
@@ -0,0 +1,216 @@
1From b23f5c480c106bc2d61b85263db9cb51d321dbc8 Mon Sep 17 00:00:00 2001
2From: meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 10 May 2011 19:59:20 +0000
4Subject: [PATCH] Fix PRs 48857, 48495
5
6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173634 138bc75d-0d04-0410-961f-82ee72b054a4
7
8index 5019347..898a87b 100644
9--- a/gcc/config/rs6000/rs6000.c
10+++ b/gcc/config/rs6000/rs6000.c
11@@ -7891,7 +7891,7 @@ rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode)
12
13 /* Nonzero if we can use an AltiVec register to pass this arg. */
14 #define USE_ALTIVEC_FOR_ARG_P(CUM,MODE,TYPE,NAMED) \
15- ((ALTIVEC_VECTOR_MODE (MODE) || VSX_VECTOR_MODE (MODE)) \
16+ (ALTIVEC_OR_VSX_VECTOR_MODE (MODE) \
17 && (CUM)->vregno <= ALTIVEC_ARG_MAX_REG \
18 && TARGET_ALTIVEC_ABI \
19 && (NAMED))
20@@ -8091,8 +8091,7 @@ init_cumulative_args (CUMULATIVE_ARGS *cum, tree fntype,
21 }
22 if (SCALAR_FLOAT_MODE_P (return_mode))
23 rs6000_passes_float = true;
24- else if (ALTIVEC_VECTOR_MODE (return_mode)
25- || VSX_VECTOR_MODE (return_mode)
26+ else if (ALTIVEC_OR_VSX_VECTOR_MODE (return_mode)
27 || SPE_VECTOR_MODE (return_mode))
28 rs6000_passes_vector = true;
29 }
30@@ -8190,7 +8189,7 @@ function_arg_padding (enum machine_mode mode, const_tree type)
31 existing library interfaces.
32
33 Doubleword align SPE vectors.
34- Quadword align Altivec vectors.
35+ Quadword align Altivec/VSX vectors.
36 Quadword align large synthetic vector types. */
37
38 static unsigned int
39@@ -8207,7 +8206,7 @@ rs6000_function_arg_boundary (enum machine_mode mode, const_tree type)
40 && int_size_in_bytes (type) >= 8
41 && int_size_in_bytes (type) < 16))
42 return 64;
43- else if ((ALTIVEC_VECTOR_MODE (mode) || VSX_VECTOR_MODE (mode))
44+ else if (ALTIVEC_OR_VSX_VECTOR_MODE (mode)
45 || (type && TREE_CODE (type) == VECTOR_TYPE
46 && int_size_in_bytes (type) >= 16))
47 return 128;
48@@ -8427,7 +8426,7 @@ rs6000_function_arg_advance_1 (CUMULATIVE_ARGS *cum, enum machine_mode mode,
49 {
50 if (SCALAR_FLOAT_MODE_P (mode))
51 rs6000_passes_float = true;
52- else if (named && (ALTIVEC_VECTOR_MODE (mode) || VSX_VECTOR_MODE (mode)))
53+ else if (named && ALTIVEC_OR_VSX_VECTOR_MODE (mode))
54 rs6000_passes_vector = true;
55 else if (SPE_VECTOR_MODE (mode)
56 && !cum->stdarg
57@@ -8437,8 +8436,7 @@ rs6000_function_arg_advance_1 (CUMULATIVE_ARGS *cum, enum machine_mode mode,
58 #endif
59
60 if (TARGET_ALTIVEC_ABI
61- && (ALTIVEC_VECTOR_MODE (mode)
62- || VSX_VECTOR_MODE (mode)
63+ && (ALTIVEC_OR_VSX_VECTOR_MODE (mode)
64 || (type && TREE_CODE (type) == VECTOR_TYPE
65 && int_size_in_bytes (type) == 16)))
66 {
67@@ -9056,8 +9054,7 @@ rs6000_function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode,
68 else
69 return gen_rtx_REG (mode, cum->vregno);
70 else if (TARGET_ALTIVEC_ABI
71- && (ALTIVEC_VECTOR_MODE (mode)
72- || VSX_VECTOR_MODE (mode)
73+ && (ALTIVEC_OR_VSX_VECTOR_MODE (mode)
74 || (type && TREE_CODE (type) == VECTOR_TYPE
75 && int_size_in_bytes (type) == 16)))
76 {
77@@ -19983,7 +19980,7 @@ emit_frame_save (rtx frame_reg, rtx frame_ptr, enum machine_mode mode,
78
79 /* Some cases that need register indexed addressing. */
80 if ((TARGET_ALTIVEC_ABI && ALTIVEC_VECTOR_MODE (mode))
81- || (TARGET_VSX && VSX_VECTOR_MODE (mode))
82+ || (TARGET_VSX && ALTIVEC_OR_VSX_VECTOR_MODE (mode))
83 || (TARGET_E500_DOUBLE && mode == DFmode)
84 || (TARGET_SPE_ABI
85 && SPE_VECTOR_MODE (mode)
86@@ -27266,13 +27263,12 @@ rs6000_function_value (const_tree valtype,
87 else if (TREE_CODE (valtype) == COMPLEX_TYPE
88 && targetm.calls.split_complex_arg)
89 return rs6000_complex_function_value (mode);
90+ /* VSX is a superset of Altivec and adds V2DImode/V2DFmode. Since the same
91+ return register is used in both cases, and we won't see V2DImode/V2DFmode
92+ for pure altivec, combine the two cases. */
93 else if (TREE_CODE (valtype) == VECTOR_TYPE
94 && TARGET_ALTIVEC && TARGET_ALTIVEC_ABI
95- && ALTIVEC_VECTOR_MODE (mode))
96- regno = ALTIVEC_ARG_RETURN;
97- else if (TREE_CODE (valtype) == VECTOR_TYPE
98- && TARGET_VSX && TARGET_ALTIVEC_ABI
99- && VSX_VECTOR_MODE (mode))
100+ && ALTIVEC_OR_VSX_VECTOR_MODE (mode))
101 regno = ALTIVEC_ARG_RETURN;
102 else if (TARGET_E500_DOUBLE && TARGET_HARD_FLOAT
103 && (mode == DFmode || mode == DCmode
104@@ -27312,12 +27308,12 @@ rs6000_libcall_value (enum machine_mode mode)
105 && TARGET_HARD_FLOAT && TARGET_FPRS
106 && ((TARGET_SINGLE_FLOAT && mode == SFmode) || TARGET_DOUBLE_FLOAT))
107 regno = FP_ARG_RETURN;
108- else if (ALTIVEC_VECTOR_MODE (mode)
109+ /* VSX is a superset of Altivec and adds V2DImode/V2DFmode. Since the same
110+ return register is used in both cases, and we won't see V2DImode/V2DFmode
111+ for pure altivec, combine the two cases. */
112+ else if (ALTIVEC_OR_VSX_VECTOR_MODE (mode)
113 && TARGET_ALTIVEC && TARGET_ALTIVEC_ABI)
114 regno = ALTIVEC_ARG_RETURN;
115- else if (VSX_VECTOR_MODE (mode)
116- && TARGET_VSX && TARGET_ALTIVEC_ABI)
117- regno = ALTIVEC_ARG_RETURN;
118 else if (COMPLEX_MODE_P (mode) && targetm.calls.split_complex_arg)
119 return rs6000_complex_function_value (mode);
120 else if (TARGET_E500_DOUBLE && TARGET_HARD_FLOAT
121diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
122index 4913456..72b47ec 100644
123--- a/gcc/config/rs6000/rs6000.h
124+++ b/gcc/config/rs6000/rs6000.h
125@@ -1007,10 +1007,9 @@ extern unsigned rs6000_pointer_size;
126
127 /* When setting up caller-save slots (MODE == VOIDmode) ensure we allocate
128 enough space to account for vectors in FP regs. */
129-#define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \
130- (TARGET_VSX \
131- && ((MODE) == VOIDmode || VSX_VECTOR_MODE (MODE) \
132- || ALTIVEC_VECTOR_MODE (MODE)) \
133+#define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \
134+ (TARGET_VSX \
135+ && ((MODE) == VOIDmode || ALTIVEC_OR_VSX_VECTOR_MODE (MODE)) \
136 && FP_REGNO_P (REGNO) \
137 ? V2DFmode \
138 : choose_hard_reg_mode ((REGNO), (NREGS), false))
139@@ -1026,25 +1025,16 @@ extern unsigned rs6000_pointer_size;
140 ((MODE) == V4SFmode \
141 || (MODE) == V2DFmode) \
142
143-#define VSX_SCALAR_MODE(MODE) \
144- ((MODE) == DFmode)
145-
146-#define VSX_MODE(MODE) \
147- (VSX_VECTOR_MODE (MODE) \
148- || VSX_SCALAR_MODE (MODE))
149-
150-#define VSX_MOVE_MODE(MODE) \
151- (VSX_VECTOR_MODE (MODE) \
152- || VSX_SCALAR_MODE (MODE) \
153- || ALTIVEC_VECTOR_MODE (MODE) \
154- || (MODE) == TImode)
155-
156 #define ALTIVEC_VECTOR_MODE(MODE) \
157 ((MODE) == V16QImode \
158 || (MODE) == V8HImode \
159 || (MODE) == V4SFmode \
160 || (MODE) == V4SImode)
161
162+#define ALTIVEC_OR_VSX_VECTOR_MODE(MODE) \
163+ (ALTIVEC_VECTOR_MODE (MODE) || VSX_VECTOR_MODE (MODE) \
164+ || (MODE) == V2DImode)
165+
166 #define SPE_VECTOR_MODE(MODE) \
167 ((MODE) == V4HImode \
168 || (MODE) == V2SFmode \
169@@ -1080,10 +1070,10 @@ extern unsigned rs6000_pointer_size;
170 ? ALTIVEC_VECTOR_MODE (MODE2) \
171 : ALTIVEC_VECTOR_MODE (MODE2) \
172 ? ALTIVEC_VECTOR_MODE (MODE1) \
173- : VSX_VECTOR_MODE (MODE1) \
174- ? VSX_VECTOR_MODE (MODE2) \
175- : VSX_VECTOR_MODE (MODE2) \
176- ? VSX_VECTOR_MODE (MODE1) \
177+ : ALTIVEC_OR_VSX_VECTOR_MODE (MODE1) \
178+ ? ALTIVEC_OR_VSX_VECTOR_MODE (MODE2) \
179+ : ALTIVEC_OR_VSX_VECTOR_MODE (MODE2) \
180+ ? ALTIVEC_OR_VSX_VECTOR_MODE (MODE1) \
181 : 1)
182
183 /* Post-reload, we can't use any new AltiVec registers, as we already
184new file mode 100644
185index 0000000..e8201c0
186--- /dev/null
187+++ b/gcc/testsuite/gcc.target/powerpc/pr48857.c
188@@ -0,0 +1,25 @@
189+/* { dg-do compile { target { powerpc*-*-* } } } */
190+/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
191+/* { dg-require-effective-target powerpc_vsx_ok } */
192+/* { dg-options "-O2 -mcpu=power7 -mabi=altivec" } */
193+/* { dg-final { scan-assembler-times "lxvd2x" 1 } } */
194+/* { dg-final { scan-assembler-times "stxvd2x" 1 } } */
195+/* { dg-final { scan-assembler-not "ld" } } */
196+/* { dg-final { scan-assembler-not "lwz" } } */
197+/* { dg-final { scan-assembler-not "stw" } } */
198+/* { dg-final { scan-assembler-not "addi" } } */
199+
200+typedef vector long long v2di_type;
201+
202+v2di_type
203+return_v2di (v2di_type *ptr)
204+{
205+ return *ptr; /* should generate lxvd2x 34,0,3. */
206+}
207+
208+void
209+pass_v2di (v2di_type arg, v2di_type *ptr)
210+{
211+ *ptr = arg; /* should generate stxvd2x 34,0,{3,5}. */
212+}
213+
214--
2151.7.0.4
216
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0251-gcc-cp-ChangeLog.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0251-gcc-cp-ChangeLog.patch
new file mode 100644
index 0000000000..8a3b1d3128
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0251-gcc-cp-ChangeLog.patch
@@ -0,0 +1,55 @@
1From c58e945d1146bbe7778e5acc3d6079581cbcdc4b Mon Sep 17 00:00:00 2001
2From: fabien <fabien@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 11 May 2011 06:03:38 +0000
4Subject: [PATCH] gcc/cp/ChangeLog:
5
62011-05-11 Fabien Chene <fabien@gcc.gnu.org>
7 PR c++/48859
8 * init.c (diagnose_uninitialized_cst_or_ref_member_1): stop the
9 recursion if there is user defined constructor.
10
11gcc/testsuite/ChangeLog:
12
132011-05-11 Fabien Chene <fabien@gcc.gnu.org>
14 PR c++/48859
15 * g++.dg/init/pr48859.C: New.
16
17
18
19git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173644 138bc75d-0d04-0410-961f-82ee72b054a4
20
21index ff94b71..286bfb6 100644
22--- a/gcc/cp/init.c
23+++ b/gcc/cp/init.c
24@@ -1904,6 +1904,9 @@ diagnose_uninitialized_cst_or_ref_member_1 (tree type, tree origin,
25
26 field_type = strip_array_types (TREE_TYPE (field));
27
28+ if (type_has_user_provided_constructor (field_type))
29+ continue;
30+
31 if (TREE_CODE (field_type) == REFERENCE_TYPE)
32 {
33 ++ error_count;
34new file mode 100644
35index 0000000..8ef5c2e
36--- /dev/null
37+++ b/gcc/testsuite/g++.dg/init/pr48859.C
38@@ -0,0 +1,14 @@
39+// PR c++/48859
40+// { dg-do compile }
41+
42+struct HasConstructor {
43+ HasConstructor() {}
44+};
45+
46+class ConstMember {
47+ const HasConstructor empty_;
48+};
49+
50+void foo() {
51+ new ConstMember;
52+}
53--
541.7.0.4
55
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0252-PR-debug-48159.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0252-PR-debug-48159.patch
new file mode 100644
index 0000000000..814028e1b1
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0252-PR-debug-48159.patch
@@ -0,0 +1,198 @@
1From 36c5622ac8aca9636fb541d3689b9dd3ca9e0c27 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 11 May 2011 13:07:54 +0000
4Subject: [PATCH] PR debug/48159
5 * tree-ssa.c (reset_debug_uses): New function.
6 * tree-flow.h (reset_debug_uses): New prototype.
7 * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
8 * tree-loop-distribution.c (generate_loops_for_partition): Call
9 reset_debug_uses on the stmts that will be removed. Keep around
10 all debug stmts, don't count them as bits in partition bitmap.
11 (generate_builtin): Don't count debug stmts or labels as bits in
12 partition bitmap.
13
14 * gcc.dg/pr48159-1.c: New test.
15 * gcc.dg/pr48159-2.c: New test.
16
17
18git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173657 138bc75d-0d04-0410-961f-82ee72b054a4
19
20index 3b64229..209b80b 100644
21new file mode 100644
22index 0000000..cd67e63
23--- /dev/null
24+++ b/gcc/testsuite/gcc.dg/pr48159-1.c
25@@ -0,0 +1,10 @@
26+/* PR debug/48159 */
27+/* { dg-do compile } */
28+/* { dg-options "-O3 -fcompare-debug" } */
29+
30+void
31+foo (double x, int y, double *__restrict z, double *__restrict w)
32+{
33+ while (y--)
34+ *z++ = (*w++ = 0) * x;
35+}
36diff --git a/gcc/testsuite/gcc.dg/pr48159-2.c b/gcc/testsuite/gcc.dg/pr48159-2.c
37new file mode 100644
38index 0000000..25596bf
39--- /dev/null
40+++ b/gcc/testsuite/gcc.dg/pr48159-2.c
41@@ -0,0 +1,22 @@
42+/* PR debug/48159 */
43+/* { dg-do compile } */
44+/* { dg-options "-O2 -ftree-loop-distribution -fcompare-debug" } */
45+
46+int foo (int * __restrict__ ia, int * __restrict__ ib,
47+ int * __restrict__ oxa, int * __restrict__ oxb)
48+{
49+ int i;
50+ int oya[52], oyb[52];
51+ for (i = 0; i < 52; i++)
52+ {
53+ int w1 = ia[i];
54+ int w2 = oxa[i];
55+ int w3 = ib[i];
56+ int w4 = oxb[i];
57+ int w5 = w1 + w2 + 5;
58+ oya[i] = (w1 * w2) >> 10;
59+ int w6 = w3 + w4 + 6;
60+ oyb[i] = (w3 * w4) >> 10;
61+ }
62+ return oya[22] + oyb[21];
63+}
64diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
65index 54cb46c..39eab47 100644
66--- a/gcc/tree-data-ref.c
67+++ b/gcc/tree-data-ref.c
68@@ -1,5 +1,5 @@
69 /* Data references and dependences detectors.
70- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
71+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
72 Free Software Foundation, Inc.
73 Contributed by Sebastian Pop <pop@cri.ensmp.fr>
74
75@@ -4975,7 +4975,7 @@ stmts_from_loop (struct loop *loop, VEC (gimple, heap) **stmts)
76 for (bsi = gsi_start_bb (bb); !gsi_end_p (bsi); gsi_next (&bsi))
77 {
78 stmt = gsi_stmt (bsi);
79- if (gimple_code (stmt) != GIMPLE_LABEL)
80+ if (gimple_code (stmt) != GIMPLE_LABEL && !is_gimple_debug (stmt))
81 VEC_safe_push (gimple, heap, *stmts, stmt);
82 }
83 }
84diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h
85index 14c8827..0777aec 100644
86--- a/gcc/tree-flow.h
87+++ b/gcc/tree-flow.h
88@@ -559,6 +559,7 @@ extern void walk_use_def_chains (tree, walk_use_def_chains_fn, void *, bool);
89
90 void insert_debug_temps_for_defs (gimple_stmt_iterator *);
91 void insert_debug_temp_for_var_def (gimple_stmt_iterator *, tree);
92+void reset_debug_uses (gimple);
93 void release_defs_bitset (bitmap toremove);
94
95 /* In tree-into-ssa.c */
96diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
97index 5b147e3..1d6944e 100644
98--- a/gcc/tree-loop-distribution.c
99+++ b/gcc/tree-loop-distribution.c
100@@ -1,5 +1,5 @@
101 /* Loop distribution.
102- Copyright (C) 2006, 2007, 2008, 2009, 2010
103+ Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
104 Free Software Foundation, Inc.
105 Contributed by Georges-Andre Silber <Georges-Andre.Silber@ensmp.fr>
106 and Sebastian Pop <sebastian.pop@amd.com>.
107@@ -181,6 +181,25 @@ generate_loops_for_partition (struct loop *loop, bitmap partition, bool copy_p)
108 stmts_from_loop. */
109 bbs = get_loop_body_in_dom_order (loop);
110
111+ if (MAY_HAVE_DEBUG_STMTS)
112+ for (x = 0, i = 0; i < loop->num_nodes; i++)
113+ {
114+ basic_block bb = bbs[i];
115+
116+ for (bsi = gsi_start_phis (bb); !gsi_end_p (bsi); gsi_next (&bsi))
117+ if (!bitmap_bit_p (partition, x++))
118+ reset_debug_uses (gsi_stmt (bsi));
119+
120+ for (bsi = gsi_start_bb (bb); !gsi_end_p (bsi); gsi_next (&bsi))
121+ {
122+ gimple stmt = gsi_stmt (bsi);
123+ if (gimple_code (stmt) != GIMPLE_LABEL
124+ && !is_gimple_debug (stmt)
125+ && !bitmap_bit_p (partition, x++))
126+ reset_debug_uses (stmt);
127+ }
128+ }
129+
130 for (x = 0, i = 0; i < loop->num_nodes; i++)
131 {
132 basic_block bb = bbs[i];
133@@ -199,7 +218,8 @@ generate_loops_for_partition (struct loop *loop, bitmap partition, bool copy_p)
134 for (bsi = gsi_start_bb (bb); !gsi_end_p (bsi);)
135 {
136 gimple stmt = gsi_stmt (bsi);
137- if (gimple_code (gsi_stmt (bsi)) != GIMPLE_LABEL
138+ if (gimple_code (stmt) != GIMPLE_LABEL
139+ && !is_gimple_debug (stmt)
140 && !bitmap_bit_p (partition, x++))
141 {
142 unlink_stmt_vdef (stmt);
143@@ -312,7 +332,9 @@ generate_builtin (struct loop *loop, bitmap partition, bool copy_p)
144 {
145 gimple stmt = gsi_stmt (bsi);
146
147- if (bitmap_bit_p (partition, x++)
148+ if (gimple_code (stmt) != GIMPLE_LABEL
149+ && !is_gimple_debug (stmt)
150+ && bitmap_bit_p (partition, x++)
151 && is_gimple_assign (stmt)
152 && !is_gimple_reg (gimple_assign_lhs (stmt)))
153 {
154diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
155index da6cc9b..0455680 100644
156--- a/gcc/tree-ssa.c
157+++ b/gcc/tree-ssa.c
158@@ -507,6 +507,37 @@ insert_debug_temps_for_defs (gimple_stmt_iterator *gsi)
159 }
160 }
161
162+/* Reset all debug stmts that use SSA_NAME(s) defined in STMT. */
163+
164+void
165+reset_debug_uses (gimple stmt)
166+{
167+ ssa_op_iter op_iter;
168+ def_operand_p def_p;
169+ imm_use_iterator imm_iter;
170+ gimple use_stmt;
171+
172+ if (!MAY_HAVE_DEBUG_STMTS)
173+ return;
174+
175+ FOR_EACH_PHI_OR_STMT_DEF (def_p, stmt, op_iter, SSA_OP_DEF)
176+ {
177+ tree var = DEF_FROM_PTR (def_p);
178+
179+ if (TREE_CODE (var) != SSA_NAME)
180+ continue;
181+
182+ FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, var)
183+ {
184+ if (!gimple_debug_bind_p (use_stmt))
185+ continue;
186+
187+ gimple_debug_bind_reset_value (use_stmt);
188+ update_stmt (use_stmt);
189+ }
190+ }
191+}
192+
193 /* Delete SSA DEFs for SSA versions in the TOREMOVE bitmap, removing
194 dominated stmts before their dominators, so that release_ssa_defs
195 stands a chance of propagating DEFs into debug bind stmts. */
196--
1971.7.0.4
198
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0253-2011-05-11-Tobias-Burnus-burnus-net-b.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0253-2011-05-11-Tobias-Burnus-burnus-net-b.de.patch
new file mode 100644
index 0000000000..e5ab1d41ef
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0253-2011-05-11-Tobias-Burnus-burnus-net-b.de.patch
@@ -0,0 +1,159 @@
1From 48167dc2032887845cf3ca5570c783bb38e3b930 Mon Sep 17 00:00:00 2001
2From: burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 11 May 2011 20:31:14 +0000
4Subject: [PATCH] 2011-05-11 Tobias Burnus <burnus@net-b.de>
5
6 PR fortran/48889
7 * expr.c (gfc_is_constant_expr): Use e->value.function.esym
8 instead of e->symtree->n.sym, if available.
9
102011-05-11 Tobias Burnus <burnus@net-b.de>
11
12 PR fortran/48889
13 * gfortran.dg/generic_24.f90: New.
14
15
16
17git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173675 138bc75d-0d04-0410-961f-82ee72b054a4
18
19index cfa1d57..76272c4 100644
20--- a/gcc/fortran/expr.c
21+++ b/gcc/fortran/expr.c
22@@ -894,6 +894,9 @@ gfc_is_constant_expr (gfc_expr *e)
23 case EXPR_FUNCTION:
24 case EXPR_PPC:
25 case EXPR_COMPCALL:
26+ gcc_assert (e->symtree || e->value.function.esym
27+ || e->value.function.isym);
28+
29 /* Call to intrinsic with at least one argument. */
30 if (e->value.function.isym && e->value.function.actual)
31 {
32@@ -902,13 +905,14 @@ gfc_is_constant_expr (gfc_expr *e)
33 return 0;
34 }
35
36- /* Make sure we have a symbol. */
37- gcc_assert (e->symtree);
38-
39- sym = e->symtree->n.sym;
40-
41 /* Specification functions are constant. */
42 /* F95, 7.1.6.2; F2003, 7.1.7 */
43+ sym = NULL;
44+ if (e->symtree)
45+ sym = e->symtree->n.sym;
46+ if (e->value.function.esym)
47+ sym = e->value.function.esym;
48+
49 if (sym
50 && sym->attr.function
51 && sym->attr.pure
52new file mode 100644
53index 0000000..2388722
54--- /dev/null
55+++ b/gcc/testsuite/gfortran.dg/generic_24.f90
56@@ -0,0 +1,100 @@
57+! { dg-do compile }
58+!
59+! PR fortran/48889
60+!
61+! Thanks for
62+! reporting to Lawrence Mitchell
63+! for the test case to David Ham
64+!
65+module sparse_tools
66+ implicit none
67+ private
68+
69+ type csr_foo
70+ integer, dimension(:), pointer :: colm=>null()
71+ end type csr_foo
72+
73+ type block_csr_matrix
74+ type(csr_foo) :: sparsity
75+ end type block_csr_matrix
76+
77+ interface attach_block
78+ module procedure block_csr_attach_block
79+ end interface
80+
81+ interface size
82+ module procedure sparsity_size
83+ end interface
84+
85+ public :: size, attach_block
86+contains
87+ subroutine block_csr_attach_block(matrix, val)
88+ type(block_csr_matrix), intent(inout) :: matrix
89+ real, dimension(size(matrix%sparsity%colm)), intent(in), target :: val
90+ end subroutine block_csr_attach_block
91+
92+ pure function sparsity_size(sparsity, dim)
93+ integer :: sparsity_size
94+ type(csr_foo), intent(in) :: sparsity
95+ integer, optional, intent(in) :: dim
96+ end function sparsity_size
97+end module sparse_tools
98+
99+module global_numbering
100+ use sparse_tools
101+ implicit none
102+
103+ type ele_numbering_type
104+ integer :: boundaries
105+ end type ele_numbering_type
106+
107+ type element_type
108+ integer :: loc
109+ type(ele_numbering_type), pointer :: numbering=>null()
110+ end type element_type
111+
112+ type csr_sparsity
113+ end type csr_sparsity
114+
115+ interface size
116+ module procedure sparsity_size
117+ end interface size
118+contains
119+ pure function sparsity_size(sparsity, dim)
120+ integer :: sparsity_size
121+ type(csr_sparsity), intent(in) :: sparsity
122+ integer, optional, intent(in) :: dim
123+ end function sparsity_size
124+
125+ subroutine make_boundary_numbering(EEList, xndglno, ele_n)
126+ type(csr_sparsity), intent(in) :: EEList
127+ type(element_type), intent(in) :: ele_n
128+ integer, dimension(size(EEList,1)*ele_n%loc), intent(in), target ::&
129+ & xndglno
130+ integer, dimension(ele_n%numbering%boundaries) :: neigh
131+ integer :: j
132+ j=size(neigh)
133+ end subroutine make_boundary_numbering
134+end module global_numbering
135+
136+module sparse_matrices_fields
137+ use sparse_tools
138+implicit none
139+ type scalar_field
140+ real, dimension(:), pointer :: val
141+ end type scalar_field
142+contains
143+ subroutine csr_mult_T_scalar(x)
144+ type(scalar_field), intent(inout) :: x
145+ real, dimension(:), allocatable :: tmp
146+ integer :: i
147+ i=size(x%val)
148+ end subroutine csr_mult_T_scalar
149+end module sparse_matrices_fields
150+
151+program test
152+ use sparse_matrices_fields
153+ use global_numbering
154+end program test
155+
156+! { dg-final { cleanup-modules "sparse_tools sparse_matrices_fields global_numbering" } }
157--
1581.7.0.4
159
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0255-pt.c-build_non_dependent_expr-Don-t-check-null_ptr_c.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0255-pt.c-build_non_dependent_expr-Don-t-check-null_ptr_c.patch
new file mode 100644
index 0000000000..c3feb01d41
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0255-pt.c-build_non_dependent_expr-Don-t-check-null_ptr_c.patch
@@ -0,0 +1,24 @@
1From da9199fc7cef9aa069eb18fe6e6437dfd11cee35 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 12 May 2011 01:44:03 +0000
4Subject: [PATCH] * pt.c (build_non_dependent_expr): Don't check null_ptr_cst_p.
5
6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173693 138bc75d-0d04-0410-961f-82ee72b054a4
7
8index fc5177d..e1ddf84 100644
9--- a/gcc/cp/pt.c
10+++ b/gcc/cp/pt.c
11@@ -18810,10 +18810,6 @@ build_non_dependent_expr (tree expr)
12 {
13 tree inner_expr;
14
15- /* Preserve null pointer constants so that the type of things like
16- "p == 0" where "p" is a pointer can be determined. */
17- if (null_ptr_cst_p (expr))
18- return expr;
19 /* Preserve OVERLOADs; the functions must be available to resolve
20 types. */
21 inner_expr = expr;
22--
231.7.0.4
24
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0256-config-rx-rx.h-HAVE_PRE_DECREMENT-Fix-typo.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0256-config-rx-rx.h-HAVE_PRE_DECREMENT-Fix-typo.patch
new file mode 100644
index 0000000000..175696e98e
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0256-config-rx-rx.h-HAVE_PRE_DECREMENT-Fix-typo.patch
@@ -0,0 +1,59 @@
1From 664634ca66bf069826734420f6324342bbb5e541 Mon Sep 17 00:00:00 2001
2From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 12 May 2011 09:44:14 +0000
4Subject: [PATCH] * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
5 * config/rx/rx.c (rx_is_legitimate_constant): Use gcc_unreachable
6 instead of abort.
7 (rx_align_for_label): Test label before extracting its number of
8 uses.
9 (rx_max_skip_for_label): Ignore debug insns.
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173694 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index 6fd1153..e0bd176 100644
14--- a/gcc/config/rx/rx.c
15+++ b/gcc/config/rx/rx.c
16@@ -2451,8 +2451,7 @@ rx_is_legitimate_constant (rtx x)
17
18 default:
19 /* FIXME: Can this ever happen ? */
20- abort ();
21- return false;
22+ gcc_unreachable ();
23 }
24 break;
25
26@@ -2758,7 +2757,7 @@ rx_align_for_label (rtx lab, int uses_threshold)
27 because the delay due to the inserted NOPs would be greater than the delay
28 due to the misaligned branch. If uses_threshold is zero then the alignment
29 is always useful. */
30- if (LABEL_NUSES (lab) < uses_threshold)
31+ if (LABEL_P (lab) && LABEL_NUSES (lab) < uses_threshold)
32 return 0;
33
34 return optimize_size ? 1 : 3;
35@@ -2775,7 +2774,7 @@ rx_max_skip_for_label (rtx lab)
36 op = lab;
37 do
38 {
39- op = next_nonnote_insn (op);
40+ op = next_nonnote_nondebug_insn (op);
41 }
42 while (op && (LABEL_P (op)
43 || (INSN_P (op) && GET_CODE (PATTERN (op)) == USE)));
44diff --git a/gcc/config/rx/rx.h b/gcc/config/rx/rx.h
45index 4a88a5b..89f2e2c 100644
46--- a/gcc/config/rx/rx.h
47+++ b/gcc/config/rx/rx.h
48@@ -155,7 +155,7 @@ extern enum rx_cpu_types rx_cpu_type;
49
50 #define LEGITIMATE_CONSTANT_P(X) rx_is_legitimate_constant (X)
51
52-#define HAVE_PRE_DECCREMENT 1
53+#define HAVE_PRE_DECREMENT 1
54 #define HAVE_POST_INCREMENT 1
55
56 #define MOVE_RATIO(SPEED) ((SPEED) ? 4 : 2)
57--
581.7.0.4
59
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0257-zh_CN.po-Update.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0257-zh_CN.po-Update.patch
new file mode 100644
index 0000000000..065fa23257
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0257-zh_CN.po-Update.patch
@@ -0,0 +1,37 @@
1From 24f82dcfdf83fe52c056a419f295c36546c10b48 Mon Sep 17 00:00:00 2001
2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 12 May 2011 11:02:35 +0000
4Subject: [PATCH] * zh_CN.po: Update.
5
6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173698 138bc75d-0d04-0410-961f-82ee72b054a4
7
8index 4eb610c..9073c49 100644
9--- a/libcpp/po/zh_CN.po
10+++ b/libcpp/po/zh_CN.po
11@@ -5,10 +5,10 @@
12 #
13 msgid ""
14 msgstr ""
15-"Project-Id-Version: cpplib 4.5.0\n"
16+"Project-Id-Version: cpplib 4.6.0\n"
17 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
18 "POT-Creation-Date: 2011-03-24 16:45+0000\n"
19-"PO-Revision-Date: 2010-04-19 14:55+0800\n"
20+"PO-Revision-Date: 2011-05-12 17:23+0800\n"
21 "Last-Translator: Meng Jie <zuxy.meng@gmail.com>\n"
22 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
23 "Language: zh_CN\n"
24@@ -483,9 +483,8 @@ msgid "use of C++0x long long integer constant"
25 msgstr "使用 C++0x long long 整数常量"
26
27 #: expr.c:434
28-#, fuzzy
29 msgid "use of C99 long long integer constant"
30-msgstr "使用 C++0x long long 整数常量"
31+msgstr "使用 C99 long long 整数常量"
32
33 #: expr.c:448
34 msgid "imaginary constants are a GCC extension"
35--
361.7.0.4
37
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0258-PR-debug-48967.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0258-PR-debug-48967.patch
new file mode 100644
index 0000000000..c926a5971b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0258-PR-debug-48967.patch
@@ -0,0 +1,134 @@
1From 5581111b5be72638aebb478c70c2bafc0abd04e2 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 12 May 2011 11:59:32 +0000
4Subject: [PATCH] PR debug/48967
5 * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
6 if validate_subreg fails.
7
8 * g++.dg/opt/pr48967.C: New test.
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173702 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index 5e328ff..be253f4 100644
14new file mode 100644
15index 0000000..db2ea54
16--- /dev/null
17+++ b/gcc/testsuite/g++.dg/opt/pr48967.C
18@@ -0,0 +1,98 @@
19+// PR debug/48967
20+// { dg-do compile }
21+// { dg-options "-g -O2" }
22+
23+template <typename> struct A;
24+template <typename T> struct A <T *>
25+{
26+ typedef T ref;
27+};
28+template <typename T, typename> struct B
29+{
30+ typedef A <T> t;
31+ typedef typename t::ref ref;
32+ ref operator * () { return ref (); }
33+};
34+template <typename T> struct I
35+{
36+ typedef T *cp;
37+ template <typename T1> struct J
38+ {
39+ typedef I <T1> other;
40+ };
41+};
42+template <typename T> struct S : public I <T>
43+{
44+};
45+template <typename T, typename _A> struct E
46+{
47+ typedef typename _A::template J <T>::other at;
48+};
49+template <typename T, typename _A = S <T> > struct D
50+{
51+ typedef E <T, _A> _Base;
52+ typedef typename _Base::at at;
53+ typedef typename at::cp cp;
54+ typedef B <cp, D> H;
55+};
56+template <class T> struct F
57+{
58+ T *operator -> () { return __null; }
59+};
60+template <typename T> long
61+lfloor (T x)
62+{
63+ return static_cast <long>(x) - (x && x != static_cast <long>(x));
64+}
65+template <typename T> long
66+lround (T x)
67+{
68+ return lfloor (x - 0.5) + 1;
69+}
70+class M;
71+template <typename> class P;
72+typedef P <M> Q;
73+template <typename> struct P
74+{
75+ float x ();
76+};
77+struct CV
78+{
79+ Q c;
80+};
81+struct C
82+{
83+ void foo (const CV &) const;
84+ class O;
85+ typedef D <F <O> > R;
86+ R n;
87+};
88+struct S3
89+{
90+ S3 (int, int);
91+};
92+struct S2
93+{
94+ S3 sx, sy;
95+ S2 (int x = 0, int y = 0, int s = 0, int t = 0) : sx (x, y), sy (s, t) {}
96+};
97+template <typename> struct N
98+{
99+ int bar ();
100+};
101+struct C::O
102+{
103+ N <float> o;
104+ void foo (CV r, int)
105+ {
106+ Q c = r.c;
107+ float t = 0.5 * (o.bar ());
108+ S2 (lround (c.x ()), t);
109+ }
110+};
111+void
112+C::foo (const CV &w) const
113+{
114+ R::H m;
115+ (*m)->foo (w, 8);
116+}
117diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
118index 548afbc..b7ba0b9 100644
119--- a/gcc/var-tracking.c
120+++ b/gcc/var-tracking.c
121@@ -739,6 +739,10 @@ use_narrower_mode_test (rtx *loc, void *data)
122 case REG:
123 if (cselib_lookup (*loc, GET_MODE (SUBREG_REG (subreg)), 0, VOIDmode))
124 return 1;
125+ if (!validate_subreg (GET_MODE (subreg), GET_MODE (*loc),
126+ *loc, subreg_lowpart_offset (GET_MODE (subreg),
127+ GET_MODE (*loc))))
128+ return 1;
129 return -1;
130 case PLUS:
131 case MINUS:
132--
1331.7.0.4
134
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0259-2011-05-12-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0259-2011-05-12-Richard-Guenther-rguenther-suse.de.patch
new file mode 100644
index 0000000000..4754ace97a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0259-2011-05-12-Richard-Guenther-rguenther-suse.de.patch
@@ -0,0 +1,100 @@
1From 32e55402bb0fc442831d775a516f2def4f948f93 Mon Sep 17 00:00:00 2001
2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 12 May 2011 14:08:00 +0000
4Subject: [PATCH] 2011-05-12 Richard Guenther <rguenther@suse.de>
5
6 Backport from mainline
7 2011-05-02 Richard Guenther <rguenther@suse.de>
8
9 PR tree-optimization/48822
10 * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
11 (process_scc): Indicate which iteration we start.
12
13 * gcc.dg/torture/pr48822.c: New testcase.
14
15
16git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173705 138bc75d-0d04-0410-961f-82ee72b054a4
17
18index be253f4..81b52db 100644
19new file mode 100644
20index 0000000..b619f36
21--- /dev/null
22+++ b/gcc/testsuite/gcc.dg/torture/pr48822.c
23@@ -0,0 +1,20 @@
24+/* { dg-do compile } */
25+
26+void foo (int *, int *);
27+int bar ()
28+{
29+ int a = 0;
30+ int b = 0;
31+ if (b != 0)
32+ {
33+ int ax = a;
34+ int bx = b;
35+ while (bx != 0)
36+ {
37+ int tem = ax % bx;
38+ ax = bx;
39+ bx = tem;
40+ }
41+ }
42+ foo (&a, &b);
43+}
44diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c
45index 9222cb5..eb88969 100644
46--- a/gcc/tree-ssa-sccvn.c
47+++ b/gcc/tree-ssa-sccvn.c
48@@ -2103,12 +2103,26 @@ print_scc (FILE *out, VEC (tree, heap) *scc)
49 static inline bool
50 set_ssa_val_to (tree from, tree to)
51 {
52- tree currval;
53+ tree currval = SSA_VAL (from);
54
55- if (from != to
56- && TREE_CODE (to) == SSA_NAME
57- && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (to))
58- to = from;
59+ if (from != to)
60+ {
61+ if (currval == from)
62+ {
63+ if (dump_file && (dump_flags & TDF_DETAILS))
64+ {
65+ fprintf (dump_file, "Not changing value number of ");
66+ print_generic_expr (dump_file, from, 0);
67+ fprintf (dump_file, " from VARYING to ");
68+ print_generic_expr (dump_file, to, 0);
69+ fprintf (dump_file, "\n");
70+ }
71+ return false;
72+ }
73+ else if (TREE_CODE (to) == SSA_NAME
74+ && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (to))
75+ to = from;
76+ }
77
78 /* The only thing we allow as value numbers are VN_TOP, ssa_names
79 and invariants. So assert that here. */
80@@ -2125,8 +2139,6 @@ set_ssa_val_to (tree from, tree to)
81 print_generic_expr (dump_file, to, 0);
82 }
83
84- currval = SSA_VAL (from);
85-
86 if (currval != to && !operand_equal_p (currval, to, OEP_PURE_SAME))
87 {
88 VN_INFO (from)->valnum = to;
89@@ -3124,6 +3136,8 @@ process_scc (VEC (tree, heap) *scc)
90 {
91 changed = false;
92 iterations++;
93+ if (dump_file && (dump_flags & TDF_DETAILS))
94+ fprintf (dump_file, "Starting iteration %d\n", iterations);
95 /* As we are value-numbering optimistically we have to
96 clear the expression tables and the simplified expressions
97 in each iteration until we converge. */
98--
991.7.0.4
100
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0260-PR-tree-optimization-48975.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0260-PR-tree-optimization-48975.patch
new file mode 100644
index 0000000000..15f98a3823
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0260-PR-tree-optimization-48975.patch
@@ -0,0 +1,61 @@
1From 29bc62bdd8a23a670e844de980879c53a7ab493b Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 12 May 2011 17:46:15 +0000
4Subject: [PATCH] PR tree-optimization/48975
5 * tree-if-conv.c (combine_blocks): Call free_bb_predicate
6 on all bbs here and free and clear ifc_bbs at the end.
7
8 * gcc.dg/pr48975.c: New test.
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173710 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index 81b52db..12ceb8e 100644
14new file mode 100644
15index 0000000..58658d8
16--- /dev/null
17+++ b/gcc/testsuite/gcc.dg/pr48975.c
18@@ -0,0 +1,18 @@
19+/* PR tree-optimization/48975 */
20+/* { dg-do compile } */
21+/* { dg-options "-O3 -ffast-math -fno-tree-slp-vectorize" } */
22+
23+static int
24+foo (int x)
25+{
26+ return (x > 0) ? 0 : x + 1;
27+}
28+
29+void
30+bar (unsigned int x)
31+{
32+ int l = 1;
33+lab:
34+ while (x)
35+ x = foo (x);
36+}
37diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
38index d70e232..a77186a 100644
39--- a/gcc/tree-if-conv.c
40+++ b/gcc/tree-if-conv.c
41@@ -1604,6 +1604,7 @@ combine_blocks (struct loop *loop)
42 for (i = 0; i < orig_loop_num_nodes; i++)
43 {
44 bb = ifc_bbs[i];
45+ free_bb_predicate (bb);
46 if (bb_with_exit_edge_p (loop, bb))
47 {
48 exit_bb = bb;
49@@ -1679,6 +1680,9 @@ combine_blocks (struct loop *loop)
50 && exit_bb != loop->header
51 && can_merge_blocks_p (loop->header, exit_bb))
52 merge_blocks (loop->header, exit_bb);
53+
54+ free (ifc_bbs);
55+ ifc_bbs = NULL;
56 }
57
58 /* If-convert LOOP when it is legal. For the moment this pass has no
59--
601.7.0.4
61
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0263-zh_CN.po-Update.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0263-zh_CN.po-Update.patch
new file mode 100644
index 0000000000..53041bf1b0
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0263-zh_CN.po-Update.patch
@@ -0,0 +1,5328 @@
1From aabf79e668fbe33df4b0370d0d675bfbafc4e2e1 Mon Sep 17 00:00:00 2001
2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sat, 14 May 2011 16:00:58 +0000
4Subject: [PATCH] * zh_CN.po: Update.
5
6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173759 138bc75d-0d04-0410-961f-82ee72b054a4
7
8index 34007b2..595043a 100644
9--- a/gcc/po/zh_CN.po
10+++ b/gcc/po/zh_CN.po
11@@ -5,10 +5,10 @@
12 #
13 msgid ""
14 msgstr ""
15-"Project-Id-Version: gcc 4.5.0\n"
16+"Project-Id-Version: gcc 4.6.0\n"
17 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
18 "POT-Creation-Date: 2011-03-24 16:45+0000\n"
19-"PO-Revision-Date: 2010-04-19 14:57+0800\n"
20+"PO-Revision-Date: 2011-05-14 20:50+0800\n"
21 "Last-Translator: Meng Jie <zuxy.meng@gmail.com>\n"
22 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
23 "Language: zh_CN\n"
24@@ -17,7 +17,7 @@ msgstr ""
25 "Content-Transfer-Encoding: 8bit\n"
26 "X-Poedit-Language: Chinese\n"
27 "X-Poedit-Country: CHINA\n"
28-"X-Poedit-Basepath: C:\\MSYS\\source\\gcc-4.5.0\\gcc\n"
29+"X-Poedit-Basepath: C:\\MSYS\\source\\gcc-4.6.0\\gcc\n"
30 "Plural-Forms: nplurals=1; plural=0;\n"
31
32 #: c-decl.c:4660 c-typeck.c:5851 toplev.c:1013 c-family/c-pretty-print.c:423
33@@ -112,9 +112,8 @@ msgid "expected %<while%>"
34 msgstr "需要 %<while%>"
35
36 #: c-parser.c:6076
37-#, fuzzy
38 msgid "expected %<.%>"
39-msgstr "需要%<;%>"
40+msgstr "需要%<.%>"
41
42 #: c-parser.c:6854 c-parser.c:6886 c-parser.c:7109 cp/parser.c:22319
43 #: cp/parser.c:22392
44@@ -128,9 +127,9 @@ msgid "expected %<>%>"
45 msgstr "需要 %<>%>"
46
47 #: c-parser.c:8836 cp/parser.c:20962
48-#, fuzzy, gcc-internal-format
49+#, gcc-internal-format
50 msgid "expected %<,%> or %<)%>"
51-msgstr "需要 %<,%> 或 % <)%>"
52+msgstr "需要 %<,%> 或 %<)%>"
53
54 #: c-parser.c:9266 c-parser.c:3841 cp/parser.c:20941
55 #, gcc-internal-format
56@@ -319,14 +318,14 @@ msgid "library lib%s not found"
57 msgstr "找不到库 lib%s"
58
59 #: diagnostic.c:136
60-#, fuzzy, c-format
61+#, c-format
62 msgid "%s: all warnings being treated as errors\n"
63-msgstr "所有的警告都当作是错误"
64+msgstr "%s:所有的警告都被当作是错误\n"
65
66 #: diagnostic.c:141
67-#, fuzzy, c-format
68+#, c-format
69 msgid "%s: some warnings being treated as errors\n"
70-msgstr "%s:警告:没有文件‘%s’的读权限\n"
71+msgstr "%s:有些警告被当作是错误\n"
72
73 #: diagnostic.c:219
74 #, c-format
75@@ -334,9 +333,9 @@ msgid "compilation terminated due to -Wfatal-errors.\n"
76 msgstr "编译因为 -Wfatal-errors 而中止。\n"
77
78 #: diagnostic.c:229
79-#, fuzzy, c-format
80+#, c-format
81 msgid "compilation terminated due to -fmax-errors=%u.\n"
82-msgstr "编译因为 -Wfatal-errors 而中止。\n"
83+msgstr "编译中止因为 -fmax-errors=%u。\n"
84
85 #: diagnostic.c:240
86 #, c-format
87@@ -873,9 +872,9 @@ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
88 msgstr " -u, --unconditional-branches 同时显示无条件跳转数\n"
89
90 #: gcov.c:431
91-#, fuzzy, c-format
92+#, c-format
93 msgid " -d, --display-progress Display progress information\n"
94-msgstr " --help 显示此帮助说明\n"
95+msgstr " -d, --display-progress 显示进度信息\n"
96
97 #: gcov.c:432
98 #, c-format
99@@ -1112,14 +1111,14 @@ msgid "const/copy propagation disabled"
100 msgstr "常量/复制传递被禁用"
101
102 #: gengtype-state.c:150
103-#, fuzzy, c-format
104+#, c-format
105 msgid "%s:%d:%d: Invalid state file; %s"
106-msgstr "%s:%d:%d:自%qs实例化\n"
107+msgstr "%s:%d:%d:状态文件无效;%s"
108
109 #: gengtype-state.c:154
110-#, fuzzy, c-format
111+#, c-format
112 msgid "%s:%d: Invalid state file; %s"
113-msgstr "%s:无效的文件名:%s\n"
114+msgstr "%s:%d:状态文件无效;%s"
115
116 #. Fatal printf-like message while reading state. This can't be a
117 #. function, because there is no way to pass a va_arg to a variant of
118@@ -1127,17 +1126,17 @@ msgstr "%s:无效的文件名:%s\n"
119 #: gengtype-state.c:165
120 #, c-format
121 msgid "%s:%d:%d: Invalid state file; "
122-msgstr ""
123+msgstr "%s:%d:%d:状态文件无效;"
124
125 #: gengtype-state.c:170
126-#, fuzzy, c-format
127+#, c-format
128 msgid "%s:%d: Invalid state file; "
129-msgstr "%s:无效的文件名:%s\n"
130+msgstr "%s:%d:状态文件无效;"
131
132 #: gengtype-state.c:695
133 #, c-format
134 msgid "Option tag unknown"
135-msgstr ""
136+msgstr "未知的选项标记"
137
138 #: gengtype-state.c:750
139 #, fuzzy, c-format
140@@ -1150,9 +1149,9 @@ msgid "Unexpected type in write_state_string_type"
141 msgstr "cris_print_base 中有非预期的基类型"
142
143 #: gengtype-state.c:969
144-#, fuzzy, c-format
145+#, c-format
146 msgid "Unexpected type..."
147-msgstr "非预期的文件结束"
148+msgstr "非预期的类型……"
149
150 #: gengtype-state.c:1149
151 #, fuzzy, c-format
152@@ -1175,9 +1174,9 @@ msgid "failed to close state file %s [%s]"
153 msgstr "%s:无法关闭输出文件 %s\n"
154
155 #: gengtype-state.c:1213
156-#, c-format
157+#, fuzzy, c-format
158 msgid "failed to rename %s to state file %s [%s]"
159-msgstr ""
160+msgstr "无法更名模块文件“%s”到“%s”:%s"
161
162 #: gengtype-state.c:2395
163 #, fuzzy, c-format
164@@ -1345,7 +1344,7 @@ msgstr "此开关缺少可用文档"
165
166 #: opts.c:1010
167 msgid "[default]"
168-msgstr ""
169+msgstr "[默认]"
170
171 #: opts.c:1021
172 msgid "[enabled]"
173@@ -1415,9 +1414,8 @@ msgid "The following options are language-related"
174 msgstr "下列选项与语言相关"
175
176 #: opts.c:2010
177-#, fuzzy
178 msgid "enabled by default"
179-msgstr "使“char”类型默认为有符号"
180+msgstr "默认启用"
181
182 #: plugin.c:780
183 msgid "Event"
184@@ -1636,7 +1634,7 @@ msgstr "原本间接的函数调用不被考虑内联"
185
186 #: cif-code.def:90
187 msgid "indirect function call with a yet undetermined callee"
188-msgstr ""
189+msgstr "间接函数调用目标未定义"
190
191 #: cif-code.def:92
192 #, fuzzy
193@@ -1728,11 +1726,11 @@ msgstr "早期内联器可以进行的嵌套间接内联的最大数量"
194
195 #: params.def:124
196 msgid "Probability that COMDAT function will be shared with different compilatoin unit"
197-msgstr ""
198+msgstr "与其他编译单元共享 COMDAT 函数的概率"
199
200 #: params.def:130
201 msgid "Maximum probability of the entry BB of split region (in percent relative to entry BB of the function) to make partial inlining happen"
202-msgstr ""
203+msgstr "进行部分内联时分离区域入口基本块占函数入口基本块的百分比概率的上限"
204
205 #: params.def:137
206 msgid "If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable will be expanded during loop unrolling"
207@@ -1805,11 +1803,11 @@ msgstr "重新载入后允许进行冗余消除的关键边执行次数的比例
208
209 #: params.def:248
210 msgid "Scaling factor in calculation of maximum distance an expression can be moved by GCSE optimizations"
211-msgstr ""
212+msgstr "计算一个表达式被 GCSE 优化移动的最大距离时的比例因子"
213
214 #: params.def:254
215 msgid "Cost at which GCSE optimizations will not constraint the distance an expression can travel"
216-msgstr ""
217+msgstr "指定 GCSE 优化不约束一个表达式能被移动的距离时的代价"
218
219 #: params.def:262
220 msgid "Maximum depth of search in the dominator tree for expressions to hoist"
221@@ -1970,7 +1968,7 @@ msgstr "用在标量演化分析器中的表达式的大小上限"
222 #: params.def:488
223 #, fuzzy
224 msgid "Bound on the complexity of the expressions in the scalar evolutions analyzer"
225-msgstr "用在标量演化分析器中的表达式的大小上限"
226+msgstr "捆绑于被使用在标量演化分析器中的表达式的大小"
227
228 #: params.def:493
229 msgid "Bound on the number of variables in Omega constraint systems"
230@@ -2203,17 +2201,15 @@ msgstr "为实现跳转提示插入的 nop 的最大数(默认 2)"
231
232 #: c-family/c-format.c:368
233 msgid "format"
234-msgstr ""
235+msgstr "格式"
236
237 #: c-family/c-format.c:369
238-#, fuzzy
239 msgid "field width specifier"
240-msgstr "域宽"
241+msgstr "字段宽度限定"
242
243 #: c-family/c-format.c:370
244-#, fuzzy
245 msgid "field precision specifier"
246-msgstr "字段精度"
247+msgstr "字段精度限定"
248
249 #: c-family/c-format.c:484 c-family/c-format.c:508 config/i386/msformat-c.c:49
250 msgid "' ' flag"
251@@ -2820,7 +2816,6 @@ msgstr "地址中有非预期的副作用"
252 #. Can't possibly get a GOT-needing-fixup for a function-call,
253 #. right?
254 #: config/cris/cris.c:3611
255-#, fuzzy
256 msgid "unidentifiable call op"
257 msgstr "无法识别的 call 操作"
258
259@@ -3086,7 +3081,7 @@ msgid "invalid use of %%d, %%x, or %%X"
260 msgstr "对 %%d、%%x 或 %%X 的使用无效"
261
262 #: config/lm32/lm32.c:529
263-#, fuzzy, c-format
264+#, c-format
265 msgid "only 0.0 can be loaded as an immediate"
266 msgstr "只有 0.0 可以作为立即数装载"
267
268@@ -3193,27 +3188,27 @@ msgstr "无效 %%L 代码"
269 #: config/microblaze/microblaze.c:1747
270 #, fuzzy, c-format
271 msgid "unknown punctuation '%c'"
272-msgstr "未知的 spec 函数‘%s’"
273+msgstr "PRINT_OPERAND:未知的标点‘%c’"
274
275 #: config/microblaze/microblaze.c:1756
276-#, fuzzy, c-format
277+#, c-format
278 msgid "null pointer"
279-msgstr "PRINT_OPERAND 空指针"
280+msgstr "空指针"
281
282 #: config/microblaze/microblaze.c:1791
283 #, fuzzy, c-format
284 msgid "PRINT_OPERAND, invalid insn for %%C"
285-msgstr "PRINT_OPERAND 空指针"
286+msgstr "无效的 Z 寄存器替换"
287
288 #: config/microblaze/microblaze.c:1820
289 #, fuzzy, c-format
290 msgid "PRINT_OPERAND, invalid insn for %%N"
291-msgstr "PRINT_OPERAND 空指针"
292+msgstr "无效的 Z 寄存器替换"
293
294 #: config/microblaze/microblaze.c:1840 config/microblaze/microblaze.c:2001
295 #, fuzzy
296 msgid "insn contains an invalid address !"
297-msgstr "无效地址"
298+msgstr "无效的 Z 寄存器替换"
299
300 #: config/microblaze/microblaze.c:1854 config/microblaze/microblaze.c:2041
301 #: config/xtensa/xtensa.c:2443
302@@ -3488,7 +3483,7 @@ msgstr "无效的操作数输出代码"
303 #: config/s390/s390.c:5477
304 #, fuzzy, c-format
305 msgid "invalid constant for output modifier '%c'"
306-msgstr "‘o’修饰符的操作数无效"
307+msgstr "CHARACTER 常量的种别 %d 无效,在%C处"
308
309 #: config/s390/s390.c:5484
310 #, fuzzy, c-format
311@@ -3498,7 +3493,7 @@ msgstr "无效的最小左值表达式"
312 #: config/s390/s390.c:5487
313 #, fuzzy, c-format
314 msgid "invalid expression for output modifier '%c'"
315-msgstr "‘o’修饰符的操作数无效"
316+msgstr "无效的最小左值表达式"
317
318 #: config/score/score7.c:1207
319 #, c-format
320@@ -3725,9 +3720,8 @@ msgid "<return value> "
321 msgstr "<返回值>"
322
323 #: cp/error.c:970
324-#, fuzzy
325 msgid "{anonymous}"
326-msgstr "{{匿名}}"
327+msgstr "{匿名}"
328
329 #: cp/error.c:1085
330 msgid "<enumerator>"
331@@ -3811,7 +3805,7 @@ msgstr "%s:在%qs的实例化中:\n"
332 #: cp/error.c:2878
333 #, fuzzy, c-format
334 msgid "%s:%d:%d: recursively instantiated from %qs\n"
335-msgstr "%s:%d:%d:自%qs实例化\n"
336+msgstr " 内联自%qs于 %s:%d:%d"
337
338 #: cp/error.c:2879
339 #, c-format
340@@ -3821,7 +3815,7 @@ msgstr "%s:%d:%d:自%qs实例化\n"
341 #: cp/error.c:2884 cp/error.c:2885
342 #, fuzzy, c-format
343 msgid "%s:%d: recursively instantiated from %qs\n"
344-msgstr "%s:%d:自%qs实例化\n"
345+msgstr " 内联自%qs于 %s:%d:%d"
346
347 #: cp/error.c:2893
348 #, fuzzy, c-format
349@@ -3856,19 +3850,19 @@ msgstr "%s:%d:[ 跳过 %d 个实例化上下文 ]\n"
350 #: cp/error.c:3009
351 #, fuzzy, c-format
352 msgid "%s:%d:%d: in constexpr expansion of %qs"
353-msgstr "%s:%d:%d:自%qs实例化\n"
354+msgstr "在成员函数%qs中"
355
356 #: cp/error.c:3013
357 #, fuzzy, c-format
358 msgid "%s:%d: in constexpr expansion of %qs"
359-msgstr "%s:%d:自%qs实例化\n"
360+msgstr "在成员函数%qs中"
361
362 #: cp/pt.c:1725
363 msgid "candidates are:"
364 msgstr "备选为:"
365
366 #: cp/pt.c:16583 cp/call.c:3084
367-#, fuzzy, gcc-internal-format
368+#, gcc-internal-format
369 msgid "candidate is:"
370 msgid_plural "candidates are:"
371 msgstr[0] "备选是:"
372@@ -4120,19 +4114,19 @@ msgstr "格式限定符中需要句号"
373 #: fortran/io.c:1524
374 #, c-format
375 msgid "%s tag"
376-msgstr ""
377+msgstr "%s 标记"
378
379 #: fortran/io.c:2830
380 #, fuzzy
381 msgid "internal unit in WRITE"
382-msgstr "内部函数"
383+msgstr "gcc 内部放弃 %s,于 %s:%d"
384
385 #. For INQUIRE, all tags except FILE, ID and UNIT are variable definition
386 #. contexts. Thus, use an extended RESOLVE_TAG macro for that.
387 #: fortran/io.c:4025
388-#, c-format
389+#, fuzzy, c-format
390 msgid "%s tag with INQUIRE"
391-msgstr ""
392+msgstr "%s 与%<%%%c%>%s 格式并用"
393
394 #: fortran/matchexp.c:28
395 #, c-format
396@@ -4334,7 +4328,7 @@ msgstr "循环变量"
397 #: fortran/resolve.c:6223
398 #, fuzzy
399 msgid "iterator variable"
400-msgstr "循环变量"
401+msgstr "未使用的变量%q+D"
402
403 #: fortran/resolve.c:6228
404 msgid "Start expression in DO loop"
405@@ -4349,26 +4343,29 @@ msgid "Step expression in DO loop"
406 msgstr "DO 循环中的步进表达式"
407
408 #: fortran/resolve.c:6483 fortran/resolve.c:6485
409+#, fuzzy
410 msgid "DEALLOCATE object"
411-msgstr ""
412+msgstr "减小目标文件"
413
414 #: fortran/resolve.c:6780 fortran/resolve.c:6782
415+#, fuzzy
416 msgid "ALLOCATE object"
417-msgstr ""
418+msgstr "减小目标文件"
419
420 #: fortran/resolve.c:6955
421 #, fuzzy
422 msgid "STAT variable"
423-msgstr "循环变量"
424+msgstr "未使用的变量%q+D"
425
426 #: fortran/resolve.c:6998
427 #, fuzzy
428 msgid "ERRMSG variable"
429-msgstr "循环变量"
430+msgstr "未使用的变量%q+D"
431
432 #: fortran/resolve.c:8063
433+#, fuzzy
434 msgid "item in READ"
435-msgstr ""
436+msgstr "读取链接脚本"
437
438 #: fortran/trans-array.c:1138
439 #, c-format
440@@ -4376,8 +4373,9 @@ msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
441 msgstr "数组构造函数中 CHARACTER 长度不同(%ld/%ld)"
442
443 #: fortran/trans-array.c:4393
444+#, fuzzy
445 msgid "Integer overflow when calculating the amount of memory to allocate"
446-msgstr ""
447+msgstr "试图分配负数大小的内存。可能有整数溢出"
448
449 #: fortran/trans-decl.c:4356
450 #, c-format
451@@ -4457,7 +4455,7 @@ msgstr "试图分配已经分配的数组‘%s’"
452 #: fortran/trans.c:735
453 #, fuzzy
454 msgid "Attempting to allocate already allocated variable"
455-msgstr "试图分配已经分配的数组"
456+msgstr "试图分配已经分配的数组‘%s’"
457
458 #: fortran/trans.c:848 fortran/trans.c:928
459 #, c-format
460@@ -4709,7 +4707,7 @@ msgstr ""
461 #: config/i386/nwld.h:34
462 #, fuzzy
463 msgid "static linking is not supported"
464-msgstr "不支持静态链接。"
465+msgstr "不支持静态链接。\n"
466
467 #: config/pa/pa-hpux10.h:89 config/pa/pa-hpux10.h:92 config/pa/pa-hpux10.h:100
468 #: config/pa/pa-hpux10.h:103 config/pa/pa-hpux11.h:108
469@@ -4717,7 +4715,7 @@ msgstr "不支持静态链接。"
470 #: config/pa/pa64-hpux.h:42 config/pa/pa64-hpux.h:45
471 #, fuzzy
472 msgid "warning: consider linking with '-static' as system libraries with"
473-msgstr "警告:考虑链接时使用‘-static’,因为系统库也使用了此选项"
474+msgstr "警告:考虑链接时使用‘-static’因为系统库"
475
476 #: config/pa/pa-hpux10.h:90 config/pa/pa-hpux10.h:93 config/pa/pa-hpux10.h:101
477 #: config/pa/pa-hpux10.h:104 config/pa/pa-hpux11.h:109
478@@ -4739,9 +4737,8 @@ msgid "-mbig-endian and -mlittle-endian may not be used together"
479 msgstr "-mbig-endian 和 -mlittle-endian 不能一起使用"
480
481 #: config/cris/cris.h:196
482-#, fuzzy
483 msgid "do not specify both -march=... and -mcpu=..."
484-msgstr "不能同时指定 -march=... 和 -mcpu=..."
485+msgstr "请勿同时指定 -march=... 和 -mcpu=..."
486
487 #: objcp/lang-specs.h:58
488 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
489@@ -4946,7 +4943,7 @@ msgstr "对被截断的字符表达式给出警告"
490 #: fortran/lang.opt:223
491 #, fuzzy
492 msgid "Warn about most implicit conversions"
493-msgstr "对隐式转换给出警告"
494+msgstr "对隐式函数声明给出警告"
495
496 #: fortran/lang.opt:227
497 msgid "Warn about calls with implicit interface"
498@@ -4983,7 +4980,7 @@ msgstr "如果用户过程有与内建过程相同的名字则警告"
499 #: fortran/lang.opt:263
500 #, fuzzy
501 msgid "Warn about unused dummy arguments."
502-msgstr "为可能的虚参重叠给出警告"
503+msgstr "为可能的哑元重叠给出警告"
504
505 #: fortran/lang.opt:267
506 msgid "Enable preprocessing"
507@@ -5180,8 +5177,9 @@ msgid "Enable range checking during compilation"
508 msgstr "启用编译时范围检查"
509
510 #: fortran/lang.opt:479
511+#, fuzzy
512 msgid "Reallocate the LHS in assignments"
513-msgstr ""
514+msgstr "不返回的调用中有左值"
515
516 #: fortran/lang.opt:483
517 msgid "Use a 4-byte record marker for unformatted files"
518@@ -5201,7 +5199,7 @@ msgstr "在过程入口处将数组段复制到一个连续的块中"
519
520 #: fortran/lang.opt:499
521 msgid "-fcoarray=[...]\tSpecify which coarray parallelization should be used"
522-msgstr ""
523+msgstr "-fcoarray=[...]\t指定要使用的集合数组并行化"
524
525 #: fortran/lang.opt:503
526 msgid "-fcheck=[...]\tSpecify which runtime checks are to be performed"
527@@ -5528,9 +5526,8 @@ msgid "Target the AM33/2.0 processor"
528 msgstr "目标为 AM33/2.0 处理器"
529
530 #: config/mn10300/mn10300.opt:31
531-#, fuzzy
532 msgid "Target the AM34 processor"
533-msgstr "目标为 AM33 处理器"
534+msgstr "目标为 AM34 处理器"
535
536 #: config/mn10300/mn10300.opt:35 config/arm/arm.opt:154
537 msgid "Tune code for the given processor"
538@@ -5549,9 +5546,8 @@ msgid "Return pointers in both a0 and d0"
539 msgstr "在 a0 和 d0 中返回指针"
540
541 #: config/mn10300/mn10300.opt:56
542-#, fuzzy
543 msgid "Allow gcc to generate LIW instructions"
544-msgstr "允许 gcc 使用 repeat/erepeat 指令"
545+msgstr "允许 gcc 生成 LIW 指令"
546
547 #: config/s390/tpf.opt:23
548 msgid "Enable TPF-OS tracing code"
549@@ -5786,7 +5782,7 @@ msgstr "一个指令组中内存指令数目的软性限制,同一指令组中
550 #: config/ia64/ia64.opt:175
551 #, fuzzy
552 msgid "Disallow more than 'msched-max-memory-insns' in instruction group. Otherwise, limit is 'soft' (prefer non-memory operations when limit is reached)"
553-msgstr "一个指令组中至多有‘msched-max-memory-insns’条指令。否则,限定值是`软的' (当达到限定值时优先选择非内存操作)"
554+msgstr "在指令组中不准多于 `msched-max-memory-insns' 。否则,限定值是`软的' (当达到限定值时宁可非内存操作)"
555
556 #: config/ia64/ia64.opt:179
557 msgid "Don't generate checks for control speculation in selective scheduling"
558@@ -6193,9 +6189,8 @@ msgid "Use given x86-64 code model"
559 msgstr "使用给定的 x86-64 代码模式"
560
561 #: config/i386/i386.opt:121
562-#, fuzzy
563 msgid "%<-mcpu=%> is deprecated; use %<-mtune=%> or %<-march=%> instead"
564-msgstr "不建议使用‘-mcpu=’。请改用‘-mtune=’或‘-march=’。"
565+msgstr "不建议使用%<-mcpu=%>;请改用%<-mtune=%>或%<-march=%>"
566
567 #: config/i386/i386.opt:125
568 msgid "Generate sin, cos, sqrt for FPU"
569@@ -6222,9 +6217,8 @@ msgid "Inline memset/memcpy string operations, but perform inline version only f
570 msgstr "内联 memset/memcpy 字符串操作,但仅为较小的块使用内联版本"
571
572 #: config/i386/i386.opt:156
573-#, fuzzy
574 msgid "%<-mintel-syntax%> and %<-mno-intel-syntax%> are deprecated; use %<-masm=intel%> and %<-masm=att%> instead"
575-msgstr "不建议使用‘-mintel-syntax’。请改用‘-masm=intel’。"
576+msgstr "不建议使用%<-mintel-syntax%>和 %<-mno-intel-syntax%>;请改用%<-masm=intel%>和%<-masm=att%>"
577
578 #: config/i386/i386.opt:161
579 msgid "Use native (MS) bitfield layout"
580@@ -6297,7 +6291,7 @@ msgstr "指定要使用的向量库 ABI"
581
582 #: config/i386/i386.opt:249
583 msgid "Return 8-byte vectors in memory"
584-msgstr ""
585+msgstr "将 8 字节向量在内存中返回"
586
587 #: config/i386/i386.opt:253
588 msgid "Generate reciprocals instead of divss and sqrtss."
589@@ -6313,11 +6307,11 @@ msgstr ""
590
591 #: config/i386/i386.opt:266
592 msgid "Do dispatch scheduling if processor is bdver1 and Haifa scheduling"
593-msgstr ""
594+msgstr "进行海法调度,当处理器是 bdver1 时也进行派遣调度"
595
596 #: config/i386/i386.opt:271
597 msgid "Use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-vectorizer."
598-msgstr ""
599+msgstr "自动向量化时使用 128 位 AVX 指令而不是 256 位 AVX 指令"
600
601 #: config/i386/i386.opt:277
602 msgid "Generate 32bit i386 code"
603@@ -6368,9 +6362,8 @@ msgid "Do not support SSE4.1 and SSE4.2 built-in functions and code generation"
604 msgstr "不支持 SSE4.1 和 SSE4.2 内建函数及代码生成"
605
606 #: config/i386/i386.opt:328
607-#, fuzzy
608 msgid "%<-msse5%> was removed"
609-msgstr "‘-msse5’已被移除"
610+msgstr "%<-msse5%>已被移除"
611
612 #: config/i386/i386.opt:333
613 msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation"
614@@ -6405,14 +6398,12 @@ msgid "Support code generation of popcnt instruction."
615 msgstr "支持生成 popcnt 指令。"
616
617 #: config/i386/i386.opt:365
618-#, fuzzy
619 msgid "Support BMI built-in functions and code generation"
620-msgstr "支持 FMA4 内建函数及代码生成"
621+msgstr "支持 BMI 内建函数及代码生成"
622
623 #: config/i386/i386.opt:369
624-#, fuzzy
625 msgid "Support TBM built-in functions and code generation"
626-msgstr "支持 FMA4 内建函数及代码生成"
627+msgstr "支持 TBM 内建函数及代码生成"
628
629 #: config/i386/i386.opt:373
630 msgid "Support code generation of cmpxchg16b instruction."
631@@ -6443,19 +6434,16 @@ msgid "Encode SSE instructions with VEX prefix"
632 msgstr "支持带 VEX 前缀的 SSE 指令"
633
634 #: config/i386/i386.opt:401
635-#, fuzzy
636 msgid "Support FSGSBASE built-in functions and code generation"
637-msgstr "支持 SSE5 内建函数及代码生成"
638+msgstr "支持 FSGSBASE 内建函数及代码生成"
639
640 #: config/i386/i386.opt:405
641-#, fuzzy
642 msgid "Support RDRND built-in functions and code generation"
643-msgstr "支持 AES 内建函数及代码生成"
644+msgstr "支持 RDRND 内建函数及代码生成"
645
646 #: config/i386/i386.opt:409
647-#, fuzzy
648 msgid "Support F16C built-in functions and code generation"
649-msgstr "支持 FMA4 内建函数及代码生成"
650+msgstr "支持 F16C 内建函数及代码生成"
651
652 #: config/i386/i386.opt:413
653 #, fuzzy
654@@ -6464,7 +6452,7 @@ msgstr "为取样在函数前言中调用 mcount"
655
656 #: config/i386/i386.opt:417
657 msgid "Expand 32bit/64bit integer divide into 8bit unsigned integer divide with run-time check"
658-msgstr ""
659+msgstr "将 32/64 位整数除法扩展为带运行时检查的 8 位无符号整数除法"
660
661 #: config/i386/cygming.opt:23
662 msgid "Create console application"
663@@ -6604,7 +6592,7 @@ msgstr "使用 PowerPC V2.06 popcntd 指令"
664
665 #: config/rs6000/rs6000.opt:224
666 msgid "Under -ffast-math, generate a FRIZ instruction for (double)(long long) conversions"
667-msgstr ""
668+msgstr "在 -ffast-math 时,为 (double)(long long) 转换生成 FRIZ 指令"
669
670 #: config/rs6000/rs6000.opt:232
671 msgid "Use vector/scalar (VSX) instructions"
672@@ -6808,8 +6796,9 @@ msgid "Call mcount for profiling before a function prologue"
673 msgstr "为取样在函数前言中调用 mcount"
674
675 #: config/rs6000/linux64.opt:28
676+#, fuzzy
677 msgid "Select code model"
678-msgstr ""
679+msgstr "未知的 tls-model“%s”"
680
681 #: config/rs6000/sysv4.opt:24
682 msgid "Select ABI calling convention"
683@@ -7532,7 +7521,7 @@ msgstr "放宽跳转"
684 #: config/avr/avr.opt:60
685 #, fuzzy
686 msgid "Make the linker relaxation machine assume that a program counter wrap-around occurs."
687-msgstr "使链接器松驰机假定会发生程序计数器环绕"
688+msgstr "链接器松驰机器假定一个程序计数器环绕发生 。"
689
690 #: config/crx/crx.opt:23
691 msgid "Support multiply accumulate instructions"
692@@ -8185,9 +8174,8 @@ msgid "Set the max size of data eligible for the TDA area"
693 msgstr "为 TDA 区域合格的数据设置最大尺寸"
694
695 #: config/v850/v850.opt:71
696-#, fuzzy
697 msgid "Do not enforce strict alignment"
698-msgstr "强制严格对齐"
699+msgstr "不强制严格对齐"
700
701 #: config/v850/v850.opt:75
702 msgid "Put jump tables for switch statements into the .data section rather than the .code section"
703@@ -8206,19 +8194,16 @@ msgid "Compile for the v850e1 processor"
704 msgstr "为 v850e1 处理器编译"
705
706 #: config/v850/v850.opt:94
707-#, fuzzy
708 msgid "Compile for the v850es variant of the v850e1"
709-msgstr "为 v850e 处理器编译"
710+msgstr "为 v850e1 的 v850es 变种编译"
711
712 #: config/v850/v850.opt:98
713-#, fuzzy
714 msgid "Compile for the v850e2 processor"
715-msgstr "为 v850e 处理器编译"
716+msgstr "为 v850e2 处理器编译"
717
718 #: config/v850/v850.opt:102
719-#, fuzzy
720 msgid "Compile for the v850e2v3 processor"
721-msgstr "为 v850e 处理器编译"
722+msgstr "为 v850e2v3 处理器编译"
723
724 #: config/v850/v850.opt:106
725 msgid "Set the max size of data eligible for the ZDA area"
726@@ -8410,7 +8395,7 @@ msgstr "%qs后缺少文件名"
727
728 #: config/darwin.opt:111
729 msgid "Generate compile-time CFString objects"
730-msgstr ""
731+msgstr "生成编译时 CFString 对象"
732
733 #: config/darwin.opt:205
734 msgid "Warn if constant CFString objects contain non-portable characters"
735@@ -8418,7 +8403,7 @@ msgstr ""
736
737 #: config/darwin.opt:210
738 msgid "Generate AT&T-style stubs for Mach-O"
739-msgstr ""
740+msgstr "为 Mach-O 生成 AT&T 风格的占位代码"
741
742 #: config/darwin.opt:214
743 msgid "Generate code suitable for executables (NOT shared libs)"
744@@ -8478,16 +8463,15 @@ msgstr "支持 SCORE 7D ISA"
745
746 #: config/linux.opt:24
747 msgid "Use Bionic C library"
748-msgstr ""
749+msgstr "使用 Bionic C 标准库"
750
751 #: config/linux.opt:28
752 msgid "Use GNU C library"
753-msgstr ""
754+msgstr "使用 GNU C 标准库"
755
756 #: config/linux.opt:32
757-#, fuzzy
758 msgid "Use uClibc C library"
759-msgstr "使用 uClibc 代替 GNU libc"
760+msgstr "使用 uClibc C 标准库"
761
762 #: config/mep/mep.opt:21
763 msgid "Enable absolute difference instructions"
764@@ -8691,9 +8675,8 @@ msgid "Use software emulation for floating point (default)"
765 msgstr "使用软件浮点单元"
766
767 #: config/microblaze/microblaze.opt:44
768-#, fuzzy
769 msgid "Use hardware floating point instructions"
770-msgstr "使用十进制浮点指令"
771+msgstr "使用硬件浮点指令"
772
773 #: config/microblaze/microblaze.opt:48
774 #, fuzzy
775@@ -8701,26 +8684,24 @@ msgid "Use table lookup optimization for small signed integer divisions"
776 msgstr "在树级别进行循环优化"
777
778 #: config/microblaze/microblaze.opt:52
779-#, fuzzy
780 msgid "-mcpu=PROCESSOR\t\tUse features of and schedule code for given CPU"
781-msgstr "-mcpu=\t使用指定 CPU 的特性和调度代码"
782+msgstr "-mcpu=处理器\t使用指定 CPU 的特性并为其调度代码"
783
784 #: config/microblaze/microblaze.opt:56
785-#, fuzzy
786 msgid "Don't optimize block moves, use memcpy"
787-msgstr "不优化块移动"
788+msgstr "不优化块移动,使用 memcpy"
789
790 #: config/microblaze/microblaze.opt:60
791 msgid "Use the soft multiply emulation (default)"
792-msgstr ""
793+msgstr "使用软件模拟乘法(默认)"
794
795 #: config/microblaze/microblaze.opt:64
796 msgid "Use the software emulation for divides (default)"
797-msgstr ""
798+msgstr "使用软件模拟除法(默认)"
799
800 #: config/microblaze/microblaze.opt:68
801 msgid "Use the hardware barrel shifter instead of emulation"
802-msgstr ""
803+msgstr "使用硬件桶型移位器代替仿真"
804
805 #: config/microblaze/microblaze.opt:72
806 #, fuzzy
807@@ -8728,27 +8709,24 @@ msgid "Use pattern compare instructions"
808 msgstr "使用浮点双精度指令"
809
810 #: config/microblaze/microblaze.opt:76
811-#, fuzzy
812 msgid "Check for stack overflow at runtime"
813-msgstr "检查语法错误,然后停止"
814+msgstr "在运行时检查栈溢出"
815
816 #: config/microblaze/microblaze.opt:84
817 msgid "Clear the BSS to zero and place zero initialized in BSS"
818-msgstr ""
819+msgstr "将 BSS 清空为零并将初始值为零的放入 BSS 中"
820
821 #: config/microblaze/microblaze.opt:88
822 msgid "Use multiply high instructions for high part of 32x32 multiply"
823 msgstr ""
824
825 #: config/microblaze/microblaze.opt:92
826-#, fuzzy
827 msgid "Use hardware floating point conversion instructions"
828-msgstr "使用十进制浮点指令"
829+msgstr "使用浮点转换指令"
830
831 #: config/microblaze/microblaze.opt:96
832-#, fuzzy
833 msgid "Use hardware floating point square root instruction"
834-msgstr "使用十进制浮点指令"
835+msgstr "使用浮点平方根指令"
836
837 #: config/microblaze/microblaze.opt:100
838 msgid "Description for mxl-mode-executable"
839@@ -8767,23 +8745,20 @@ msgid "Description for mxl-mode-novectors"
840 msgstr ""
841
842 #: config/linux-android.opt:23
843-#, fuzzy
844 msgid "Generate code for the Android platform."
845-msgstr "为 Android 操作系统生成代码"
846+msgstr "为 Android 操作系统生成代码。"
847
848 #: config/g.opt:28
849 msgid "-G<number>\tPut global and static data smaller than <number> bytes into a special section (on some targets)"
850 msgstr "-G<N>\t将小于 N 字节的全局和静态数据放入一个特殊的节中(在某些目标机上)"
851
852 #: config/sol2.opt:35
853-#, fuzzy
854 msgid "Pass -z text to linker"
855-msgstr "将 -assert pure-text 传递给链接器"
856+msgstr "将 -z text 传递给链接器"
857
858 #: config/fused-madd.opt:23
859-#, fuzzy
860 msgid "%<-mfused-madd%> is deprecated; use %<-ffp-contract=%> instead"
861-msgstr "不建议使用此开关;请改用 -Wextra"
862+msgstr "不建议使用%<-mfused-madd%>;请改用%<-ffp-contract=%>"
863
864 #: c-family/c.opt:44 c-family/c.opt:47 c-family/c.opt:185
865 #, c-format
866@@ -9021,14 +8996,12 @@ msgid "Warn about variables which are initialized to themselves"
867 msgstr "对初始化为自身的变量给出警告。"
868
869 #: c-family/c.opt:411
870-#, fuzzy
871 msgid "Warn about implicit declarations"
872 msgstr "对隐式函数声明给出警告"
873
874 #: c-family/c.opt:415
875-#, fuzzy
876 msgid "Warn about implicit conversions from \"float\" to \"double\""
877-msgstr "对隐式转换给出警告"
878+msgstr "对从“float”到“double”的隐式转换给出警告"
879
880 #: c-family/c.opt:419
881 msgid "Warn about implicit function declarations"
882@@ -9275,7 +9248,6 @@ msgid "Warn when a register variable is declared volatile"
883 msgstr "当一个寄存器变量被声明为 volatile 时给出警告"
884
885 #: c-family/c.opt:670
886-#, fuzzy
887 msgid "In C++, nonzero means warn about deprecated conversion from string literals to 'char *'. In C, similar warning, except that the conversion is of course not deprecated by the ISO C standard."
888 msgstr "在 C++ 中,非零值表示将字面字符串转换为‘char *’时给出警告。在 C 中,给出相似的警告,但这种类型转换是符合 ISO C 标准的。"
889
890@@ -9302,9 +9274,8 @@ msgstr "开关%qs不再被支持"
891
892 #: c-family/c.opt:693 c-family/c.opt:799 c-family/c.opt:1018
893 #: c-family/c.opt:1022 c-family/c.opt:1038
894-#, fuzzy
895 msgid "No longer supported"
896-msgstr "开关%qs不再被支持"
897+msgstr "不再受支持"
898
899 #: c-family/c.opt:697
900 msgid "Recognize the \"asm\" keyword"
901@@ -9415,7 +9386,7 @@ msgstr "将友元函数声明视作包含它的命名空间中的有效声明"
902
903 #: c-family/c.opt:819
904 msgid "Don't emit dllexported inline functions unless needed"
905-msgstr ""
906+msgstr "除非必需,不生成 DLL 导出的内联函数"
907
908 #: c-family/c.opt:826
909 msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
910@@ -9789,7 +9760,7 @@ msgstr "为最小空间而不是最大速度优化"
911
912 #: common.opt:436
913 msgid "Optimize for speed disregarding exact standards compliance"
914-msgstr ""
915+msgstr "为速度优化,不严格遵守标准"
916
917 #: common.opt:467
918 msgid "This switch is deprecated; use -Wextra instead"
919@@ -10289,7 +10260,7 @@ msgstr "启用循环分块转换"
920 #: common.opt:1140
921 #, fuzzy
922 msgid "Enable Loop Flattening transformation"
923-msgstr "启用循环分块转换"
924+msgstr "启用循环交换转换"
925
926 #: common.opt:1144
927 msgid "Force bitfield accesses to match their type width"
928@@ -10318,7 +10289,7 @@ msgstr "将条件跳转替换为没有跳转的等值表示"
929
930 #: common.opt:1172
931 msgid "Also if-convert conditional jumps containing memory writes"
932-msgstr ""
933+msgstr "将包含内存写入的条件跳转转换为不带分支的等效形式"
934
935 #: common.opt:1180
936 msgid "Do not generate .size directives"
937@@ -10400,7 +10371,7 @@ msgstr "-fira-algorithm=|CB|priority] 设置使用的 IRA 算法"
938 #: common.opt:1265
939 #, fuzzy, c-format
940 msgid "unknown IRA algorithm %qs"
941-msgstr "未知的 IRA 算法“%s”"
942+msgstr "%<asm%>中出现未知的寄存器名%qs"
943
944 #: common.opt:1275
945 msgid "-fira-region=[one|all|mixed] Set regions for IRA"
946@@ -10409,7 +10380,7 @@ msgstr "-fira-region=[one|all|mixed] 设置 IRA 的区域"
947 #: common.opt:1278
948 #, fuzzy, c-format
949 msgid "unknown IRA region %qs"
950-msgstr "未知的 IRA 区域“%s”"
951+msgstr "%<asm%>中出现未知的寄存器名%qs"
952
953 #: common.opt:1291
954 msgid "Use IRA based register pressure calculation"
955@@ -10558,9 +10529,8 @@ msgid "Optimize sibling and tail recursive calls"
956 msgstr "优化同级递归和尾递归"
957
958 #: common.opt:1444
959-#, fuzzy
960 msgid "Perform partial inlining"
961-msgstr "进行早内联"
962+msgstr "进行部分内联"
963
964 #: common.opt:1448 common.opt:1452
965 msgid "Report on memory allocation before interprocedural optimization"
966@@ -10825,7 +10795,7 @@ msgstr "展开循环时分离归纳变量的生存期"
967 #: common.opt:1743
968 #, fuzzy
969 msgid "Generate discontiguous stack frames"
970-msgstr "生成与 APCS 相容的栈帧"
971+msgstr "生成与 APCS 相容的堆栈框架"
972
973 #: common.opt:1747
974 msgid "Split wide types into independent registers"
975@@ -10895,7 +10865,7 @@ msgstr "-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]\t设
976 #: common.opt:1821
977 #, fuzzy, c-format
978 msgid "unknown TLS model %qs"
979-msgstr "未知的 tls-model“%s”"
980+msgstr "tls_model 的实参不是一个字符串"
981
982 #: common.opt:1837
983 msgid "Reorder top level functions, variables, and asms"
984@@ -10920,7 +10890,7 @@ msgstr "启用树上的 SSA-CCP 优化"
985 #: common.opt:1860
986 #, fuzzy
987 msgid "Enable SSA-BIT-CCP optimization on trees"
988-msgstr "启用树上的 SSA-CCP 优化"
989+msgstr "启用树上的 SSA 死代码消除优化"
990
991 #: common.opt:1868
992 msgid "Enable loop header copying on trees"
993@@ -11115,7 +11085,7 @@ msgstr "-fvisibility=[default|internal|hidden|protected]\t设置符号的默认
994 #: common.opt:2091
995 #, fuzzy, c-format
996 msgid "unrecognized visibility value %qs"
997-msgstr "无法识别的可见性值“%s”"
998+msgstr "无效的 --param 值%qs"
999
1000 #: common.opt:2107
1001 msgid "Use expression value profiles in optimizations"
1002@@ -11190,9 +11160,8 @@ msgid "Generate debug information in extended XCOFF format"
1003 msgstr "生成 XCOFF 扩展格式的调试信息"
1004
1005 #: common.opt:2182
1006-#, fuzzy
1007 msgid "-iplugindir=<dir>\tSet <dir> to be the default plugin directory"
1008-msgstr "-imultilib <目录>\t将目录设定为 multilib 的包含子目录"
1009+msgstr "-iplugindir=<目录>\t将目录设定为默认的插件子目录"
1010
1011 #: common.opt:2204
1012 msgid "-o <file>\tPlace output into <file>"
1013@@ -11237,12 +11206,12 @@ msgstr "生成位置无关可执行文件"
1014 #: go/gofrontend/expressions.cc:882
1015 #, fuzzy
1016 msgid "invalid use of type"
1017-msgstr "错误地使用了%qD"
1018+msgstr "对未定义类型%<%s %E%>的使用无效"
1019
1020 #: go/gofrontend/expressions.cc:1992 go/gofrontend/expressions.cc:2686
1021 #, fuzzy
1022 msgid "floating point constant truncated to integer"
1023-msgstr "浮点常量向零截断"
1024+msgstr "大定点常量隐式截断为定点类型"
1025
1026 #: go/gofrontend/expressions.cc:2566 go/gofrontend/expressions.cc:2636
1027 #: go/gofrontend/expressions.cc:2652
1028@@ -11251,24 +11220,21 @@ msgid "constant refers to itself"
1029 msgstr "inlined_to pointer 指向自身"
1030
1031 #: go/gofrontend/expressions.cc:4043
1032-#, fuzzy
1033 msgid "expected numeric type"
1034-msgstr "需要表达式类型"
1035+msgstr "需要数字类型"
1036
1037 #: go/gofrontend/expressions.cc:4050
1038-#, fuzzy
1039 msgid "expected integer or boolean type"
1040-msgstr "需要整数表达式"
1041+msgstr "需要整数或布尔类型"
1042
1043 #: go/gofrontend/expressions.cc:4055
1044 #, fuzzy
1045 msgid "invalid operand for unary %<&%>"
1046-msgstr "%%R 的操作数无效"
1047+msgstr "代码‘%c’的操作数无效"
1048
1049 #: go/gofrontend/expressions.cc:4063
1050-#, fuzzy
1051 msgid "expected pointer"
1052-msgstr "需要整数"
1053+msgstr "需要指针"
1054
1055 #: go/gofrontend/expressions.cc:5456 go/gofrontend/expressions.cc:5707
1056 #: go/gofrontend/expressions.cc:5723
1057@@ -11279,7 +11245,7 @@ msgstr "二元表达式中类型不匹配"
1058 #: go/gofrontend/expressions.cc:5736
1059 #, fuzzy
1060 msgid "shift of non-integer operand"
1061-msgstr "数组%qE的大小的类型不是整数"
1062+msgstr "非整数操作数使用了操作数代码‘%c’"
1063
1064 #: go/gofrontend/expressions.cc:5741
1065 #, fuzzy
1066@@ -11287,36 +11253,31 @@ msgid "shift count not unsigned integer"
1067 msgstr "switch 语句中的值不是一个整数"
1068
1069 #: go/gofrontend/expressions.cc:5750
1070-#, fuzzy
1071 msgid "negative shift count"
1072-msgstr "指令长度为负"
1073+msgstr "移位次数为负"
1074
1075 #: go/gofrontend/expressions.cc:6433
1076-#, fuzzy
1077 msgid "object is not a method"
1078-msgstr "被调用的对象%qE不是一个函数"
1079+msgstr "对象不是一个方法"
1080
1081 #: go/gofrontend/expressions.cc:6442
1082-#, fuzzy
1083 msgid "method type does not match object type"
1084-msgstr "实参类型为%qT,与%qT不匹配"
1085+msgstr "方法类型不匹配对象类型"
1086
1087 #: go/gofrontend/expressions.cc:6690 go/gofrontend/expressions.cc:6709
1088 #: go/gofrontend/expressions.cc:7348 go/gofrontend/expressions.cc:7487
1089 #: go/gofrontend/expressions.cc:7530 go/gofrontend/expressions.cc:7568
1090 #: go/gofrontend/expressions.cc:8603 go/gofrontend/expressions.cc:8624
1091-#, fuzzy
1092 msgid "not enough arguments"
1093-msgstr "没有参数"
1094+msgstr "实参太少"
1095
1096 #: go/gofrontend/expressions.cc:6692 go/gofrontend/expressions.cc:7353
1097 #: go/gofrontend/expressions.cc:7470 go/gofrontend/expressions.cc:7492
1098 #: go/gofrontend/expressions.cc:7535 go/gofrontend/expressions.cc:7570
1099 #: go/gofrontend/expressions.cc:8357 go/gofrontend/expressions.cc:8606
1100 #: go/gofrontend/expressions.cc:8617
1101-#, fuzzy
1102 msgid "too many arguments"
1103-msgstr "%qE实参太多"
1104+msgstr "实参太多"
1105
1106 #: go/gofrontend/expressions.cc:7395
1107 #, fuzzy
1108@@ -11330,104 +11291,91 @@ msgstr ""
1109 #: go/gofrontend/expressions.cc:7446
1110 #, fuzzy
1111 msgid "unsupported argument type to builtin function"
1112-msgstr "内建函数实参无效"
1113+msgstr "%<__builtin_frame_address%>的实参不受支持"
1114
1115 #: go/gofrontend/expressions.cc:7458
1116-#, fuzzy
1117 msgid "argument must be channel"
1118-msgstr "实参必须是常数"
1119+msgstr "实参必须是通道"
1120
1121 #: go/gofrontend/expressions.cc:7478
1122 #, fuzzy
1123 msgid "argument must be a field reference"
1124-msgstr "最后一个实参必须是一个立即数"
1125+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是 %4$s"
1126
1127 #: go/gofrontend/expressions.cc:7505
1128-#, fuzzy
1129 msgid "left argument must be a slice"
1130-msgstr "最后一个实参必须是一个立即数"
1131+msgstr "左实参必须是一个切片"
1132
1133 #: go/gofrontend/expressions.cc:7516
1134-#, fuzzy
1135 msgid "right argument must be a slice or a string"
1136-msgstr "实参必须是常数"
1137+msgstr "右实参必须是一个切片或字符串"
1138
1139 #: go/gofrontend/expressions.cc:7521
1140 msgid "element types must be the same"
1141-msgstr ""
1142+msgstr "元素类型必须一样"
1143
1144 #: go/gofrontend/expressions.cc:7543
1145-#, fuzzy
1146 msgid "arguments 1 and 2 have different types"
1147-msgstr "允许‘?’运算符的参数有不同的类型"
1148+msgstr "实参 1 和 2 具有不同的类型"
1149
1150 #: go/gofrontend/expressions.cc:7560
1151-#, fuzzy
1152 msgid "argument must have complex type"
1153-msgstr "形参 %u 的类型不完全"
1154+msgstr "实参必须具有复数类型"
1155
1156 #: go/gofrontend/expressions.cc:7578
1157-#, fuzzy
1158 msgid "complex arguments must have identical types"
1159-msgstr "cleanup 实参不是一个标识符"
1160+msgstr "复数实参必须具有相同的类型"
1161
1162 #: go/gofrontend/expressions.cc:7580
1163-#, fuzzy
1164 msgid "complex arguments must have floating-point type"
1165-msgstr "不使用硬件浮点单元"
1166+msgstr "复数实参必须具有浮点类型"
1167
1168 #: go/gofrontend/expressions.cc:8560
1169-#, fuzzy
1170 msgid "expected function"
1171-msgstr "函数%q+D已删除"
1172+msgstr "需要函数"
1173
1174 #: go/gofrontend/expressions.cc:8571
1175 msgid "method call without object"
1176-msgstr ""
1177+msgstr "方法调用缺少对象"
1178
1179 #: go/gofrontend/expressions.cc:8584
1180-#, fuzzy
1181 msgid "incompatible type for receiver"
1182-msgstr "%2$qE的第 %1$d 个实参类型不兼容"
1183+msgstr "接收器类型不兼容"
1184
1185 #: go/gofrontend/expressions.cc:8982 go/gofrontend/expressions.cc:8995
1186-#, fuzzy
1187 msgid "number of results does not match number of values"
1188-msgstr "引入边计数不匹配 PHI 参数数目"
1189+msgstr "返回值的数量不匹配值的数量"
1190
1191 #: go/gofrontend/expressions.cc:9246 go/gofrontend/expressions.cc:9625
1192-#, fuzzy
1193 msgid "index must be integer"
1194-msgstr "%C处 Cray 指针必须是一个整数"
1195+msgstr "索引必须是整数"
1196
1197 #: go/gofrontend/expressions.cc:9250 go/gofrontend/expressions.cc:9629
1198-#, fuzzy
1199 msgid "slice end must be integer"
1200-msgstr "%C处 Cray 指针必须是一个整数"
1201+msgstr "切片结尾必须是整数"
1202
1203 #: go/gofrontend/expressions.cc:9305
1204-#, fuzzy
1205 msgid "array is not addressable"
1206-msgstr "内存输入 %d 不可直接寻址"
1207+msgstr "数组不能被取指"
1208
1209 #: go/gofrontend/expressions.cc:9844
1210-#, fuzzy
1211 msgid "incompatible type for map index"
1212-msgstr "%2$qE的第 %1$d 个实参类型不兼容"
1213+msgstr "映射索引类型不兼容"
1214
1215 #: go/gofrontend/expressions.cc:10163
1216+#, fuzzy
1217 msgid "expected interface or pointer to interface"
1218-msgstr ""
1219+msgstr "%<delete%>的参数类型应为指针而非%q#T"
1220
1221 #: go/gofrontend/expressions.cc:10468
1222 #, fuzzy
1223 msgid "invalid new of function type"
1224-msgstr "向函数类型%qT的转换无效"
1225+msgstr "对 new 而言类型%<void%>无效"
1226
1227 #: go/gofrontend/expressions.cc:10573
1228 #, fuzzy
1229 msgid "invalid type for make function"
1230-msgstr "纯常函数状态无效"
1231+msgstr "函数%q+#D的抽象返回类型无效"
1232
1233 #: go/gofrontend/expressions.cc:10732
1234 #, fuzzy
1235@@ -11446,7 +11394,7 @@ msgstr ""
1236 #: go/gofrontend/expressions.cc:12139 go/gofrontend/expressions.cc:12147
1237 #, fuzzy
1238 msgid "invalid unsafe.Pointer conversion"
1239-msgstr "整点转换中类型无效"
1240+msgstr "从%<__fpreg%>的转换无效"
1241
1242 #: go/gofrontend/expressions.cc:12152 go/gofrontend/statements.cc:1349
1243 msgid "type assertion only valid for interface types"
1244@@ -11457,9 +11405,8 @@ msgid "impossible type assertion: type does not implement interface"
1245 msgstr ""
1246
1247 #: go/gofrontend/expressions.cc:12320 go/gofrontend/statements.cc:1200
1248-#, fuzzy
1249 msgid "expected channel"
1250-msgstr "需要类名"
1251+msgstr "需要通道"
1252
1253 #: go/gofrontend/expressions.cc:12325 go/gofrontend/statements.cc:1205
1254 msgid "invalid receive on send-only channel"
1255@@ -11468,7 +11415,7 @@ msgstr ""
1256 #: go/gofrontend/expressions.cc:12419
1257 #, fuzzy
1258 msgid "incompatible types in send"
1259-msgstr "PHI 实参 %u 类型不兼容"
1260+msgstr "指针目标类型在 C++ 中不兼容"
1261
1262 #: go/gofrontend/expressions.cc:12424
1263 #, fuzzy
1264@@ -11478,7 +11425,7 @@ msgstr "间接引用操作数无效"
1265 #: go/gofrontend/statements.cc:521
1266 #, fuzzy
1267 msgid "invalid left hand side of assignment"
1268-msgstr "赋值运算的左操作数必须是左值"
1269+msgstr "在左操作数边转化 SSA_NAME。"
1270
1271 #: go/gofrontend/statements.cc:930
1272 msgid "expected map index on right hand side"
1273@@ -11491,27 +11438,24 @@ msgstr "需要行尾"
1274
1275 #: go/gofrontend/statements.cc:1810
1276 msgid "no object for method call"
1277-msgstr ""
1278+msgstr "方法调用没有对象"
1279
1280 #: go/gofrontend/statements.cc:2580
1281 #, fuzzy
1282 msgid "return with value in function with no return type"
1283-msgstr "在无返回值的函数中,%<return%>带返回值"
1284+msgstr "在有返回值的的函数中,%<return%>不带返回值"
1285
1286 #: go/gofrontend/statements.cc:2593
1287-#, fuzzy
1288 msgid "too many values in return statement"
1289-msgstr "返回语句操作数无效"
1290+msgstr "返回语句中值太多"
1291
1292 #: go/gofrontend/statements.cc:2622
1293-#, fuzzy
1294 msgid "not enough values in return statement"
1295-msgstr "返回语句操作数无效"
1296+msgstr "返回语句中值不够"
1297
1298 #: go/gofrontend/statements.cc:2998
1299-#, fuzzy
1300 msgid "expected boolean expression"
1301-msgstr "需要表达式"
1302+msgstr "需要布尔表达式"
1303
1304 #: go/gofrontend/statements.cc:4612
1305 msgid "too many variables for range clause with channel"
1306@@ -11522,64 +11466,63 @@ msgid "range clause must have array, slice, setring, map, or channel type"
1307 msgstr ""
1308
1309 #: go/gofrontend/types.cc:575
1310-#, fuzzy
1311 msgid "need explicit conversion"
1312-msgstr "对隐式转换给出警告"
1313+msgstr "需要显式转换"
1314
1315 #: go/gofrontend/types.cc:577
1316 msgid "multiple value function call in single value context"
1317 msgstr ""
1318
1319 #: go/gofrontend/types.cc:585
1320-#, fuzzy, c-format
1321+#, c-format
1322 msgid "cannot use type %s as type %s"
1323-msgstr "不能将类型%qT转换为类型%qT"
1324+msgstr "不能将类型 %s 用作 %s"
1325
1326 #: go/gofrontend/types.cc:2479
1327-#, fuzzy
1328 msgid "different receiver types"
1329-msgstr "无效的接收者类型%qs"
1330+msgstr "不同的接收器类型"
1331
1332 #: go/gofrontend/types.cc:2499 go/gofrontend/types.cc:2512
1333 #: go/gofrontend/types.cc:2527
1334-#, fuzzy
1335 msgid "different number of parameters"
1336-msgstr "一个静态控制部分(ScoP)中参数的最大数量"
1337+msgstr "形参数量不同"
1338
1339 #: go/gofrontend/types.cc:2520
1340-#, fuzzy
1341 msgid "different parameter types"
1342-msgstr "无效的参数类型%qT"
1343+msgstr "形参类型不同"
1344
1345 #: go/gofrontend/types.cc:2535
1346+#, fuzzy
1347 msgid "different varargs"
1348-msgstr ""
1349+msgstr "在不同命名空间中特例化%q#T"
1350
1351 #: go/gofrontend/types.cc:2544 go/gofrontend/types.cc:2557
1352 #: go/gofrontend/types.cc:2572
1353+#, fuzzy
1354 msgid "different number of results"
1355-msgstr ""
1356+msgstr "无效的版本号‘%s’"
1357
1358 #: go/gofrontend/types.cc:2565
1359+#, fuzzy
1360 msgid "different result types"
1361-msgstr ""
1362+msgstr "与%q+D类型冲突"
1363
1364 #: go/gofrontend/types.cc:3546
1365 #, c-format
1366 msgid "implicit assignment of %s%s%s hidden field %s%s%s"
1367-msgstr ""
1368+msgstr "对%s%s%s的隐式赋值隐藏了字段%s%s%s"
1369
1370 #: go/gofrontend/types.cc:4386
1371 msgid "bad length when making slice"
1372-msgstr ""
1373+msgstr "生成切片时长度错误"
1374
1375 #: go/gofrontend/types.cc:4392
1376 msgid "bad capacity when making slice"
1377-msgstr ""
1378+msgstr "生成切片时容量错误"
1379
1380 #: go/gofrontend/types.cc:5090
1381 msgid "bad size when making map"
1382-msgstr ""
1383+msgstr "生成映射时大小错误"
1384
1385 #: go/gofrontend/types.cc:5375
1386 msgid "bad buffer size when making channel"
1387@@ -11588,12 +11531,12 @@ msgstr ""
1388 #: go/gofrontend/types.cc:5870
1389 #, c-format
1390 msgid "need explicit conversion; missing method %s%s%s"
1391-msgstr ""
1392+msgstr "需要显式转换;缺少方法%s%s%s"
1393
1394 #: go/gofrontend/types.cc:5887 go/gofrontend/types.cc:6022
1395-#, fuzzy, c-format
1396+#, c-format
1397 msgid "incompatible type for method %s%s%s"
1398-msgstr "%2$qE的第 %1$d 个实参类型不兼容"
1399+msgstr "方法%s%s%s类型不兼容"
1400
1401 #: go/gofrontend/types.cc:5891 go/gofrontend/types.cc:6026
1402 #, fuzzy, c-format
1403@@ -11605,24 +11548,23 @@ msgid "pointer to interface type has no methods"
1404 msgstr ""
1405
1406 #: go/gofrontend/types.cc:5965 go/gofrontend/types.cc:5978
1407-#, fuzzy
1408 msgid "type has no methods"
1409-msgstr "词法分析方法时出错"
1410+msgstr "类型没有方法"
1411
1412 #: go/gofrontend/types.cc:5999
1413-#, fuzzy, c-format
1414+#, c-format
1415 msgid "ambiguous method %s%s%s"
1416-msgstr "有歧义的缩写 %s"
1417+msgstr "有歧义的方法%s%s%s"
1418
1419 #: go/gofrontend/types.cc:6002
1420-#, fuzzy, c-format
1421+#, c-format
1422 msgid "missing method %s%s%s"
1423-msgstr "“%s”缺少实参"
1424+msgstr "缺少方法%s%s%s"
1425
1426 #: go/gofrontend/types.cc:6042
1427 #, c-format
1428 msgid "method %s%s%s requires a pointer"
1429-msgstr ""
1430+msgstr "方法%s%s%s需要一个指针"
1431
1432 #. Warn about and ignore all others for now, but store them.
1433 #: attribs.c:306 objc/objc-act.c:4799 objc/objc-act.c:6692
1434@@ -12349,9 +12291,9 @@ msgid "uninitialized const member in %qT is invalid in C++"
1435 msgstr "未初始化的常量%qD在C++中是无效的"
1436
1437 #: c-decl.c:4141 cp/init.c:1919 cp/init.c:1934
1438-#, fuzzy, gcc-internal-format
1439+#, gcc-internal-format
1440 msgid "%qD should be initialized"
1441-msgstr "%q+D将在"
1442+msgstr "%qD应当被赋值"
1443
1444 #: c-decl.c:4219
1445 #, gcc-internal-format
1446@@ -12941,14 +12883,14 @@ msgid "declaration does not declare anything"
1447 msgstr "没有声明任何东西"
1448
1449 #: c-decl.c:6694
1450-#, fuzzy, gcc-internal-format
1451+#, gcc-internal-format
1452 msgid "ISO C99 doesn%'t support unnamed structs/unions"
1453-msgstr "ISO C 不支持无名结构/联合"
1454+msgstr "ISO C99 不支持无名结构/联合"
1455
1456 #: c-decl.c:6697
1457-#, fuzzy, gcc-internal-format
1458+#, gcc-internal-format
1459 msgid "ISO C90 doesn%'t support unnamed structs/unions"
1460-msgstr "ISO C 不支持无名结构/联合"
1461+msgstr "ISO C90 不支持无名结构/联合"
1462
1463 #: c-decl.c:6789 c-decl.c:6808 c-decl.c:6867 objcp/objcp-decl.c:91
1464 #, gcc-internal-format
1465@@ -13260,14 +13202,14 @@ msgid "ISO C does not support saturating types"
1466 msgstr "ISO C 不支持饱和类型"
1467
1468 #: c-decl.c:9060
1469-#, fuzzy, gcc-internal-format
1470+#, gcc-internal-format
1471 msgid "%<__int128%> is not supported for this target"
1472-msgstr "定点类型在此目标机上不受支持"
1473+msgstr "%<__int128%>在此目标机上不受支持"
1474
1475 #: c-decl.c:9065
1476-#, fuzzy, gcc-internal-format
1477+#, gcc-internal-format
1478 msgid "ISO C does not support %<__int128%> type"
1479-msgstr "ISO C 不支持定点类型"
1480+msgstr "ISO C90 不支持%<__int128%>类型"
1481
1482 #: c-decl.c:9268
1483 #, gcc-internal-format
1484@@ -13370,9 +13312,9 @@ msgid "ISO C does not allow extra %<;%> outside of a function"
1485 msgstr "ISO C 不支持在函数外使用多余的%<;%>"
1486
1487 #: c-parser.c:1435 c-parser.c:2000 c-parser.c:3213
1488-#, fuzzy, gcc-internal-format
1489+#, gcc-internal-format
1490 msgid "unknown type name %qE"
1491-msgstr "未知的寄存器名:%s"
1492+msgstr "未知的类型名%qE"
1493
1494 #: c-parser.c:1455 c-parser.c:8230 cp/parser.c:25250
1495 #, gcc-internal-format
1496@@ -13397,7 +13339,7 @@ msgstr "属性在模板实例化上被忽略"
1497 #: c-parser.c:1554
1498 #, fuzzy, gcc-internal-format
1499 msgid "unexpected attribute"
1500-msgstr "需要属性位名"
1501+msgstr "属性声明"
1502
1503 #: c-parser.c:1596
1504 #, gcc-internal-format
1505@@ -13423,14 +13365,14 @@ msgid "ISO C forbids nested functions"
1506 msgstr "ISO C 不允许嵌套函数"
1507
1508 #: c-parser.c:1793
1509-#, fuzzy, gcc-internal-format
1510+#, gcc-internal-format
1511 msgid "ISO C99 does not support %<_Static_assert%>"
1512-msgstr "ISO C90 不支持%<long long%>"
1513+msgstr "ISO C90 不支持%<_Static_assert%>"
1514
1515 #: c-parser.c:1796
1516-#, fuzzy, gcc-internal-format
1517+#, gcc-internal-format
1518 msgid "ISO C90 does not support %<_Static_assert%>"
1519-msgstr "ISO C90 不支持%<long long%>"
1520+msgstr "ISO C90 不支持%<_Static_assert%>"
1521
1522 #: c-parser.c:1821 c-parser.c:3278 c-parser.c:8285 cp/parser.c:25137
1523 #, gcc-internal-format
1524@@ -13440,7 +13382,7 @@ msgstr "需要字面字符串"
1525 #: c-parser.c:1829
1526 #, fuzzy, gcc-internal-format
1527 msgid "expression in static assertion is not an integer"
1528-msgstr "数组下标不是一个整数"
1529+msgstr "初始值设定中数组索引不是整型常量表达式"
1530
1531 #: c-parser.c:1836
1532 #, fuzzy, gcc-internal-format
1533@@ -13450,7 +13392,7 @@ msgstr "初始值设定中数组索引不是整型常量表达式"
1534 #: c-parser.c:1841
1535 #, fuzzy, gcc-internal-format
1536 msgid "expression in static assertion is not constant"
1537-msgstr "整型表达式%qE不是常量"
1538+msgstr "初始值设定中数组索引不是整型常量表达式"
1539
1540 #. Report the error.
1541 #: c-parser.c:1846 cp/semantics.c:4681
1542@@ -13743,17 +13685,17 @@ msgstr "为%qs指定了存储类"
1543 #: c-parser.c:7943 c-parser.c:8000 cp/parser.c:23193
1544 #, fuzzy, gcc-internal-format
1545 msgid "unknown property attribute"
1546-msgstr "<未知的运算符>"
1547+msgstr "attribute(target(\"%s\"))未知"
1548
1549 #: c-parser.c:7964 cp/parser.c:23157
1550 #, fuzzy, gcc-internal-format
1551 msgid "missing %<=%> (after %<getter%> attribute)"
1552-msgstr "%<#pragma pack%>后缺少%<(%>,忽略"
1553+msgstr "%qs后断言"
1554
1555 #: c-parser.c:7967 cp/parser.c:23160
1556 #, fuzzy, gcc-internal-format
1557 msgid "missing %<=%> (after %<setter%> attribute)"
1558-msgstr "%<#pragma pack%>后缺少%<(%>,忽略"
1559+msgstr "%qs后断言"
1560
1561 #: c-parser.c:7981 cp/parser.c:23174
1562 #, fuzzy, gcc-internal-format
1563@@ -13763,7 +13705,7 @@ msgstr "不能为函数指定地址区域属性"
1564 #: c-parser.c:7986 cp/parser.c:23179
1565 #, gcc-internal-format
1566 msgid "setter name must terminate with %<:%>"
1567-msgstr ""
1568+msgstr "setter 的名字必须以%<:%>结尾"
1569
1570 #: c-parser.c:7993 cp/parser.c:23186
1571 #, fuzzy, gcc-internal-format
1572@@ -14017,9 +13959,9 @@ msgid "subscripted value is pointer to function"
1573 msgstr "下标运算的左操作数是函数指针"
1574
1575 #: c-typeck.c:2350
1576-#, fuzzy, gcc-internal-format
1577+#, gcc-internal-format
1578 msgid "index value is out of bound"
1579-msgstr "%2$L处第 %1$d 维下标越界"
1580+msgstr "索引值越界"
1581
1582 #: c-typeck.c:2394
1583 #, gcc-internal-format
1584@@ -14057,7 +13999,7 @@ msgstr "调用了有限定 void 返回类型的函数"
1585 #: c-typeck.c:2930
1586 #, fuzzy, gcc-internal-format
1587 msgid "too many arguments to method %qE"
1588-msgstr "%qE实参太多"
1589+msgstr "提供给函数%qE的实参太多"
1590
1591 #: c-typeck.c:2933 c-family/c-common.c:8039
1592 #, gcc-internal-format
1593@@ -14162,7 +14104,7 @@ msgstr "函数指针不能相减"
1594 #: c-typeck.c:3488
1595 #, gcc-internal-format
1596 msgid "ISO C does not support %<~%> for complex conjugation"
1597-msgstr "ISO C 不支持用 %<~%> 求共轭复数"
1598+msgstr "ISO C 不支持用%<~%>求共轭复数"
1599
1600 #: c-typeck.c:3527
1601 #, gcc-internal-format
1602@@ -15267,17 +15209,17 @@ msgstr "循环 %d 的头并非只有 2 个入口"
1603 #: cfgloop.c:1370
1604 #, fuzzy, gcc-internal-format
1605 msgid "loop %d%'s latch does not have exactly 1 successor"
1606-msgstr "循环 %d 的回边并非只有一个后继"
1607+msgstr "循环 %d 的锁存并非只有一个后继"
1608
1609 #: cfgloop.c:1375
1610 #, fuzzy, gcc-internal-format
1611 msgid "loop %d%'s latch does not have header as successor"
1612-msgstr "循环 %d 的回边的后继不是头"
1613+msgstr "循环 %d 的锁存的后继不是头"
1614
1615 #: cfgloop.c:1380
1616 #, fuzzy, gcc-internal-format
1617 msgid "loop %d%'s latch does not belong directly to it"
1618-msgstr "循环 %d 的回边并非直接属于该循环"
1619+msgstr "循环 %d 的锁存并非直接属于该循环"
1620
1621 #: cfgloop.c:1386
1622 #, fuzzy, gcc-internal-format
1623@@ -15287,7 +15229,7 @@ msgstr "循环 %d 的头并非直接属于该循环 "
1624 #: cfgloop.c:1392
1625 #, fuzzy, gcc-internal-format
1626 msgid "loop %d%'s latch is marked as part of irreducible region"
1627-msgstr "循环 %d 的回边被标记为属于一个不可归约区域"
1628+msgstr "循环 %d 的锁存被标记为属于一个不可归约区域"
1629
1630 #: cfgloop.c:1425
1631 #, gcc-internal-format, gfc-internal-format
1632@@ -15327,12 +15269,12 @@ msgstr "循环 %d 退出列表非空,但是退出未被记录"
1633 #: cfgloop.c:1514
1634 #, fuzzy, gcc-internal-format, gfc-internal-format
1635 msgid "exit %d->%d not recorded"
1636-msgstr "退出 %d->%d 未被记录"
1637+msgstr "退出 %d->%d 不记录"
1638
1639 #: cfgloop.c:1532
1640 #, fuzzy, gcc-internal-format, gfc-internal-format
1641 msgid "wrong list of exited loops for edge %d->%d"
1642-msgstr "边 %d->%d 已退出的循环列表错误"
1643+msgstr " 边缘 %d->%d 的错误退出的循环列表"
1644
1645 #: cfgloop.c:1541
1646 #, fuzzy, gcc-internal-format
1647@@ -15515,7 +15457,7 @@ msgid "aux field set for edge %s->%s"
1648 msgstr "为边 %s->%s 设定辅助域"
1649
1650 #: cgraphunit.c:478
1651-#, fuzzy, gcc-internal-format
1652+#, gcc-internal-format
1653 msgid "execution count is negative"
1654 msgstr "执行次数为负"
1655
1656@@ -15530,7 +15472,7 @@ msgid "inline clone with address taken"
1657 msgstr "内联已被取地址的克隆"
1658
1659 #: cgraphunit.c:493
1660-#, fuzzy, gcc-internal-format
1661+#, gcc-internal-format
1662 msgid "inline clone is needed"
1663 msgstr "需要内联克隆"
1664
1665@@ -15732,7 +15674,7 @@ msgstr "转换为不完全类型"
1666 #: convert.c:852 convert.c:928
1667 #, fuzzy, gcc-internal-format
1668 msgid "can%'t convert between vector values of different size"
1669-msgstr "不能在不同大小的向量类型间进行转换"
1670+msgstr "不能在不同大小的矢量类型间进行转换"
1671
1672 #: convert.c:858
1673 #, gcc-internal-format
1674@@ -15750,7 +15692,7 @@ msgid "aggregate value used where a complex was expected"
1675 msgstr "需要复数时使用了聚合值"
1676
1677 #: convert.c:934
1678-#, fuzzy, gcc-internal-format
1679+#, gcc-internal-format
1680 msgid "can%'t convert value to a vector"
1681 msgstr "不能将值转换为向量"
1682
1683@@ -15807,7 +15749,7 @@ msgstr "读取计数%2$qs时函数%1$qE的代码覆盖不匹配"
1684 #: coverage.c:378
1685 #, fuzzy, gcc-internal-format
1686 msgid "coverage mismatch ignored"
1687-msgstr "由于 -Wcoverage-mismatch 忽略覆盖率不匹配"
1688+msgstr "%qE属性被忽略"
1689
1690 #: coverage.c:380
1691 #, gcc-internal-format
1692@@ -15847,7 +15789,7 @@ msgstr "输入文件太多"
1693 #: dbgcnt.c:135
1694 #, fuzzy, gcc-internal-format
1695 msgid "cannot find a valid counter:value pair:"
1696-msgstr "不能找到一个有效的计数器:值对:"
1697+msgstr "不能找到一个有效的 计数器:值 对:"
1698
1699 #: dbgcnt.c:136
1700 #, gcc-internal-format, gfc-internal-format
1701@@ -16167,7 +16109,7 @@ msgstr "不支持 -pipe"
1702 #: gcc.c:2617
1703 #, fuzzy, gcc-internal-format
1704 msgid "pex_init failed: %m"
1705-msgstr "pex_init 失败:%s"
1706+msgstr "pex_init 失败"
1707
1708 #: gcc.c:2656
1709 #, fuzzy, gcc-internal-format
1710@@ -16180,14 +16122,14 @@ msgid "failed to get process times: %m"
1711 msgstr "无法获取进程时间"
1712
1713 #: gcc.c:2688
1714-#, fuzzy, gcc-internal-format, gfc-internal-format
1715+#, gcc-internal-format, gfc-internal-format
1716 msgid "%s (program %s)"
1717-msgstr "程序:%s\n"
1718+msgstr "%s(程序 %s)"
1719
1720 #: gcc.c:3097 opts-common.c:958 opts-common.c:1030
1721 #, fuzzy, gcc-internal-format
1722 msgid "unrecognized command line option %qs"
1723-msgstr "无法识别的命令行选项“%s”"
1724+msgstr "命令行选项文件“%s”不存在"
1725
1726 #: gcc.c:3358
1727 #, fuzzy, gcc-internal-format
1728@@ -16237,22 +16179,22 @@ msgstr "无法关闭临时响应文件 %s"
1729 #: gcc.c:4501
1730 #, fuzzy, gcc-internal-format
1731 msgid "spec %qs invalid"
1732-msgstr "spec‘%s’无效"
1733+msgstr "无效的参数%qs"
1734
1735 #: gcc.c:4650
1736 #, fuzzy, gcc-internal-format
1737 msgid "spec %qs has invalid %<%%0%c%>"
1738-msgstr "spec‘%s’有无效的‘%%0%c’"
1739+msgstr "位段%qs类型无效"
1740
1741 #: gcc.c:4961
1742 #, fuzzy, gcc-internal-format
1743 msgid "spec %qs has invalid %<%%W%c%>"
1744-msgstr "spec‘%s’有无效的‘%%W%c’"
1745+msgstr "位段%qs类型无效"
1746
1747 #: gcc.c:4983
1748 #, fuzzy, gcc-internal-format
1749 msgid "spec %qs has invalid %<%%x%c%>"
1750-msgstr "spec‘%s’有无效的‘%%x%c’"
1751+msgstr "位段%qs类型无效"
1752
1753 #. Catch the case where a spec string contains something like
1754 #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
1755@@ -16275,7 +16217,7 @@ msgstr "spec 错误:无法识别的 spec 选项‘%c’"
1756 #: gcc.c:5321
1757 #, fuzzy, gcc-internal-format
1758 msgid "unknown spec function %qs"
1759-msgstr "未知的 spec 函数‘%s’"
1760+msgstr "在成员函数%qs中"
1761
1762 #: gcc.c:5339
1763 #, fuzzy, gcc-internal-format
1764@@ -16329,9 +16271,9 @@ msgid "%s: -fcompare-debug failure"
1765 msgstr "%s:-fcompare-debug 失败"
1766
1767 #: gcc.c:6144
1768-#, fuzzy, gcc-internal-format
1769+#, gcc-internal-format
1770 msgid "atexit failed"
1771-msgstr "pex_init 失败"
1772+msgstr "atexit 失败"
1773
1774 #: gcc.c:6323
1775 #, gcc-internal-format
1776@@ -16386,9 +16328,9 @@ msgid "comparing final insns dumps"
1777 msgstr "比较最终指令转储"
1778
1779 #: gcc.c:6844
1780-#, fuzzy, gcc-internal-format
1781+#, gcc-internal-format
1782 msgid "-fuse-linker-plugin, but "
1783-msgstr "使用了 -fuse-linker-plugin 但找不到 liblto_plugin.so"
1784+msgstr "使用了 -fuse-linker-plugin,但"
1785
1786 #: gcc.c:6873
1787 #, gcc-internal-format, gfc-internal-format
1788@@ -16401,39 +16343,39 @@ msgid "language %s not recognized"
1789 msgstr "语言 %s 未能被识别"
1790
1791 #: gcc.c:6985
1792-#, fuzzy, gcc-internal-format
1793+#, gcc-internal-format
1794 msgid "%s: %m"
1795-msgstr "%s:%s"
1796+msgstr "%s:%m"
1797
1798 #: gcc.c:7140
1799 #, fuzzy, gcc-internal-format
1800 msgid "multilib spec %qs is invalid"
1801-msgstr "multilib spec‘%s’无效"
1802+msgstr "花括号中的 spec‘%s’在‘%c’中无效"
1803
1804 #: gcc.c:7332
1805 #, fuzzy, gcc-internal-format
1806 msgid "multilib exclusions %qs is invalid"
1807-msgstr "multilib 排除‘%s’无效"
1808+msgstr "C++ 不允许在%qs表达式中定义类型"
1809
1810 #: gcc.c:7390 gcc.c:7531
1811 #, fuzzy, gcc-internal-format
1812 msgid "multilib select %qs is invalid"
1813-msgstr "multilib 选择‘%s’无效"
1814+msgstr "C++ 不允许在%qs表达式中定义类型"
1815
1816 #: gcc.c:7569
1817 #, fuzzy, gcc-internal-format
1818 msgid "multilib exclusion %qs is invalid"
1819-msgstr "multilib 排除‘%s’无效"
1820+msgstr "C++ 不允许在%qs表达式中定义类型"
1821
1822 #: gcc.c:7775
1823 #, fuzzy, gcc-internal-format
1824 msgid "environment variable %qs not defined"
1825-msgstr "没有定义“%s”环境变量"
1826+msgstr "没有定义 DJGPP 环境变量"
1827
1828 #: gcc.c:7887 gcc.c:7892
1829 #, fuzzy, gcc-internal-format
1830 msgid "invalid version number %qs"
1831-msgstr "无效的版本号‘%s’"
1832+msgstr "%qs的版本是%q.*s,需要的版本%q.*s"
1833
1834 #: gcc.c:7935
1835 #, gcc-internal-format, gfc-internal-format
1836@@ -16488,23 +16430,23 @@ msgstr "%s:%d 个基本块和 %d 个寄存器"
1837 #: ggc-common.c:467 ggc-common.c:475 ggc-common.c:549 ggc-common.c:568
1838 #: ggc-page.c:2170 ggc-page.c:2201 ggc-page.c:2208 ggc-zone.c:2420
1839 #: ggc-zone.c:2431 ggc-zone.c:2435
1840-#, fuzzy, gcc-internal-format
1841+#, gcc-internal-format
1842 msgid "can%'t write PCH file: %m"
1843 msgstr "无法写入 PCH 文件:%m"
1844
1845 #: ggc-common.c:561 config/i386/host-cygwin.c:55
1846-#, fuzzy, gcc-internal-format
1847+#, gcc-internal-format
1848 msgid "can%'t get position in PCH file: %m"
1849 msgstr "不能在 PCH 文件中找到位置:%m"
1850
1851 #: ggc-common.c:571
1852-#, fuzzy, gcc-internal-format
1853+#, gcc-internal-format
1854 msgid "can%'t write padding to PCH file: %m"
1855 msgstr "不能向 PCH 文件写入填补:%m"
1856
1857 #: ggc-common.c:626 ggc-common.c:634 ggc-common.c:641 ggc-common.c:644
1858 #: ggc-common.c:654 ggc-common.c:657 ggc-page.c:2298 ggc-zone.c:2454
1859-#, fuzzy, gcc-internal-format
1860+#, gcc-internal-format
1861 msgid "can%'t read PCH file: %m"
1862 msgstr "无法读取 PCH 文件:%m"
1863
1864@@ -16519,12 +16461,12 @@ msgid "open /dev/zero: %m"
1865 msgstr "打开 /dev/zero:%m"
1866
1867 #: ggc-page.c:2186 ggc-page.c:2192
1868-#, fuzzy, gcc-internal-format
1869+#, gcc-internal-format
1870 msgid "can%'t write PCH file"
1871 msgstr "无法写入 PCH 文件"
1872
1873 #: ggc-zone.c:2417 ggc-zone.c:2428
1874-#, fuzzy, gcc-internal-format
1875+#, gcc-internal-format
1876 msgid "can%'t seek PCH file: %m"
1877 msgstr "无法在 PCH 文件中定位:%m"
1878
1879@@ -16601,18 +16543,18 @@ msgstr "gimplification 失败"
1880 #: godump.c:1040
1881 #, fuzzy, gcc-internal-format
1882 msgid "could not close Go dump file: %m"
1883-msgstr "无法打开转储文件%qs:%s"
1884+msgstr "无法打开用零填充的指令转储文件%qs:%s"
1885
1886 #: godump.c:1052
1887 #, fuzzy, gcc-internal-format
1888 msgid "could not open Go dump file %qs: %m"
1889-msgstr "无法打开转储文件%qs:%s"
1890+msgstr "无法打开最终指令转储文件%qs:%s"
1891
1892 #: graph.c:411 toplev.c:1517 java/jcf-parse.c:1751 java/jcf-parse.c:1890
1893 #: objc/objc-act.c:477
1894 #, gcc-internal-format
1895 msgid "can%'t open %s: %m"
1896-msgstr "无法打开%s:%m"
1897+msgstr "无法打开 %s:%m"
1898
1899 #: graphite-clast-to-gimple.c:1228 graphite-poly.c:691 toplev.c:928
1900 #: toplev.c:1115
1901@@ -16626,9 +16568,9 @@ msgid "the file is not in OpenScop format"
1902 msgstr "printf 格式的字段宽度"
1903
1904 #: graphite-poly.c:604
1905-#, fuzzy, gcc-internal-format
1906+#, gcc-internal-format
1907 msgid "the language is not recognized"
1908-msgstr "语言 %s 未能被识别"
1909+msgstr "语言不可识别"
1910
1911 #: graphite-poly.c:615
1912 #, gcc-internal-format
1913@@ -16694,9 +16636,9 @@ msgid "At most %i profile runs is supported. Perhaps corrupted profile?"
1914 msgstr ""
1915
1916 #: lto-cgraph.c:1514
1917-#, gcc-internal-format, gfc-internal-format
1918+#, fuzzy, gcc-internal-format, gfc-internal-format
1919 msgid "Profile information in %s corrupted"
1920-msgstr ""
1921+msgstr "%s 的存储信息很诡异"
1922
1923 #: lto-cgraph.c:1549
1924 #, fuzzy, gcc-internal-format, gfc-internal-format
1925@@ -16759,7 +16701,7 @@ msgstr ""
1926 #: lto-streamer-in.c:992
1927 #, fuzzy, gcc-internal-format
1928 msgid "original type declared here"
1929-msgstr "原先在这里定义"
1930+msgstr "%qD 在此声明"
1931
1932 #: lto-streamer-in.c:994
1933 #, gcc-internal-format
1934@@ -16769,12 +16711,12 @@ msgstr ""
1935 #: lto-streamer-in.c:1000
1936 #, fuzzy, gcc-internal-format
1937 msgid "type of field declared here"
1938-msgstr "以前在此声明过"
1939+msgstr "字段%q+D无效地声明为函数类型"
1940
1941 #: lto-streamer-in.c:1007
1942 #, fuzzy, gcc-internal-format
1943 msgid "type of mismatching field declared here"
1944-msgstr "间接引用类型不匹配"
1945+msgstr "字段%q+D无效地声明为函数类型"
1946
1947 #: lto-streamer-in.c:1028
1948 #, gcc-internal-format, gfc-internal-format
1949@@ -16918,9 +16860,9 @@ msgid "command line option %qs is not supported by this configuration"
1950 msgstr "此配置不支持命令行选项%qs"
1951
1952 #: opts-common.c:979
1953-#, fuzzy, gcc-internal-format
1954+#, gcc-internal-format
1955 msgid "missing argument to %qs"
1956-msgstr "“%s”缺少实参"
1957+msgstr "%qs缺少参数"
1958
1959 #: opts-common.c:985 opts.c:547
1960 #, fuzzy, gcc-internal-format
1961@@ -16930,12 +16872,12 @@ msgstr "“%s”的实参应该是一个非负整数"
1962 #: opts-common.c:1000
1963 #, fuzzy, gcc-internal-format
1964 msgid "unrecognized argument in option %qs"
1965-msgstr "无法识别的命令行选项“%s”"
1966+msgstr "对 -mcpu= 选项的不可识别参数“%s”"
1967
1968 #: opts-common.c:1016
1969 #, fuzzy, gcc-internal-format
1970 msgid "valid arguments to %qs are: %s"
1971-msgstr "属性%qs的参数无效"
1972+msgstr "析构函数不能有参数"
1973
1974 #: opts-global.c:102
1975 #, fuzzy, gcc-internal-format
1976@@ -16956,7 +16898,7 @@ msgstr "无法识别的命令行选项“%s”"
1977 #: opts-global.c:375
1978 #, fuzzy, gcc-internal-format
1979 msgid "unrecognized command line option %<-fdump-%s%>"
1980-msgstr "无法识别的命令行选项“%s”"
1981+msgstr "命令行选项文件“%s”不存在"
1982
1983 #: opts-global.c:387 opts-global.c:395
1984 #, fuzzy, gcc-internal-format
1985@@ -16966,7 +16908,7 @@ msgstr "插件支持被禁用。配置时需带 -enable-plugin。"
1986 #: opts-global.c:419
1987 #, fuzzy, gcc-internal-format
1988 msgid "unrecognized register name %qs"
1989-msgstr "无法识别的寄存器名“%s”"
1990+msgstr "%<asm%>中出现未知的寄存器名%qs"
1991
1992 #: opts.c:86
1993 #, gcc-internal-format
1994@@ -16981,17 +16923,17 @@ msgstr "%<-femit-struct-debug-detailed%>的参数%qs未知"
1995 #: opts.c:129
1996 #, gcc-internal-format
1997 msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
1998-msgstr "%<-femit-struct-debug-detailed=dir:...%> 必须至少允许 %<-femit-struct-debug-detailed=ind:...%> 所允许的"
1999+msgstr "%<-femit-struct-debug-detailed=dir:...%>必须至少允许%<-femit-struct-debug-detailed=ind:...%>所允许的"
2000
2001 #: opts.c:661
2002 #, fuzzy, gcc-internal-format
2003 msgid "section anchors must be disabled when unit-at-a-time is disabled"
2004-msgstr "当 unit-at-a-time 被禁用时节中锚点也必须被禁用。"
2005+msgstr "当 unit-at-a-time 被禁止时节锚必须被禁止。"
2006
2007 #: opts.c:665
2008 #, fuzzy, gcc-internal-format
2009 msgid "toplevel reorder must be disabled when unit-at-a-time is disabled"
2010-msgstr "unit-at-a-time 被禁用时文件作用域重排序也必须被禁用"
2011+msgstr "当unit-at-a-time 被禁止时顶层重新排序必须禁止。"
2012
2013 #: opts.c:687
2014 #, gcc-internal-format
2015@@ -17034,9 +16976,9 @@ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
2016 msgstr "传递给 print_specific_help 的 include_flags 0x%x 不可识别"
2017
2018 #: opts.c:1363
2019-#, fuzzy, gcc-internal-format
2020+#, gcc-internal-format
2021 msgid "--help argument %q.*s is ambiguous, please be more specific"
2022-msgstr "警告:--help 的参数 %.*s 有歧义,请改用更加明确的参数\n"
2023+msgstr "--help 的参数%q.*s有歧义,请改用更加明确的参数"
2024
2025 #: opts.c:1372
2026 #, fuzzy, gcc-internal-format
2027@@ -17155,7 +17097,7 @@ msgid "inacessible plugin file %s expanded from short plugin name %s: %m"
2028 msgstr ""
2029
2030 #: plugin.c:173
2031-#, fuzzy, gcc-internal-format, gfc-internal-format
2032+#, gcc-internal-format, gfc-internal-format
2033 msgid ""
2034 "plugin %s was specified with different paths:\n"
2035 "%s\n"
2036@@ -17191,7 +17133,7 @@ msgid "plugin %s registered a null callback function for event %s"
2037 msgstr "插件 %s 为事件 %s 注册了一个空的回调函数"
2038
2039 #: plugin.c:565
2040-#, fuzzy, gcc-internal-format, gfc-internal-format
2041+#, gcc-internal-format, gfc-internal-format
2042 msgid ""
2043 "cannot load plugin %s\n"
2044 "%s"
2045@@ -17209,7 +17151,7 @@ msgstr ""
2046 "%s"
2047
2048 #: plugin.c:583
2049-#, fuzzy, gcc-internal-format, gfc-internal-format
2050+#, gcc-internal-format, gfc-internal-format
2051 msgid ""
2052 "cannot find %s in plugin %s\n"
2053 "%s"
2054@@ -17218,14 +17160,14 @@ msgstr ""
2055 "%3$s"
2056
2057 #: plugin.c:591
2058-#, fuzzy, gcc-internal-format, gfc-internal-format
2059+#, gcc-internal-format, gfc-internal-format
2060 msgid "fail to initialize plugin %s"
2061 msgstr "无法初始化插件 %s"
2062
2063 #: plugin.c:872
2064 #, gcc-internal-format
2065 msgid "-iplugindir <dir> option not passed from the gcc driver"
2066-msgstr ""
2067+msgstr "-iplugindir <目录>选项未被传递给 gcc 驱动程序"
2068
2069 #: profile.c:417
2070 #, fuzzy, gcc-internal-format
2071@@ -17313,19 +17255,19 @@ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
2072 msgstr "validate_value_data:[%u] 链(%s %u %i)中的非空 reg"
2073
2074 #: reginfo.c:779
2075-#, fuzzy, gcc-internal-format
2076+#, gcc-internal-format
2077 msgid "can%'t use %qs as a call-saved register"
2078-msgstr "无法将‘%s’用作 %s 寄存器"
2079+msgstr "无法将%qs用作调用者保存寄存器"
2080
2081 #: reginfo.c:783
2082-#, fuzzy, gcc-internal-format
2083+#, gcc-internal-format
2084 msgid "can%'t use %qs as a call-used register"
2085-msgstr "无法将‘%s’用作 %s 寄存器"
2086+msgstr "无法将%qs用作调用者使用寄存器"
2087
2088 #: reginfo.c:795
2089-#, fuzzy, gcc-internal-format
2090+#, gcc-internal-format
2091 msgid "can%'t use %qs as a fixed register"
2092-msgstr "无法将‘%s’用作 %s 寄存器"
2093+msgstr "无法将%qs用作调用者固定寄存器"
2094
2095 #: reginfo.c:821 config/ia64/ia64.c:5622 config/ia64/ia64.c:5629
2096 #: config/pa/pa.c:440 config/pa/pa.c:447 config/sh/sh.c:8868
2097@@ -17337,7 +17279,7 @@ msgstr "未知的寄存器名:%s"
2098 #: reginfo.c:832
2099 #, fuzzy, gcc-internal-format
2100 msgid "stack register used for global register variable"
2101-msgstr "寄存器用作两个全局寄存器变量"
2102+msgstr "调用篡改寄存器用作全局寄存器变量"
2103
2104 #: reginfo.c:838
2105 #, gcc-internal-format
2106@@ -17612,7 +17554,7 @@ msgstr "填补结构以对齐%q+D"
2107 #: stor-layout.c:1250
2108 #, fuzzy, gcc-internal-format
2109 msgid "offset of packed bit-field %qD has changed in GCC 4.4"
2110-msgstr "紧实的位字段%qD的偏移在 GCC 4.4中已经有改变"
2111+msgstr "包装的位字段 %qD 的偏移在 GCC 4.4中已经有改变"
2112
2113 #: stor-layout.c:1556
2114 #, gcc-internal-format
2115@@ -17830,9 +17772,9 @@ msgid "SSA name in freelist but still referenced"
2116 msgstr "SSA 名在 freelist 中,却仍然被提领"
2117
2118 #: tree-cfg.c:2605 tree-cfg.c:3735
2119-#, gcc-internal-format
2120+#, fuzzy, gcc-internal-format
2121 msgid "INDIRECT_REF in gimple IL"
2122-msgstr ""
2123+msgstr "间接 gimple 调用中有静态调用链"
2124
2125 #: tree-cfg.c:2613
2126 #, fuzzy, gcc-internal-format
2127@@ -17852,7 +17794,7 @@ msgstr "ASSERT_EXPR 具有一个总是假的条件"
2128 #: tree-cfg.c:2638
2129 #, fuzzy, gcc-internal-format
2130 msgid "MODIFY_EXPR not expected while having tuples"
2131-msgstr "当有元组的时候不应有 MODIFY_EXPR。"
2132+msgstr "当有元组的时候不期望 MODIFY_EXPR。"
2133
2134 #: tree-cfg.c:2665 tree-ssa.c:830
2135 #, gcc-internal-format
2136@@ -18162,7 +18104,7 @@ msgstr "gimple 内存存储中右操作数无效"
2137 #: tree-cfg.c:3792
2138 #, fuzzy, gcc-internal-format
2139 msgid "invalid COND_EXPR in gimple assignment"
2140-msgstr "gimple 调用中左操作数无效"
2141+msgstr "在 gimple 条件非法比较代码"
2142
2143 #: tree-cfg.c:3857
2144 #, gcc-internal-format
2145@@ -18185,12 +18127,12 @@ msgid "invalid operand to switch statement"
2146 msgstr "开关语句操作数无效"
2147
2148 #: tree-cfg.c:3930
2149-#, fuzzy, gcc-internal-format
2150+#, gcc-internal-format
2151 msgid "invalid PHI result"
2152 msgstr "无效的 PHI 结果"
2153
2154 #: tree-cfg.c:3942
2155-#, fuzzy, gcc-internal-format
2156+#, gcc-internal-format
2157 msgid "invalid PHI argument"
2158 msgstr "无效的 PHI 实参"
2159
2160@@ -18929,7 +18871,7 @@ msgid "type is deprecated"
2161 msgstr "不建议使用此类型"
2162
2163 #: value-prof.c:375
2164-#, fuzzy, gcc-internal-format
2165+#, gcc-internal-format
2166 msgid "dead histogram"
2167 msgstr "不活跃直方图"
2168
2169@@ -19604,7 +19546,7 @@ msgstr "%q+D既有正常定义又有别名定义"
2170 #: c-family/c-common.c:6716
2171 #, fuzzy, gcc-internal-format
2172 msgid "weak %q+D cannot be defined %qE"
2173-msgstr "%qD不能被默认化"
2174+msgstr "自动变量%qE不能是%<threadprivate%>"
2175
2176 #: c-family/c-common.c:6733
2177 #, fuzzy, gcc-internal-format
2178@@ -19938,7 +19880,7 @@ msgstr "令有名只读返回值%qD自减"
2179 #: c-family/c-common.c:8622
2180 #, fuzzy, gcc-internal-format
2181 msgid "read-only named return value %qD used as %<asm%>output"
2182-msgstr "只读变量%qD被用作%<asm%>的输出"
2183+msgstr "通过‘asm’输出向只读有名返回值%qD赋值"
2184
2185 #: c-family/c-common.c:8627
2186 #, gcc-internal-format
2187@@ -19958,7 +19900,7 @@ msgstr "令函数%qD自减"
2188 #: c-family/c-common.c:8630
2189 #, fuzzy, gcc-internal-format
2190 msgid "function %qD used as %<asm%> output"
2191-msgstr "只读位置%qE用作%<asm%>的输出"
2192+msgstr "只读成员%qD用作%<asm%>的输出"
2193
2194 #: c-family/c-common.c:8636
2195 #, gcc-internal-format
2196@@ -19993,7 +19935,7 @@ msgstr "asm 语句中需要左值"
2197 #: c-family/c-common.c:8679
2198 #, fuzzy, gcc-internal-format
2199 msgid "invalid type argument (have %qT)"
2200-msgstr "%<->%>参数类型无效(有%qT)"
2201+msgstr "%<->%>(有 %qT) 的非法类型参数"
2202
2203 #: c-family/c-common.c:8683
2204 #, gcc-internal-format
2205@@ -20013,7 +19955,7 @@ msgstr "%<->%>参数类型无效(有%qT)"
2206 #: c-family/c-common.c:8698
2207 #, fuzzy, gcc-internal-format
2208 msgid "invalid type argument of implicit conversion (have %qT)"
2209-msgstr "隐式类型转换参数类型无效"
2210+msgstr "到类型%qT的转换无效,从类型%qT"
2211
2212 #: c-family/c-common.c:8829
2213 #, gcc-internal-format
2214@@ -20163,7 +20105,7 @@ msgstr "函数不返回字符串类型"
2215 #: c-family/c-format.c:177
2216 #, fuzzy, gcc-internal-format
2217 msgid "format string argument is not a string type"
2218-msgstr "格式字符串实参不是字符串型"
2219+msgstr "%s 的实参在%L处类型无效"
2220
2221 #: c-family/c-format.c:203
2222 #, gcc-internal-format
2223@@ -20449,7 +20391,7 @@ msgstr "%qs需要一个常量实参"
2224 #: c-family/c-format.c:2530
2225 #, fuzzy, gcc-internal-format
2226 msgid "%s %<%s%.*s%> expects argument of type %<%T%s%>, but argument %d has type %qT"
2227-msgstr "格式%q.*s需要类型%<%T%s%>,但实参 %d 的类型为%qT"
2228+msgstr "格式%q.*s需要类型%<%s%s%>,但实参 %d 的类型为%qT"
2229
2230 #: c-family/c-format.c:2537
2231 #, fuzzy, gcc-internal-format
2232@@ -20535,12 +20477,12 @@ msgstr "程序中有游离的%<\\%o%>"
2233 #: c-family/c-lex.c:586
2234 #, gcc-internal-format
2235 msgid "this decimal constant is unsigned only in ISO C90"
2236-msgstr "这个十进制数常量仅 ISO C90 中是无符号的"
2237+msgstr "这个十进制数常量仅在 ISO C90 中是无符号的"
2238
2239 #: c-family/c-lex.c:590
2240 #, gcc-internal-format
2241 msgid "this decimal constant would be unsigned in ISO C90"
2242-msgstr "这个小数常量在 ISO C90 中将是无符号的"
2243+msgstr "这个十进制数常量在 ISO C90 中将是无符号的"
2244
2245 #: c-family/c-lex.c:610
2246 #, gcc-internal-format
2247@@ -20635,7 +20577,7 @@ msgstr "使用了过时的选项 -I-,请改用 -iquote"
2248 #: c-family/c-opts.c:486
2249 #, gcc-internal-format
2250 msgid "-Werror=normalized=: set -Wnormalized=nfc"
2251-msgstr ""
2252+msgstr "-Werror=normalized=:设置 -Wnormalized=nfc"
2253
2254 #: c-family/c-opts.c:500
2255 #, gcc-internal-format
2256@@ -21056,12 +20998,12 @@ msgstr "%<#pragma %s%>末尾有垃圾"
2257 #: c-family/c-pragma.c:1119
2258 #, gcc-internal-format
2259 msgid "%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported for C++"
2260-msgstr "%<#pragma STDC FLOAT_CONST_DECIMAL64%> 不为 C++ 所支持"
2261+msgstr "%<#pragma STDC FLOAT_CONST_DECIMAL64%>不为 C++ 所支持"
2262
2263 #: c-family/c-pragma.c:1128
2264 #, gcc-internal-format
2265 msgid "%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported on this target"
2266-msgstr "%<#pragma STDC FLOAT_CONST_DECIMAL64%> 在此目标机上不受支持"
2267+msgstr "%<#pragma STDC FLOAT_CONST_DECIMAL64%>在此目标机上不受支持"
2268
2269 #: c-family/c-pragma.c:1134
2270 #, gcc-internal-format
2271@@ -21071,7 +21013,7 @@ msgstr "ISO C 不支持%<#pragma STDC FLOAT_CONST_DECIMAL64%>"
2272 #: c-family/c-semantics.c:167
2273 #, fuzzy, gcc-internal-format, gfc-internal-format
2274 msgid "wrong type argument to %s"
2275-msgstr "不能对该类型的参数求绝对值"
2276+msgstr "不能对该类型的实参求绝对值"
2277
2278 #: config/darwin-c.c:85
2279 #, gcc-internal-format
2280@@ -21190,24 +21132,24 @@ msgid "built-in function %qD takes one argument only"
2281 msgstr "内建函数%q+D未被声明为函数"
2282
2283 #: config/darwin.c:3197
2284-#, fuzzy, gcc-internal-format
2285+#, gcc-internal-format
2286 msgid "CFString literal is missing"
2287-msgstr "‘-Xlinker’缺少参数"
2288+msgstr "缺少 CFString 字面值"
2289
2290 #: config/darwin.c:3208
2291-#, fuzzy, gcc-internal-format
2292+#, gcc-internal-format
2293 msgid "CFString literal expression is not a string constant"
2294-msgstr "整型表达式%qE不是常量"
2295+msgstr "CFString 字面表达式不是一个字符串常量"
2296
2297 #: config/darwin.c:3231
2298-#, fuzzy, gcc-internal-format, gfc-internal-format
2299+#, gcc-internal-format, gfc-internal-format
2300 msgid "%s in CFString literal"
2301-msgstr "%H需要字面字符串"
2302+msgstr "CFString 字面值里有 %s"
2303
2304 #: config/host-darwin.c:61
2305 #, fuzzy, gcc-internal-format
2306 msgid "couldn%'t unmap pch_address_space: %m"
2307-msgstr "无法取消映射 pch_address_space: %m"
2308+msgstr "无法 unmap pch_address_space: %m"
2309
2310 #: config/sol2-c.c:92 config/sol2-c.c:108
2311 #, gcc-internal-format
2312@@ -21399,9 +21341,9 @@ msgid "bad value (%s) for %s switch"
2313 msgstr "开关%2$s的参数%1$s不正确"
2314
2315 #: config/arm/arm.c:1468
2316-#, fuzzy, gcc-internal-format, gfc-internal-format
2317+#, gcc-internal-format, gfc-internal-format
2318 msgid "switch -mcpu=%s conflicts with -march=%s switch"
2319-msgstr "开关 -mcpu=%s 与 -march= 开关冲突"
2320+msgstr "开关 -mcpu=%s 与 -march=%s 冲突"
2321
2322 #: config/arm/arm.c:1593
2323 #, gcc-internal-format, gfc-internal-format
2324@@ -21579,9 +21521,9 @@ msgid "PCS variant"
2325 msgstr "PCS 变动"
2326
2327 #: config/arm/arm.c:4076
2328-#, gcc-internal-format
2329+#, fuzzy, gcc-internal-format
2330 msgid "Thumb-1 hard-float VFP ABI"
2331-msgstr ""
2332+msgstr "-mfloat-abi=hard 和 VFP"
2333
2334 #: config/arm/arm.c:4784 config/arm/arm.c:4802 config/avr/avr.c:4936
2335 #: config/avr/avr.c:4952 config/bfin/bfin.c:5562 config/bfin/bfin.c:5623
2336@@ -21647,12 +21589,12 @@ msgstr "经初始化的变量%q+D被标记为 dllimport"
2337 #: config/avr/avr.c:249
2338 #, fuzzy, gcc-internal-format
2339 msgid "unrecognized argument to -mmcu= option: %qs"
2340-msgstr "-mcpu= 选项参数‘%s’不可识别"
2341+msgstr "警告:--help= 选项的参数不可识别:%.*s\n"
2342
2343 #: config/avr/avr.c:250
2344 #, gcc-internal-format
2345 msgid "See --target-help for supported MCUs"
2346-msgstr ""
2347+msgstr "请使用 --target-help 查看支持的 MCU"
2348
2349 #: config/avr/avr.c:497
2350 #, gcc-internal-format
2351@@ -21836,12 +21778,12 @@ msgid "that particular -g option is invalid with -maout and -melinux"
2352 msgstr "此 -g 选项与 -maout 和 -melinux 并用时无效"
2353
2354 #: config/cris/cris.c:2732
2355-#, fuzzy, gcc-internal-format
2356+#, gcc-internal-format
2357 msgid "unknown src"
2358 msgstr "未知源"
2359
2360 #: config/cris/cris.c:2793
2361-#, fuzzy, gcc-internal-format
2362+#, gcc-internal-format
2363 msgid "unknown dest"
2364 msgstr "未知目标"
2365
2366@@ -21990,7 +21932,7 @@ msgid "-mn is used without -mh or -ms"
2367 msgstr "-mn 未与 -mh 或 -ms 一起使用"
2368
2369 #: config/i386/host-cygwin.c:62
2370-#, fuzzy, gcc-internal-format
2371+#, gcc-internal-format
2372 msgid "can%'t extend PCH file: %m"
2373 msgstr "无法扩展 PCH 文件:%m"
2374
2375@@ -22005,9 +21947,9 @@ msgid "bad value (%s) for %stune=%s %s"
2376 msgstr "%2$stune=%3$s%4$s所带参数(%1$s)不正确"
2377
2378 #: config/i386/i386.c:3517
2379-#, fuzzy, gcc-internal-format, gfc-internal-format
2380+#, gcc-internal-format, gfc-internal-format
2381 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
2382-msgstr "不建议使用%stune=x86-64%s。请视情况改用%stune=k8%s或%stune=generic%s等。"
2383+msgstr "不建议使用%stune=x86-64%s;请视情况改用%stune=k8%s或%stune=generic%s"
2384
2385 #: config/i386/i386.c:3563
2386 #, gcc-internal-format, gfc-internal-format
2387@@ -22115,14 +22057,14 @@ msgid "%srtd%s is ignored in 64bit mode"
2388 msgstr "%srtd%s 在 64 位模式下被忽略"
2389
2390 #: config/i386/i386.c:4038
2391-#, fuzzy, gcc-internal-format, gfc-internal-format
2392+#, gcc-internal-format, gfc-internal-format
2393 msgid "%spreferred-stack-boundary%s is not supported for this target"
2394-msgstr "-fprefetch-loop-arrays 在此目标机上不受支持"
2395+msgstr "%spreferred-stack-boundary%s 在此目标机上不被支持"
2396
2397 #: config/i386/i386.c:4041
2398-#, fuzzy, gcc-internal-format, gfc-internal-format
2399+#, gcc-internal-format, gfc-internal-format
2400 msgid "%spreferred-stack-boundary=%d%s is not between %d and %d"
2401-msgstr "%spreferred-stack-boundary=%d%s 不在 %d 和 12 之间"
2402+msgstr "%spreferred-stack-boundary=%d%s 不在 %d 和 %d 之间"
2403
2404 #: config/i386/i386.c:4061
2405 #, gcc-internal-format, gfc-internal-format
2406@@ -22167,7 +22109,7 @@ msgstr "堆栈探针目前需要框架指针或 %saccumulate-outgoing-args%s 来
2407 #: config/i386/i386.c:4247
2408 #, gcc-internal-format
2409 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
2410-msgstr ""
2411+msgstr "-mfentry 在 32 位下不能和 -pic 同时使用"
2412
2413 #: config/i386/i386.c:4254
2414 #, fuzzy, gcc-internal-format
2415@@ -22192,7 +22134,7 @@ msgstr "fastcall 和 regparm 属性互不兼容"
2416 #: config/i386/i386.c:5309
2417 #, fuzzy, gcc-internal-format
2418 msgid "regparam and thiscall attributes are not compatible"
2419-msgstr "fastcall 和 stdcall 属性互不兼容"
2420+msgstr "fastcall 和 regparm 属性互不兼容"
2421
2422 #: config/i386/i386.c:5316 config/i386/i386.c:29385
2423 #, gcc-internal-format
2424@@ -22215,9 +22157,9 @@ msgid "fastcall and stdcall attributes are not compatible"
2425 msgstr "fastcall 和 stdcall 属性互不兼容"
2426
2427 #: config/i386/i386.c:5359 config/i386/i386.c:5408
2428-#, fuzzy, gcc-internal-format
2429+#, gcc-internal-format
2430 msgid "fastcall and thiscall attributes are not compatible"
2431-msgstr "fastcall 和 stdcall 属性互不兼容"
2432+msgstr "fastcall 和 thiscall 属性互不兼容"
2433
2434 #: config/i386/i386.c:5369 config/i386/i386.c:5386
2435 #, gcc-internal-format
2436@@ -22230,27 +22172,27 @@ msgid "stdcall and fastcall attributes are not compatible"
2437 msgstr "stdcall 和 fastcall 属性互不兼容"
2438
2439 #: config/i386/i386.c:5377 config/i386/i386.c:5404
2440-#, fuzzy, gcc-internal-format
2441+#, gcc-internal-format
2442 msgid "stdcall and thiscall attributes are not compatible"
2443-msgstr "stdcall 和 fastcall 属性互不兼容"
2444+msgstr "stdcall 和 thiscall 属性互不兼容"
2445
2446 #: config/i386/i386.c:5394 config/i386/i386.c:5412
2447-#, fuzzy, gcc-internal-format
2448+#, gcc-internal-format
2449 msgid "cdecl and thiscall attributes are not compatible"
2450-msgstr "stdcall 和 fastcall 属性互不兼容"
2451+msgstr "cdecl 和 thiscall 属性互不兼容"
2452
2453 #: config/i386/i386.c:5400
2454-#, fuzzy, gcc-internal-format
2455+#, gcc-internal-format
2456 msgid "%qE attribute is used for none class-method"
2457-msgstr "%qE属性在不是类的类型上被忽略"
2458+msgstr "%qE属性用于非类方法"
2459
2460 #: config/i386/i386.c:5554
2461-#, fuzzy, gcc-internal-format
2462+#, gcc-internal-format
2463 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
2464 msgstr "带属性 sseregparm 调用%qD却没有启用 SSE/SSE2"
2465
2466 #: config/i386/i386.c:5557
2467-#, fuzzy, gcc-internal-format
2468+#, gcc-internal-format
2469 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
2470 msgstr "带属性 sseregparm 调用%qT却没有启用 SSE/SSE2"
2471
2472@@ -22270,19 +22212,19 @@ msgid "AVX vector argument without AVX enabled changes the ABI"
2473 msgstr "没有启用 AVX,却出现了 AVX 向量实参,这改变了 ABI"
2474
2475 #: config/i386/i386.c:6231
2476-#, fuzzy, gcc-internal-format
2477+#, gcc-internal-format
2478 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
2479 msgstr "在 GCC 4.4 中传递带有一个可变数组成员的结构的 ABI 有了改变"
2480
2481 #: config/i386/i386.c:6347
2482-#, fuzzy, gcc-internal-format
2483+#, gcc-internal-format
2484 msgid "the ABI of passing union with long double has changed in GCC 4.4"
2485 msgstr "在 GCC 4.4 中传递有 long double 的联合的 ABI 有改变"
2486
2487 #: config/i386/i386.c:6462
2488-#, fuzzy, gcc-internal-format
2489+#, gcc-internal-format
2490 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
2491-msgstr "在 GCC 4.4 中传递带有浮点复数成员结构的 ABI 有了改变"
2492+msgstr "在 GCC 4.4 中传递带有复数浮点成员结构的 ABI 有了改变"
2493
2494 #: config/i386/i386.c:6608
2495 #, gcc-internal-format
2496@@ -22327,7 +22269,7 @@ msgstr "没有启用 MMX却返回 MMX 向量,这改变了 ABI"
2497 #: config/i386/i386.c:9163
2498 #, gcc-internal-format
2499 msgid "%<-fsplit-stack%> currently only supported on GNU/Linux"
2500-msgstr ""
2501+msgstr "%<-fsplit-stack%>只在 GNU/Linux 下被支持"
2502
2503 #: config/i386/i386.c:9169
2504 #, gcc-internal-format
2505@@ -22347,7 +22289,7 @@ msgstr "ms_hook_prologue 与嵌套函数不兼容"
2506 #: config/i386/i386.c:11312
2507 #, gcc-internal-format
2508 msgid "-fsplit-stack does not support 2 register parameters for a nested function"
2509-msgstr ""
2510+msgstr "-fsplit-stack 不支持在嵌套函数中使用两个寄存器参数"
2511
2512 #. FIXME: We could make this work by pushing a register
2513 #. around the addition and comparison.
2514@@ -22639,12 +22581,12 @@ msgstr "#pragma GCC memregs 需要 [0..16] 范围内的数"
2515 #: config/m32c/m32c-pragma.c:111
2516 #, fuzzy, gcc-internal-format
2517 msgid "junk at end of #pragma ADDRESS"
2518-msgstr "#pragma %s 末尾有垃圾字符"
2519+msgstr "%<#pragma pack%>末尾有垃圾字符"
2520
2521 #: config/m32c/m32c-pragma.c:116
2522 #, fuzzy, gcc-internal-format
2523 msgid "malformed #pragma ADDRESS variable address"
2524-msgstr "#pragma GCC visibility push 格式错误"
2525+msgstr "返回了局部变量的%q+D的地址"
2526
2527 #: config/m32c/m32c.c:441
2528 #, gcc-internal-format, gfc-internal-format
2529@@ -23020,7 +22962,7 @@ msgstr ""
2530 #: config/microblaze/microblaze.c:1311
2531 #, fuzzy, gcc-internal-format
2532 msgid "%qs is an invalid argument to -mcpu="
2533-msgstr "gimple 调用中参数无效"
2534+msgstr "-fdebug-prefix-map 的参数%qs无效"
2535
2536 #: config/microblaze/microblaze.c:1360
2537 #, gcc-internal-format
2538@@ -23140,12 +23082,12 @@ msgstr "不支持的组合:%s"
2539 #: config/mips/mips.c:15618
2540 #, gcc-internal-format
2541 msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
2542-msgstr "%<-mgp32%> 和 %<-mfp64%>只有当目标机支持 mfhc1 和 mthc1 指令时才能一起使用"
2543+msgstr "%<-mgp32%>和%<-mfp64%>只有当目标机支持 mfhc1 和 mthc1 指令时才能一起使用"
2544
2545 #: config/mips/mips.c:15621
2546 #, gcc-internal-format
2547 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
2548-msgstr "%<-mgp32%> 和 %<-mfp64%>只有当使用 o32 ABI 时才能一起使用"
2549+msgstr "%<-mgp32%>和%<-mfp64%>只有当使用 o32 ABI 时才能一起使用"
2550
2551 #: config/mips/mips.c:15675
2552 #, gcc-internal-format
2553@@ -23155,7 +23097,7 @@ msgstr "%qs架构不支持 Branch-Likely 指令"
2554 #: config/mips/mips.c:15715
2555 #, gcc-internal-format
2556 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
2557-msgstr "%<-mno-gpopt%> 需要 %<-mexplicit-relocs%>"
2558+msgstr "%<-mno-gpopt%>需要%<-mexplicit-relocs%>"
2559
2560 #: config/mips/mips.c:15723 config/mips/mips.c:15726
2561 #, gcc-internal-format
2562@@ -23251,7 +23193,7 @@ msgstr "MMIX 内部错误:%s 不是一个可移位的整数"
2563 #: config/mn10300/mn10300.c:154
2564 #, gcc-internal-format
2565 msgid "-mtune= expects mn10300, am33, am33-2, or am34"
2566-msgstr ""
2567+msgstr "-mtune= 需要 mn10300、am33、am33-2 或 am34"
2568
2569 #: config/pa/pa.c:563
2570 #, gcc-internal-format
2571@@ -23291,27 +23233,27 @@ msgstr "指定了无效的 AE 类型(%s)\n"
2572 #: config/picochip/picochip.c:461
2573 #, fuzzy, gcc-internal-format, gfc-internal-format
2574 msgid "invalid mul type specified (%s) - expected mac, mul or none"
2575-msgstr "指定了无效的 mul 类型(%s) - 需要 mac、mul 或 none"
2576+msgstr "指定了无效的 mul 类型(%s) - 期待的是 mac、mul 或 none"
2577
2578 #: config/picochip/picochip.c:756
2579 #, fuzzy, gcc-internal-format, gfc-internal-format
2580 msgid "unexpected mode %s encountered in picochip_emit_save_register"
2581-msgstr "picochip_emit_save_register 遇到非预期的模式 %s\n"
2582+msgstr "在 picochip_emit_save_register 中遇到意外的方式 %s\n"
2583
2584 #: config/picochip/picochip.c:923
2585 #, fuzzy, gcc-internal-format, gfc-internal-format
2586 msgid "defaulting to stack for %s register creation"
2587-msgstr "默认在堆栈上创建 %s 寄存器\n"
2588+msgstr "对于 %s 寄存器创建默认为堆栈\n"
2589
2590 #: config/picochip/picochip.c:1607
2591 #, fuzzy, gcc-internal-format
2592 msgid "LCFI labels have already been deferred"
2593-msgstr "LCFI 标号已经被推迟。"
2594+msgstr "LCFI 标记已经被推迟。"
2595
2596 #: config/picochip/picochip.c:1670
2597 #, fuzzy, gcc-internal-format
2598 msgid "LM label has already been deferred"
2599-msgstr "LM 标号已经被推迟。"
2600+msgstr "LM 标记已经被推迟。"
2601
2602 #: config/picochip/picochip.c:1680
2603 #, gcc-internal-format
2604@@ -23326,22 +23268,22 @@ msgstr "picochip_asm_output_opcode - 在 VLIW 包 %s 中找到多行\n"
2605 #: config/picochip/picochip.c:2065
2606 #, fuzzy, gcc-internal-format
2607 msgid "picochip_asm_output_opcode - can%'t output unknown operator %c"
2608-msgstr "picochip_asm_output_opcode - 无法输出未知的运算符 %c\n"
2609+msgstr "picochip_asm_output_opcode - 无法输出未知的操作符 %c\n"
2610
2611 #: config/picochip/picochip.c:2316 config/picochip/picochip.c:2376
2612-#, fuzzy, gcc-internal-format
2613+#, gcc-internal-format
2614 msgid "%s: at least one operand can%'t be handled"
2615-msgstr "%s:至少有一个操作数不能被处理"
2616+msgstr "%s: 至少一个操作数不能被处理"
2617
2618 #: config/picochip/picochip.c:2457
2619-#, fuzzy, gcc-internal-format, gfc-internal-format
2620+#, gcc-internal-format, gfc-internal-format
2621 msgid "unknown short branch in %s (type %d)"
2622-msgstr "%s 中的短跳转未知(类型 %d)\n"
2623+msgstr "%s 中的短跳转未知(类型 %d)"
2624
2625 #: config/picochip/picochip.c:2494
2626-#, fuzzy, gcc-internal-format, gfc-internal-format
2627+#, gcc-internal-format, gfc-internal-format
2628 msgid "unknown long branch in %s (type %d)"
2629-msgstr "%s 中的长跳转未知(类型 %d)\n"
2630+msgstr "%s 中的长跳转未知(类型 %d)"
2631
2632 #: config/picochip/picochip.c:2534 config/picochip/picochip.c:2602
2633 #, gcc-internal-format, gfc-internal-format
2634@@ -23354,9 +23296,9 @@ msgid "GET uses port array index %d, which is out of range [%d..%d)"
2635 msgstr "GET 使用端口数组索引 %d,而该索引在范围 [%d..%d)之外"
2636
2637 #: config/picochip/picochip.c:3439
2638-#, fuzzy, gcc-internal-format, gfc-internal-format
2639+#, gcc-internal-format, gfc-internal-format
2640 msgid "too many ALU instructions emitted (%d)"
2641-msgstr "生成了太多的 ALU 指令(%d 条)\n"
2642+msgstr "生成了太多的 ALU 指令(%d 条)"
2643
2644 #: config/picochip/picochip.c:4071 config/picochip/picochip.c:4164
2645 #, gcc-internal-format, gfc-internal-format
2646@@ -23476,17 +23418,17 @@ msgstr "对 AltiVec 内建函数来说无效的参数组合"
2647 #: config/rs6000/rs6000.c:2524
2648 #, gcc-internal-format
2649 msgid "-mrecip requires -ffinite-math or -ffast-math"
2650-msgstr ""
2651+msgstr "-mrecip 需要 -ffinite-math 或 -ffast-math"
2652
2653 #: config/rs6000/rs6000.c:2526
2654 #, gcc-internal-format
2655 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
2656-msgstr ""
2657+msgstr "-mrecip 需要 -fno-trapping-math 或 -ffast-math"
2658
2659 #: config/rs6000/rs6000.c:2528
2660 #, gcc-internal-format
2661 msgid "-mrecip requires -freciprocal-math or -ffast-math"
2662-msgstr ""
2663+msgstr "-mrecip 需要 -freciprocal-math 或 -ffast-math"
2664
2665 #: config/rs6000/rs6000.c:2622
2666 #, gcc-internal-format
2667@@ -23499,9 +23441,9 @@ msgid "AltiVec not supported in this target"
2668 msgstr "AltiVec 在此目标机上不受支持"
2669
2670 #: config/rs6000/rs6000.c:2749
2671-#, fuzzy, gcc-internal-format
2672+#, gcc-internal-format
2673 msgid "SPE not supported in this target"
2674-msgstr "Spe 在此目标机上不受支持"
2675+msgstr "SPE 在此目标机上不受支持"
2676
2677 #: config/rs6000/rs6000.c:2776
2678 #, gcc-internal-format
2679@@ -23521,37 +23463,37 @@ msgstr "%2$sveclibabi=%3$s %4$s向量库 ABI 类型(%1$s)未知"
2680 #: config/rs6000/rs6000.c:2901
2681 #, gcc-internal-format
2682 msgid "target attribute or pragma changes long double size"
2683-msgstr ""
2684+msgstr "目标属性或 pragma 改变了 long double 的大小"
2685
2686 #: config/rs6000/rs6000.c:2922 config/rs6000/rs6000.c:2937
2687 #, gcc-internal-format
2688 msgid "target attribute or pragma changes AltiVec ABI"
2689-msgstr ""
2690+msgstr "目标属性或 pragma 改变了 AltiVec ABI"
2691
2692 #: config/rs6000/rs6000.c:2954
2693 #, gcc-internal-format
2694 msgid "target attribute or pragma changes darwin64 ABI"
2695-msgstr ""
2696+msgstr "目标属性或 pragma 改变了 darwin64 ABI"
2697
2698 #: config/rs6000/rs6000.c:2995
2699 #, gcc-internal-format
2700 msgid "target attribute or pragma changes SPE ABI"
2701-msgstr ""
2702+msgstr "目标属性或 pragma 改变了 SPE ABI"
2703
2704 #: config/rs6000/rs6000.c:3317
2705 #, gcc-internal-format
2706 msgid "target attribute or pragma changes single precision floating point"
2707-msgstr ""
2708+msgstr "目标属性或 pragma 改变了单精度浮点数"
2709
2710 #: config/rs6000/rs6000.c:3320
2711 #, gcc-internal-format
2712 msgid "target attribute or pragma changes double precision floating point"
2713-msgstr ""
2714+msgstr "目标属性或 pragma 改变了双精度浮点数"
2715
2716 #: config/rs6000/rs6000.c:3367
2717 #, fuzzy, gcc-internal-format, gfc-internal-format
2718 msgid "unknown option for -mrecip=%s"
2719-msgstr "指定了未知的 -m%s= 选项:‘%s’"
2720+msgstr "L%d 缓存延迟未知,对 %s 来说"
2721
2722 #: config/rs6000/rs6000.c:3834
2723 #, gcc-internal-format, gfc-internal-format
2724@@ -23579,22 +23521,22 @@ msgid "not configured for ABI: '%s'"
2725 msgstr "没有为此 ABI 配置:‘%s’"
2726
2727 #: config/rs6000/rs6000.c:4472
2728-#, fuzzy, gcc-internal-format
2729+#, gcc-internal-format
2730 msgid "using darwin64 ABI"
2731 msgstr "使用 darwin64 ABI"
2732
2733 #: config/rs6000/rs6000.c:4477
2734-#, fuzzy, gcc-internal-format
2735+#, gcc-internal-format
2736 msgid "using old darwin ABI"
2737 msgstr "使用旧式的 Darwin ABI"
2738
2739 #: config/rs6000/rs6000.c:4484
2740-#, fuzzy, gcc-internal-format
2741+#, gcc-internal-format
2742 msgid "using IBM extended precision long double"
2743 msgstr "使用 IBM 扩展精度 long double"
2744
2745 #: config/rs6000/rs6000.c:4490
2746-#, fuzzy, gcc-internal-format
2747+#, gcc-internal-format
2748 msgid "using IEEE extended precision long double"
2749 msgstr "使用 IEEE 扩展精度 long double"
2750
2751@@ -23604,14 +23546,14 @@ msgid "unknown ABI specified: '%s'"
2752 msgstr "指定了未知的 ABI:‘%s’"
2753
2754 #: config/rs6000/rs6000.c:4504
2755-#, fuzzy, gcc-internal-format, gfc-internal-format
2756+#, gcc-internal-format, gfc-internal-format
2757 msgid "bad value (%s) for -mcpu"
2758-msgstr "-mcpu 开关的值%qs错误"
2759+msgstr "-mcpu 开关的值 %s 错误"
2760
2761 #: config/rs6000/rs6000.c:4511
2762-#, fuzzy, gcc-internal-format, gfc-internal-format
2763+#, gcc-internal-format, gfc-internal-format
2764 msgid "bad value (%s) for -mtune"
2765-msgstr "%2$stune=%3$s%4$s所带参数(%1$s)不正确"
2766+msgstr "-mtune 开关的值 %s 错误"
2767
2768 #: config/rs6000/rs6000.c:4522
2769 #, gcc-internal-format
2770@@ -23766,7 +23708,7 @@ msgstr "栈帧太大"
2771 #: config/rs6000/rs6000.c:20151
2772 #, fuzzy, gcc-internal-format
2773 msgid "out-of-line save/restore routines not supported on Darwin"
2774-msgstr "Darwin 不支持不恰当的存储/恢复例程"
2775+msgstr "Darwin 不支持不恰当的存储/恢复进程"
2776
2777 #: config/rs6000/rs6000.c:23023
2778 #, gcc-internal-format
2779@@ -23826,7 +23768,7 @@ msgstr "生成条件微代码指令 %s\t[%s] #%d"
2780 #: config/rs6000/rs6000.c:27767
2781 #, fuzzy, gcc-internal-format, gfc-internal-format
2782 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
2783-msgstr "对‘%%%c’的使用无效"
2784+msgstr "代码‘%c’的操作数无效"
2785
2786 #: config/rs6000/rs6000.c:27770
2787 #, fuzzy, gcc-internal-format, gfc-internal-format
2788@@ -23977,9 +23919,9 @@ msgid "unreocgnized control register number: %d - using 'psw'"
2789 msgstr "无法识别的控制寄存器号:%d - 使用‘psw’"
2790
2791 #: config/rx/rx.c:2106
2792-#, gcc-internal-format, gfc-internal-format
2793+#, fuzzy, gcc-internal-format, gfc-internal-format
2794 msgid "__builtin_rx_%s takes 'C', 'Z', 'S', 'O', 'I', or 'U'"
2795-msgstr ""
2796+msgstr "%q+D只带零或两个参数"
2797
2798 #: config/rx/rx.c:2108
2799 #, gcc-internal-format
2800@@ -23997,14 +23939,14 @@ msgid "unrecognized argument '%s' to -mcpu= option"
2801 msgstr "-mcpu= 选项参数‘%s’不可识别"
2802
2803 #: config/rx/rx.c:2294
2804-#, fuzzy, gcc-internal-format
2805+#, gcc-internal-format
2806 msgid "the RX200 cpu does not have FPU hardware"
2807 msgstr "RX200 CPU 没有 FPU 硬件"
2808
2809 #: config/rx/rx.c:2327
2810-#, fuzzy, gcc-internal-format
2811+#, gcc-internal-format
2812 msgid "RX FPU instructions do not support NaNs and infinities"
2813-msgstr "RX FPU 指令不遵循 IEEE"
2814+msgstr "RX FPU 指令不支持 NaN 和无限"
2815
2816 #: config/s390/s390.c:1602
2817 #, gcc-internal-format
2818@@ -24027,12 +23969,12 @@ msgid "64-bit ABI not supported in ESA/390 mode"
2819 msgstr "64-bit ABI 在 ESA/390 模式下不受支持"
2820
2821 #: config/s390/s390.c:1669
2822-#, fuzzy, gcc-internal-format, gfc-internal-format
2823+#, gcc-internal-format, gfc-internal-format
2824 msgid "hardware decimal floating point instructions not available on %s"
2825 msgstr "硬件十进制浮点指令在 %s 上不可用"
2826
2827 #: config/s390/s390.c:1672
2828-#, fuzzy, gcc-internal-format
2829+#, gcc-internal-format
2830 msgid "hardware decimal floating point instructions not available in ESA/390 mode"
2831 msgstr "硬件十进制浮点指令在 ESA/390 模式下不可用"
2832
2833@@ -24225,12 +24167,12 @@ msgstr "形参表不匹配 %s() 的有效签名"
2834 #: config/spu/spu.c:548
2835 #, fuzzy, gcc-internal-format, gfc-internal-format
2836 msgid "bad value (%s) for -march= switch"
2837-msgstr "-mcmodel= 值(%s)不正确"
2838+msgstr "-mtune= 所带参数%<%s%>不正确"
2839
2840 #: config/spu/spu.c:559
2841 #, fuzzy, gcc-internal-format, gfc-internal-format
2842 msgid "bad value (%s) for -mtune= switch"
2843-msgstr "-mtune 开关的值%qs错误"
2844+msgstr "-mtune= 所带参数%<%s%>不正确"
2845
2846 #: config/spu/spu.c:5388 config/spu/spu.c:5391
2847 #, gcc-internal-format
2848@@ -24450,7 +24392,7 @@ msgstr "%qs属性只能用于带可变参数函数"
2849 #: ada/gcc-interface/utils.c:5247
2850 #, fuzzy, gcc-internal-format
2851 msgid "%qE attribute has no effect"
2852-msgstr "%qE属性被忽略"
2853+msgstr "不建议使用。此开关不起作用。"
2854
2855 #: ada/gcc-interface/utils.c:5359
2856 #, gcc-internal-format
2857@@ -24479,45 +24421,45 @@ msgid " no known conversion for argument %d from %qT to %qT"
2858 msgstr "以从%qT转换为%qT"
2859
2860 #: cp/call.c:2986
2861-#, fuzzy, gcc-internal-format
2862+#, gcc-internal-format
2863 msgid "%s%D(%T, %T, %T) <built-in>"
2864-msgstr "%s %D(%T, %T, %T) <内建>"
2865+msgstr "%s%D(%T, %T, %T) <内建>"
2866
2867 #: cp/call.c:2991
2868-#, fuzzy, gcc-internal-format
2869+#, gcc-internal-format
2870 msgid "%s%D(%T, %T) <built-in>"
2871-msgstr "%s %D(%T, %T) <内建>"
2872+msgstr "%s%D(%T, %T) <内建>"
2873
2874 #: cp/call.c:2995
2875-#, fuzzy, gcc-internal-format
2876+#, gcc-internal-format
2877 msgid "%s%D(%T) <built-in>"
2878-msgstr "%s %D(%T) <内建>"
2879+msgstr "%s%D(%T) <内建>"
2880
2881 #: cp/call.c:2999
2882-#, fuzzy, gcc-internal-format
2883+#, gcc-internal-format
2884 msgid "%s%T <conversion>"
2885-msgstr "%s %T <转换>"
2886+msgstr "%s%T <转换>"
2887
2888 #: cp/call.c:3001
2889-#, fuzzy, gcc-internal-format
2890+#, gcc-internal-format
2891 msgid "%s%#D <near match>"
2892-msgstr "%s %+#D <就近匹配>"
2893+msgstr "%s%#D <就近匹配>"
2894
2895 #: cp/call.c:3003
2896-#, fuzzy, gcc-internal-format
2897+#, gcc-internal-format
2898 msgid "%s%#D <deleted>"
2899-msgstr "%s %+#D <已删除>"
2900+msgstr "%s%#D <删除的>"
2901
2902 #: cp/call.c:3005
2903 #, gcc-internal-format
2904 msgid "%s%#D"
2905-msgstr ""
2906+msgstr "%s%#D"
2907
2908 #: cp/call.c:3015
2909 #, gcc-internal-format, gfc-internal-format
2910 msgid " candidate expects %d argument, %d provided"
2911 msgid_plural " candidate expects %d arguments, %d provided"
2912-msgstr[0] ""
2913+msgstr[0] " 备选需要 %d 实参,但提供了 %d 个"
2914
2915 #: cp/call.c:3349
2916 #, gcc-internal-format
2917@@ -25086,7 +25028,7 @@ msgstr "有拷贝赋值运算符的成员%q+#D不能用在联合中"
2918 #: cp/class.c:2936
2919 #, fuzzy, gcc-internal-format
2920 msgid "unrestricted unions only available with -std=c++0x or -std=gnu++0x"
2921-msgstr "带作用域的枚举只在 -std=c++0x 或 -std=gnu++0x 下可用"
2922+msgstr "可变参数模板只在 -std=c++0x 或 -std=gnu++0x 下可用"
2923
2924 #: cp/class.c:2970
2925 #, gcc-internal-format
2926@@ -25161,7 +25103,7 @@ msgstr "为非虚方法%q+D指定了初始值设定项"
2927 #: cp/class.c:4568
2928 #, fuzzy, gcc-internal-format
2929 msgid "enclosing class of %q+D is not a literal type"
2930-msgstr "函数%2$qD的返回值类型%1$qT不是一个字面类型"
2931+msgstr "%3$L处 CLASS 变量‘%2$s’的类型‘%1$s’不能被扩展"
2932
2933 #: cp/class.c:4677
2934 #, gcc-internal-format
2935@@ -25306,7 +25248,7 @@ msgid "%qE implicitly determined as %<firstprivate%> has reference type"
2936 msgstr "%qE隐式地被确定,因为%<firstprivate%>有引用类型"
2937
2938 #: cp/cvt.c:90
2939-#, fuzzy, gcc-internal-format
2940+#, gcc-internal-format
2941 msgid "can%'t convert from incomplete type %qT to %qT"
2942 msgstr "无法从不完全类型%qT转换到%qT"
2943
2944@@ -25448,7 +25390,7 @@ msgstr ""
2945 #: cp/cvt.c:1029
2946 #, gcc-internal-format
2947 msgid "implicit dereference will not access object of type %qT in statement"
2948-msgstr ""
2949+msgstr "隐式提领不会访问语句中类型为%qT的对象"
2950
2951 #: cp/cvt.c:1033
2952 #, gcc-internal-format
2953@@ -25611,14 +25553,14 @@ msgid "left operand of comma operator has no effect"
2954 msgstr "逗号表达式的左操作数不起作用"
2955
2956 #: cp/cvt.c:1300
2957-#, fuzzy, gcc-internal-format
2958+#, gcc-internal-format
2959 msgid "statement has no effect"
2960 msgstr "语句不起作用"
2961
2962 #: cp/cvt.c:1304
2963-#, fuzzy, gcc-internal-format
2964+#, gcc-internal-format
2965 msgid "for increment expression has no effect"
2966-msgstr "逗号表达式的左操作数不起作用"
2967+msgstr "for 循环増量表达式不起作用"
2968
2969 #: cp/cvt.c:1453
2970 #, gcc-internal-format
2971@@ -25661,14 +25603,14 @@ msgid "from previous declaration %q+F"
2972 msgstr "从先前的声明%q+F"
2973
2974 #: cp/decl.c:1161
2975-#, fuzzy, gcc-internal-format
2976+#, gcc-internal-format
2977 msgid "redeclaration %qD differs in %<constexpr%>"
2978-msgstr "%qT重声明为非模板"
2979+msgstr "对%qD的重声明在%<constexpr%>中"
2980
2981 #: cp/decl.c:1162
2982-#, fuzzy, gcc-internal-format
2983+#, gcc-internal-format
2984 msgid "from previous declaration %q+D"
2985-msgstr "从先前的声明%q+F"
2986+msgstr "与先前的声明%q+D不同"
2987
2988 #: cp/decl.c:1218
2989 #, gcc-internal-format
2990@@ -26085,7 +26027,7 @@ msgstr "只能为对象和函数指定类型限定"
2991 #: cp/decl.c:4083
2992 #, gcc-internal-format
2993 msgid "%<typedef%> was ignored in this declaration"
2994-msgstr "此声明中的 %<typedef%> 被忽略"
2995+msgstr "此声明中的%<typedef%>被忽略"
2996
2997 #: cp/decl.c:4085
2998 #, fuzzy, gcc-internal-format
2999@@ -26217,14 +26159,14 @@ msgstr "大小为 0 的数组%qD"
3000 #. Don't talk about array types here, since we took care of that
3001 #. message in grokdeclarator.
3002 #: cp/decl.c:4715
3003-#, fuzzy, gcc-internal-format
3004+#, gcc-internal-format
3005 msgid "storage size of %qD isn%'t known"
3006-msgstr "%q+D的存储大小未知"
3007+msgstr "%qD的存储大小未知"
3008
3009 #: cp/decl.c:4738
3010-#, fuzzy, gcc-internal-format
3011+#, gcc-internal-format
3012 msgid "storage size of %qD isn%'t constant"
3013-msgstr "%q+D的存储大小不是常量"
3014+msgstr "%qD的存储大小不是常量"
3015
3016 #: cp/decl.c:4784
3017 #, fuzzy, gcc-internal-format
3018@@ -26244,7 +26186,7 @@ msgstr "未初始化的常量%qD"
3019 #: cp/decl.c:4825
3020 #, fuzzy, gcc-internal-format
3021 msgid "%q#T has no user-provided default constructor"
3022-msgstr "且%qT没有模板构造函数"
3023+msgstr "类型%qE没有可以调用的默认构造函数"
3024
3025 #: cp/decl.c:4829
3026 #, gcc-internal-format
3027@@ -26383,14 +26325,14 @@ msgid "constructor for alien class %qT cannot be a member"
3028 msgstr "其他类%qT的构造函数不能用作成员"
3029
3030 #: cp/decl.c:6722
3031-#, fuzzy, gcc-internal-format
3032+#, gcc-internal-format
3033 msgid "%qD declared as a %<virtual%> variable"
3034-msgstr "%qD声明为%<virtual%>%s"
3035+msgstr "%qD声明为%<virtual%>变量"
3036
3037 #: cp/decl.c:6724
3038-#, fuzzy, gcc-internal-format
3039+#, gcc-internal-format
3040 msgid "%qD declared as an %<inline%> variable"
3041-msgstr "%qD声明为%<inline%>%s"
3042+msgstr "%qD声明为%<inline%>变量"
3043
3044 #: cp/decl.c:6726
3045 #, fuzzy, gcc-internal-format
3046@@ -26398,14 +26340,14 @@ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in variable
3047 msgstr "为%qD指定的%<const%>和%<volatile%>在 %s 声明中无效"
3048
3049 #: cp/decl.c:6731
3050-#, fuzzy, gcc-internal-format
3051+#, gcc-internal-format
3052 msgid "%qD declared as a %<virtual%> parameter"
3053-msgstr "%qD声明为%<virtual%>%s"
3054+msgstr "%qD声明为%<virtual%>参数"
3055
3056 #: cp/decl.c:6733
3057-#, fuzzy, gcc-internal-format
3058+#, gcc-internal-format
3059 msgid "%qD declared as an %<inline%> parameter"
3060-msgstr "%qD声明为%<inline%>%s"
3061+msgstr "%qD声明为%<inline%>参数"
3062
3063 #: cp/decl.c:6735
3064 #, fuzzy, gcc-internal-format
3065@@ -26413,14 +26355,14 @@ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in paramete
3066 msgstr "为%qD指定的%<const%>和%<volatile%>在 %s 声明中无效"
3067
3068 #: cp/decl.c:6740
3069-#, fuzzy, gcc-internal-format
3070+#, gcc-internal-format
3071 msgid "%qD declared as a %<virtual%> type"
3072-msgstr "%qD声明为%<virtual%>%s"
3073+msgstr "%qD声明为%<virtual%>类型"
3074
3075 #: cp/decl.c:6742
3076-#, fuzzy, gcc-internal-format
3077+#, gcc-internal-format
3078 msgid "%qD declared as an %<inline%> type"
3079-msgstr "%qD声明为%<inline%>%s"
3080+msgstr "%qD声明为%<inline%>类型"
3081
3082 #: cp/decl.c:6744
3083 #, fuzzy, gcc-internal-format
3084@@ -26428,14 +26370,14 @@ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in type dec
3085 msgstr "为%qD指定的%<const%>和%<volatile%>在 %s 声明中无效"
3086
3087 #: cp/decl.c:6749
3088-#, fuzzy, gcc-internal-format
3089+#, gcc-internal-format
3090 msgid "%qD declared as a %<virtual%> field"
3091-msgstr "%qD声明为%<virtual%>%s"
3092+msgstr "%qD声明为%<virtual%>字段"
3093
3094 #: cp/decl.c:6751
3095-#, fuzzy, gcc-internal-format
3096+#, gcc-internal-format
3097 msgid "%qD declared as an %<inline%> field"
3098-msgstr "%qD声明为%<inline%>%s"
3099+msgstr "%qD声明为%<inline%>字段"
3100
3101 #: cp/decl.c:6753
3102 #, fuzzy, gcc-internal-format
3103@@ -26783,9 +26725,9 @@ msgid "%<long long%> invalid for %qs"
3104 msgstr "%<long long%>对%qs无效"
3105
3106 #: cp/decl.c:8331
3107-#, fuzzy, gcc-internal-format
3108+#, gcc-internal-format
3109 msgid "%<__int128%> invalid for %qs"
3110-msgstr "%<long%>对%qs无效"
3111+msgstr "%<__int128%>对%qs无效"
3112
3113 #: cp/decl.c:8333
3114 #, gcc-internal-format
3115@@ -26803,9 +26745,9 @@ msgid "%<long%> or %<short%> invalid for %qs"
3116 msgstr "%<long%>或%<short%>对%qs无效"
3117
3118 #: cp/decl.c:8339
3119-#, fuzzy, gcc-internal-format
3120+#, gcc-internal-format
3121 msgid "%<long%>, %<int%>, %<short%>, or %<char%> invalid for %qs"
3122-msgstr "%<long%>或%<short%>对%qs无效"
3123+msgstr "%<long%>、%<int%>、%<short%>或%<char%>对%qs无效"
3124
3125 #: cp/decl.c:8341
3126 #, gcc-internal-format
3127@@ -26828,14 +26770,14 @@ msgid "long, short, signed or unsigned used invalidly for %qs"
3128 msgstr "为%qs使用 long、short、signed 或 unsigned 无效"
3129
3130 #: cp/decl.c:8366
3131-#, fuzzy, gcc-internal-format
3132+#, gcc-internal-format
3133 msgid "%<__int128%> is not supported by this target"
3134-msgstr "__builtin_saveregs 不为此目标所支持"
3135+msgstr "%<__int128%>不为此目标所支持"
3136
3137 #: cp/decl.c:8372
3138-#, fuzzy, gcc-internal-format
3139+#, gcc-internal-format
3140 msgid "ISO C++ does not support %<__int128%> for %qs"
3141-msgstr "ISO C++ 1998 不支持%<long long%>"
3142+msgstr "ISO C++ 对%qs不支持%<__int128%>"
3143
3144 #: cp/decl.c:8442
3145 #, gcc-internal-format
3146@@ -26963,7 +26905,7 @@ msgid "constructors cannot be declared virtual"
3147 msgstr "构造函数不能被声明为虚函数"
3148
3149 #: cp/decl.c:8818
3150-#, fuzzy, gcc-internal-format
3151+#, gcc-internal-format
3152 msgid "can%'t initialize friend function %qs"
3153 msgstr "无法初始化友元函数%qs"
3154
3155@@ -27184,7 +27126,7 @@ msgstr "错误地使用了%<::%>"
3156 #: cp/decl.c:9570
3157 #, fuzzy, gcc-internal-format
3158 msgid "declaration of function %qD in invalid context"
3159-msgstr "C 函数%q#D的声明"
3160+msgstr "%qD的声明中类名无效"
3161
3162 #: cp/decl.c:9579
3163 #, gcc-internal-format
3164@@ -27239,7 +27181,7 @@ msgstr "%qE既不是函数也不是成员函数;不能声明为友元"
3165 #: cp/decl.c:9743
3166 #, fuzzy, gcc-internal-format
3167 msgid "non-static data member initializers"
3168-msgstr "%qT没有名为%qD的非静态数据成员"
3169+msgstr "对非静态数据成员%q+D的无效使用"
3170
3171 #: cp/decl.c:9747
3172 #, gcc-internal-format
3173@@ -27637,9 +27579,9 @@ msgid "previous definition here"
3174 msgstr "先前的定义在这里"
3175
3176 #: cp/decl.c:11552
3177-#, gcc-internal-format
3178+#, fuzzy, gcc-internal-format
3179 msgid "underlying type mismatch in enum %q#T"
3180-msgstr ""
3181+msgstr "条件表达式中类型不匹配"
3182
3183 #: cp/decl.c:11564
3184 #, gcc-internal-format
3185@@ -27778,7 +27720,7 @@ msgstr "Java 方法%qD有非 Java 类型形参%qT"
3186 #: cp/decl2.c:628
3187 #, fuzzy, gcc-internal-format
3188 msgid "template parameter lists provided don%'t match the template parameters of %qD"
3189-msgstr "提供的模板参数列表与%qD的模板参数不符"
3190+msgstr "提供的模板参数列表与 %qD 的模板不符"
3191
3192 #: cp/decl2.c:696
3193 #, gcc-internal-format
3194@@ -27947,9 +27889,9 @@ msgid "converting lambda which uses %<...%> to function pointer"
3195 msgstr "将使用了%<...%>的 Lambda 转换为函数指针"
3196
3197 #: cp/decl2.c:4167
3198-#, fuzzy, gcc-internal-format
3199+#, gcc-internal-format
3200 msgid "use of deleted function %qD"
3201-msgstr "函数%q+D已删除"
3202+msgstr "使用了被删除的函数%qD"
3203
3204 #: cp/error.c:3108
3205 #, gcc-internal-format
3206@@ -28208,9 +28150,9 @@ msgid "uninitialized reference member %qD"
3207 msgstr "未初始化的引用成员%qD"
3208
3209 #: cp/init.c:582
3210-#, fuzzy, gcc-internal-format
3211+#, gcc-internal-format
3212 msgid "uninitialized member %qD in %<constexpr%> constructor"
3213-msgstr "未初始化的成员%qD具有%<const%>类型%qT"
3214+msgstr "成员%qD在%<constexpr%>构造函数里未初始化"
3215
3216 #: cp/init.c:739
3217 #, gcc-internal-format
3218@@ -28258,9 +28200,9 @@ msgid "base class %q#T should be explicitly initialized in the copy constructor"
3219 msgstr "基类%q#T应该在复制构造函数中显式地初始化"
3220
3221 #: cp/init.c:941
3222-#, fuzzy, gcc-internal-format
3223+#, gcc-internal-format
3224 msgid "uninitialized base %qT in %<constexpr%> constructor"
3225-msgstr "未初始化的成员%qD具有%<const%>类型%qT"
3226+msgstr "基类%qT在%<constexpr%>构造函数里未初始化"
3227
3228 #: cp/init.c:1167 cp/init.c:1186
3229 #, gcc-internal-format
3230@@ -28338,9 +28280,9 @@ msgid "uninitialized reference member in %q#T using %<new%> without new-initiali
3231 msgstr "未初始化的引用成员%qD"
3232
3233 #: cp/init.c:1917
3234-#, fuzzy, gcc-internal-format
3235+#, gcc-internal-format
3236 msgid "uninitialized reference member in %q#T"
3237-msgstr "未初始化的引用成员%qD"
3238+msgstr "%q#T中有未初始化的引用成员"
3239
3240 #: cp/init.c:1929
3241 #, fuzzy, gcc-internal-format
3242@@ -28350,7 +28292,7 @@ msgstr "%<new%>%q#T时常量未初始化"
3243 #: cp/init.c:1932
3244 #, fuzzy, gcc-internal-format
3245 msgid "uninitialized const member in %q#T"
3246-msgstr "未初始化的常量成员%qD"
3247+msgstr "%<new%>%q#T时常量未初始化"
3248
3249 #: cp/init.c:2029
3250 #, gcc-internal-format
3251@@ -28530,7 +28472,7 @@ msgstr "省略的%<?:%>中操作数不能被修饰"
3252 #: cp/mangle.c:2768
3253 #, gcc-internal-format
3254 msgid "string literal in function template signature"
3255-msgstr ""
3256+msgstr "函数模板签名里有字面字符串"
3257
3258 #: cp/mangle.c:3040
3259 #, gcc-internal-format
3260@@ -28570,12 +28512,12 @@ msgstr "未初始化的成员%qD具有%<const%>类型%qT"
3261 #: cp/method.c:1014
3262 #, fuzzy, gcc-internal-format
3263 msgid "uninitialized non-static const member %q#D"
3264-msgstr "未初始化的常量成员%qD"
3265+msgstr "对可变数组成员非静态地初始化"
3266
3267 #: cp/method.c:1020
3268 #, fuzzy, gcc-internal-format
3269 msgid "uninitialized non-static reference member %q#D"
3270-msgstr "未初始化的引用成员%qD"
3271+msgstr "成员%qD是未初始化的引用"
3272
3273 #: cp/method.c:1253
3274 #, gcc-internal-format
3275@@ -28883,12 +28825,12 @@ msgstr ""
3276 #, gcc-internal-format
3277 msgid "suggested alternative:"
3278 msgid_plural "suggested alternatives:"
3279-msgstr[0] ""
3280+msgstr[0] "建议的替代:"
3281
3282 #: cp/name-lookup.c:3994
3283-#, fuzzy, gcc-internal-format
3284+#, gcc-internal-format
3285 msgid " %qE"
3286-msgstr "%q+#D"
3287+msgstr " %qE"
3288
3289 #: cp/name-lookup.c:5184
3290 #, gcc-internal-format
3291@@ -28946,14 +28888,14 @@ msgid "%qE has not been declared"
3292 msgstr "%qE未声明"
3293
3294 #: cp/parser.c:2373
3295-#, fuzzy, gcc-internal-format
3296+#, gcc-internal-format
3297 msgid "%<%E::%E%> is not a type"
3298-msgstr "%<%T::%E%>不是一个类型"
3299+msgstr "%<%E::%E%>不是一个类型"
3300
3301 #: cp/parser.c:2377
3302-#, fuzzy, gcc-internal-format
3303+#, gcc-internal-format
3304 msgid "%<%E::%E%> is not a class or namespace"
3305-msgstr "%qT既不是类也不是命名空间"
3306+msgstr "%<%E::%E%>既不是类也不是命名空间"
3307
3308 #: cp/parser.c:2382
3309 #, fuzzy, gcc-internal-format
3310@@ -28968,7 +28910,7 @@ msgstr "%<%T::%E%>不是一个类型"
3311 #: cp/parser.c:2398
3312 #, fuzzy, gcc-internal-format
3313 msgid "%<::%E%> is not a class or namespace"
3314-msgstr "%qT既不是类也不是命名空间"
3315+msgstr "%q#T 不是类或命名空间"
3316
3317 #: cp/parser.c:2402
3318 #, fuzzy, gcc-internal-format
3319@@ -28976,19 +28918,19 @@ msgid "%<::%E%> is not a class, namespace, or enumeration"
3320 msgstr "%qT既不是类也不是命名空间"
3321
3322 #: cp/parser.c:2414
3323-#, fuzzy, gcc-internal-format
3324+#, gcc-internal-format
3325 msgid "%qE is not a type"
3326-msgstr "%qD不是一个类型"
3327+msgstr "%qE不是一个类型"
3328
3329 #: cp/parser.c:2417
3330-#, fuzzy, gcc-internal-format
3331+#, gcc-internal-format
3332 msgid "%qE is not a class or namespace"
3333-msgstr "%qT既不是类也不是命名空间"
3334+msgstr "%qE既不是类也不是命名空间"
3335
3336 #: cp/parser.c:2421
3337-#, fuzzy, gcc-internal-format
3338+#, gcc-internal-format
3339 msgid "%qE is not a class, namespace, or enumeration"
3340-msgstr "%qT既不是类也不是命名空间"
3341+msgstr "%qE不是一个类、命名空间或枚举"
3342
3343 #: cp/parser.c:2464
3344 #, gcc-internal-format
3345@@ -29026,9 +28968,9 @@ msgid "invalid template-id"
3346 msgstr "无效的模板 ID"
3347
3348 #: cp/parser.c:2589
3349-#, fuzzy, gcc-internal-format
3350+#, gcc-internal-format
3351 msgid "floating-point literal cannot appear in a constant-expression"
3352-msgstr "%qD不能出现在常量表达式中"
3353+msgstr "浮点字面值不能出现在常量表达式中"
3354
3355 #: cp/parser.c:2593 cp/pt.c:12595
3356 #, gcc-internal-format
3357@@ -29118,9 +29060,9 @@ msgid "%qE does not name a type"
3358 msgstr "%qE不是一个类型名"
3359
3360 #: cp/parser.c:2730
3361-#, fuzzy, gcc-internal-format
3362+#, gcc-internal-format
3363 msgid "C++0x %<constexpr%> only available with -std=c++0x or -std=gnu++0x"
3364-msgstr "C++0x auto 只在 -std=c++0x 或 -std=gnu++0x 下可用"
3365+msgstr "C++0x %<constexpr%>只在 -std=c++0x 或 -std=gnu++0x 下可用"
3366
3367 #: cp/parser.c:2757
3368 #, gcc-internal-format
3369@@ -29154,19 +29096,19 @@ msgid "%qE in class %qT does not name a type"
3370 msgstr "%qE不是类%qT中的一个类型名"
3371
3372 #: cp/parser.c:3340
3373-#, fuzzy, gcc-internal-format
3374+#, gcc-internal-format
3375 msgid "expected string-literal"
3376 msgstr "需要字面字符串"
3377
3378 #: cp/parser.c:3392
3379-#, fuzzy, gcc-internal-format
3380+#, gcc-internal-format
3381 msgid "a wide string is invalid in this context"
3382-msgstr "%L处上下文中不允许使用按值传递的实参"
3383+msgstr "此上下文中宽字符串无效"
3384
3385 #: cp/parser.c:3487 cp/parser.c:9657
3386-#, fuzzy, gcc-internal-format
3387+#, gcc-internal-format
3388 msgid "expected declaration"
3389-msgstr "空声明"
3390+msgstr "需要声明"
3391
3392 #: cp/parser.c:3582
3393 #, gcc-internal-format
3394@@ -29184,9 +29126,9 @@ msgid "statement-expressions are not allowed outside functions nor in template-a
3395 msgstr "语句表达式只能用于函数或模板实参列表内"
3396
3397 #: cp/parser.c:3728 cp/parser.c:3877 cp/parser.c:4030
3398-#, fuzzy, gcc-internal-format
3399+#, gcc-internal-format
3400 msgid "expected primary-expression"
3401-msgstr "需要表达式"
3402+msgstr "需要元表达式"
3403
3404 #: cp/parser.c:3758
3405 #, gcc-internal-format
3406@@ -29206,7 +29148,7 @@ msgstr "局部变量%qD不应出现在此上下文中"
3407 #: cp/parser.c:4170
3408 #, fuzzy, gcc-internal-format
3409 msgid "expected id-expression"
3410-msgstr "需要表达式"
3411+msgstr "需要表达式类型"
3412
3413 #: cp/parser.c:4300
3414 #, gcc-internal-format
3415@@ -29226,17 +29168,17 @@ msgstr "typedef 名%qD用于析构函数声明"
3416 #: cp/parser.c:4472 cp/parser.c:15219
3417 #, fuzzy, gcc-internal-format
3418 msgid "expected unqualified-id"
3419-msgstr "需要指定符-限制符列表"
3420+msgstr "无效的模板 ID"
3421
3422 #: cp/parser.c:4576
3423-#, gcc-internal-format
3424+#, fuzzy, gcc-internal-format
3425 msgid "found %<:%> in nested-name-specifier, expected %<::%>"
3426-msgstr ""
3427+msgstr "嵌套名指定中使用了不完全的类型%qT"
3428
3429 #: cp/parser.c:4793
3430 #, fuzzy, gcc-internal-format
3431 msgid "expected nested-name-specifier"
3432-msgstr "需要指定声明"
3433+msgstr "%C 期待访问指定符"
3434
3435 #: cp/parser.c:4975 cp/parser.c:6644
3436 #, gcc-internal-format
3437@@ -29268,7 +29210,7 @@ msgstr "错误地使用了%qD"
3438 #: cp/parser.c:5868
3439 #, gcc-internal-format
3440 msgid "non-scalar type"
3441-msgstr ""
3442+msgstr "非标准类型"
3443
3444 #: cp/parser.c:5957
3445 #, fuzzy, gcc-internal-format
3446@@ -29316,14 +29258,14 @@ msgid "suggest parentheses around %<>>%> expression"
3447 msgstr "建议%<>>%>表达式周围加上括号"
3448
3449 #: cp/parser.c:6986
3450-#, fuzzy, gcc-internal-format
3451+#, gcc-internal-format
3452 msgid "ISO C++ does not allow ?: with omitted middle operand"
3453-msgstr "ISO C++ 不允许指定元素初始值设定"
3454+msgstr "ISO C++ 不允许省略 ?: 的中间操作数"
3455
3456 #: cp/parser.c:7582
3457 #, fuzzy, gcc-internal-format
3458 msgid "lambda-expression in unevaluated context"
3459-msgstr "没有捕获的 Lambda 表达式声明为 mutable"
3460+msgstr "已经在 Lambda 表达式中捕获了%<this%>"
3461
3462 #: cp/parser.c:7705
3463 #, gcc-internal-format
3464@@ -29343,7 +29285,7 @@ msgstr "为 lambda 形参指定了默认参数"
3465 #: cp/parser.c:8211
3466 #, fuzzy, gcc-internal-format
3467 msgid "expected labeled-statement"
3468-msgstr "需要语句"
3469+msgstr "需要 %s 语句在%L处"
3470
3471 #: cp/parser.c:8249
3472 #, gcc-internal-format
3473@@ -29363,7 +29305,7 @@ msgstr "%<%T::%D%>命名了一个构造函数而非类型"
3474 #: cp/parser.c:8590 cp/parser.c:20971
3475 #, fuzzy, gcc-internal-format
3476 msgid "expected selection-statement"
3477-msgstr "需要声明或语句"
3478+msgstr "需要 %s 语句在%L处"
3479
3480 #: cp/parser.c:8623
3481 #, gcc-internal-format
3482@@ -29378,7 +29320,7 @@ msgstr "对%qT不一致的演绎:先是%qT然后是%qT"
3483 #: cp/parser.c:9044 cp/parser.c:20974
3484 #, fuzzy, gcc-internal-format
3485 msgid "expected iteration-statement"
3486-msgstr "需要声明或语句"
3487+msgstr "需要 %s 语句在%L处"
3488
3489 #: cp/parser.c:9091
3490 #, fuzzy, gcc-internal-format
3491@@ -29394,7 +29336,7 @@ msgstr "ISO C++ 不允许计算转移"
3492 #: cp/parser.c:9226 cp/parser.c:20977
3493 #, fuzzy, gcc-internal-format
3494 msgid "expected jump-statement"
3495-msgstr "需要语句"
3496+msgstr "需要 %s 语句在%L处"
3497
3498 #: cp/parser.c:9358 cp/parser.c:17788
3499 #, gcc-internal-format
3500@@ -29426,7 +29368,7 @@ msgstr "%<auto%>的语义在 C++0x 中将被改变;请考虑删除它"
3501 #: cp/parser.c:9974
3502 #, fuzzy, gcc-internal-format
3503 msgid "decl-specifier invalid in condition"
3504-msgstr "函数定义上有 pure 指定"
3505+msgstr "%C处 NAME= 限定符中 C 名字无效"
3506
3507 #: cp/parser.c:10065
3508 #, gcc-internal-format
3509@@ -29474,9 +29416,9 @@ msgid "keyword %<typename%> not allowed in this context (a qualified member init
3510 msgstr "关键字%<typename%>不允许用在此上下文中(限定的初始值设定隐式地是一个类型)"
3511
3512 #: cp/parser.c:11095
3513-#, fuzzy, gcc-internal-format
3514+#, gcc-internal-format
3515 msgid "expected operator"
3516-msgstr "非预期的操作数"
3517+msgstr "需要操作符"
3518
3519 #. Warn that we do not support `export'.
3520 #: cp/parser.c:11132
3521@@ -29500,14 +29442,14 @@ msgid "template parameter packs cannot have default arguments"
3522 msgstr "模板参数包不能有默认参数"
3523
3524 #: cp/parser.c:11616
3525-#, fuzzy, gcc-internal-format
3526+#, gcc-internal-format
3527 msgid "expected template-id"
3528-msgstr "需要语句"
3529+msgstr "需要模板 ID"
3530
3531 #: cp/parser.c:11663 cp/parser.c:20935
3532-#, fuzzy, gcc-internal-format
3533+#, gcc-internal-format
3534 msgid "expected %<<%>"
3535-msgstr "需要%<;%>"
3536+msgstr "需要%<<%>"
3537
3538 #: cp/parser.c:11670
3539 #, gcc-internal-format
3540@@ -29526,9 +29468,9 @@ msgstr "模板实参表语法错误"
3541
3542 #. The name does not name a template.
3543 #: cp/parser.c:11820 cp/parser.c:11935 cp/parser.c:12145
3544-#, fuzzy, gcc-internal-format
3545+#, gcc-internal-format
3546 msgid "expected template-name"
3547-msgstr "需要语句"
3548+msgstr "需要模板名"
3549
3550 #. Explain what went wrong.
3551 #: cp/parser.c:11866
3552@@ -29547,14 +29489,14 @@ msgid "expected parameter pack before %<...%>"
3553 msgstr "%<...%>前需要形参包"
3554
3555 #: cp/parser.c:12110 cp/parser.c:12128 cp/parser.c:12269
3556-#, fuzzy, gcc-internal-format
3557+#, gcc-internal-format
3558 msgid "expected template-argument"
3559-msgstr "需要语句"
3560+msgstr "需要模板实参"
3561
3562 #: cp/parser.c:12252
3563 #, fuzzy, gcc-internal-format
3564 msgid "invalid non-type template argument"
3565-msgstr "无效的类型参数"
3566+msgstr "%qs(有%qT)的实参类型无效"
3567
3568 #: cp/parser.c:12366
3569 #, fuzzy, gcc-internal-format
3570@@ -29574,17 +29516,17 @@ msgstr "特例化模板有 C 链接"
3571 #: cp/parser.c:12646
3572 #, fuzzy, gcc-internal-format
3573 msgid "expected type specifier"
3574-msgstr "需要指定声明"
3575+msgstr "需要表达式类型"
3576
3577 #: cp/parser.c:12863
3578 #, fuzzy, gcc-internal-format
3579 msgid "expected template-id for type"
3580-msgstr "需要表达式类型"
3581+msgstr " 需要有%qD类型的模板,却得到了%qT"
3582
3583 #: cp/parser.c:12890
3584 #, fuzzy, gcc-internal-format
3585 msgid "expected type-name"
3586-msgstr "需要名字"
3587+msgstr "需要类名"
3588
3589 #: cp/parser.c:13077
3590 #, gcc-internal-format
3591@@ -29612,14 +29554,14 @@ msgid "attributes ignored on elaborated-type-specifier that is not a forward dec
3592 msgstr "类型在非前向声明的详尽类型限定符中被忽略"
3593
3594 #: cp/parser.c:13480
3595-#, fuzzy, gcc-internal-format
3596+#, gcc-internal-format
3597 msgid "%qD is an enumeration template"
3598-msgstr "%qD不是一个函数模板"
3599+msgstr "%qD不是一个枚举模板"
3600
3601 #: cp/parser.c:13488
3602 #, fuzzy, gcc-internal-format
3603 msgid "%qD is not an enumerator-name"
3604-msgstr "%qD不是一个命名空间名"
3605+msgstr "%qD不是一个命名空间"
3606
3607 #: cp/parser.c:13551
3608 #, fuzzy, gcc-internal-format
3609@@ -29700,12 +29642,12 @@ msgstr ""
3610 #: cp/parser.c:14616 cp/parser.c:16529
3611 #, fuzzy, gcc-internal-format
3612 msgid "expected initializer"
3613-msgstr "需要标识符"
3614+msgstr "无效的初始值设定"
3615
3616 #: cp/parser.c:14636
3617 #, fuzzy, gcc-internal-format
3618 msgid "invalid type in declaration"
3619-msgstr "无效的函数声明"
3620+msgstr "形参声明中出现的 typedef 声明无效"
3621
3622 #: cp/parser.c:14712
3623 #, gcc-internal-format
3624@@ -29749,12 +29691,12 @@ msgstr "使用%<%T::%D%>而不是%<%T::%D%>来以限定名指定构造函数"
3625 #: cp/parser.c:15314
3626 #, fuzzy, gcc-internal-format
3627 msgid "invalid declarator"
3628-msgstr "无效的函数声明"
3629+msgstr "无效的初始值设定"
3630
3631 #: cp/parser.c:15380
3632 #, fuzzy, gcc-internal-format
3633 msgid "expected declarator"
3634-msgstr "需要指定声明"
3635+msgstr "在%C处需要‘(’"
3636
3637 #: cp/parser.c:15475
3638 #, gcc-internal-format
3639@@ -29764,7 +29706,7 @@ msgstr "%qD是一个命名空间"
3640 #: cp/parser.c:15491
3641 #, fuzzy, gcc-internal-format
3642 msgid "expected ptr-operator"
3643-msgstr "非预期的操作数"
3644+msgstr "未知的操作符‘%s’在 %%L处"
3645
3646 #: cp/parser.c:15550
3647 #, gcc-internal-format
3648@@ -29779,17 +29721,17 @@ msgstr "错误地使用了%<auto%>"
3649 #: cp/parser.c:15691
3650 #, fuzzy, gcc-internal-format
3651 msgid "types may not be defined in template arguments"
3652-msgstr "类型不能定义在参数类型中"
3653+msgstr "不能%<typeid%>中定义类型"
3654
3655 #: cp/parser.c:15772
3656 #, fuzzy, gcc-internal-format
3657 msgid "expected type-specifier"
3658-msgstr "需要标识符"
3659+msgstr "需要表达式类型"
3660
3661 #: cp/parser.c:16016
3662-#, fuzzy, gcc-internal-format
3663+#, gcc-internal-format
3664 msgid "expected %<,%> or %<...%>"
3665-msgstr "需要%<:%>或%<...%>"
3666+msgstr "需要%<,%>或%<...%>"
3667
3668 #: cp/parser.c:16073
3669 #, gcc-internal-format
3670@@ -29822,24 +29764,24 @@ msgid "expected class-name"
3671 msgstr "需要类名"
3672
3673 #: cp/parser.c:17053
3674-#, fuzzy, gcc-internal-format
3675+#, gcc-internal-format
3676 msgid "expected %<;%> after class definition"
3677-msgstr "非预期的 %d 字节 cop 指令"
3678+msgstr "类定义后需要%<;%>"
3679
3680 #: cp/parser.c:17055
3681-#, fuzzy, gcc-internal-format
3682+#, gcc-internal-format
3683 msgid "expected %<;%> after struct definition"
3684-msgstr "非预期的 %d 字节 cop 指令"
3685+msgstr "结构定义后需要%<;%>"
3686
3687 #: cp/parser.c:17057
3688-#, fuzzy, gcc-internal-format
3689+#, gcc-internal-format
3690 msgid "expected %<;%> after union definition"
3691-msgstr "%C处的函数声明后有非预期的垃圾字符"
3692+msgstr "联合定义后需要%<;%>"
3693
3694 #: cp/parser.c:17341
3695 #, fuzzy, gcc-internal-format
3696 msgid "expected %<{%> or %<:%>"
3697-msgstr "需要 %<,%> 或 % <)%>"
3698+msgstr "需要%<,%>或%<;%>"
3699
3700 #: cp/parser.c:17353
3701 #, gcc-internal-format
3702@@ -29849,7 +29791,7 @@ msgstr ""
3703 #: cp/parser.c:17360
3704 #, fuzzy, gcc-internal-format
3705 msgid "qualified name does not name a class"
3706-msgstr "友元声明没有指定类或函数名"
3707+msgstr "%qE不是一个类"
3708
3709 #: cp/parser.c:17372
3710 #, gcc-internal-format
3711@@ -29874,7 +29816,7 @@ msgstr "函数模板%qD重声明为类模板"
3712 #: cp/parser.c:17478
3713 #, fuzzy, gcc-internal-format
3714 msgid "could not resolve typename type"
3715-msgstr "不能解析 16 进制数"
3716+msgstr "%<typename %T::%D%>指定了%q#T,但后者不是一个类型"
3717
3718 #: cp/parser.c:17530
3719 #, gcc-internal-format
3720@@ -29904,7 +29846,7 @@ msgstr "函数定义上有 pure 指定"
3721 #: cp/parser.c:18054
3722 #, fuzzy, gcc-internal-format
3723 msgid "expected %<;%> at end of member declaration"
3724-msgstr "需要%<(%>或行尾"
3725+msgstr "在%C处需要“,”或语句尾"
3726
3727 #: cp/parser.c:18120
3728 #, fuzzy, gcc-internal-format
3729@@ -29919,7 +29861,7 @@ msgstr "<花括号内的初始值列表>"
3730 #: cp/parser.c:18287
3731 #, gcc-internal-format
3732 msgid "%<virtual%> specified more than once in base-specified"
3733-msgstr ""
3734+msgstr "在基类限定中指定了多于一次的%<virtual%>"
3735
3736 #: cp/parser.c:18307
3737 #, gcc-internal-format
3738@@ -29993,12 +29935,12 @@ msgstr "模板有 C 链接"
3739 #: cp/parser.c:19941
3740 #, fuzzy, gcc-internal-format
3741 msgid "invalid explicit specialization"
3742-msgstr "无效的基类"
3743+msgstr "显式特例化非模板%qT"
3744
3745 #: cp/parser.c:20071
3746 #, gcc-internal-format
3747 msgid "template declaration of %<typedef%>"
3748-msgstr "%<typedef%> 的模板声明"
3749+msgstr "%<typedef%>的模板声明"
3750
3751 #: cp/parser.c:20148
3752 #, gcc-internal-format
3753@@ -30026,134 +29968,134 @@ msgid "%<__thread%> before %qD"
3754 msgstr "%<__thread%>出现在%qD之前"
3755
3756 #: cp/parser.c:20844
3757-#, fuzzy, gcc-internal-format
3758+#, gcc-internal-format
3759 msgid "expected %<new%>"
3760-msgstr "需要%<;%>"
3761+msgstr "需要%<new%>"
3762
3763 #: cp/parser.c:20847
3764-#, fuzzy, gcc-internal-format
3765+#, gcc-internal-format
3766 msgid "expected %<delete%>"
3767-msgstr "需要 %<while%>"
3768+msgstr "需要%<delete%>"
3769
3770 #: cp/parser.c:20850
3771-#, fuzzy, gcc-internal-format
3772+#, gcc-internal-format
3773 msgid "expected %<return%>"
3774-msgstr "需要 %<@end%>"
3775+msgstr "需要%<return%>"
3776
3777 #: cp/parser.c:20856
3778-#, fuzzy, gcc-internal-format
3779+#, gcc-internal-format
3780 msgid "expected %<extern%>"
3781-msgstr "需要 %<@end%>"
3782+msgstr "需要%<extern%>"
3783
3784 #: cp/parser.c:20859
3785-#, fuzzy, gcc-internal-format
3786+#, gcc-internal-format
3787 msgid "expected %<static_assert%>"
3788-msgstr "需要 %<while%>"
3789+msgstr "需要%<static_assert%>"
3790
3791 #: cp/parser.c:20862
3792-#, fuzzy, gcc-internal-format
3793+#, gcc-internal-format
3794 msgid "expected %<decltype%>"
3795-msgstr "需要 %<while%>"
3796+msgstr "需要%<decltype%>"
3797
3798 #: cp/parser.c:20865
3799-#, fuzzy, gcc-internal-format
3800+#, gcc-internal-format
3801 msgid "expected %<operator%>"
3802-msgstr "需要%<;%>"
3803+msgstr "需要%<operator%>"
3804
3805 #: cp/parser.c:20868
3806-#, fuzzy, gcc-internal-format
3807+#, gcc-internal-format
3808 msgid "expected %<class%>"
3809-msgstr "需要%<;%>"
3810+msgstr "需要%<class%>"
3811
3812 #: cp/parser.c:20871
3813-#, fuzzy, gcc-internal-format
3814+#, gcc-internal-format
3815 msgid "expected %<template%>"
3816-msgstr "需要 %<while%>"
3817+msgstr "需要%<template%>"
3818
3819 #: cp/parser.c:20874
3820-#, fuzzy, gcc-internal-format
3821+#, gcc-internal-format
3822 msgid "expected %<namespace%>"
3823-msgstr "需要%<;%>"
3824+msgstr "需要%<namespace%>"
3825
3826 #: cp/parser.c:20877
3827-#, fuzzy, gcc-internal-format
3828+#, gcc-internal-format
3829 msgid "expected %<using%>"
3830-msgstr "需要%<;%>"
3831+msgstr "需要%<using%>"
3832
3833 #: cp/parser.c:20880
3834-#, fuzzy, gcc-internal-format
3835+#, gcc-internal-format
3836 msgid "expected %<asm%>"
3837-msgstr "需要%<;%>"
3838+msgstr "需要%<asm%>"
3839
3840 #: cp/parser.c:20883
3841-#, fuzzy, gcc-internal-format
3842+#, gcc-internal-format
3843 msgid "expected %<try%>"
3844-msgstr "需要%<;%>"
3845+msgstr "需要%<try%>"
3846
3847 #: cp/parser.c:20886
3848-#, fuzzy, gcc-internal-format
3849+#, gcc-internal-format
3850 msgid "expected %<catch%>"
3851-msgstr "需要%<;%>"
3852+msgstr "需要%<catch%>"
3853
3854 #: cp/parser.c:20889
3855-#, fuzzy, gcc-internal-format
3856+#, gcc-internal-format
3857 msgid "expected %<throw%>"
3858-msgstr "需要%<;%>"
3859+msgstr "需要%<throw%>"
3860
3861 #: cp/parser.c:20892
3862-#, fuzzy, gcc-internal-format
3863+#, gcc-internal-format
3864 msgid "expected %<__label__%>"
3865-msgstr "需要 %<while%>"
3866+msgstr "需要%<__label__%>"
3867
3868 #: cp/parser.c:20895
3869-#, fuzzy, gcc-internal-format
3870+#, gcc-internal-format
3871 msgid "expected %<@try%>"
3872-msgstr "需要%<;%>"
3873+msgstr "需要%<@try%>"
3874
3875 #: cp/parser.c:20898
3876-#, fuzzy, gcc-internal-format
3877+#, gcc-internal-format
3878 msgid "expected %<@synchronized%>"
3879-msgstr "需要 %<@end%>"
3880+msgstr "需要%<@synchronized%>"
3881
3882 #: cp/parser.c:20901
3883-#, fuzzy, gcc-internal-format
3884+#, gcc-internal-format
3885 msgid "expected %<@throw%>"
3886-msgstr "需要%<;%>"
3887+msgstr "需要%<@throw%>"
3888
3889 #: cp/parser.c:20926
3890-#, fuzzy, gcc-internal-format
3891+#, gcc-internal-format
3892 msgid "expected %<[%>"
3893-msgstr "需要%<;%>"
3894+msgstr "需要%<[%>"
3895
3896 #: cp/parser.c:20932
3897-#, fuzzy, gcc-internal-format
3898+#, gcc-internal-format
3899 msgid "expected %<::%>"
3900-msgstr "需要 %<:%>"
3901+msgstr "需要%<::%>"
3902
3903 #: cp/parser.c:20944
3904-#, fuzzy, gcc-internal-format
3905+#, gcc-internal-format
3906 msgid "expected %<...%>"
3907-msgstr "需要%<;%>"
3908+msgstr "需要%<...%>"
3909
3910 #: cp/parser.c:20947
3911-#, fuzzy, gcc-internal-format
3912+#, gcc-internal-format
3913 msgid "expected %<*%>"
3914-msgstr "需要%<;%>"
3915+msgstr "需要%<*%>"
3916
3917 #: cp/parser.c:20950
3918-#, fuzzy, gcc-internal-format
3919+#, gcc-internal-format
3920 msgid "expected %<~%>"
3921-msgstr "需要%<;%>"
3922+msgstr "需要%<~%>"
3923
3924 #: cp/parser.c:20956
3925-#, fuzzy, gcc-internal-format
3926+#, gcc-internal-format
3927 msgid "expected %<:%> or %<::%>"
3928-msgstr "需要%<:%>或%<...%>"
3929+msgstr "需要%<:%>或%<::%>"
3930
3931 #: cp/parser.c:20984
3932-#, fuzzy, gcc-internal-format
3933+#, gcc-internal-format
3934 msgid "expected %<class%>, %<typename%>, or %<template%>"
3935-msgstr "需要 %<;%>、%<,%> 或 %<)%>"
3936+msgstr "需要%<class%>、%<typename%>或%<template%>"
3937
3938 #: cp/parser.c:21215
3939 #, gcc-internal-format
3940@@ -30228,7 +30170,7 @@ msgstr "%qE属性为%qE所忽略"
3941 #: cp/parser.c:22995 cp/parser.c:23002 cp/parser.c:23009
3942 #, fuzzy, gcc-internal-format
3943 msgid "invalid type for property"
3944-msgstr "无效的类型参数"
3945+msgstr "%q+D的抽象类型无效"
3946
3947 #: cp/parser.c:24440
3948 #, gcc-internal-format
3949@@ -30501,7 +30443,7 @@ msgstr[0] "模板实参%2$qE的类型%1$qT取决于模板参数"
3950 #: cp/pt.c:4410
3951 #, fuzzy, gcc-internal-format
3952 msgid "partial specialization of %qT after instantiation of %qT"
3953-msgstr "%qT的实例化在%qT的特例化之后"
3954+msgstr "部分特例化模板%qT声明为%<friend%>"
3955
3956 #: cp/pt.c:4503
3957 #, gcc-internal-format
3958@@ -30670,7 +30612,7 @@ msgstr "%qE不是类型%qT的有效模板实参,因为字面字符串不能用
3959 #: cp/pt.c:5403
3960 #, fuzzy, gcc-internal-format
3961 msgid "in template argument for type %qT "
3962-msgstr "%qE不是类型%qT的有效模板参数"
3963+msgstr "%qD的模板实参使用了局部类型%qT"
3964
3965 #: cp/pt.c:5443
3966 #, gcc-internal-format
3967@@ -31122,7 +31064,7 @@ msgstr "从花括号中的初始化列表演绎需要 #include <initializer_list
3968 #: cp/pt.c:18972
3969 #, gcc-internal-format
3970 msgid "variable %q#D with %<auto%> type used in its own initializer"
3971-msgstr "变量‘%q#D’在其自身的初始值设定中使用了%<auto%>类型"
3972+msgstr "变量%q#D在其自身的初始值设定中使用了%<auto%>类型"
3973
3974 #. If type is error_mark_node a diagnostic must have been
3975 #. emitted by now. Also, having a mention to '<type error>'
3976@@ -31513,17 +31455,17 @@ msgstr "constexpr 变量%2$qD的类型%1$qT不是字面常量"
3977 #: cp/semantics.c:5390
3978 #, fuzzy, gcc-internal-format
3979 msgid "invalid type for parameter %q#D of constexpr function"
3980-msgstr "在静态成员函数中使用成员%q+D无效"
3981+msgstr "函数%q+#D的抽象返回类型无效"
3982
3983 #: cp/semantics.c:5401
3984 #, fuzzy, gcc-internal-format
3985 msgid "invalid return type %qT of constexpr function %qD"
3986-msgstr "函数%q+#D的抽象返回类型无效"
3987+msgstr "函数%2$qD的返回值类型%1$qT不是一个字面类型"
3988
3989 #: cp/semantics.c:5411
3990 #, fuzzy, gcc-internal-format
3991 msgid "enclosing class of %q#D is not a literal type"
3992-msgstr "形参%q#D不是一个字面类型"
3993+msgstr "%3$L处 CLASS 变量‘%2$s’的类型‘%1$s’不能被扩展"
3994
3995 #: cp/semantics.c:5584
3996 #, gcc-internal-format
3997@@ -31543,7 +31485,7 @@ msgstr "友元声明没有指定类或函数名"
3998 #: cp/semantics.c:5995
3999 #, fuzzy, gcc-internal-format
4000 msgid "%qD is not a constexpr function"
4001-msgstr "%qD不是一个模板函数"
4002+msgstr "%qD不是一个函数模板"
4003
4004 #: cp/semantics.c:6022
4005 #, fuzzy, gcc-internal-format
4006@@ -31558,17 +31500,17 @@ msgstr "协议%qE存在循环依赖"
4007 #: cp/semantics.c:6135
4008 #, fuzzy, gcc-internal-format
4009 msgid "%q+E is not a constant expression"
4010-msgstr "%qD不能出现在常量表达式中"
4011+msgstr "整型表达式%qE不是常量"
4012
4013 #: cp/semantics.c:6252
4014-#, fuzzy, gcc-internal-format
4015+#, gcc-internal-format
4016 msgid "array subscript out of bound"
4017-msgstr "数组下标越过了数组边界"
4018+msgstr "数组下标越界"
4019
4020 #: cp/semantics.c:6291 cp/semantics.c:6337 cp/semantics.c:6807
4021 #, fuzzy, gcc-internal-format
4022 msgid "%qE is not a constant expression"
4023-msgstr "常量表达式中类型错误"
4024+msgstr "整型表达式%qE不是常量"
4025
4026 #: cp/semantics.c:6305
4027 #, fuzzy, gcc-internal-format
4028@@ -31593,12 +31535,12 @@ msgstr "变量‘%q#D’在其自身的初始值设定中使用了%<auto%>类型
4029 #: cp/semantics.c:6727
4030 #, fuzzy, gcc-internal-format
4031 msgid "%q#D is not const"
4032-msgstr "%qD未被捕获"
4033+msgstr "%q#T不是一个类"
4034
4035 #: cp/semantics.c:6730
4036 #, fuzzy, gcc-internal-format
4037 msgid "%q#D is volatile"
4038-msgstr "%q+#D是私有的"
4039+msgstr "重复的%<volatile%>"
4040
4041 #: cp/semantics.c:6733
4042 #, fuzzy, gcc-internal-format
4043@@ -31608,7 +31550,7 @@ msgstr "%qD不能出现在常量表达式中"
4044 #: cp/semantics.c:6742
4045 #, fuzzy, gcc-internal-format
4046 msgid "%qD was not declared %<constexpr%>"
4047-msgstr "形参不能被声明为%<constexpr%>"
4048+msgstr "%qD在此作用域中尚未声明"
4049
4050 #: cp/semantics.c:6745
4051 #, fuzzy, gcc-internal-format
4052@@ -31628,27 +31570,27 @@ msgstr "整型表达式%qE不是常量"
4053 #: cp/semantics.c:7067
4054 #, fuzzy, gcc-internal-format
4055 msgid "unexpected expression %qE of kind %s"
4056-msgstr "需要表达式"
4057+msgstr "%qE定义为类型错误的标记"
4058
4059 #: cp/semantics.c:7274
4060 #, gcc-internal-format
4061 msgid "expression %qE has side-effects"
4062-msgstr ""
4063+msgstr "表达式%qE有副作用"
4064
4065 #: cp/semantics.c:7319
4066 #, fuzzy, gcc-internal-format
4067 msgid "%qE is not a potential constant expression"
4068-msgstr "%qD不能出现在常量表达式中"
4069+msgstr "整型表达式%qE不是常量"
4070
4071 #: cp/semantics.c:7337
4072 #, fuzzy, gcc-internal-format
4073 msgid "%qE is not a function name"
4074-msgstr "%qD不是一个函数模板"
4075+msgstr "被调用的对象%qE不是一个函数"
4076
4077 #: cp/semantics.c:7352
4078 #, fuzzy, gcc-internal-format
4079 msgid "%qD is not %<constexpr%>"
4080-msgstr "析构函数不能是 %<constexpr%>"
4081+msgstr "%qD不是一个变量"
4082
4083 #: cp/semantics.c:7370
4084 #, fuzzy, gcc-internal-format
4085@@ -31678,7 +31620,7 @@ msgstr "初始值设定中元素不是常量表达式"
4086 #: cp/semantics.c:7551
4087 #, fuzzy, gcc-internal-format
4088 msgid "pointer comparison expression is not a constant expression"
4089-msgstr "初始值设定中元素不是常量表达式"
4090+msgstr "整型表达式%qE不是常量"
4091
4092 #: cp/semantics.c:7636
4093 #, fuzzy, gcc-internal-format
4094@@ -31688,12 +31630,12 @@ msgstr "初始值设定中元素不是常量表达式"
4095 #: cp/semantics.c:7739
4096 #, fuzzy, gcc-internal-format
4097 msgid "non-constant array initialization"
4098-msgstr "初始值设定中数组索引不是常数"
4099+msgstr "%L处需要标量初始化表达式"
4100
4101 #: cp/semantics.c:7745
4102 #, fuzzy, gcc-internal-format, gfc-internal-format
4103 msgid "unexpected ast of kind %s"
4104-msgstr "‘%s’中非预期的文件结尾"
4105+msgstr "无效的调度类型"
4106
4107 #: cp/semantics.c:7915
4108 #, gcc-internal-format
4109@@ -31978,12 +31920,12 @@ msgstr "%qE不能用作函数"
4110 #: cp/typeck.c:3287
4111 #, fuzzy, gcc-internal-format
4112 msgid "too many arguments to constructor %q#D"
4113-msgstr "给予 %s%q+#D的参数太多"
4114+msgstr "给予函数 %s 的参数太多,于 %L"
4115
4116 #: cp/typeck.c:3288
4117 #, fuzzy, gcc-internal-format
4118 msgid "too few arguments to constructor %q#D"
4119-msgstr "给予 %s%q+#D的参数太少"
4120+msgstr "给 %qE 的实递参数太少"
4121
4122 #: cp/typeck.c:3293
4123 #, fuzzy, gcc-internal-format
4124@@ -31998,22 +31940,22 @@ msgstr "提供给函数%qE的实参太少"
4125 #: cp/typeck.c:3300
4126 #, fuzzy, gcc-internal-format
4127 msgid "too many arguments to function %q#D"
4128-msgstr "提供给函数%qE的实参太多"
4129+msgstr "给予函数的实参太多"
4130
4131 #: cp/typeck.c:3301
4132 #, fuzzy, gcc-internal-format
4133 msgid "too few arguments to function %q#D"
4134-msgstr "提供给函数%qE的实参太少"
4135+msgstr "给予函数的实参太少"
4136
4137 #: cp/typeck.c:3311
4138 #, fuzzy, gcc-internal-format
4139 msgid "too many arguments to method %q#D"
4140-msgstr "给予 %s%q+#D的参数太多"
4141+msgstr "给予函数 %s 的参数太多,于 %L"
4142
4143 #: cp/typeck.c:3312
4144 #, fuzzy, gcc-internal-format
4145 msgid "too few arguments to method %q#D"
4146-msgstr "给予 %s%q+#D的参数太少"
4147+msgstr "给 %qE 的实递参数太少"
4148
4149 #: cp/typeck.c:3315
4150 #, gcc-internal-format
4151@@ -32384,34 +32326,34 @@ msgid "cannot convert %qT to %qT for argument %qP to %qD"
4152 msgstr "不能将%4$qD的实参%3$qP从%1$qT转换到%2$qT"
4153
4154 #: cp/typeck.c:7272
4155-#, fuzzy, gcc-internal-format
4156+#, gcc-internal-format
4157 msgid "cannot convert %qT to %qT in default argument"
4158-msgstr "不能将%4$qD的实参%3$qP从%1$qT转换到%2$qT"
4159+msgstr "不能在参数默认时将%qT转换为%qT"
4160
4161 #: cp/typeck.c:7276
4162-#, fuzzy, gcc-internal-format
4163+#, gcc-internal-format
4164 msgid "cannot convert %qT to %qT in argument passing"
4165-msgstr "不能将%qT转换为%qT,在 %s 中"
4166+msgstr "不能在传参时将%qT转换为%qT"
4167
4168 #: cp/typeck.c:7280
4169-#, fuzzy, gcc-internal-format
4170+#, gcc-internal-format
4171 msgid "cannot convert %qT to %qT"
4172-msgstr "不能将%qT转换为%qT,在 %s 中"
4173+msgstr "不能将%qT转换为%qT"
4174
4175 #: cp/typeck.c:7284
4176-#, fuzzy, gcc-internal-format
4177+#, gcc-internal-format
4178 msgid "cannot convert %qT to %qT in initialization"
4179-msgstr "不能将%qT转换为%qT,在 %s 中"
4180+msgstr "不能在初始化时将%qT转换为%qT"
4181
4182 #: cp/typeck.c:7288
4183-#, fuzzy, gcc-internal-format
4184+#, gcc-internal-format
4185 msgid "cannot convert %qT to %qT in return"
4186-msgstr "不能将%qT转换为%qT,在 %s 中"
4187+msgstr "不能在返回时将%qT转换为%qT"
4188
4189 #: cp/typeck.c:7292
4190-#, fuzzy, gcc-internal-format
4191+#, gcc-internal-format
4192 msgid "cannot convert %qT to %qT in assignment"
4193-msgstr "不能将%qT转换为%qT,在 %s 中"
4194+msgstr "不能在赋值时将%qT转换为%qT"
4195
4196 #: cp/typeck.c:7315
4197 #, fuzzy, gcc-internal-format
4198@@ -32421,17 +32363,17 @@ msgstr "%2$qE的第 %1$d 个实参可能是 format 属性的备选"
4199 #: cp/typeck.c:7319
4200 #, fuzzy, gcc-internal-format
4201 msgid "parameter might be a candidate for a format attribute"
4202-msgstr "返回类型可能是 format 属性的备选"
4203+msgstr "%2$qE的第 %1$d 个实参可能是 format 属性的备选"
4204
4205 #: cp/typeck.c:7324
4206 #, fuzzy, gcc-internal-format
4207 msgid "target of conversion might be a candidate for a format attribute"
4208-msgstr "函数的实参可能是 format 属性的备选"
4209+msgstr "%2$qE的第 %1$d 个实参可能是 format 属性的备选"
4210
4211 #: cp/typeck.c:7329
4212 #, fuzzy, gcc-internal-format
4213 msgid "target of initialization might be a candidate for a format attribute"
4214-msgstr "函数的实参可能是 format 属性的备选"
4215+msgstr "初始化的左手边可能是 format 属性的备选时"
4216
4217 #: cp/typeck.c:7339
4218 #, fuzzy, gcc-internal-format
4219@@ -32508,14 +32450,14 @@ msgstr "%<operator new%>不能返回 NULL,除非它被声明为%<throw()%>(或
4220
4221 #. Make this a permerror because we used to accept it.
4222 #: cp/typeck.c:8231
4223-#, gcc-internal-format
4224+#, fuzzy, gcc-internal-format
4225 msgid "using temporary as lvalue"
4226-msgstr ""
4227+msgstr "自增操作数必须是左值"
4228
4229 #: cp/typeck.c:8233
4230 #, gcc-internal-format
4231 msgid "using xvalue (rvalue reference) as lvalue"
4232-msgstr ""
4233+msgstr "右值的引用用作左值"
4234
4235 #: cp/typeck2.c:53
4236 #, gcc-internal-format
4237@@ -32530,7 +32472,7 @@ msgstr "向只读字段%qD赋值"
4238 #: cp/typeck2.c:109
4239 #, fuzzy, gcc-internal-format
4240 msgid "constant field %qD used as %<asm%> output"
4241-msgstr "只读变量%qD被用作%<asm%>的输出"
4242+msgstr "通过‘asm’输出向只读字段%qD赋值"
4243
4244 #: cp/typeck2.c:111
4245 #, gcc-internal-format
4246@@ -32791,7 +32733,7 @@ msgstr "成员指针类型%qT与对象类型%qT不兼容"
4247 #: cp/typeck2.c:1530
4248 #, fuzzy, gcc-internal-format
4249 msgid "invalid value-initialization of reference type"
4250-msgstr "引用类型的值初始化无效"
4251+msgstr "引用类型的非法值初始化"
4252
4253 #: cp/typeck2.c:1729
4254 #, gcc-internal-format
4255@@ -32866,7 +32808,7 @@ msgstr "%C处需要数组下标"
4256 #: fortran/array.c:106
4257 #, fuzzy, gcc-internal-format, gfc-internal-format
4258 msgid "Unexpected '*' in coarray subscript at %C"
4259-msgstr "%C处需要数组下标"
4260+msgstr "非预期的 %s 语句出现在%C处的 MODULE 中"
4261
4262 #: fortran/array.c:130
4263 #, fuzzy, gcc-internal-format, gfc-internal-format
4264@@ -32893,12 +32835,12 @@ msgstr "%C处的任何引用都不能多于 %d 维"
4265 #: fortran/match.c:1758 fortran/match.c:2339 fortran/simplify.c:4590
4266 #, gcc-internal-format, gfc-internal-format
4267 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
4268-msgstr ""
4269+msgstr "集合数组在%C处被禁用,使用 -fcoarray= 来启用"
4270
4271 #: fortran/array.c:221
4272 #, fuzzy, gcc-internal-format, gfc-internal-format
4273 msgid "Unexpected coarray designator at %C"
4274-msgstr "%C处需要数组下标"
4275+msgstr "%C处非预期的 END 语句"
4276
4277 #: fortran/array.c:236
4278 #, gcc-internal-format, gfc-internal-format
4279@@ -32908,7 +32850,7 @@ msgstr ""
4280 #: fortran/array.c:246
4281 #, fuzzy, gcc-internal-format, gfc-internal-format
4282 msgid "Unexpected '*' for codimension %d of %d at %C"
4283-msgstr "%C处数组声明需要另外一维"
4284+msgstr "%2$L处 %1$s 种别无效"
4285
4286 #: fortran/array.c:249
4287 #, fuzzy, gcc-internal-format, gfc-internal-format
4288@@ -32938,7 +32880,7 @@ msgstr "%C处数组规格中需要表达式"
4289 #: fortran/array.c:479
4290 #, fuzzy, gcc-internal-format, gfc-internal-format
4291 msgid "Bad array specification for implied-shape array at %C"
4292-msgstr "%C处假定外形数组的数组规格说明错误"
4293+msgstr "%L 处假定外形数组的坏的数组规格说明"
4294
4295 #: fortran/array.c:495 fortran/array.c:600
4296 #, gcc-internal-format, gfc-internal-format
4297@@ -32978,7 +32920,7 @@ msgstr "Fortran 2008:%C处多于 7 维的数组规格"
4298 #: fortran/array.c:563
4299 #, fuzzy, gcc-internal-format, gfc-internal-format
4300 msgid "Fortran 2008: Coarray declaration at %C"
4301-msgstr "Fortran 2003:%C处的的 FINAL 过程声明"
4302+msgstr "Fortran 2008:%C处的 BLOCK 结构"
4303
4304 #: fortran/array.c:651
4305 #, gcc-internal-format, gfc-internal-format
4306@@ -33100,7 +33042,7 @@ msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个数组"
4307 #: fortran/check.c:292
4308 #, fuzzy, gcc-internal-format, gfc-internal-format
4309 msgid "'%s' at %L must be nonnegative"
4310-msgstr "%L处的语句中 UNIT 数必须为非负的数"
4311+msgstr "%s (%L处)必须是一个标量"
4312
4313 #: fortran/check.c:318
4314 #, fuzzy, gcc-internal-format, gfc-internal-format
4315@@ -33108,9 +33050,9 @@ msgid "'%s' at %L must be less than or equal to BIT_SIZE('%s')"
4316 msgstr "%L处 LOG 的实参不可以小于或等于零"
4317
4318 #: fortran/check.c:328
4319-#, gcc-internal-format, gfc-internal-format
4320+#, fuzzy, gcc-internal-format, gfc-internal-format
4321 msgid "'%s' at %L must be less than BIT_SIZE('%s')"
4322-msgstr ""
4323+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’秩必须小于 %4$d"
4324
4325 #: fortran/check.c:355
4326 #, gcc-internal-format, gfc-internal-format
4327@@ -33211,7 +33153,7 @@ msgstr "%L 的 NULL 指针不能用作内建函数‘%s’的实参"
4328 #: fortran/check.c:963
4329 #, fuzzy, gcc-internal-format, gfc-internal-format
4330 msgid "Extension: Negative argument N at %L"
4331-msgstr "扩展:%C处的参数列表函数"
4332+msgstr "%2$L 处的 %1$s 函数的参数是负的"
4333
4334 #: fortran/check.c:1135 fortran/check.c:1294
4335 #, gcc-internal-format, gfc-internal-format
4336@@ -33324,7 +33266,7 @@ msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’的秩必须为 1 或 2"
4337 #: fortran/check.c:2499
4338 #, fuzzy, gcc-internal-format, gfc-internal-format
4339 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER"
4340-msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个 POINTER"
4341+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须为整数型或实数型"
4342
4343 #: fortran/check.c:2568
4344 #, gcc-internal-format, gfc-internal-format
4345@@ -33586,7 +33528,7 @@ msgstr "%C处错误的 INTENT 规格"
4346 #: fortran/decl.c:671
4347 #, fuzzy, gcc-internal-format, gfc-internal-format
4348 msgid "Fortran 2003: deferred type parameter at %C"
4349-msgstr "Fortran 2003:%C处的过程指针"
4350+msgstr "Fortran 2003:%C 处的类型限定过程"
4351
4352 #: fortran/decl.c:708
4353 #, gcc-internal-format, gfc-internal-format
4354@@ -33626,7 +33568,7 @@ msgstr "%2$L处的过程‘%1$s’必须有属性才能与 C 互操作"
4355 #: fortran/decl.c:1011
4356 #, fuzzy, gcc-internal-format, gfc-internal-format
4357 msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
4358-msgstr "%2$L处类型‘%1$s’是 BIND(C) 过程‘%3$s’的参数,但它不能与 C 互操作,因为派生类型‘%4$s’不能与 C 互操作"
4359+msgstr "%2$L 处类型“%1$s”是去到 BIND(C) 过程“%3$s”的参数,但不能与 C 互操作,因为派生类型“%4$s”不是与 C 可互操作的"
4360
4361 #: fortran/decl.c:1018
4362 #, gcc-internal-format, gfc-internal-format
4363@@ -33741,7 +33683,7 @@ msgstr "%C处对指针的初始化不允许出现在 PURE 过程中"
4364 #: fortran/decl.c:1709
4365 #, fuzzy, gcc-internal-format, gfc-internal-format
4366 msgid "Error in pointer initialization at %C"
4367-msgstr "扩展:%C处旧式的初始化"
4368+msgstr "%C处过程指针组件语法错误"
4369
4370 #: fortran/decl.c:1716
4371 #, fuzzy, gcc-internal-format, gfc-internal-format
4372@@ -33872,7 +33814,7 @@ msgstr "Fortran 2003:%C处的 VOLATILE 属性"
4373 #: fortran/decl.c:2582
4374 #, fuzzy, gcc-internal-format, gfc-internal-format
4375 msgid "Extension: DOUBLE COMPLEX at %C"
4376-msgstr "扩展:%C处的 BYTE 类型"
4377+msgstr "扩展:‘%s’重初始化于 %L"
4378
4379 #: fortran/decl.c:2620
4380 #, gcc-internal-format, gfc-internal-format
4381@@ -33938,7 +33880,7 @@ msgstr "%C处的 IMPORT 语句语法错误"
4382 #: fortran/decl.c:3344
4383 #, fuzzy, gcc-internal-format, gfc-internal-format
4384 msgid "Missing codimension specification at %C"
4385-msgstr "%C处没有维数规格"
4386+msgstr "%C处没有指定维数"
4387
4388 #: fortran/decl.c:3346
4389 #, gcc-internal-format, gfc-internal-format
4390@@ -33978,7 +33920,7 @@ msgstr "Fortran 2003:%C处的 ASYNCHRONOUS 属性"
4391 #: fortran/decl.c:3515
4392 #, fuzzy, gcc-internal-format, gfc-internal-format
4393 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
4394-msgstr "Fortran 2003:%C处的 ASYNCHRONOUS 属性"
4395+msgstr "Fortran 2003:%C处的 PROTECT 属性"
4396
4397 #: fortran/decl.c:3561 fortran/decl.c:6524
4398 #, gcc-internal-format, gfc-internal-format
4399@@ -34082,7 +34024,7 @@ msgstr "%C处数据声明语法错误"
4400 #: fortran/decl.c:4185
4401 #, fuzzy, gcc-internal-format, gfc-internal-format
4402 msgid "Fortran 2008: IMPURE procedure at %C"
4403-msgstr "Fortran 2003:%C处的过程指针"
4404+msgstr "Fortran 2003:%C处的 PROCEDURE 语句"
4405
4406 #: fortran/decl.c:4198
4407 #, gcc-internal-format, gfc-internal-format
4408@@ -34355,7 +34297,7 @@ msgstr "%2$L处在初始化后为 %1$s 指定了维数"
4409 #: fortran/decl.c:6019
4410 #, fuzzy, gcc-internal-format, gfc-internal-format
4411 msgid "Missing array specification at %L in CODIMENSION statement"
4412-msgstr "%L处的 DIMENSION 语句缺少数组规格"
4413+msgstr "%L处的 DIMENSION 语句缺少数组指定"
4414
4415 #: fortran/decl.c:6028
4416 #, gcc-internal-format, gfc-internal-format
4417@@ -34420,7 +34362,7 @@ msgstr "%C处的 Cray 指针声明需要 -fcray-pointer 标记"
4418 #: fortran/decl.c:6395
4419 #, fuzzy, gcc-internal-format, gfc-internal-format
4420 msgid "Fortran 2008: CONTIGUOUS statement at %C"
4421-msgstr "Fortran 2003:%C处的 ASYNCHRONOUS 语句"
4422+msgstr "Fortran 2003:%C处的 IMPORT 语句"
4423
4424 #: fortran/decl.c:6475
4425 #, gcc-internal-format, gfc-internal-format
4426@@ -34735,7 +34677,7 @@ msgstr "%2$C处包含 DEFERRED 绑定的类型‘%1$s’不能是 ABSTRACT"
4427 #: fortran/decl.c:7926
4428 #, fuzzy, gcc-internal-format, gfc-internal-format
4429 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
4430-msgstr "%3$C处已经有一个过程对派生类型‘%2$s’使用绑定名‘%1$s’"
4431+msgstr "在 %3$C 处对于派生类型“%2$s”已经有一个非普通的过程用限定名“%1$s”"
4432
4433 #: fortran/decl.c:7975
4434 #, gcc-internal-format, gfc-internal-format
4435@@ -35120,7 +35062,7 @@ msgstr ""
4436 #: fortran/expr.c:3294
4437 #, fuzzy, gcc-internal-format, gfc-internal-format
4438 msgid "Stride must not be present at %L"
4439-msgstr "%L处赋值中的变量类型不能是多态的"
4440+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’不能为可选的"
4441
4442 #: fortran/expr.c:3306
4443 #, gcc-internal-format, gfc-internal-format
4444@@ -35230,12 +35172,12 @@ msgstr "在%C处的指针初始化需要‘=>’,而不是‘=’"
4445 #: fortran/expr.c:3615
4446 #, fuzzy, gcc-internal-format, gfc-internal-format
4447 msgid "Pointer initialization target at %C must have the TARGET attribute"
4448-msgstr "%C处的组件必须有 POINTER 属性"
4449+msgstr "%L 处指针赋值目标对象有 PROTECTED 属性"
4450
4451 #: fortran/expr.c:3621
4452 #, fuzzy, gcc-internal-format, gfc-internal-format
4453 msgid "Pointer initialization target at %C must have the SAVE attribute"
4454-msgstr "%C处的组件必须有 POINTER 属性"
4455+msgstr "%2$L 处的对象“%1$s”对于成分的默认初始化必须有 SAVE 属性,"
4456
4457 #: fortran/expr.c:3633
4458 #, gcc-internal-format, gfc-internal-format
4459@@ -35253,14 +35195,14 @@ msgid "Non-variable expression in variable definition context (%s) at %L"
4460 msgstr ""
4461
4462 #: fortran/expr.c:4402
4463-#, gcc-internal-format, gfc-internal-format
4464+#, fuzzy, gcc-internal-format, gfc-internal-format
4465 msgid "Named constant '%s' in variable definition context (%s) at %L"
4466-msgstr ""
4467+msgstr "变量‘%s’在%L处上下文中必须是常量"
4468
4469 #: fortran/expr.c:4411
4470 #, fuzzy, gcc-internal-format, gfc-internal-format
4471 msgid "'%s' in variable definition context (%s) at %L is not a variable"
4472-msgstr "%2$L处‘%1$s’的实参不是一个变量"
4473+msgstr "%L处的属性不允许出现在 TYPE 定义中"
4474
4475 #: fortran/expr.c:4423
4476 #, gcc-internal-format, gfc-internal-format
4477@@ -35545,7 +35487,7 @@ msgstr ""
4478 #: fortran/interface.c:1698
4479 #, fuzzy, gcc-internal-format, gfc-internal-format
4480 msgid "Polymorphic scalar passed to array dummy argument '%s' at %L"
4481-msgstr "%2$L处非多态的传递对象虚参‘%1$s’"
4482+msgstr "%2$L 处假定外形的数组的元素传递给哑参数“%1$s”"
4483
4484 #: fortran/interface.c:1707
4485 #, fuzzy, gcc-internal-format, gfc-internal-format
4486@@ -35760,7 +35702,7 @@ msgstr ""
4487 #: fortran/interface.c:2729
4488 #, fuzzy, gcc-internal-format, gfc-internal-format
4489 msgid "Allocatable function '%s' at %L must have an explicit function interface"
4490-msgstr "%2$L处的不定长字符长度函数‘%1$s’必须有一个显式的接口"
4491+msgstr "%2$L处的自动字符长度函数‘%1$s’必须有一个显式的接口"
4492
4493 #: fortran/interface.c:2739
4494 #, gcc-internal-format, gfc-internal-format
4495@@ -35805,7 +35747,7 @@ msgstr "%3$L处对‘%2$s’的调用中找不到名为‘%1$s’的关键字"
4496 #: fortran/intrinsic.c:3525
4497 #, fuzzy, gcc-internal-format, gfc-internal-format
4498 msgid "Argument '%s' appears twice in call to '%s' at %L"
4499-msgstr "%3$L处参数‘%1$s’在调用‘%2$s’时出现两次"
4500+msgstr "参数“%1$s”,在 %3$L 处调用“%2$s”时出现两次"
4501
4502 #: fortran/intrinsic.c:3539
4503 #, gcc-internal-format, gfc-internal-format
4504@@ -36060,7 +36002,7 @@ msgstr "Fortran 95 在%2$L处的 %1$s 标记中需要默认的 INTEGER"
4505 #: fortran/io.c:1513
4506 #, fuzzy, gcc-internal-format, gfc-internal-format
4507 msgid "Fortran 2008: NEWUNIT specifier at %L"
4508-msgstr "Fortran 2008:%L处格式中的‘G0’"
4509+msgstr "Fortran 2008:%C处的 BLOCK 结构"
4510
4511 #: fortran/io.c:1531
4512 #, gcc-internal-format, gfc-internal-format
4513@@ -36481,27 +36423,27 @@ msgstr "PRINT 语句不允许出现在%C处的 PURE 过程中"
4514 #: fortran/match.c:1752
4515 #, fuzzy, gcc-internal-format, gfc-internal-format
4516 msgid "Fortran 2008: CRITICAL statement at %C"
4517-msgstr "Fortran 2003:%C处的 CLASS 语句"
4518+msgstr "Fortran 2003:%C处的 IMPORT 语句"
4519
4520 #: fortran/match.c:1764
4521-#, gcc-internal-format, gfc-internal-format
4522+#, fuzzy, gcc-internal-format, gfc-internal-format
4523 msgid "Nested CRITICAL block at %C"
4524-msgstr ""
4525+msgstr "没有在%C处发现 COMMON 块 /%s/"
4526
4527 #: fortran/match.c:1816
4528 #, fuzzy, gcc-internal-format, gfc-internal-format
4529 msgid "Expected association list at %C"
4530-msgstr "%C处 I/O 列表中需要逗号"
4531+msgstr "%C处需要实参列表"
4532
4533 #: fortran/match.c:1829
4534 #, fuzzy, gcc-internal-format, gfc-internal-format
4535 msgid "Expected association at %C"
4536-msgstr "%C处需要数组下标"
4537+msgstr "需要 %s 语句在%L处"
4538
4539 #: fortran/match.c:1838
4540 #, fuzzy, gcc-internal-format, gfc-internal-format
4541 msgid "Duplicate name '%s' in association at %C"
4542-msgstr "%2$C处重复的 %1$s 规格"
4543+msgstr "%C处的名字中有非法字符"
4544
4545 #: fortran/match.c:1846
4546 #, gcc-internal-format, gfc-internal-format
4547@@ -36511,22 +36453,22 @@ msgstr ""
4548 #: fortran/match.c:1864
4549 #, fuzzy, gcc-internal-format, gfc-internal-format
4550 msgid "Expected ')' or ',' at %C"
4551-msgstr "在%C处需要‘,’"
4552+msgstr "在%C处需要“,”或语句尾"
4553
4554 #: fortran/match.c:1882
4555 #, fuzzy, gcc-internal-format, gfc-internal-format
4556 msgid "Junk after ASSOCIATE statement at %C"
4557-msgstr "%C处重复的 PRIVATE 语句"
4558+msgstr "%C处 ELSE 语句后有非预期的垃圾字符"
4559
4560 #: fortran/match.c:2029
4561 #, fuzzy, gcc-internal-format, gfc-internal-format
4562 msgid "Name '%s' in %s statement at %C is unknown"
4563-msgstr "%3$C处 %2$s 语句中的名字‘%1$s’不是一个循环名"
4564+msgstr "DATA 叙述不允许出现在 %C 处 %s 叙述中的名称“%s”不是个回圈名称"
4565
4566 #: fortran/match.c:2037
4567 #, fuzzy, gcc-internal-format, gfc-internal-format
4568 msgid "Name '%s' in %s statement at %C is not a construct name"
4569-msgstr "%3$C处 %2$s 语句中的名字‘%1$s’不是一个循环名"
4570+msgstr "DATA 叙述不允许出现在 %C 处 %s 叙述中的名称“%s”不是个回圈名称"
4571
4572 #: fortran/match.c:2049
4573 #, fuzzy, gcc-internal-format, gfc-internal-format
4574@@ -36541,7 +36483,7 @@ msgstr "%s 语句在%C处不在循环内"
4575 #: fortran/match.c:2062
4576 #, fuzzy, gcc-internal-format, gfc-internal-format
4577 msgid "%s statement at %C is not within construct '%s'"
4578-msgstr "%s 语句在%C处不在循环‘%s’内"
4579+msgstr "%s 语句在%C处不在循环内"
4580
4581 #: fortran/match.c:2086
4582 #, fuzzy, gcc-internal-format, gfc-internal-format
4583@@ -36586,7 +36528,7 @@ msgstr "%L处的 UNIT 规格必须是 INTEGER 表达式或一个 CHARACTER 变
4584 #: fortran/match.c:2215
4585 #, fuzzy, gcc-internal-format, gfc-internal-format
4586 msgid "STOP code at %L must be scalar"
4587-msgstr "%L处数组索引必须是标量"
4588+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个标量"
4589
4590 #: fortran/match.c:2223
4591 #, gcc-internal-format, gfc-internal-format
4592@@ -36616,7 +36558,7 @@ msgstr "PRINT 语句不允许出现在%C处的 PURE 过程中"
4593 #: fortran/match.c:2333
4594 #, fuzzy, gcc-internal-format, gfc-internal-format
4595 msgid "Fortran 2008: SYNC statement at %C"
4596-msgstr "Fortran 2003:%C处的 CLASS 语句"
4597+msgstr "Fortran 2003:%C处的 IMPORT 语句"
4598
4599 #: fortran/match.c:2345
4600 #, gcc-internal-format, gfc-internal-format
4601@@ -36666,7 +36608,7 @@ msgstr "%C处类型指定无效"
4602 #: fortran/match.c:2879
4603 #, fuzzy, gcc-internal-format, gfc-internal-format
4604 msgid "Error in type-spec at %L"
4605-msgstr "%C处类型指定无效"
4606+msgstr "%C处指定 TYPE IS 语法错误"
4607
4608 #: fortran/match.c:2889
4609 #, gcc-internal-format, gfc-internal-format
4610@@ -37180,17 +37122,17 @@ msgstr "%C处的 COLLAPSE 分句参数不是正整数常量"
4611 #: fortran/openmp.c:469
4612 #, fuzzy, gcc-internal-format, gfc-internal-format
4613 msgid "Unexpected junk after TASKWAIT clause at %C"
4614-msgstr "%C处 ELSE 语句后有非预期的垃圾字符"
4615+msgstr "%C处的函数声明后有非预期的垃圾字符"
4616
4617 #: fortran/openmp.c:487
4618 #, fuzzy, gcc-internal-format, gfc-internal-format
4619 msgid "Unexpected junk after $OMP CRITICAL statement at %C"
4620-msgstr "%C处 ELSE 语句后有非预期的垃圾字符"
4621+msgstr "%C处 ELSE IF 语句后有非预期的垃圾字符"
4622
4623 #: fortran/openmp.c:515
4624 #, fuzzy, gcc-internal-format, gfc-internal-format
4625 msgid "Unexpected junk after $OMP FLUSH statement at %C"
4626-msgstr "%C处 ELSE 语句后有非预期的垃圾字符"
4627+msgstr "%C处 ELSE IF 语句后有非预期的垃圾字符"
4628
4629 #: fortran/openmp.c:547
4630 #, gcc-internal-format, gfc-internal-format
4631@@ -37205,17 +37147,17 @@ msgstr "%C处 !$OMP THREADPRIVATE 列表语法错误"
4632 #: fortran/openmp.c:663
4633 #, fuzzy, gcc-internal-format, gfc-internal-format
4634 msgid "Unexpected junk after $OMP WORKSHARE statement at %C"
4635-msgstr "%C处 ELSE 语句后有非预期的垃圾字符"
4636+msgstr "%C处 ELSE IF 语句后有非预期的垃圾字符"
4637
4638 #: fortran/openmp.c:677
4639 #, fuzzy, gcc-internal-format, gfc-internal-format
4640 msgid "Unexpected junk after $OMP MASTER statement at %C"
4641-msgstr "%C处 ELSE 语句后有非预期的垃圾字符"
4642+msgstr "%C处 ELSE IF 语句后有非预期的垃圾字符"
4643
4644 #: fortran/openmp.c:691
4645 #, fuzzy, gcc-internal-format, gfc-internal-format
4646 msgid "Unexpected junk after $OMP ORDERED statement at %C"
4647-msgstr "%C处 ELSE 语句后有非预期的垃圾字符"
4648+msgstr "%C处 ELSE IF 语句后有非预期的垃圾字符"
4649
4650 #: fortran/openmp.c:705
4651 #, fuzzy, gcc-internal-format, gfc-internal-format
4652@@ -37225,12 +37167,12 @@ msgstr "%C处 ELSE IF 语句后有非预期的垃圾字符"
4653 #: fortran/openmp.c:719
4654 #, fuzzy, gcc-internal-format, gfc-internal-format
4655 msgid "Unexpected junk after $OMP BARRIER statement at %C"
4656-msgstr "%C处 ELSE 语句后有非预期的垃圾字符"
4657+msgstr "%C处 ELSE IF 语句后有非预期的垃圾字符"
4658
4659 #: fortran/openmp.c:736
4660 #, fuzzy, gcc-internal-format, gfc-internal-format
4661 msgid "Unexpected junk after NOWAIT clause at %C"
4662-msgstr "%C处 ELSE 语句后有非预期的垃圾字符"
4663+msgstr "%C处的函数声明后有非预期的垃圾字符"
4664
4665 #: fortran/openmp.c:783 fortran/resolve.c:8673 fortran/resolve.c:9133
4666 #, gcc-internal-format, gfc-internal-format
4667@@ -37541,7 +37483,7 @@ msgstr "子记录长度不能超过 %d"
4668 #: fortran/parse.c:470
4669 #, gcc-internal-format, gfc-internal-format
4670 msgid "Unclassifiable statement at %C"
4671-msgstr "%C 语句无法归类"
4672+msgstr "%C语句无法归类"
4673
4674 #: fortran/parse.c:492
4675 #, gcc-internal-format, gfc-internal-format
4676@@ -37581,7 +37523,7 @@ msgstr "忽略%L处空语句中的语句标号"
4677 #: fortran/parse.c:718 fortran/parse.c:858
4678 #, fuzzy, gcc-internal-format, gfc-internal-format
4679 msgid "Fortran 2008: Semicolon at %C without preceding statement"
4680-msgstr "%C处分号前必须是一个语句"
4681+msgstr "Fortran 2008:%C 处 CONTAINS 语句没有 FUNCTION 或 SUBROUTINE 语句"
4682
4683 #: fortran/parse.c:794 fortran/parse.c:834
4684 #, gcc-internal-format, gfc-internal-format
4685@@ -37651,7 +37593,7 @@ msgstr "%C处 TYPE 中的 PRIVATE 语句必须在 MODULE 中"
4686 #: fortran/parse.c:1949
4687 #, gcc-internal-format, gfc-internal-format
4688 msgid "PRIVATE statement at %C must precede procedure bindings"
4689-msgstr "%C 处 PRIVATE 语句必须先于过程绑定"
4690+msgstr "%C处 PRIVATE 语句必须先于过程绑定"
4691
4692 #: fortran/parse.c:1956 fortran/parse.c:2058
4693 #, gcc-internal-format, gfc-internal-format
4694@@ -38062,9 +38004,9 @@ msgid "Array section designator, e.g. '(:)', is required besides the coarray des
4695 msgstr ""
4696
4697 #: fortran/primary.c:1758
4698-#, gcc-internal-format, gfc-internal-format
4699+#, fuzzy, gcc-internal-format, gfc-internal-format
4700 msgid "Coarray designator at %C but '%s' is not a coarray"
4701-msgstr ""
4702+msgstr "在 %2$L 处的函数“%1$s”是 INTRINSIC,但不是与一个内建函数不兼容"
4703
4704 #: fortran/primary.c:1829
4705 #, gcc-internal-format, gfc-internal-format
4706@@ -38079,12 +38021,12 @@ msgstr "%C处需要实参列表"
4707 #: fortran/primary.c:1908
4708 #, fuzzy, gcc-internal-format, gfc-internal-format
4709 msgid "Procedure pointer component '%s' requires an argument list at %C"
4710-msgstr "函数‘%s’在 %C 需要参数列表"
4711+msgstr "%3$L处带有 PASS(%2$s)的过程指针组件‘%1$s’没有参数‘%4$s’"
4712
4713 #: fortran/primary.c:1996
4714 #, fuzzy, gcc-internal-format, gfc-internal-format
4715 msgid "Coindexed procedure-pointer component at %C"
4716-msgstr "%C处过程指针组件语法错误"
4717+msgstr "Fortran 2003:%C处的过程指针组件"
4718
4719 #: fortran/primary.c:2245
4720 #, gcc-internal-format, gfc-internal-format
4721@@ -38264,7 +38206,7 @@ msgstr "元素过程的实参‘%s’在%L处必须是标量"
4722 #: fortran/resolve.c:400
4723 #, fuzzy, gcc-internal-format, gfc-internal-format
4724 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
4725-msgstr "%2$L处基本过程的参数‘%1$s’不能有 POINTER 属性"
4726+msgstr "在 %2$L 处基本过程的参数“%1$s”不能有 POINTER 属性"
4727
4728 #: fortran/resolve.c:408
4729 #, gcc-internal-format, gfc-internal-format
4730@@ -38279,7 +38221,7 @@ msgstr "%3$L处哑过程‘%1$s’不能出现在基本过程‘%2$s’中"
4731 #: fortran/resolve.c:424
4732 #, fuzzy, gcc-internal-format, gfc-internal-format
4733 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
4734-msgstr "%3$L处纯子进程‘%2$s’的参数‘%1$s’必须指定其 INTENT"
4735+msgstr "在 %3$L 处的纯的子例程“%2$s”的参数“%1$s”必须有它的 INTENT 指定符"
4736
4737 #: fortran/resolve.c:436
4738 #, gcc-internal-format, gfc-internal-format
4739@@ -38424,7 +38366,7 @@ msgstr "%2$L处‘%1$s’的传递对象虚参不能是 ALLOCATABLE"
4740 #: fortran/resolve.c:1144
4741 #, fuzzy, gcc-internal-format, gfc-internal-format
4742 msgid "Pointer initialization target at %L must have the SAVE attribute"
4743-msgstr "%C处的组件必须有 POINTER 属性"
4744+msgstr "%2$L 处的对象“%1$s”对于成分的默认初始化必须有 SAVE 属性,"
4745
4746 #: fortran/resolve.c:1155
4747 #, gcc-internal-format, gfc-internal-format
4748@@ -38544,7 +38486,7 @@ msgstr "%2$L处实参‘%1$s’秩不匹配(%3$d 和 %4$d)"
4749 #: fortran/resolve.c:2106
4750 #, fuzzy, gcc-internal-format, gfc-internal-format
4751 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
4752-msgstr "%2$L处函数‘%1$s’的返回值没有设置"
4753+msgstr "函数不能返回函数"
4754
4755 #: fortran/resolve.c:2125
4756 #, fuzzy, gcc-internal-format, gfc-internal-format
4757@@ -38589,12 +38531,12 @@ msgstr "%2$L处的不定长字符长度函数‘%1$s’必须有一个显式的
4758 #: fortran/resolve.c:2207
4759 #, fuzzy, gcc-internal-format, gfc-internal-format
4760 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
4761-msgstr "%3$L处 %2$s 中的过程‘%1$s’没有显式接口"
4762+msgstr "在 %3$L 处过程“%2$s”的接口“%1$s”必须是显式的"
4763
4764 #: fortran/resolve.c:2214
4765 #, fuzzy, gcc-internal-format, gfc-internal-format
4766 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
4767-msgstr "%2$L处的过程‘%1$s’必须有属性才能与 C 互操作"
4768+msgstr "“%s”是必须是一个模块过程或有显式接口的外部过程于 %L 处"
4769
4770 #: fortran/resolve.c:2314
4771 #, gcc-internal-format, gfc-internal-format
4772@@ -38639,17 +38581,17 @@ msgstr "%3$L处‘%2$s’的参数‘%1$s’必须是一个 TARGET 或者相关
4773 #: fortran/resolve.c:2736
4774 #, fuzzy, gcc-internal-format, gfc-internal-format
4775 msgid "Coindexed argument not permitted in '%s' call at %L"
4776-msgstr "指针不能用作 case 常量"
4777+msgstr "%3$L 处对“%2$s”的调用中参数“%1$s”的类型应该是“%1$s”,而非“%1$s”"
4778
4779 #: fortran/resolve.c:2759
4780 #, fuzzy, gcc-internal-format, gfc-internal-format
4781 msgid "Array section not permitted in '%s' call at %L"
4782-msgstr "%2$L处‘%1$s’调用过程时实参比形参多"
4783+msgstr "在 %L 处的推迟数组“%1$s”在初始化表达式中不被允许"
4784
4785 #: fortran/resolve.c:2770
4786 #, fuzzy, gcc-internal-format, gfc-internal-format
4787 msgid "Array section in '%s' call at %L"
4788-msgstr "函数名‘%s’不允许出现在%C处"
4789+msgstr "%L 处 DATA 语句中有非常量数组部分"
4790
4791 #: fortran/resolve.c:2789
4792 #, gcc-internal-format, gfc-internal-format
4793@@ -38686,7 +38628,7 @@ msgstr "%3$L处‘%2$s’的形参‘%1$s’必须是一个标量"
4794 #: fortran/resolve.c:2884
4795 #, fuzzy, gcc-internal-format, gfc-internal-format
4796 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
4797-msgstr "%3$L处‘%2$s’的形参‘%1$s’必须是一个标量"
4798+msgstr "%L处赋值中的变量类型不能是多态的"
4799
4800 #. TODO: Update this error message to allow for procedure
4801 #. pointers once they are implemented.
4802@@ -38799,7 +38741,7 @@ msgstr "%2$L处 SUBROUTINE‘%1$s’不能递归调用,因为它并非 RECURSI
4803 #: fortran/resolve.c:3669
4804 #, gcc-internal-format, gfc-internal-format
4805 msgid "Shapes for operands at %L and %L are not conformable"
4806-msgstr "%L 和%L处的操作数外形不相容"
4807+msgstr "%L和%L处的操作数外形不相容"
4808
4809 #: fortran/resolve.c:4167
4810 #, gcc-internal-format, gfc-internal-format
4811@@ -38819,7 +38761,7 @@ msgstr "%1$L处数组引用在第 %4$d 维中越界(%2$ld > %3$ld)"
4812 #: fortran/resolve.c:4187
4813 #, fuzzy, gcc-internal-format, gfc-internal-format
4814 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
4815-msgstr "%1$L处数组引用在第 %4$d 维中越界(%2$ld > %3$ld)"
4816+msgstr "%1$L处数组引用在第 %4$d 维中越界(%2$ld < %3$ld)"
4817
4818 #: fortran/resolve.c:4207
4819 #, gcc-internal-format, gfc-internal-format
4820@@ -38864,7 +38806,7 @@ msgstr "%L处数组引用中秩不匹配(%d/%d)"
4821 #: fortran/resolve.c:4329
4822 #, fuzzy, gcc-internal-format, gfc-internal-format
4823 msgid "Coindex of codimension %d must be a scalar at %L"
4824-msgstr "%2$L处第 %1$d 维下标越界"
4825+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个标量"
4826
4827 #: fortran/resolve.c:4357
4828 #, gcc-internal-format, gfc-internal-format
4829@@ -38957,9 +38899,9 @@ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a p
4830 msgstr "变量‘%s’在%L处的使用出现在该变量是其参数的 ENTRY 语句之前"
4831
4832 #: fortran/resolve.c:5118
4833-#, gcc-internal-format, gfc-internal-format
4834+#, fuzzy, gcc-internal-format, gfc-internal-format
4835 msgid "Polymorphic subobject of coindexed object at %L"
4836-msgstr ""
4837+msgstr "%2$L处非多态的传递对象哑元实参‘%1$s’"
4838
4839 #: fortran/resolve.c:5131
4840 #, gcc-internal-format, gfc-internal-format
4841@@ -39078,9 +39020,9 @@ msgid "Source-expr at %L and allocate-object at %L must have the same shape"
4842 msgstr "%L处的源表达式和%L处的分配对象必须有相同的外形"
4843
4844 #: fortran/resolve.c:6699
4845-#, gcc-internal-format, gfc-internal-format
4846+#, fuzzy, gcc-internal-format, gfc-internal-format
4847 msgid "Coindexed allocatable object at %L"
4848-msgstr ""
4849+msgstr "%3$L 处“%1$s”分句对象“%2$s”有 ALLOCATABLE 组件"
4850
4851 #: fortran/resolve.c:6744
4852 #, gcc-internal-format, gfc-internal-format
4853@@ -39105,7 +39047,7 @@ msgstr "%L处的 ALLOCATE 语句中需要数组规格说明"
4854 #: fortran/resolve.c:6853
4855 #, fuzzy, gcc-internal-format, gfc-internal-format
4856 msgid "Coarray specification required in ALLOCATE statement at %L"
4857-msgstr "%L处的 ALLOCATE 语句中需要数组规格说明"
4858+msgstr "%L 处的 ALLOCATE 语句中要求的数组规格说明"
4859
4860 #: fortran/resolve.c:6879
4861 #, gcc-internal-format, gfc-internal-format
4862@@ -39120,12 +39062,12 @@ msgstr "‘%s’不能出现在%L处其自身被分配的 ALLOCATE 语句的数
4863 #: fortran/resolve.c:6913
4864 #, fuzzy, gcc-internal-format, gfc-internal-format
4865 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
4866-msgstr "%L处的 ALLOCATE 语句中有错误的数组规格"
4867+msgstr "%L 处的 ALLOCATE 语句中要求的数组规格说明"
4868
4869 #: fortran/resolve.c:6924
4870 #, fuzzy, gcc-internal-format, gfc-internal-format
4871 msgid "Bad coarray specification in ALLOCATE statement at %L"
4872-msgstr "%L处的 ALLOCATE 语句中有错误的数组规格"
4873+msgstr "%L 处的 ALLOCATE 语句中坏的数组规格说明"
4874
4875 #: fortran/resolve.c:6931
4876 #, gcc-internal-format, gfc-internal-format
4877@@ -39165,7 +39107,7 @@ msgstr "%L处分配的对象也出现在%L处"
4878 #: fortran/resolve.c:7064 fortran/resolve.c:7070
4879 #, fuzzy, gcc-internal-format, gfc-internal-format
4880 msgid "Allocate-object at %L is subobject of object at %L"
4881-msgstr "%L处分配的对象也出现在%L处"
4882+msgstr "%2$L 处对象“%1$s”不是一个变量"
4883
4884 #. The cases overlap, or they are the same
4885 #. element in the list. Either way, we must
4886@@ -39209,7 +39151,7 @@ msgstr "%L处 SELECT 语句中的实参必须为标量"
4887 #: fortran/resolve.c:7432 fortran/resolve.c:7440
4888 #, fuzzy, gcc-internal-format, gfc-internal-format
4889 msgid "Expression in CASE statement at %L is not in the range of %s"
4890-msgstr "%L处 CASE 语句中的表达式必须具有 %s 类型"
4891+msgstr "%L 处 CASE 语句中的逻辑范围是不被允许的"
4892
4893 #: fortran/resolve.c:7502 fortran/resolve.c:7808
4894 #, gcc-internal-format, gfc-internal-format
4895@@ -39224,7 +39166,7 @@ msgstr "%L处 CASE 语句中的逻辑范围是不被允许的"
4896 #: fortran/resolve.c:7540
4897 #, fuzzy, gcc-internal-format, gfc-internal-format
4898 msgid "Constant logical value in CASE statement is repeated at %L"
4899-msgstr "%L处 CASE 语句中的常量逻辑值重复"
4900+msgstr "%L 处 CASE 语句中的常量逻辑值被重复了"
4901
4902 #: fortran/resolve.c:7554
4903 #, gcc-internal-format, gfc-internal-format
4904@@ -39239,7 +39181,7 @@ msgstr "%L处逻辑 SELECT CASE 块有多于两个的情况"
4905 #: fortran/resolve.c:7721
4906 #, fuzzy, gcc-internal-format, gfc-internal-format
4907 msgid "Associate-name '%s' at %L is used as array"
4908-msgstr "%2$L处的名字‘%1$s’已经在%4$L处被用作 %3$s"
4909+msgstr "%2$L 处的名字“%1$s”已经在 %4$L 处被用作 %3$s"
4910
4911 #: fortran/resolve.c:7763
4912 #, fuzzy, gcc-internal-format, gfc-internal-format
4913@@ -39385,7 +39327,7 @@ msgstr "CHARACTER 表达式在%3$L处赋值时将被截断(%1$d/%2$d)"
4914 #: fortran/resolve.c:8865
4915 #, fuzzy, gcc-internal-format, gfc-internal-format
4916 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
4917-msgstr "%L处一个非纯变量在 PURE 过程中被赋值给带有 POINTER 组件派生类型变量(12.6)"
4918+msgstr "在 %L 处 impure 变量被赋值到一个 PURE 过程(12.6)中的 POINTER 组件的派生类型变量"
4919
4920 #: fortran/resolve.c:8870
4921 #, gcc-internal-format, gfc-internal-format
4922@@ -39395,7 +39337,7 @@ msgstr "%L处一个非纯变量在 PURE 过程中被赋值给带有 POINTER 组
4923 #: fortran/resolve.c:8880
4924 #, fuzzy, gcc-internal-format, gfc-internal-format
4925 msgid "Assignment to coindexed variable at %L in a PURE procedure"
4926-msgstr "%L处向 FORALL 索引变量赋值"
4927+msgstr "不能在%2$C处的 PURE 过程中读取变量‘%1$s’"
4928
4929 #: fortran/resolve.c:8911
4930 #, gcc-internal-format, gfc-internal-format
4931@@ -39996,7 +39938,7 @@ msgstr "%2$L处具有 CLASS 的组件‘%1$s’必须是可分配的或指针"
4932 #: fortran/resolve.c:11771
4933 #, fuzzy, gcc-internal-format, gfc-internal-format
4934 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
4935-msgstr "%3$C处名字列表‘%2$s’中的假定大小数组‘%1$s’不被允许"
4936+msgstr "不允许 %3$L 处 %2$s 名字列表中假定大小的数组“%1$s”"
4937
4938 #: fortran/resolve.c:11777
4939 #, fuzzy, gcc-internal-format, gfc-internal-format
4940@@ -40068,12 +40010,12 @@ msgstr "%L处 PARAMETER 中派生类型不兼容"
4941 #: fortran/resolve.c:12000
4942 #, fuzzy, gcc-internal-format, gfc-internal-format
4943 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
4944-msgstr "PROCEDURE 属性与%2$L处‘%1$s’中的 INTENT 属性冲突"
4945+msgstr "EXTERNAL 属性与在%2$L处‘%1$s’中的 FUNCTION 属性冲突"
4946
4947 #: fortran/resolve.c:12003
4948 #, fuzzy, gcc-internal-format, gfc-internal-format
4949 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
4950-msgstr "PROCEDURE 属性与%2$L处‘%1$s’中的 INTENT 属性冲突"
4951+msgstr "PROCEDURE 属性与在 %2$L 处“%1$s”中的 SAVE 属性冲突"
4952
4953 #: fortran/resolve.c:12015
4954 #, gcc-internal-format, gfc-internal-format
4955@@ -40158,7 +40100,7 @@ msgstr "数组‘%s’在%L处不能有延迟的外形"
4956 #: fortran/resolve.c:12313
4957 #, fuzzy, gcc-internal-format, gfc-internal-format
4958 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
4959-msgstr "可分配的数组‘%s’在%L处必须有延迟的外形"
4960+msgstr "%C处可分配的组件必须有延迟的外形"
4961
4962 #: fortran/resolve.c:12321
4963 #, gcc-internal-format, gfc-internal-format
4964@@ -40188,7 +40130,7 @@ msgstr "%2$L处 BLOCK DATA 元素‘%1$s’必在前一个声明中指定"
4965 #: fortran/resolve.c:12511
4966 #, fuzzy, gcc-internal-format, gfc-internal-format
4967 msgid "DATA element '%s' at %L cannot have a coindex"
4968-msgstr "哑元‘%s’在%L处不能有初始值设定"
4969+msgstr "%2$L 处数据传输元素不能有 PRIVATE 组件"
4970
4971 #: fortran/resolve.c:12520
4972 #, gcc-internal-format, gfc-internal-format
4973@@ -40463,7 +40405,7 @@ msgstr "NEAREST 的结果在%L处为 NaN"
4974 #: fortran/simplify.c:1903
4975 #, fuzzy, gcc-internal-format, gfc-internal-format
4976 msgid "Invalid SHIFT argument of DSHIFTL at %L"
4977-msgstr "%L处 ISHFT 的第二个参数无效"
4978+msgstr "%L处 IBCLR 的第二个参数无效"
4979
4980 #: fortran/simplify.c:2429
4981 #, gcc-internal-format, gfc-internal-format
4982@@ -40524,12 +40466,12 @@ msgstr "%L处 IBCLR 的第二个参数无效"
4983 #: fortran/simplify.c:3026 fortran/simplify.c:3034
4984 #, fuzzy, gcc-internal-format, gfc-internal-format
4985 msgid "Second argument of %s is negative at %L"
4986-msgstr "%L处 IBCLR 的第二个参数超过位大小"
4987+msgstr "%2$L 处的 %1$s 函数的参数是负的"
4988
4989 #: fortran/simplify.c:3046
4990 #, fuzzy, gcc-internal-format, gfc-internal-format
4991 msgid "Magnitude of second argument of %s exceeds bit size at %L"
4992-msgstr "%L处 ISHFT 的第二个参数大小超过位大小"
4993+msgstr "%L 处 ISHFTC 的第二个参数大小超过比特的大小"
4994
4995 #: fortran/simplify.c:3150
4996 #, gcc-internal-format, gfc-internal-format
4997@@ -40782,7 +40724,7 @@ msgstr "%L 处 ALLOCATABLE 指定在 INTERFACE 体之外"
4998 #: fortran/symbol.c:904
4999 #, fuzzy, gcc-internal-format, gfc-internal-format
5000 msgid "CODIMENSION specified for '%s' outside its INTERFACE body at %L"
5001-msgstr "%2$L处为‘%1$s’的 DIMENSION 指定在其 INTERFACE 体之外"
5002+msgstr "为“%s”规定的 DIMENSION 在 %L 处它的 INTERFACE 主体外面"
5003
5004 #: fortran/symbol.c:930
5005 #, gcc-internal-format, gfc-internal-format
5006@@ -41477,7 +41419,7 @@ msgstr "不使用‘--main’则无法指定‘-D’\n"
5007 #: java/jvspec.c:399
5008 #, fuzzy, gcc-internal-format
5009 msgid "%qs is not a valid class name"
5010-msgstr "‘%s’不是有效的类名"
5011+msgstr "%qs不是一个有效的输出文件"
5012
5013 #: java/jvspec.c:405
5014 #, gcc-internal-format
5015@@ -41565,9 +41507,9 @@ msgid "-fwpa and -fltrans are mutually exclusive"
5016 msgstr "-fwpa 和 -fltrans 互斥"
5017
5018 #: lto/lto-object.c:112
5019-#, fuzzy, gcc-internal-format, gfc-internal-format
5020+#, gcc-internal-format, gfc-internal-format
5021 msgid "open %s failed: %s"
5022-msgstr "pex_init 失败:%s"
5023+msgstr "打开 %s 失败:%s"
5024
5025 #: lto/lto-object.c:153 lto/lto-object.c:186 lto/lto-object.c:271
5026 #: lto/lto-object.c:328 lto/lto-object.c:352
5027@@ -41576,24 +41518,24 @@ msgid "%s: %s"
5028 msgstr "%s:%s"
5029
5030 #: lto/lto-object.c:155
5031-#, fuzzy, gcc-internal-format, gfc-internal-format
5032+#, gcc-internal-format, gfc-internal-format
5033 msgid "%s: %s: %s"
5034-msgstr "%s:%s"
5035+msgstr "%s:%s:%s"
5036
5037 #: lto/lto-object.c:195
5038-#, fuzzy, gcc-internal-format, gfc-internal-format
5039+#, gcc-internal-format, gfc-internal-format
5040 msgid "close: %s"
5041-msgstr "fclose %s"
5042+msgstr "close:%s"
5043
5044 #: lto/lto-object.c:240
5045 #, fuzzy, gcc-internal-format, gfc-internal-format
5046 msgid "two or more sections for %s"
5047-msgstr "%s 有两个以上的节:"
5048+msgstr "%s 的两个以上的节"
5049
5050 #: lto/lto.c:161
5051 #, fuzzy, gcc-internal-format, gfc-internal-format
5052 msgid "%s: section %s is missing"
5053-msgstr "‘-%s’缺少参数"
5054+msgstr "‘-l’缺少实参"
5055
5056 #: lto/lto.c:293
5057 #, gcc-internal-format
5058@@ -41716,9 +41658,9 @@ msgid "%<@end%> must appear in an @implementation context"
5059 msgstr "%<@end%>必须出现在 @implementation 上下文中"
5060
5061 #: objc/objc-act.c:721
5062-#, gcc-internal-format
5063+#, fuzzy, gcc-internal-format
5064 msgid "%<@package%> is not available in Objective-C 1.0"
5065-msgstr ""
5066+msgstr "%qs在 VLIW 函数中不可用"
5067
5068 #: objc/objc-act.c:723
5069 #, gcc-internal-format
5070@@ -41726,14 +41668,14 @@ msgid "%<@package%> presently has the same effect as %<@public%>"
5071 msgstr ""
5072
5073 #: objc/objc-act.c:734
5074-#, gcc-internal-format
5075+#, fuzzy, gcc-internal-format
5076 msgid "%<@optional%> is not available in Objective-C 1.0"
5077-msgstr ""
5078+msgstr "%qs在 VLIW 函数中不可用"
5079
5080 #: objc/objc-act.c:736
5081-#, gcc-internal-format
5082+#, fuzzy, gcc-internal-format
5083 msgid "%<@required%> is not available in Objective-C 1.0"
5084-msgstr ""
5085+msgstr "%qs在 VLIW 函数中不可用"
5086
5087 #: objc/objc-act.c:744
5088 #, gcc-internal-format
5089@@ -41746,34 +41688,34 @@ msgid "%<@required%> is allowed in @protocol context only"
5090 msgstr ""
5091
5092 #: objc/objc-act.c:853
5093-#, gcc-internal-format
5094+#, fuzzy, gcc-internal-format
5095 msgid "%<@property%> is not available in Objective-C 1.0"
5096-msgstr ""
5097+msgstr "%qs在 VLIW 函数中不可用"
5098
5099 #: objc/objc-act.c:857
5100 #, fuzzy, gcc-internal-format
5101 msgid "%<readonly%> attribute conflicts with %<readwrite%> attribute"
5102-msgstr "%s 属性与 %s 属性在%L处冲突"
5103+msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
5104
5105 #: objc/objc-act.c:874
5106 #, fuzzy, gcc-internal-format
5107 msgid "%<readonly%> attribute conflicts with %<setter%> attribute"
5108-msgstr "%s 属性与 %s 属性在%L处冲突"
5109+msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
5110
5111 #: objc/objc-act.c:880
5112 #, fuzzy, gcc-internal-format
5113 msgid "%<assign%> attribute conflicts with %<retain%> attribute"
5114-msgstr "%s 属性与 %s 属性在%L处冲突"
5115+msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
5116
5117 #: objc/objc-act.c:885
5118 #, fuzzy, gcc-internal-format
5119 msgid "%<assign%> attribute conflicts with %<copy%> attribute"
5120-msgstr "%s 属性与 %s 属性在%L处冲突"
5121+msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
5122
5123 #: objc/objc-act.c:890
5124 #, fuzzy, gcc-internal-format
5125 msgid "%<retain%> attribute conflicts with %<copy%> attribute"
5126-msgstr "%s 属性与 %s 属性在%L处冲突"
5127+msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
5128
5129 #: objc/objc-act.c:907
5130 #, fuzzy, gcc-internal-format
5131@@ -41788,7 +41730,7 @@ msgstr "无效的函数声明"
5132 #: objc/objc-act.c:926
5133 #, fuzzy, gcc-internal-format
5134 msgid "property can not be an array"
5135-msgstr "%L处的外部 IO UNIT 不能是数组"
5136+msgstr "数组大小不能确定"
5137
5138 #. A @property is not an actual variable, but it is a way to
5139 #. describe a pair of accessor methods, so its type (which is
5140@@ -41825,14 +41767,14 @@ msgstr ""
5141 #: objc/objc-act.c:1044
5142 #, fuzzy, gcc-internal-format
5143 msgid "redeclaration of property %qD"
5144-msgstr "%q#D重声明"
5145+msgstr "%qD已在此声明过"
5146
5147 #: objc/objc-act.c:1047 objc/objc-act.c:1112 objc/objc-act.c:1122
5148 #: objc/objc-act.c:1135 objc/objc-act.c:1146 objc/objc-act.c:1157
5149 #: objc/objc-act.c:1194 objc/objc-act.c:7315 objc/objc-act.c:7378
5150 #: objc/objc-act.c:7400 objc/objc-act.c:7413 objc/objc-act.c:7431
5151 #: objc/objc-act.c:7530
5152-#, fuzzy, gcc-internal-format
5153+#, gcc-internal-format
5154 msgid "originally specified here"
5155 msgstr "原先在这里定义"
5156
5157@@ -41875,20 +41817,20 @@ msgstr ""
5158 #. parser won't call this function if it is not. This is only a
5159 #. double-check for safety.
5160 #: objc/objc-act.c:1681
5161-#, fuzzy, gcc-internal-format
5162+#, gcc-internal-format
5163 msgid "could not find class %qE"
5164 msgstr "找不到类%qE"
5165
5166 #. Again, this should never happen, but we do check.
5167 #: objc/objc-act.c:1689
5168-#, fuzzy, gcc-internal-format
5169+#, gcc-internal-format
5170 msgid "could not find interface for class %qE"
5171-msgstr "找不到类%qE的引用标记"
5172+msgstr "找不到类%qE的接口"
5173
5174 #: objc/objc-act.c:1695 objc/objc-act.c:6583 objc/objc-act.c:6714
5175-#, fuzzy, gcc-internal-format
5176+#, gcc-internal-format
5177 msgid "class %qE is deprecated"
5178-msgstr "不建议使用%qE"
5179+msgstr "不建议使用类%qE"
5180
5181 #: objc/objc-act.c:1724
5182 #, fuzzy, gcc-internal-format
5183@@ -41898,7 +41840,7 @@ msgstr "找不到类%qE的引用标记"
5184 #: objc/objc-act.c:1760
5185 #, gcc-internal-format
5186 msgid "readonly property can not be set"
5187-msgstr ""
5188+msgstr "不能设置只读属性"
5189
5190 #. PS: At the moment, due to how the parser works, it should be
5191 #. impossible to get here. But it's good to have the check in
5192@@ -41967,7 +41909,7 @@ msgstr "静态分配的 Objective-C 类%qE的实例"
5193 #: objc/objc-act.c:2725
5194 #, fuzzy, gcc-internal-format
5195 msgid "redeclaration of Objective-C class %qs"
5196-msgstr "%<wchar_t%>重声明为%qT"
5197+msgstr "为%qs指定了存储类"
5198
5199 #. This case happens when we are given an 'interface' which
5200 #. is not a valid class name. For example if a typedef was
5201@@ -42096,17 +42038,17 @@ msgstr "在 @catch 块外使用%<@throw%>(rethrow)"
5202 #: objc/objc-act.c:4117
5203 #, fuzzy, gcc-internal-format
5204 msgid "%<@throw%> argument is not an object"
5205-msgstr "实参%qd不是一个常数"
5206+msgstr "%2$L 处对象“%1$s”不是一个变量"
5207
5208 #: objc/objc-act.c:4138
5209-#, gcc-internal-format
5210+#, fuzzy, gcc-internal-format
5211 msgid "%<@synchronized%> argument is not an object"
5212-msgstr ""
5213+msgstr "%2$L 处对象“%1$s”不是一个变量"
5214
5215 #: objc/objc-act.c:4273
5216-#, fuzzy, gcc-internal-format
5217+#, gcc-internal-format
5218 msgid "type %qT does not have a known size"
5219-msgstr "类型%q+D大小未知"
5220+msgstr "类型%qT大小未知"
5221
5222 #: objc/objc-act.c:4450
5223 #, gcc-internal-format
5224@@ -42225,12 +42167,12 @@ msgstr ""
5225 #: objc/objc-act.c:5768
5226 #, fuzzy, gcc-internal-format
5227 msgid "previous declaration of %<%c%E%> as %<@required%>"
5228-msgstr "%<%c%s%>的上一个声明"
5229+msgstr "%q+D早先被声明为%q#D"
5230
5231 #: objc/objc-act.c:5788
5232 #, fuzzy, gcc-internal-format
5233 msgid "previous declaration of %<%c%E%> as %<@optional%>"
5234-msgstr "%<%c%s%>的上一个声明"
5235+msgstr "%q+D早先被声明为%q#D"
5236
5237 #: objc/objc-act.c:5848
5238 #, fuzzy, gcc-internal-format
5239@@ -42240,7 +42182,7 @@ msgstr "方法%<%c%E%>的声明重复"
5240 #: objc/objc-act.c:5852
5241 #, fuzzy, gcc-internal-format
5242 msgid "previous declaration of %<%c%E%>"
5243-msgstr "%<%c%s%>的上一个声明"
5244+msgstr "%q+D的前一个声明"
5245
5246 #: objc/objc-act.c:5914
5247 #, gcc-internal-format
5248@@ -42416,9 +42358,9 @@ msgid "property %qs is using the same instance variable as property %qs"
5249 msgstr ""
5250
5251 #: objc/objc-act.c:7467
5252-#, gcc-internal-format
5253+#, fuzzy, gcc-internal-format
5254 msgid "%<@synthesize%> is not available in Objective-C 1.0"
5255-msgstr ""
5256+msgstr "%qs在 VLIW 函数中不可用"
5257
5258 #. We can get here only in Objective-C; the Objective-C++ parser
5259 #. detects the problem while parsing, outputs the error
5260@@ -42427,7 +42369,7 @@ msgstr ""
5261 #: objc/objc-act.c:7478
5262 #, fuzzy, gcc-internal-format
5263 msgid "%<@synthesize%> not in @implementation context"
5264-msgstr "实现上下文中缺少%<@end%>"
5265+msgstr "方法定义不在 @implementation 上下文中"
5266
5267 #: objc/objc-act.c:7484
5268 #, fuzzy, gcc-internal-format
5269@@ -42440,9 +42382,9 @@ msgid "%<@synthesize%> requires the @interface of the class to be available"
5270 msgstr ""
5271
5272 #: objc/objc-act.c:7576
5273-#, gcc-internal-format
5274+#, fuzzy, gcc-internal-format
5275 msgid "%<@dynamic%> is not available in Objective-C 1.0"
5276-msgstr ""
5277+msgstr "%qs在 VLIW 函数中不可用"
5278
5279 #. We can get here only in Objective-C; the Objective-C++ parser
5280 #. detects the problem while parsing, outputs the error
5281@@ -42451,7 +42393,7 @@ msgstr ""
5282 #: objc/objc-act.c:7587
5283 #, fuzzy, gcc-internal-format
5284 msgid "%<@dynamic%> not in @implementation context"
5285-msgstr "实现上下文中缺少%<@end%>"
5286+msgstr "方法定义不在 @implementation 上下文中"
5287
5288 #: objc/objc-act.c:7609
5289 #, gcc-internal-format
5290@@ -42459,9 +42401,9 @@ msgid "%<@dynamic%> requires the @interface of the class to be available"
5291 msgstr ""
5292
5293 #: objc/objc-act.c:7807
5294-#, fuzzy, gcc-internal-format
5295+#, gcc-internal-format
5296 msgid "definition of protocol %qE not found"
5297-msgstr "找不到%<%c%E%>的方法定义"
5298+msgstr "找不到协议%qE的方法定义"
5299
5300 #. It would be nice to use warn_deprecated_use() here, but
5301 #. we are using TREE_CHAIN (which is supposed to be the
5302@@ -42469,7 +42411,7 @@ msgstr "找不到%<%c%E%>的方法定义"
5303 #: objc/objc-act.c:7838
5304 #, fuzzy, gcc-internal-format
5305 msgid "protocol %qE is deprecated"
5306-msgstr "不建议使用%qE"
5307+msgstr "不建议使用%qE(声明于 %s:%d):%s"
5308
5309 #: objc/objc-act.c:7962
5310 #, gcc-internal-format
5311@@ -42548,12 +42490,12 @@ msgstr ""
5312 #: objc/objc-gnu-runtime-abi-01.c:129
5313 #, gcc-internal-format
5314 msgid "%<-fobjc-gc%> is ignored for %<-fgnu-runtime%>"
5315-msgstr ""
5316+msgstr "%<-fobjc-gc%>为%<-fgnu-runtime%>所忽略"
5317
5318 #: objc/objc-gnu-runtime-abi-01.c:137
5319 #, gcc-internal-format
5320 msgid "%<-fobjc-sjlj-exceptions%> is ignored for %<-fgnu-runtime%>"
5321-msgstr ""
5322+msgstr "%<-fobjc-sjlj-exceptions%>为%<-fgnu-runtime%>所忽略"
5323
5324 #: objc/objc-gnu-runtime-abi-01.c:2168 objc/objc-next-runtime-abi-01.c:2848
5325 #: objc/objc-next-runtime-abi-02.c:3636
5326--
53271.7.0.4
5328
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0266-config-i386-i386.md-movxf_internal-Disable-CONST_DOU.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0266-config-i386-i386.md-movxf_internal-Disable-CONST_DOU.patch
new file mode 100644
index 0000000000..0318cf413e
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0266-config-i386-i386.md-movxf_internal-Disable-CONST_DOU.patch
@@ -0,0 +1,127 @@
1From da3b2b8ec5f3057e53934d825ff46f5f20be7362 Mon Sep 17 00:00:00 2001
2From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 16 May 2011 20:29:20 +0000
4Subject: [PATCH] * config/i386/i386.md (*movxf_internal): Disable CONST_DOUBLE
5 optimization for CM_MEDIUM and CM_LARGE code models. Fix usage
6 of standard_80387_constant_p.
7 (*movxf_internal_nointeger): Ditto.
8 (*movdf_internal): Remove dead code-size optimization.
9 (*movdf_internal_rex64): Fix usage of standard_80387_constant_p.
10 (*movdf_internal_nointeger): Ditto.
11 (*movsf_internal): Ditto.
12 (floating point move splitters): Ditto.
13 * config/i386/constraints.md (G): Ditto.
14 * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
15
16git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173803 138bc75d-0d04-0410-961f-82ee72b054a4
17
18index 89722bb..4bc3ed6 100644
19--- a/gcc/config/i386/constraints.md
20+++ b/gcc/config/i386/constraints.md
21@@ -149,7 +149,7 @@
22 (define_constraint "G"
23 "Standard 80387 floating point constant."
24 (and (match_code "const_double")
25- (match_test "standard_80387_constant_p (op)")))
26+ (match_test "standard_80387_constant_p (op) > 0")))
27
28 ;; This can theoretically be any mode's CONST0_RTX.
29 (define_constraint "C"
30diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
31index e8210c5..e8b9af5 100644
32--- a/gcc/config/i386/i386.c
33+++ b/gcc/config/i386/i386.c
34@@ -28252,7 +28252,7 @@ ix86_preferred_reload_class (rtx x, reg_class_t regclass)
35 zero above. We only want to wind up preferring 80387 registers if
36 we plan on doing computation with them. */
37 if (TARGET_80387
38- && standard_80387_constant_p (x))
39+ && standard_80387_constant_p (x) > 0)
40 {
41 /* Limit class to non-sse. */
42 if (regclass == FLOAT_SSE_REGS)
43diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
44index 9db8a74..3bfa0b3 100644
45--- a/gcc/config/i386/i386.md
46+++ b/gcc/config/i386/i386.md
47@@ -2836,6 +2836,7 @@
48 "optimize_function_for_speed_p (cfun)
49 && !(MEM_P (operands[0]) && MEM_P (operands[1]))
50 && (reload_in_progress || reload_completed
51+ || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
52 || GET_CODE (operands[1]) != CONST_DOUBLE
53 || memory_operand (operands[0], XFmode))"
54 {
55@@ -2865,7 +2866,8 @@
56 "optimize_function_for_size_p (cfun)
57 && !(MEM_P (operands[0]) && MEM_P (operands[1]))
58 && (reload_in_progress || reload_completed
59- || standard_80387_constant_p (operands[1])
60+ || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
61+ || standard_80387_constant_p (operands[1]) > 0
62 || GET_CODE (operands[1]) != CONST_DOUBLE
63 || memory_operand (operands[0], XFmode))"
64 {
65@@ -2911,7 +2913,7 @@
66 || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
67 || (!(TARGET_SSE2 && TARGET_SSE_MATH)
68 && optimize_function_for_size_p (cfun)
69- && standard_80387_constant_p (operands[1]))
70+ && standard_80387_constant_p (operands[1]) > 0)
71 || GET_CODE (operands[1]) != CONST_DOUBLE
72 || memory_operand (operands[0], DFmode))"
73 {
74@@ -3078,9 +3080,6 @@
75 && TARGET_INTEGER_DFMODE_MOVES
76 && (reload_in_progress || reload_completed
77 || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
78- || (!(TARGET_SSE2 && TARGET_SSE_MATH)
79- && optimize_function_for_size_p (cfun)
80- && standard_80387_constant_p (operands[1]))
81 || GET_CODE (operands[1]) != CONST_DOUBLE
82 || memory_operand (operands[0], DFmode))"
83 {
84@@ -3249,11 +3248,10 @@
85 || (!(TARGET_SSE2 && TARGET_SSE_MATH)
86 && optimize_function_for_size_p (cfun)
87 && !memory_operand (operands[0], DFmode)
88- && standard_80387_constant_p (operands[1]))
89+ && standard_80387_constant_p (operands[1]) > 0)
90 || GET_CODE (operands[1]) != CONST_DOUBLE
91 || ((optimize_function_for_size_p (cfun)
92- || !TARGET_MEMORY_MISMATCH_STALL
93- || reload_in_progress || reload_completed)
94+ || !TARGET_MEMORY_MISMATCH_STALL)
95 && memory_operand (operands[0], DFmode)))"
96 {
97 switch (which_alternative)
98@@ -3427,7 +3425,7 @@
99 && (reload_in_progress || reload_completed
100 || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
101 || (!TARGET_SSE_MATH && optimize_function_for_size_p (cfun)
102- && standard_80387_constant_p (operands[1]))
103+ && standard_80387_constant_p (operands[1]) > 0)
104 || GET_CODE (operands[1]) != CONST_DOUBLE
105 || memory_operand (operands[0], SFmode))"
106 {
107@@ -3540,7 +3538,7 @@
108 }
109 else if (FP_REG_P (r))
110 {
111- if (!standard_80387_constant_p (c))
112+ if (standard_80387_constant_p (c) < 1)
113 FAIL;
114 }
115 else if (MMX_REG_P (r))
116@@ -3572,7 +3570,7 @@
117 }
118 else if (FP_REG_P (r))
119 {
120- if (!standard_80387_constant_p (c))
121+ if (standard_80387_constant_p (c) < 1)
122 FAIL;
123 }
124 else if (MMX_REG_P (r))
125--
1261.7.0.4
127
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0267-PR-preprocessor-48677.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0267-PR-preprocessor-48677.patch
new file mode 100644
index 0000000000..17a39be74e
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0267-PR-preprocessor-48677.patch
@@ -0,0 +1,31 @@
1From 90795f71b3541c8017e573718515769080f8237d Mon Sep 17 00:00:00 2001
2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 16 May 2011 21:23:14 +0000
4Subject: [PATCH] PR preprocessor/48677
5 * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
6 from decoded_options[0], not from itself.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173808 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 6ca1660..c9ff70e 100644
11--- a/gcc/cppspec.c
12+++ b/gcc/cppspec.c
13@@ -1,5 +1,5 @@
14 /* Specific flags and argument handling of the C preprocessor.
15- Copyright (C) 1999, 2007, 2010 Free Software Foundation, Inc.
16+ Copyright (C) 1999, 2007, 2010, 2011 Free Software Foundation, Inc.
17
18 This file is part of GCC.
19
20@@ -158,7 +158,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
21
22 new_decoded_options = XNEWVEC (struct cl_decoded_option, new_argc);
23
24- new_decoded_options[0] = new_decoded_options[0];
25+ new_decoded_options[0] = decoded_options[0];
26 j = 1;
27
28 if (need_E)
29--
301.7.0.4
31
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0269-PR-target-48986.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0269-PR-target-48986.patch
new file mode 100644
index 0000000000..8e20e6eea8
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0269-PR-target-48986.patch
@@ -0,0 +1,40 @@
1From 56cf6a6c3274fd4af2ccfc2ca019904d873d30fe Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 17 May 2011 07:42:30 +0000
4Subject: [PATCH] PR target/48986
5 * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
6 predicate to allow CONST_INT.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173817 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 22f3648..3fdfee2 100644
11--- a/gcc/config/i386/sync.md
12+++ b/gcc/config/i386/sync.md
13@@ -1,5 +1,5 @@
14 ;; GCC machine description for i386 synchronization instructions.
15-;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
16+;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
17 ;; Free Software Foundation, Inc.
18 ;;
19 ;; This file is part of GCC.
20@@ -164,13 +164,16 @@
21 "!TARGET_64BIT && TARGET_CMPXCHG8B && flag_pic"
22 "xchg{l}\t%%ebx, %3\;lock{%;} cmpxchg8b\t%1\;xchg{l}\t%%ebx, %3")
23
24+;; For operand 2 nonmemory_operand predicate is used instead of
25+;; register_operand to allow combiner to better optimize atomic
26+;; additions of constants.
27 (define_insn "sync_old_add<mode>"
28 [(set (match_operand:SWI 0 "register_operand" "=<r>")
29 (unspec_volatile:SWI
30 [(match_operand:SWI 1 "memory_operand" "+m")] UNSPECV_XCHG))
31 (set (match_dup 1)
32 (plus:SWI (match_dup 1)
33- (match_operand:SWI 2 "register_operand" "0")))
34+ (match_operand:SWI 2 "nonmemory_operand" "0")))
35 (clobber (reg:CC FLAGS_REG))]
36 "TARGET_XADD"
37 "lock{%;} xadd{<imodesuffix>}\t{%0, %1|%1, %0}")
38--
391.7.0.4
40
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0270-config-rx-rx.md-Add-peephole-to-remove-redundant-ext.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0270-config-rx-rx.md-Add-peephole-to-remove-redundant-ext.patch
new file mode 100644
index 0000000000..4e133ff66f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0270-config-rx-rx.md-Add-peephole-to-remove-redundant-ext.patch
@@ -0,0 +1,126 @@
1From ad1e75ff0d2af88f3845d34f3f944a9211f7d9ec Mon Sep 17 00:00:00 2001
2From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 17 May 2011 08:46:51 +0000
4Subject: [PATCH] * config/rx/rx.md: Add peephole to remove redundant extensions
5 after loads.
6 (bitset_in_memory): Use rx_restricted_mem_operand.
7 (bitinvert_in_memory): Likewise.
8 (bitclr_in_memory): Likewise.
9
10 * config/rx/rx.md: Add peepholes to match a register move followed
11 by a comparison of the moved register. Replace these with an
12 addition of zero that does both actions in one instruction.
13
14
15
16git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173823 138bc75d-0d04-0410-961f-82ee72b054a4
17
18index 641f1d4..742c0f9 100644
19--- a/gcc/config/rx/rx.md
20+++ b/gcc/config/rx/rx.md
21@@ -904,6 +904,39 @@
22 (set_attr "length" "3,4,5,6,7,6")]
23 )
24
25+;; Peepholes to match:
26+;; (set (reg A) (reg B))
27+;; (set (CC) (compare:CC (reg A/reg B) (const_int 0)))
28+;; and replace them with the addsi3_flags pattern, using an add
29+;; of zero to copy the register and set the condition code bits.
30+(define_peephole2
31+ [(set (match_operand:SI 0 "register_operand")
32+ (match_operand:SI 1 "register_operand"))
33+ (set (reg:CC CC_REG)
34+ (compare:CC (match_dup 0)
35+ (const_int 0)))]
36+ ""
37+ [(parallel [(set (match_dup 0)
38+ (plus:SI (match_dup 1) (const_int 0)))
39+ (set (reg:CC_ZSC CC_REG)
40+ (compare:CC_ZSC (plus:SI (match_dup 1) (const_int 0))
41+ (const_int 0)))])]
42+)
43+
44+(define_peephole2
45+ [(set (match_operand:SI 0 "register_operand")
46+ (match_operand:SI 1 "register_operand"))
47+ (set (reg:CC CC_REG)
48+ (compare:CC (match_dup 1)
49+ (const_int 0)))]
50+ ""
51+ [(parallel [(set (match_dup 0)
52+ (plus:SI (match_dup 1) (const_int 0)))
53+ (set (reg:CC_ZSC CC_REG)
54+ (compare:CC_ZSC (plus:SI (match_dup 1) (const_int 0))
55+ (const_int 0)))])]
56+)
57+
58 (define_expand "adddi3"
59 [(set (match_operand:DI 0 "register_operand")
60 (plus:DI (match_operand:DI 1 "register_operand")
61@@ -1668,6 +1701,35 @@
62 (extend_types:SI (match_dup 1))))]
63 )
64
65+;; Convert:
66+;; (set (reg1) (sign_extend (mem))
67+;; (set (reg2) (zero_extend (reg1))
68+;; into
69+;; (set (reg2) (zero_extend (mem)))
70+(define_peephole2
71+ [(set (match_operand:SI 0 "register_operand")
72+ (sign_extend:SI (match_operand:small_int_modes 1 "memory_operand")))
73+ (set (match_operand:SI 2 "register_operand")
74+ (zero_extend:SI (match_operand:small_int_modes 3 "register_operand")))]
75+ "REGNO (operands[0]) == REGNO (operands[3])
76+ && (REGNO (operands[0]) == REGNO (operands[2])
77+ || peep2_regno_dead_p (2, REGNO (operands[0])))"
78+ [(set (match_dup 2)
79+ (zero_extend:SI (match_dup 1)))]
80+)
81+
82+;; Remove the redundant sign extension from:
83+;; (set (reg) (extend (mem)))
84+;; (set (reg) (extend (reg)))
85+(define_peephole2
86+ [(set (match_operand:SI 0 "register_operand")
87+ (extend_types:SI (match_operand:small_int_modes 1 "memory_operand")))
88+ (set (match_dup 0)
89+ (extend_types:SI (match_operand:small_int_modes 2 "register_operand")))]
90+ "REGNO (operands[0]) == REGNO (operands[2])"
91+ [(set (match_dup 0) (extend_types:SI (match_dup 1)))]
92+)
93+
94 (define_insn "*comparesi3_<extend_types:code><small_int_modes:mode>"
95 [(set (reg:CC CC_REG)
96 (compare:CC (match_operand:SI 0 "register_operand" "=r")
97@@ -1769,7 +1831,7 @@
98 )
99
100 (define_insn "*bitset_in_memory"
101- [(set (match_operand:QI 0 "memory_operand" "+Q")
102+ [(set (match_operand:QI 0 "rx_restricted_mem_operand" "+Q")
103 (ior:QI (ashift:QI (const_int 1)
104 (match_operand:QI 1 "nonmemory_operand" "ri"))
105 (match_dup 0)))]
106@@ -1790,7 +1852,7 @@
107 )
108
109 (define_insn "*bitinvert_in_memory"
110- [(set (match_operand:QI 0 "memory_operand" "+Q")
111+ [(set (match_operand:QI 0 "rx_restricted_mem_operand" "+Q")
112 (xor:QI (ashift:QI (const_int 1)
113 (match_operand:QI 1 "nonmemory_operand" "ri"))
114 (match_dup 0)))]
115@@ -1813,7 +1875,7 @@
116 )
117
118 (define_insn "*bitclr_in_memory"
119- [(set (match_operand:QI 0 "memory_operand" "+Q")
120+ [(set (match_operand:QI 0 "rx_restricted_mem_operand" "+Q")
121 (and:QI (not:QI
122 (ashift:QI
123 (const_int 1)
124--
1251.7.0.4
126
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0271-config-rx-rx.c-rx_memory_move_cost-Include-cost-of-r.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0271-config-rx-rx.c-rx_memory_move_cost-Include-cost-of-r.patch
new file mode 100644
index 0000000000..e740b72f18
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0271-config-rx-rx.c-rx_memory_move_cost-Include-cost-of-r.patch
@@ -0,0 +1,28 @@
1From af42375ce311b2bab14f7b4eb83a2060a71d73f4 Mon Sep 17 00:00:00 2001
2From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 17 May 2011 08:59:10 +0000
4Subject: [PATCH] * config/rx/rx.c (rx_memory_move_cost): Include cost of register
5 moves.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173825 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index e0bd176..a2d48ab 100644
10--- a/gcc/config/rx/rx.c
11+++ b/gcc/config/rx/rx.c
12@@ -2592,9 +2592,11 @@ rx_trampoline_init (rtx tramp, tree fndecl, rtx chain)
13 }
14
15 static int
16-rx_memory_move_cost (enum machine_mode mode, reg_class_t regclass, bool in)
17+rx_memory_move_cost (enum machine_mode mode ATTRIBUTE_UNUSED,
18+ reg_class_t regclass ATTRIBUTE_UNUSED,
19+ bool in)
20 {
21- return (in ? 2:0) + memory_move_secondary_cost (mode, regclass, in);
22+ return (in ? 2 : 0) + REGISTER_MOVE_COST (mode, regclass, regclass);
23 }
24
25 /* Convert a CC_MODE to the set of flags that it represents. */
26--
271.7.0.4
28
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0273-PR-tree-optimization-49000.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0273-PR-tree-optimization-49000.patch
new file mode 100644
index 0000000000..6d146eca28
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0273-PR-tree-optimization-49000.patch
@@ -0,0 +1,39 @@
1From f06cb0f7aea5a275c4ae4b35f19db407fa65a3f7 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 18 May 2011 09:29:46 +0000
4Subject: [PATCH] PR tree-optimization/49000
5 * tree-ssa.c (execute_update_addresses_taken): Call
6 maybe_rewrite_mem_ref_base on debug stmt value. If it couldn't
7 be rewritten and decl has been marked for renaming, reset
8 the debug stmt.
9
10 * gcc.dg/pr49000.c: New test.
11
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173850 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index 12ceb8e..d3585ce 100644
16index 0455680..649f625 100644
17--- a/gcc/tree-ssa.c
18+++ b/gcc/tree-ssa.c
19@@ -2205,6 +2205,17 @@ execute_update_addresses_taken (void)
20 }
21 }
22
23+ else if (gimple_debug_bind_p (stmt)
24+ && gimple_debug_bind_has_value_p (stmt))
25+ {
26+ tree *valuep = gimple_debug_bind_get_value_ptr (stmt);
27+ tree decl;
28+ maybe_rewrite_mem_ref_base (valuep);
29+ decl = non_rewritable_mem_ref_base (*valuep);
30+ if (decl && symbol_marked_for_renaming (decl))
31+ gimple_debug_bind_reset_value (stmt);
32+ }
33+
34 if (gimple_references_memory_p (stmt)
35 || is_gimple_debug (stmt))
36 update_stmt (stmt);
37--
381.7.0.4
39
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0274-PR-tree-optimization-49000.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0274-PR-tree-optimization-49000.patch
new file mode 100644
index 0000000000..dfc7a3cd54
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0274-PR-tree-optimization-49000.patch
@@ -0,0 +1,52 @@
1From 2d5c4b99176636cc96004730fb540a66ee5c209b Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 18 May 2011 09:31:25 +0000
4Subject: [PATCH] PR tree-optimization/49000
5 * tree-ssa.c (execute_update_addresses_taken): Call
6 maybe_rewrite_mem_ref_base on debug stmt value. If it couldn't
7 be rewritten and decl has been marked for renaming, reset
8 the debug stmt.
9
10 * gcc.dg/pr49000.c: New test.
11
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173851 138bc75d-0d04-0410-961f-82ee72b054a4
14
15diff --git a/gcc/testsuite/gcc.dg/pr49000.c b/gcc/testsuite/gcc.dg/pr49000.c
16new file mode 100644
17index 0000000..32a1cdb
18--- /dev/null
19+++ b/gcc/testsuite/gcc.dg/pr49000.c
20@@ -0,0 +1,29 @@
21+/* PR tree-optimization/49000 */
22+/* { dg-do compile } */
23+/* { dg-options "-O2 -g" } */
24+
25+static
26+foo (int x, int y)
27+{
28+ return x * y;
29+}
30+
31+static int
32+bar (int *z)
33+{
34+ return *z;
35+}
36+
37+void
38+baz (void)
39+{
40+ int a = 42;
41+ int *b = &a;
42+ foo (bar (&a), 3);
43+}
44+
45+void
46+test (void)
47+{
48+ baz ();
49+}
50--
511.7.0.4
52
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0275-2011-05-18-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0275-2011-05-18-Richard-Guenther-rguenther-suse.de.patch
new file mode 100644
index 0000000000..b47545cc63
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0275-2011-05-18-Richard-Guenther-rguenther-suse.de.patch
@@ -0,0 +1,138 @@
1From f7dad9af02c21ad7f0b6d01ffecc0b7d1a6b03ed Mon Sep 17 00:00:00 2001
2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 18 May 2011 13:24:05 +0000
4Subject: [PATCH] 2011-05-18 Richard Guenther <rguenther@suse.de>
5
6 Backport from mainline
7 2011-05-12 Richard Guenther <rguenther@suse.de>
8
9 PR tree-optimization/48172
10 * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
11 the number of iterations from the segment size calculation.
12 (vect_create_cond_for_alias_checks): Adjust.
13
14 2011-05-13 Richard Guenther <rguenther@suse.de>
15
16 PR tree-optimization/48172
17 * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
18 multiplying by number of iterations for equal step.
19 (vect_create_cond_for_alias_checks): Likewise.
20
21 * gcc.dg/vect/pr48172.c: New testcase.
22
23
24git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173859 138bc75d-0d04-0410-961f-82ee72b054a4
25
26index d3585ce..28581a0 100644
27new file mode 100644
28index 0000000..892aeca
29--- /dev/null
30+++ b/gcc/testsuite/gcc.dg/vect/pr48172.c
31@@ -0,0 +1,33 @@
32+/* { dg-do run } */
33+
34+extern void *memset(void *s, int c, __SIZE_TYPE__ n);
35+extern void abort (void);
36+
37+#define ASIZE 1028
38+#define HALF (ASIZE/2)
39+
40+int main() {
41+ unsigned int array[ASIZE];
42+ int i;
43+
44+ memset(array, 0, sizeof(array));
45+
46+ /* initialize first half of the array */
47+ for (i = 0; i < HALF; i++)
48+ array[i] = i;
49+
50+ /* fill second half of array in by summing earlier elements of the array
51+ gcc 4.5.1 and 4.5.2 incorrectly vectorize this loop! aray[1025] is left
52+ at 0 for ASIZE=1028 */
53+ for (i = 0; i < HALF-1; i++)
54+ array[HALF+i] = array[2*i] + array[2*i + 1];
55+
56+ /* see if we have any failures */
57+ for (i = 0; i < HALF - 1; i++)
58+ if (array[HALF+i] != array[2*i] + array[2*i + 1])
59+ abort ();
60+
61+ return 0;
62+}
63+
64+/* { dg-final { cleanup-tree-dump "vect" } } */
65diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c
66index 28b75f1..b691cd2 100644
67--- a/gcc/tree-vect-loop-manip.c
68+++ b/gcc/tree-vect-loop-manip.c
69@@ -2353,27 +2353,27 @@ vect_create_cond_for_align_checks (loop_vec_info loop_vinfo,
70
71 Input:
72 DR: The data reference.
73- VECT_FACTOR: vectorization factor.
74+ LENGTH_FACTOR: segment length to consider.
75
76 Return an expression whose value is the size of segment which will be
77 accessed by DR. */
78
79 static tree
80-vect_vfa_segment_size (struct data_reference *dr, tree vect_factor)
81+vect_vfa_segment_size (struct data_reference *dr, tree length_factor)
82 {
83- tree segment_length = fold_build2 (MULT_EXPR, integer_type_node,
84- DR_STEP (dr), vect_factor);
85-
86+ tree segment_length;
87+ segment_length = size_binop (MULT_EXPR,
88+ fold_convert (sizetype, DR_STEP (dr)),
89+ fold_convert (sizetype, length_factor));
90 if (vect_supportable_dr_alignment (dr, false)
91 == dr_explicit_realign_optimized)
92 {
93 tree vector_size = TYPE_SIZE_UNIT
94 (STMT_VINFO_VECTYPE (vinfo_for_stmt (DR_STMT (dr))));
95
96- segment_length = fold_build2 (PLUS_EXPR, integer_type_node,
97- segment_length, vector_size);
98+ segment_length = size_binop (PLUS_EXPR, segment_length, vector_size);
99 }
100- return fold_convert (sizetype, segment_length);
101+ return segment_length;
102 }
103
104
105@@ -2407,12 +2407,12 @@ vect_create_cond_for_alias_checks (loop_vec_info loop_vinfo,
106 struct loop *loop = LOOP_VINFO_LOOP (loop_vinfo);
107 VEC (ddr_p, heap) * may_alias_ddrs =
108 LOOP_VINFO_MAY_ALIAS_DDRS (loop_vinfo);
109- tree vect_factor =
110- build_int_cst (integer_type_node, LOOP_VINFO_VECT_FACTOR (loop_vinfo));
111+ int vect_factor = LOOP_VINFO_VECT_FACTOR (loop_vinfo);
112+ tree scalar_loop_iters = LOOP_VINFO_NITERS (loop_vinfo);
113
114 ddr_p ddr;
115 unsigned int i;
116- tree part_cond_expr;
117+ tree part_cond_expr, length_factor;
118
119 /* Create expression
120 ((store_ptr_0 + store_segment_length_0) < load_ptr_0)
121@@ -2460,8 +2460,12 @@ vect_create_cond_for_alias_checks (loop_vec_info loop_vinfo,
122 vect_create_addr_base_for_vector_ref (stmt_b, cond_expr_stmt_list,
123 NULL_TREE, loop);
124
125- segment_length_a = vect_vfa_segment_size (dr_a, vect_factor);
126- segment_length_b = vect_vfa_segment_size (dr_b, vect_factor);
127+ if (!operand_equal_p (DR_STEP (dr_a), DR_STEP (dr_b), 0))
128+ length_factor = scalar_loop_iters;
129+ else
130+ length_factor = size_int (vect_factor);
131+ segment_length_a = vect_vfa_segment_size (dr_a, length_factor);
132+ segment_length_b = vect_vfa_segment_size (dr_b, length_factor);
133
134 if (vect_print_dump_info (REPORT_DR_DETAILS))
135 {
136--
1371.7.0.4
138
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0276-2011-05-18-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0276-2011-05-18-Richard-Guenther-rguenther-suse.de.patch
new file mode 100644
index 0000000000..533afe8559
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0276-2011-05-18-Richard-Guenther-rguenther-suse.de.patch
@@ -0,0 +1,111 @@
1From 750d46458c0af423bb1976c7b4bb0a89de10e58f Mon Sep 17 00:00:00 2001
2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 18 May 2011 13:29:24 +0000
4Subject: [PATCH] 2011-05-18 Richard Guenther <rguenther@suse.de>
5
6 Backport from mainline
7 2011-04-19 Richard Guenther <rguenther@suse.de>
8
9 PR lto/48207
10 * tree.c (free_lang_data): Do not reset the decl-assembler-name
11 langhook.
12
13 * g++.dg/lto/pr48207_0.C: New testcase.
14
15 2011-04-21 Richard Guenther <rguenther@suse.de>
16
17 PR lto/48703
18 * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of
19 DECL_NAME.
20
21 * g++.dg/lto/pr48207-2_0.C: New testcase.
22 * g++.dg/lto/pr48207-3_0.C: Likewise.
23
24
25git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173860 138bc75d-0d04-0410-961f-82ee72b054a4
26
27index 28581a0..25f9804 100644
28new file mode 100644
29index 0000000..6801b85
30--- /dev/null
31+++ b/gcc/testsuite/g++.dg/lto/pr48207-2_0.C
32@@ -0,0 +1,10 @@
33+// { dg-lto-do link }
34+// { dg-lto-options { { -flto -g } } }
35+
36+namespace {
37+ typedef struct {
38+ int x;
39+ } Foo;
40+}
41+
42+int main () {}
43diff --git a/gcc/testsuite/g++.dg/lto/pr48207-3_0.C b/gcc/testsuite/g++.dg/lto/pr48207-3_0.C
44new file mode 100644
45index 0000000..ef02dda
46--- /dev/null
47+++ b/gcc/testsuite/g++.dg/lto/pr48207-3_0.C
48@@ -0,0 +1,12 @@
49+// { dg-lto-do link }
50+// { dg-lto-options { { -flto -g } } }
51+
52+void bar(void) {}
53+
54+void foo(void)
55+{
56+ typedef enum { ABC } DEF;
57+ bar();
58+}
59+
60+int main () {}
61diff --git a/gcc/testsuite/g++.dg/lto/pr48207_0.C b/gcc/testsuite/g++.dg/lto/pr48207_0.C
62new file mode 100644
63index 0000000..e66cb49
64--- /dev/null
65+++ b/gcc/testsuite/g++.dg/lto/pr48207_0.C
66@@ -0,0 +1,13 @@
67+// { dg-lto-do link }
68+// { dg-lto-options { { -flto -g } } }
69+
70+void bar(int) {}
71+
72+void foo(void)
73+{
74+ typedef enum { ABC } DEF;
75+ DEF a;
76+ bar((int)a);
77+}
78+
79+int main() {}
80diff --git a/gcc/tree.c b/gcc/tree.c
81index 4d6ca36..1c78b61 100644
82--- a/gcc/tree.c
83+++ b/gcc/tree.c
84@@ -4532,10 +4532,6 @@ free_lang_data_in_decl (tree decl)
85 TREE_LANG_FLAG_5 (decl) = 0;
86 TREE_LANG_FLAG_6 (decl) = 0;
87
88- /* Identifiers need not have a type. */
89- if (DECL_NAME (decl))
90- TREE_TYPE (DECL_NAME (decl)) = NULL_TREE;
91-
92 free_lang_data_in_one_sizepos (&DECL_SIZE (decl));
93 free_lang_data_in_one_sizepos (&DECL_SIZE_UNIT (decl));
94 if (TREE_CODE (decl) == FIELD_DECL)
95@@ -5140,7 +5136,12 @@ free_lang_data (void)
96 lang_hooks.callgraph.analyze_expr = NULL;
97 lang_hooks.dwarf_name = lhd_dwarf_name;
98 lang_hooks.decl_printable_name = gimple_decl_printable_name;
99- lang_hooks.set_decl_assembler_name = lhd_set_decl_assembler_name;
100+ /* We do not want the default decl_assembler_name implementation,
101+ rather if we have fixed everything we want a wrapper around it
102+ asserting that all non-local symbols already got their assembler
103+ name and only produce assembler names for local symbols. Or rather
104+ make sure we never call decl_assembler_name on local symbols and
105+ devise a separate, middle-end private scheme for it. */
106
107 /* Reset diagnostic machinery. */
108 diagnostic_starter (global_dc) = default_tree_diagnostic_starter;
109--
1101.7.0.4
111
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0277-2011-05-18-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0277-2011-05-18-Richard-Guenther-rguenther-suse.de.patch
new file mode 100644
index 0000000000..faa5a05233
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0277-2011-05-18-Richard-Guenther-rguenther-suse.de.patch
@@ -0,0 +1,81 @@
1From 0394622853ff7c35417625979782f19fa3682122 Mon Sep 17 00:00:00 2001
2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 18 May 2011 13:33:53 +0000
4Subject: [PATCH] 2011-05-18 Richard Guenther <rguenther@suse.de>
5
6 PR tree-optimization/49018
7 * gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
8 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
9 gimple_has_side_effects.
10
11
12git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173862 138bc75d-0d04-0410-961f-82ee72b054a4
13
14index 9a94f06..233a4f5 100644
15--- a/gcc/gimple.c
16+++ b/gcc/gimple.c
17@@ -2286,6 +2286,10 @@ gimple_has_side_effects (const_gimple s)
18 if (gimple_has_volatile_ops (s))
19 return true;
20
21+ if (gimple_code (s) == GIMPLE_ASM
22+ && gimple_asm_volatile_p (s))
23+ return true;
24+
25 if (is_gimple_call (s))
26 {
27 unsigned nargs = gimple_call_num_args (s);
28@@ -2299,7 +2303,7 @@ gimple_has_side_effects (const_gimple s)
29 if (gimple_call_lhs (s)
30 && TREE_SIDE_EFFECTS (gimple_call_lhs (s)))
31 {
32- gcc_assert (gimple_has_volatile_ops (s));
33+ gcc_checking_assert (gimple_has_volatile_ops (s));
34 return true;
35 }
36
37@@ -2309,7 +2313,7 @@ gimple_has_side_effects (const_gimple s)
38 for (i = 0; i < nargs; i++)
39 if (TREE_SIDE_EFFECTS (gimple_call_arg (s, i)))
40 {
41- gcc_assert (gimple_has_volatile_ops (s));
42+ gcc_checking_assert (gimple_has_volatile_ops (s));
43 return true;
44 }
45
46@@ -2318,11 +2322,14 @@ gimple_has_side_effects (const_gimple s)
47 else
48 {
49 for (i = 0; i < gimple_num_ops (s); i++)
50- if (TREE_SIDE_EFFECTS (gimple_op (s, i)))
51- {
52- gcc_assert (gimple_has_volatile_ops (s));
53- return true;
54- }
55+ {
56+ tree op = gimple_op (s, i);
57+ if (op && TREE_SIDE_EFFECTS (op))
58+ {
59+ gcc_checking_assert (gimple_has_volatile_ops (s));
60+ return true;
61+ }
62+ }
63 }
64
65 return false;
66diff --git a/gcc/tree-ssa-ifcombine.c b/gcc/tree-ssa-ifcombine.c
67index bc551b2..e23bb76 100644
68--- a/gcc/tree-ssa-ifcombine.c
69+++ b/gcc/tree-ssa-ifcombine.c
70@@ -107,7 +107,7 @@ bb_no_side_effects_p (basic_block bb)
71 {
72 gimple stmt = gsi_stmt (gsi);
73
74- if (gimple_has_volatile_ops (stmt)
75+ if (gimple_has_side_effects (stmt)
76 || gimple_vuse (stmt))
77 return false;
78 }
79--
801.7.0.4
81
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0278-PR-tree-optimization-49039.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0278-PR-tree-optimization-49039.patch
new file mode 100644
index 0000000000..49232cdcab
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0278-PR-tree-optimization-49039.patch
@@ -0,0 +1,217 @@
1From 2961db51d944dc693c16502ef40dc47ee4f92143 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 18 May 2011 20:43:44 +0000
4Subject: [PATCH] PR tree-optimization/49039
5 * tree-vrp.c (extract_range_from_binary_expr): For
6 MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
7 return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].
8
9 * gcc.c-torture/execute/pr49039.c: New test.
10 * gcc.dg/tree-ssa/pr49039.c: New test.
11 * g++.dg/torture/pr49039.C: New test.
12
13
14git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173877 138bc75d-0d04-0410-961f-82ee72b054a4
15
16index 25f9804..cb6627c 100644
17new file mode 100644
18index 0000000..f576cba
19--- /dev/null
20+++ b/gcc/testsuite/g++.dg/torture/pr49039.C
21@@ -0,0 +1,76 @@
22+// PR tree-optimization/49039
23+// { dg-do run }
24+
25+template <class T1, class T2>
26+struct pair
27+{
28+ T1 first;
29+ T2 second;
30+ pair (const T1 & a, const T2 & b):first (a), second (b) {}
31+};
32+
33+template <class T1, class T2>
34+inline pair <T1, T2>
35+make_pair (T1 x, T2 y)
36+{
37+ return pair <T1, T2> (x, y);
38+}
39+
40+typedef __SIZE_TYPE__ size_t;
41+struct S
42+{
43+ const char *Data;
44+ size_t Length;
45+ static size_t min (size_t a, size_t b) { return a < b ? a : b; }
46+ static size_t max (size_t a, size_t b) { return a > b ? a : b; }
47+ S () :Data (0), Length (0) { }
48+ S (const char *Str) : Data (Str), Length (__builtin_strlen (Str)) {}
49+ S (const char *data, size_t length) : Data (data), Length (length) {}
50+ bool empty () const { return Length == 0; }
51+ size_t size () const { return Length; }
52+ S slice (size_t Start, size_t End) const
53+ {
54+ Start = min (Start, Length);
55+ End = min (max (Start, End), Length);
56+ return S (Data + Start, End - Start);
57+ }
58+ pair <S, S> split (char Separator) const
59+ {
60+ size_t Idx = find (Separator);
61+ if (Idx == ~size_t (0))
62+ return make_pair (*this, S ());
63+ return make_pair (slice (0, Idx), slice (Idx + 1, ~size_t (0)));
64+ }
65+ size_t find (char C, size_t From = 0) const
66+ {
67+ for (size_t i = min (From, Length), e = Length; i != e; ++i)
68+ if (Data[i] == C)
69+ return i;
70+ return ~size_t (0);
71+ }
72+};
73+
74+void
75+Test (const char *arg)
76+{
77+ S Desc (arg);
78+ while (!Desc.empty ())
79+ {
80+ pair <S, S> Split = Desc.split ('-');
81+ S Token = Split.first;
82+ Desc = Split.second;
83+ if (Token.empty ())
84+ continue;
85+ Split = Token.split (':');
86+ S Specifier = Split.first;
87+ if (Specifier.empty ())
88+ __builtin_abort ();
89+ }
90+}
91+
92+int
93+main ()
94+{
95+ Test ("-");
96+ return 0;
97+}
98diff --git a/gcc/testsuite/gcc.c-torture/execute/pr49039.c b/gcc/testsuite/gcc.c-torture/execute/pr49039.c
99new file mode 100644
100index 0000000..546d114
101--- /dev/null
102+++ b/gcc/testsuite/gcc.c-torture/execute/pr49039.c
103@@ -0,0 +1,26 @@
104+/* PR tree-optimization/49039 */
105+extern void abort (void);
106+int cnt;
107+
108+__attribute__((noinline, noclone)) void
109+foo (unsigned int x, unsigned int y)
110+{
111+ unsigned int minv, maxv;
112+ if (x == 1 || y == -2U)
113+ return;
114+ minv = x < y ? x : y;
115+ maxv = x > y ? x : y;
116+ if (minv == 1)
117+ ++cnt;
118+ if (maxv == -2U)
119+ ++cnt;
120+}
121+
122+int
123+main ()
124+{
125+ foo (-2U, 1);
126+ if (cnt != 2)
127+ abort ();
128+ return 0;
129+}
130diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c b/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c
131new file mode 100644
132index 0000000..3500dbf
133--- /dev/null
134+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c
135@@ -0,0 +1,31 @@
136+/* PR tree-optimization/49039 */
137+/* { dg-do compile } */
138+/* { dg-options "-O2 -fdump-tree-vrp1" } */
139+
140+extern void bar (void);
141+
142+void
143+foo (unsigned int x, unsigned int y)
144+{
145+ unsigned int minv, maxv;
146+ if (x >= 3 && x <= 6)
147+ return;
148+ if (y >= 5 && y <= 8)
149+ return;
150+ minv = x < y ? x : y;
151+ maxv = x > y ? x : y;
152+ if (minv == 5)
153+ bar ();
154+ if (minv == 6)
155+ bar ();
156+ if (maxv == 5)
157+ bar ();
158+ if (maxv == 6)
159+ bar ();
160+}
161+
162+/* { dg-final { scan-tree-dump "Folding predicate minv_\[0-9\]* == 5 to 0" "vrp1" } } */
163+/* { dg-final { scan-tree-dump "Folding predicate minv_\[0-9\]* == 6 to 0" "vrp1" } } */
164+/* { dg-final { scan-tree-dump "Folding predicate maxv_\[0-9\]* == 5 to 0" "vrp1" } } */
165+/* { dg-final { scan-tree-dump "Folding predicate maxv_\[0-9\]* == 6 to 0" "vrp1" } } */
166+/* { dg-final { cleanup-tree-dump "vrp1" } } */
167diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
168index 280e6da..7bff5fa 100644
169--- a/gcc/tree-vrp.c
170+++ b/gcc/tree-vrp.c
171@@ -1,5 +1,5 @@
172 /* Support routines for Value Range Propagation (VRP).
173- Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
174+ Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
175 Free Software Foundation, Inc.
176 Contributed by Diego Novillo <dnovillo@redhat.com>.
177
178@@ -2357,17 +2357,27 @@ extract_range_from_binary_expr (value_range_t *vr,
179 op0 + op1 == 0, so we cannot claim that the sum is in ~[0,0].
180 Note that we are guaranteed to have vr0.type == vr1.type at
181 this point. */
182- if (code == PLUS_EXPR && vr0.type == VR_ANTI_RANGE)
183+ if (vr0.type == VR_ANTI_RANGE)
184 {
185- set_value_range_to_varying (vr);
186- return;
187+ if (code == PLUS_EXPR)
188+ {
189+ set_value_range_to_varying (vr);
190+ return;
191+ }
192+ /* For MIN_EXPR and MAX_EXPR with two VR_ANTI_RANGEs,
193+ the resulting VR_ANTI_RANGE is the same - intersection
194+ of the two ranges. */
195+ min = vrp_int_const_binop (MAX_EXPR, vr0.min, vr1.min);
196+ max = vrp_int_const_binop (MIN_EXPR, vr0.max, vr1.max);
197+ }
198+ else
199+ {
200+ /* For operations that make the resulting range directly
201+ proportional to the original ranges, apply the operation to
202+ the same end of each range. */
203+ min = vrp_int_const_binop (code, vr0.min, vr1.min);
204+ max = vrp_int_const_binop (code, vr0.max, vr1.max);
205 }
206-
207- /* For operations that make the resulting range directly
208- proportional to the original ranges, apply the operation to
209- the same end of each range. */
210- min = vrp_int_const_binop (code, vr0.min, vr1.min);
211- max = vrp_int_const_binop (code, vr0.max, vr1.max);
212
213 /* If both additions overflowed the range kind is still correct.
214 This happens regularly with subtracting something in unsigned
215--
2161.7.0.4
217
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0279-Properly-handle-256bit-load-cast.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0279-Properly-handle-256bit-load-cast.patch
new file mode 100644
index 0000000000..0239d72948
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0279-Properly-handle-256bit-load-cast.patch
@@ -0,0 +1,95 @@
1From 97183693743a66a02a18a6e9170b2e4bdf9461ac Mon Sep 17 00:00:00 2001
2From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 18 May 2011 22:56:35 +0000
4Subject: [PATCH] Properly handle 256bit load cast.
5
6gcc/
7
82011-05-18 H.J. Lu <hongjiu.lu@intel.com>
9
10 Backport from mainline
11 2011-05-18 H.J. Lu <hongjiu.lu@intel.com>
12
13 PR target/49002
14 * config/i386/sse.md (avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>):
15 Properly handle load cast.
16
17gcc/testsuite/
18
192011-05-18 H.J. Lu <hongjiu.lu@intel.com>
20
21 Backport from mainline
22 2011-05-18 H.J. Lu <hongjiu.lu@intel.com>
23
24 PR target/49002
25 * gcc.target/i386/pr49002-1.c: New test.
26 * gcc.target/i386/pr49002-2.c: Likewise.
27
28
29git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173881 138bc75d-0d04-0410-961f-82ee72b054a4
30
31index db252c8..c9866f0 100644
32--- a/gcc/config/i386/sse.md
33+++ b/gcc/config/i386/sse.md
34@@ -12017,12 +12017,13 @@
35 "&& reload_completed"
36 [(const_int 0)]
37 {
38+ rtx op0 = operands[0];
39 rtx op1 = operands[1];
40- if (REG_P (op1))
41+ if (REG_P (op0))
42+ op0 = gen_rtx_REG (<avxhalfvecmode>mode, REGNO (op0));
43+ else
44 op1 = gen_rtx_REG (<MODE>mode, REGNO (op1));
45- else
46- op1 = gen_lowpart (<MODE>mode, op1);
47- emit_move_insn (operands[0], op1);
48+ emit_move_insn (op0, op1);
49 DONE;
50 })
51
52new file mode 100644
53index 0000000..7553e82
54--- /dev/null
55+++ b/gcc/testsuite/gcc.target/i386/pr49002-1.c
56@@ -0,0 +1,16 @@
57+/* PR target/49002 */
58+/* { dg-do compile } */
59+/* { dg-options "-O -mavx" } */
60+
61+#include <immintrin.h>
62+
63+void foo(const __m128d *from, __m256d *to, int s)
64+{
65+ __m256d var = _mm256_castpd128_pd256(from[0]);
66+ var = _mm256_insertf128_pd(var, from[s], 1);
67+ to[0] = var;
68+}
69+
70+/* Ensure we load into xmm, not ymm. */
71+/* { dg-final { scan-assembler-not "vmovapd\[\t \]*\[^,\]*,\[\t \]*%ymm" } } */
72+/* { dg-final { scan-assembler "vmovapd\[\t \]*\[^,\]*,\[\t \]*%xmm" } } */
73diff --git a/gcc/testsuite/gcc.target/i386/pr49002-2.c b/gcc/testsuite/gcc.target/i386/pr49002-2.c
74new file mode 100644
75index 0000000..b0e1009
76--- /dev/null
77+++ b/gcc/testsuite/gcc.target/i386/pr49002-2.c
78@@ -0,0 +1,14 @@
79+/* PR target/49002 */
80+/* { dg-do compile } */
81+/* { dg-options "-O -mavx" } */
82+
83+#include <immintrin.h>
84+
85+void foo(const __m128d from, __m256d *to)
86+{
87+ *to = _mm256_castpd128_pd256(from);
88+}
89+
90+/* Ensure we store ymm, not xmm. */
91+/* { dg-final { scan-assembler-not "vmovapd\[\t \]*%xmm\[0-9\]\+,\[^,\]*" } } */
92+/* { dg-final { scan-assembler "vmovapd\[\t \]*%ymm\[0-9\]\+,\[^,\]*" } } */
93--
941.7.0.4
95
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0281-PR-c-48869.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0281-PR-c-48869.patch
new file mode 100644
index 0000000000..a3b18bf0fb
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0281-PR-c-48869.patch
@@ -0,0 +1,460 @@
1From 727aac5bae5c8b9e10e7b4ff1756cc722dd9ef2f Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 19 May 2011 08:00:50 +0000
4Subject: [PATCH] PR c++/48869
5 * method.c (get_dtor, get_copy_ctor): Add COMPLAIN argument,
6 pass it down to locate_fn_flags.
7 * cp-tree.h (get_dtor, get_copy_ctor): Adjust prototypes.
8 * semantics.c (cxx_omp_create_clause_info): Adjust callers.
9 * cp-gimplify.c: Include splay-tree.h.
10 (splay_tree_compare_decl_uid, omp_var_to_track,
11 omp_cxx_notice_variable): New functions.
12 (struct cp_genericize_omp_taskreg): New type.
13 (struct cp_genericize_data): Add omp_ctx field.
14 (cp_genericize_r): Attempt to determine implicitly determined
15 firstprivate class type variables.
16 (cp_genericize): Clear omp_ctx.
17 * Make-lang.in (cp/cp-gimplify.o): Depend on $(SPLAY_TREE_H).
18
19 * testsuite/libgomp.c++/pr48869.C: New test.
20
21
22git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173889 138bc75d-0d04-0410-961f-82ee72b054a4
23
24index 3734714..d0a9e58 100644
25--- a/gcc/cp/Make-lang.in
26+++ b/gcc/cp/Make-lang.in
27@@ -1,6 +1,6 @@
28 # Top level -*- makefile -*- fragment for GNU C++.
29 # Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
30-# 2005, 2007, 2008, 2009, 2010
31+# 2005, 2007, 2008, 2009, 2010, 2011
32 # Free Software Foundation, Inc.
33
34 #This file is part of GCC.
35@@ -318,7 +318,7 @@ cp/parser.o: cp/parser.c $(CXX_TREE_H) $(TM_H) $(DIAGNOSTIC_CORE_H) \
36 gt-cp-parser.h output.h $(TARGET_H) $(PLUGIN_H) intl.h \
37 c-family/c-objc.h
38 cp/cp-gimplify.o: cp/cp-gimplify.c $(CXX_TREE_H) $(C_COMMON_H) \
39- $(TM_H) coretypes.h pointer-set.h tree-iterator.h
40+ $(TM_H) coretypes.h pointer-set.h tree-iterator.h $(SPLAY_TREE_H)
41
42 cp/name-lookup.o: cp/name-lookup.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
43 $(TM_H) $(CXX_TREE_H) $(TIMEVAR_H) gt-cp-name-lookup.h \
44diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c
45index ca62df3..d26c0e0 100644
46--- a/gcc/cp/cp-gimplify.c
47+++ b/gcc/cp/cp-gimplify.c
48@@ -1,6 +1,6 @@
49 /* C++-specific tree lowering bits; see also c-gimplify.c and tree-gimple.c.
50
51- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
52+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
53 Free Software Foundation, Inc.
54 Contributed by Jason Merrill <jason@redhat.com>
55
56@@ -32,6 +32,7 @@ along with GCC; see the file COPYING3. If not see
57 #include "hashtab.h"
58 #include "pointer-set.h"
59 #include "flags.h"
60+#include "splay-tree.h"
61
62 /* Local declarations. */
63
64@@ -731,10 +732,105 @@ cxx_int_tree_map_hash (const void *item)
65 return ((const struct cxx_int_tree_map *)item)->uid;
66 }
67
68+/* A stable comparison routine for use with splay trees and DECLs. */
69+
70+static int
71+splay_tree_compare_decl_uid (splay_tree_key xa, splay_tree_key xb)
72+{
73+ tree a = (tree) xa;
74+ tree b = (tree) xb;
75+
76+ return DECL_UID (a) - DECL_UID (b);
77+}
78+
79+/* OpenMP context during genericization. */
80+
81+struct cp_genericize_omp_taskreg
82+{
83+ bool is_parallel;
84+ bool default_shared;
85+ struct cp_genericize_omp_taskreg *outer;
86+ splay_tree variables;
87+};
88+
89+/* Return true if genericization should try to determine if
90+ DECL is firstprivate or shared within task regions. */
91+
92+static bool
93+omp_var_to_track (tree decl)
94+{
95+ tree type = TREE_TYPE (decl);
96+ if (is_invisiref_parm (decl))
97+ type = TREE_TYPE (type);
98+ while (TREE_CODE (type) == ARRAY_TYPE)
99+ type = TREE_TYPE (type);
100+ if (type == error_mark_node || !CLASS_TYPE_P (type))
101+ return false;
102+ if (TREE_CODE (decl) == VAR_DECL && DECL_THREAD_LOCAL_P (decl))
103+ return false;
104+ if (cxx_omp_predetermined_sharing (decl) != OMP_CLAUSE_DEFAULT_UNSPECIFIED)
105+ return false;
106+ return true;
107+}
108+
109+/* Note DECL use in OpenMP region OMP_CTX during genericization. */
110+
111+static void
112+omp_cxx_notice_variable (struct cp_genericize_omp_taskreg *omp_ctx, tree decl)
113+{
114+ splay_tree_node n = splay_tree_lookup (omp_ctx->variables,
115+ (splay_tree_key) decl);
116+ if (n == NULL)
117+ {
118+ int flags = OMP_CLAUSE_DEFAULT_SHARED;
119+ if (omp_ctx->outer)
120+ omp_cxx_notice_variable (omp_ctx->outer, decl);
121+ if (!omp_ctx->default_shared)
122+ {
123+ struct cp_genericize_omp_taskreg *octx;
124+
125+ for (octx = omp_ctx->outer; octx; octx = octx->outer)
126+ {
127+ n = splay_tree_lookup (octx->variables, (splay_tree_key) decl);
128+ if (n && n->value != OMP_CLAUSE_DEFAULT_SHARED)
129+ {
130+ flags = OMP_CLAUSE_DEFAULT_FIRSTPRIVATE;
131+ break;
132+ }
133+ if (octx->is_parallel)
134+ break;
135+ }
136+ if (octx == NULL
137+ && (TREE_CODE (decl) == PARM_DECL
138+ || (!(TREE_STATIC (decl) || DECL_EXTERNAL (decl))
139+ && DECL_CONTEXT (decl) == current_function_decl)))
140+ flags = OMP_CLAUSE_DEFAULT_FIRSTPRIVATE;
141+ if (flags == OMP_CLAUSE_DEFAULT_FIRSTPRIVATE)
142+ {
143+ /* DECL is implicitly determined firstprivate in
144+ the current task construct. Ensure copy ctor and
145+ dtor are instantiated, because during gimplification
146+ it will be already too late. */
147+ tree type = TREE_TYPE (decl);
148+ if (is_invisiref_parm (decl))
149+ type = TREE_TYPE (type);
150+ while (TREE_CODE (type) == ARRAY_TYPE)
151+ type = TREE_TYPE (type);
152+ get_copy_ctor (type, tf_none);
153+ get_dtor (type, tf_none);
154+ }
155+ }
156+ splay_tree_insert (omp_ctx->variables, (splay_tree_key) decl, flags);
157+ }
158+}
159+
160+/* Genericization context. */
161+
162 struct cp_genericize_data
163 {
164 struct pointer_set_t *p_set;
165 VEC (tree, heap) *bind_expr_stack;
166+ struct cp_genericize_omp_taskreg *omp_ctx;
167 };
168
169 /* Perform any pre-gimplification lowering of C++ front end trees to
170@@ -747,6 +843,14 @@ cp_genericize_r (tree *stmt_p, int *walk_subtrees, void *data)
171 struct cp_genericize_data *wtd = (struct cp_genericize_data *) data;
172 struct pointer_set_t *p_set = wtd->p_set;
173
174+ /* If in an OpenMP context, note var uses. */
175+ if (__builtin_expect (wtd->omp_ctx != NULL, 0)
176+ && (TREE_CODE (stmt) == VAR_DECL
177+ || TREE_CODE (stmt) == PARM_DECL
178+ || TREE_CODE (stmt) == RESULT_DECL)
179+ && omp_var_to_track (stmt))
180+ omp_cxx_notice_variable (wtd->omp_ctx, stmt);
181+
182 if (is_invisiref_parm (stmt)
183 /* Don't dereference parms in a thunk, pass the references through. */
184 && !(DECL_THUNK_P (current_function_decl)
185@@ -786,6 +890,10 @@ cp_genericize_r (tree *stmt_p, int *walk_subtrees, void *data)
186 if (TREE_CODE (stmt) == ADDR_EXPR
187 && is_invisiref_parm (TREE_OPERAND (stmt, 0)))
188 {
189+ /* If in an OpenMP context, note var uses. */
190+ if (__builtin_expect (wtd->omp_ctx != NULL, 0)
191+ && omp_var_to_track (TREE_OPERAND (stmt, 0)))
192+ omp_cxx_notice_variable (wtd->omp_ctx, TREE_OPERAND (stmt, 0));
193 *stmt_p = convert (TREE_TYPE (stmt), TREE_OPERAND (stmt, 0));
194 *walk_subtrees = 0;
195 }
196@@ -808,6 +916,22 @@ cp_genericize_r (tree *stmt_p, int *walk_subtrees, void *data)
197 }
198 break;
199 case OMP_CLAUSE_PRIVATE:
200+ /* Don't dereference an invisiref in OpenMP clauses. */
201+ if (is_invisiref_parm (OMP_CLAUSE_DECL (stmt)))
202+ *walk_subtrees = 0;
203+ else if (wtd->omp_ctx != NULL)
204+ {
205+ /* Private clause doesn't cause any references to the
206+ var in outer contexts, avoid calling
207+ omp_cxx_notice_variable for it. */
208+ struct cp_genericize_omp_taskreg *old = wtd->omp_ctx;
209+ wtd->omp_ctx = NULL;
210+ cp_walk_tree (&OMP_CLAUSE_DECL (stmt), cp_genericize_r,
211+ data, NULL);
212+ wtd->omp_ctx = old;
213+ *walk_subtrees = 0;
214+ }
215+ break;
216 case OMP_CLAUSE_SHARED:
217 case OMP_CLAUSE_FIRSTPRIVATE:
218 case OMP_CLAUSE_COPYIN:
219@@ -876,6 +1000,25 @@ cp_genericize_r (tree *stmt_p, int *walk_subtrees, void *data)
220
221 else if (TREE_CODE (stmt) == BIND_EXPR)
222 {
223+ if (__builtin_expect (wtd->omp_ctx != NULL, 0))
224+ {
225+ tree decl;
226+ for (decl = BIND_EXPR_VARS (stmt); decl; decl = DECL_CHAIN (decl))
227+ if (TREE_CODE (decl) == VAR_DECL
228+ && !DECL_EXTERNAL (decl)
229+ && omp_var_to_track (decl))
230+ {
231+ splay_tree_node n
232+ = splay_tree_lookup (wtd->omp_ctx->variables,
233+ (splay_tree_key) decl);
234+ if (n == NULL)
235+ splay_tree_insert (wtd->omp_ctx->variables,
236+ (splay_tree_key) decl,
237+ TREE_STATIC (decl)
238+ ? OMP_CLAUSE_DEFAULT_SHARED
239+ : OMP_CLAUSE_DEFAULT_PRIVATE);
240+ }
241+ }
242 VEC_safe_push (tree, heap, wtd->bind_expr_stack, stmt);
243 cp_walk_tree (&BIND_EXPR_BODY (stmt),
244 cp_genericize_r, data, NULL);
245@@ -922,6 +1065,50 @@ cp_genericize_r (tree *stmt_p, int *walk_subtrees, void *data)
246 *stmt_p = build1 (NOP_EXPR, void_type_node, integer_zero_node);
247 *walk_subtrees = 0;
248 }
249+ else if (TREE_CODE (stmt) == OMP_PARALLEL || TREE_CODE (stmt) == OMP_TASK)
250+ {
251+ struct cp_genericize_omp_taskreg omp_ctx;
252+ tree c, decl;
253+ splay_tree_node n;
254+
255+ *walk_subtrees = 0;
256+ cp_walk_tree (&OMP_CLAUSES (stmt), cp_genericize_r, data, NULL);
257+ omp_ctx.is_parallel = TREE_CODE (stmt) == OMP_PARALLEL;
258+ omp_ctx.default_shared = omp_ctx.is_parallel;
259+ omp_ctx.outer = wtd->omp_ctx;
260+ omp_ctx.variables = splay_tree_new (splay_tree_compare_decl_uid, 0, 0);
261+ wtd->omp_ctx = &omp_ctx;
262+ for (c = OMP_CLAUSES (stmt); c; c = OMP_CLAUSE_CHAIN (c))
263+ switch (OMP_CLAUSE_CODE (c))
264+ {
265+ case OMP_CLAUSE_SHARED:
266+ case OMP_CLAUSE_PRIVATE:
267+ case OMP_CLAUSE_FIRSTPRIVATE:
268+ case OMP_CLAUSE_LASTPRIVATE:
269+ decl = OMP_CLAUSE_DECL (c);
270+ if (decl == error_mark_node || !omp_var_to_track (decl))
271+ break;
272+ n = splay_tree_lookup (omp_ctx.variables, (splay_tree_key) decl);
273+ if (n != NULL)
274+ break;
275+ splay_tree_insert (omp_ctx.variables, (splay_tree_key) decl,
276+ OMP_CLAUSE_CODE (c) == OMP_CLAUSE_SHARED
277+ ? OMP_CLAUSE_DEFAULT_SHARED
278+ : OMP_CLAUSE_DEFAULT_PRIVATE);
279+ if (OMP_CLAUSE_CODE (c) != OMP_CLAUSE_PRIVATE
280+ && omp_ctx.outer)
281+ omp_cxx_notice_variable (omp_ctx.outer, decl);
282+ break;
283+ case OMP_CLAUSE_DEFAULT:
284+ if (OMP_CLAUSE_DEFAULT_KIND (c) == OMP_CLAUSE_DEFAULT_SHARED)
285+ omp_ctx.default_shared = true;
286+ default:
287+ break;
288+ }
289+ cp_walk_tree (&OMP_BODY (stmt), cp_genericize_r, data, NULL);
290+ wtd->omp_ctx = omp_ctx.outer;
291+ splay_tree_delete (omp_ctx.variables);
292+ }
293
294 pointer_set_insert (p_set, *stmt_p);
295
296@@ -985,6 +1172,7 @@ cp_genericize (tree fndecl)
297 walk_tree's hash functionality. */
298 wtd.p_set = pointer_set_create ();
299 wtd.bind_expr_stack = NULL;
300+ wtd.omp_ctx = NULL;
301 cp_walk_tree (&DECL_SAVED_TREE (fndecl), cp_genericize_r, &wtd, NULL);
302 pointer_set_destroy (wtd.p_set);
303 VEC_free (tree, heap, wtd.bind_expr_stack);
304diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
305index be61dad..c7ca180 100644
306--- a/gcc/cp/cp-tree.h
307+++ b/gcc/cp/cp-tree.h
308@@ -5003,10 +5003,10 @@ extern tree lazily_declare_fn (special_function_kind,
309 extern tree skip_artificial_parms_for (const_tree, tree);
310 extern int num_artificial_parms_for (const_tree);
311 extern tree make_alias_for (tree, tree);
312-extern tree get_copy_ctor (tree);
313+extern tree get_copy_ctor (tree, tsubst_flags_t);
314 extern tree get_copy_assign (tree);
315 extern tree get_default_ctor (tree);
316-extern tree get_dtor (tree);
317+extern tree get_dtor (tree, tsubst_flags_t);
318 extern tree locate_ctor (tree);
319
320 /* In optimize.c */
321diff --git a/gcc/cp/method.c b/gcc/cp/method.c
322index e6f3c25..a693222 100644
323--- a/gcc/cp/method.c
324+++ b/gcc/cp/method.c
325@@ -1,7 +1,7 @@
326 /* Handle the hair of processing (but not expanding) inline functions.
327 Also manage function and variable name overloading.
328 Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
329- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
330+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
331 Free Software Foundation, Inc.
332 Contributed by Michael Tiemann (tiemann@cygnus.com)
333
334@@ -838,10 +838,10 @@ locate_fn_flags (tree type, tree name, tree argtype, int flags,
335 /* Locate the dtor of TYPE. */
336
337 tree
338-get_dtor (tree type)
339+get_dtor (tree type, tsubst_flags_t complain)
340 {
341 tree fn = locate_fn_flags (type, complete_dtor_identifier, NULL_TREE,
342- LOOKUP_NORMAL, tf_warning_or_error);
343+ LOOKUP_NORMAL, complain);
344 if (fn == error_mark_node)
345 return NULL_TREE;
346 return fn;
347@@ -878,13 +878,13 @@ get_default_ctor (tree type)
348 /* Locate the copy ctor of TYPE. */
349
350 tree
351-get_copy_ctor (tree type)
352+get_copy_ctor (tree type, tsubst_flags_t complain)
353 {
354 int quals = (TYPE_HAS_CONST_COPY_CTOR (type)
355 ? TYPE_QUAL_CONST : TYPE_UNQUALIFIED);
356 tree argtype = build_stub_type (type, quals, false);
357 tree fn = locate_fn_flags (type, complete_ctor_identifier, argtype,
358- LOOKUP_NORMAL, tf_warning_or_error);
359+ LOOKUP_NORMAL, complain);
360 if (fn == error_mark_node)
361 return NULL_TREE;
362 return fn;
363diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
364index 6b7ec39..48b37cf 100644
365--- a/gcc/cp/semantics.c
366+++ b/gcc/cp/semantics.c
367@@ -3667,7 +3667,7 @@ cxx_omp_create_clause_info (tree c, tree type, bool need_default_ctor,
368 if (need_default_ctor)
369 t = get_default_ctor (type);
370 else
371- t = get_copy_ctor (type);
372+ t = get_copy_ctor (type, tf_warning_or_error);
373
374 if (t && !trivial_fn_p (t))
375 TREE_VEC_ELT (info, 0) = t;
376@@ -3675,7 +3675,7 @@ cxx_omp_create_clause_info (tree c, tree type, bool need_default_ctor,
377
378 if ((need_default_ctor || need_copy_ctor)
379 && TYPE_HAS_NONTRIVIAL_DESTRUCTOR (type))
380- TREE_VEC_ELT (info, 1) = get_dtor (type);
381+ TREE_VEC_ELT (info, 1) = get_dtor (type, tf_warning_or_error);
382
383 if (need_copy_assignment)
384 {
385new file mode 100644
386index 0000000..ec952d9
387--- /dev/null
388+++ b/libgomp/testsuite/libgomp.c++/pr48869.C
389@@ -0,0 +1,68 @@
390+// PR c++/48869
391+// { dg-do run }
392+// { dg-options "-std=gnu++0x" }
393+
394+template <const int N>
395+struct A
396+{
397+ A () {}
398+ A (const A&) = delete;
399+ void foo () {}
400+ ~A () {}
401+};
402+
403+template <const int N>
404+struct B
405+{
406+ B () {}
407+ B (const B&) {}
408+ void foo () {}
409+ ~B () {}
410+};
411+
412+void __attribute__((used))
413+foo (B<6> b6)
414+{
415+ #pragma omp task
416+ b6.foo ();
417+}
418+
419+int
420+main ()
421+{
422+ A<0> a0;
423+ #pragma omp task shared(a0)
424+ a0.foo ();
425+ #pragma omp task default(shared)
426+ a0.foo ();
427+ #pragma omp parallel shared(a0)
428+ #pragma omp task
429+ a0.foo ();
430+ #pragma omp task
431+ {
432+ A<1> a1;
433+ a1.foo ();
434+ }
435+ B<0> b0;
436+ #pragma omp task shared(b0)
437+ b0.foo ();
438+ B<1> b1;
439+ #pragma omp task default(shared)
440+ b1.foo ();
441+ B<2> b2;
442+ #pragma omp parallel shared(b2)
443+ #pragma omp task
444+ b2.foo ();
445+ B<3> b3;
446+ #pragma omp task
447+ b3.foo ();
448+ B<4> b4;
449+ #pragma omp parallel private (b4)
450+ #pragma omp task
451+ b4.foo ();
452+ B<5> b5;
453+ #pragma omp parallel firstprivate (b5)
454+ #pragma omp task
455+ b5.foo ();
456+ return 0;
457+}
458--
4591.7.0.4
460
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0282-gcc.c-torture-execute-960321-1.x-Remove.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0282-gcc.c-torture-execute-960321-1.x-Remove.patch
new file mode 100644
index 0000000000..5ad78e6aff
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0282-gcc.c-torture-execute-960321-1.x-Remove.patch
@@ -0,0 +1,30 @@
1From 74848914e56814b2e9c5983cb8c0dfb25b7db233 Mon Sep 17 00:00:00 2001
2From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 19 May 2011 08:03:10 +0000
4Subject: [PATCH] * gcc.c-torture/execute/960321-1.x: Remove.
5
6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173891 138bc75d-0d04-0410-961f-82ee72b054a4
7
8deleted file mode 100644
9index 44cc702..0000000
10--- a/gcc/testsuite/gcc.c-torture/execute/960321-1.x
11+++ /dev/null
12@@ -1,15 +0,0 @@
13-# This test fails to link on 64-bit Solaris 2/x86 due to a Sun as bug.
14-if { [istarget "i?86-*-solaris2*"]
15- && ! [check_effective_target_ilp32]
16- && ! [check_effective_target_gas] } {
17- set torture_eval_before_compile {
18- global compiler_conditional_xfail_data
19- set compiler_conditional_xfail_data {
20- "64-bit Sun as bug" \
21- { "i?86-*-solaris2*" } \
22- { "-O[1-3s]" } \
23- { "" }
24- }
25- }
26-}
27-return 0
28--
291.7.0.4
30
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0283-zh_CN.po-Update.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0283-zh_CN.po-Update.patch
new file mode 100644
index 0000000000..8d8e78699c
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0283-zh_CN.po-Update.patch
@@ -0,0 +1,1529 @@
1From de69adc282d3bdceef69886045a0638fb97b71c8 Mon Sep 17 00:00:00 2001
2From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 19 May 2011 10:00:01 +0000
4Subject: [PATCH] * zh_CN.po: Update.
5
6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173898 138bc75d-0d04-0410-961f-82ee72b054a4
7
8index 595043a..7025eae 100644
9--- a/gcc/po/zh_CN.po
10+++ b/gcc/po/zh_CN.po
11@@ -1,14 +1,14 @@
12 # Simplified Chinese translation for gcc.
13 # Copyright (C) 2005 Free Software Foundation, Inc.
14 # This file is distributed under the same license as the gcc package.
15-# Meng Jie <zuxy.meng@gmail.com>, 2005-2010.
16+# Meng Jie <zuxy.meng@gmail.com>, 2005-2011.
17 #
18 msgid ""
19 msgstr ""
20 "Project-Id-Version: gcc 4.6.0\n"
21 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
22 "POT-Creation-Date: 2011-03-24 16:45+0000\n"
23-"PO-Revision-Date: 2011-05-14 20:50+0800\n"
24+"PO-Revision-Date: 2011-05-19 15:04+0800\n"
25 "Last-Translator: Meng Jie <zuxy.meng@gmail.com>\n"
26 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
27 "Language: zh_CN\n"
28@@ -1449,7 +1449,6 @@ msgid "VOIDmode on an output"
29 msgstr "输出有 VOIDmode"
30
31 #: reload1.c:8619
32-#, fuzzy
33 msgid "failure trying to reload:"
34 msgstr "试图重新载入时失败:"
35
36@@ -1637,9 +1636,8 @@ msgid "indirect function call with a yet undetermined callee"
37 msgstr "间接函数调用目标未定义"
38
39 #: cif-code.def:92
40-#, fuzzy
41 msgid "function body can be overwriten at linktime"
42-msgstr "函数体不可用"
43+msgstr "函数体可能在链接时被改写"
44
45 #. The remainder are real diagnostic types.
46 #: diagnostic.def:33
47@@ -3848,14 +3846,14 @@ msgid "%s:%d: [ skipping %d instantiation contexts ]\n"
48 msgstr "%s:%d:[ 跳过 %d 个实例化上下文 ]\n"
49
50 #: cp/error.c:3009
51-#, fuzzy, c-format
52+#, c-format
53 msgid "%s:%d:%d: in constexpr expansion of %qs"
54-msgstr "在成员函数%qs中"
55+msgstr "%s:%d:%d:在%qs的广义常表达式扩展中"
56
57 #: cp/error.c:3013
58-#, fuzzy, c-format
59+#, c-format
60 msgid "%s:%d: in constexpr expansion of %qs"
61-msgstr "在成员函数%qs中"
62+msgstr "%s:%d:在%qs的广义常表达式扩展中"
63
64 #: cp/pt.c:1725
65 msgid "candidates are:"
66@@ -4445,7 +4443,7 @@ msgstr "内存分配失败"
67
68 #: fortran/trans.c:639 fortran/trans.c:1039
69 msgid "Allocation would exceed memory limit"
70-msgstr ""
71+msgstr "内存分配将超过内存上限"
72
73 #: fortran/trans.c:729
74 #, fuzzy, c-format
75@@ -4705,9 +4703,8 @@ msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
76 msgstr ""
77
78 #: config/i386/nwld.h:34
79-#, fuzzy
80 msgid "static linking is not supported"
81-msgstr "不支持静态链接。\n"
82+msgstr "不支持静态链接"
83
84 #: config/pa/pa-hpux10.h:89 config/pa/pa-hpux10.h:92 config/pa/pa-hpux10.h:100
85 #: config/pa/pa-hpux10.h:103 config/pa/pa-hpux11.h:108
86@@ -4941,9 +4938,8 @@ msgid "Warn about truncated character expressions"
87 msgstr "对被截断的字符表达式给出警告"
88
89 #: fortran/lang.opt:223
90-#, fuzzy
91 msgid "Warn about most implicit conversions"
92-msgstr "对隐式函数声明给出警告"
93+msgstr "对大多数隐式类型转换给出警告"
94
95 #: fortran/lang.opt:227
96 msgid "Warn about calls with implicit interface"
97@@ -4978,9 +4974,8 @@ msgid "Warn if a user-procedure has the same name as an intrinsic"
98 msgstr "如果用户过程有与内建过程相同的名字则警告"
99
100 #: fortran/lang.opt:263
101-#, fuzzy
102 msgid "Warn about unused dummy arguments."
103-msgstr "为可能的哑元重叠给出警告"
104+msgstr "对未使用的哑元给出警告。"
105
106 #: fortran/lang.opt:267
107 msgid "Enable preprocessing"
108@@ -5177,9 +5172,8 @@ msgid "Enable range checking during compilation"
109 msgstr "启用编译时范围检查"
110
111 #: fortran/lang.opt:479
112-#, fuzzy
113 msgid "Reallocate the LHS in assignments"
114-msgstr "不返回的调用中有左值"
115+msgstr "在赋值中重分配左值"
116
117 #: fortran/lang.opt:483
118 msgid "Use a 4-byte record marker for unformatted files"
119@@ -6796,9 +6790,8 @@ msgid "Call mcount for profiling before a function prologue"
120 msgstr "为取样在函数前言中调用 mcount"
121
122 #: config/rs6000/linux64.opt:28
123-#, fuzzy
124 msgid "Select code model"
125-msgstr "未知的 tls-model“%s”"
126+msgstr "选择代码模型"
127
128 #: config/rs6000/sysv4.opt:24
129 msgid "Select ABI calling convention"
130@@ -9458,9 +9451,8 @@ msgid "Downgrade conformance errors to warnings"
131 msgstr "将兼容性错误降格为警告"
132
133 #: c-family/c.opt:918
134-#, fuzzy
135 msgid "Enable Plan 9 language extensions"
136-msgstr "启用链接器松弛"
137+msgstr "启用九号计划语言扩展"
138
139 #: c-family/c.opt:922
140 msgid "Treat the input file as already preprocessed"
141@@ -9643,9 +9635,8 @@ msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
142 msgstr "遵循 ISO 1998 C++ 标准,也支持可能集成在下一个 ISO C++ 标准中的扩展"
143
144 #: c-family/c.opt:1147
145-#, fuzzy
146 msgid "Conform to the ISO 201X C standard draft (experimental and incomplete support)"
147-msgstr "遵循 ISO 1990 C 标准于 1994 年修订的版本"
148+msgstr "遵循 ISO 201X C 标准草案(试验性质的不完全支持)"
149
150 #: c-family/c.opt:1151 c-family/c.opt:1155 c-family/c.opt:1198
151 msgid "Conform to the ISO 1990 C standard"
152@@ -9668,9 +9659,8 @@ msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
153 msgstr "遵循 ISO 1998 C++ 标准,也支持 GNU 扩展和可能集成在下一代 ISO C++ 标准中的扩展"
154
155 #: c-family/c.opt:1178
156-#, fuzzy
157 msgid "Conform to the ISO 201X C standard draft with GNU extensions (experimental and incomplete support)"
158-msgstr "遵循 ISO 1998 C++ 标准,也支持 GNU 扩展和可能集成在下一代 ISO C++ 标准中的扩展"
159+msgstr "遵循 ISO 201X C 标准草案和 GNU 扩展(试验性质的不完全支持)"
160
161 #: c-family/c.opt:1182 c-family/c.opt:1186
162 msgid "Conform to the ISO 1990 C standard with GNU extensions"
163@@ -10258,9 +10248,8 @@ msgid "Enable Loop Blocking transformation"
164 msgstr "启用循环分块转换"
165
166 #: common.opt:1140
167-#, fuzzy
168 msgid "Enable Loop Flattening transformation"
169-msgstr "启用循环交换转换"
170+msgstr "启用循环扁平化转换"
171
172 #: common.opt:1144
173 msgid "Force bitfield accesses to match their type width"
174@@ -10371,7 +10360,7 @@ msgstr "-fira-algorithm=|CB|priority] 设置使用的 IRA 算法"
175 #: common.opt:1265
176 #, fuzzy, c-format
177 msgid "unknown IRA algorithm %qs"
178-msgstr "%<asm%>中出现未知的寄存器名%qs"
179+msgstr "未知的 TLS 模型%qs"
180
181 #: common.opt:1275
182 msgid "-fira-region=[one|all|mixed] Set regions for IRA"
183@@ -10380,7 +10369,7 @@ msgstr "-fira-region=[one|all|mixed] 设置 IRA 的区域"
184 #: common.opt:1278
185 #, fuzzy, c-format
186 msgid "unknown IRA region %qs"
187-msgstr "%<asm%>中出现未知的寄存器名%qs"
188+msgstr "未知的 TLS 模型%qs"
189
190 #: common.opt:1291
191 msgid "Use IRA based register pressure calculation"
192@@ -10452,7 +10441,6 @@ msgid "Set errno after built-in math functions"
193 msgstr "执行内建数学函数后设置 errno"
194
195 #: common.opt:1365
196-#, fuzzy
197 msgid "-fmax-errors=<number>\tMaximum number of errors to report"
198 msgstr "-fmax-errors=<n>\t报告错误数量的上限值"
199
200@@ -10863,9 +10851,9 @@ msgid "-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]\tSet t
201 msgstr "-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]\t设定默认的线程局部存储代码生成模式"
202
203 #: common.opt:1821
204-#, fuzzy, c-format
205+#, c-format
206 msgid "unknown TLS model %qs"
207-msgstr "tls_model 的实参不是一个字符串"
208+msgstr "未知的 TLS 模型%qs"
209
210 #: common.opt:1837
211 msgid "Reorder top level functions, variables, and asms"
212@@ -11282,7 +11270,7 @@ msgstr "实参太多"
213 #: go/gofrontend/expressions.cc:7395
214 #, fuzzy
215 msgid "argument must be array or slice or channel"
216-msgstr "实参必须是常数"
217+msgstr "右实参必须是一个切片或字符串"
218
219 #: go/gofrontend/expressions.cc:7405
220 msgid "argument must be string or array or slice or map or channel"
221@@ -11492,20 +11480,19 @@ msgid "different parameter types"
222 msgstr "形参类型不同"
223
224 #: go/gofrontend/types.cc:2535
225-#, fuzzy
226 msgid "different varargs"
227-msgstr "在不同命名空间中特例化%q#T"
228+msgstr "不同的可变参数"
229
230 #: go/gofrontend/types.cc:2544 go/gofrontend/types.cc:2557
231 #: go/gofrontend/types.cc:2572
232 #, fuzzy
233 msgid "different number of results"
234-msgstr "无效的版本号‘%s’"
235+msgstr "形参数量不同"
236
237 #: go/gofrontend/types.cc:2565
238 #, fuzzy
239 msgid "different result types"
240-msgstr "与%q+D类型冲突"
241+msgstr "不同的接收器类型"
242
243 #: go/gofrontend/types.cc:3546
244 #, c-format
245@@ -11541,7 +11528,7 @@ msgstr "方法%s%s%s类型不兼容"
246 #: go/gofrontend/types.cc:5891 go/gofrontend/types.cc:6026
247 #, fuzzy, c-format
248 msgid "incompatible type for method %s%s%s (%s)"
249-msgstr "%2$qE的第 %1$d 个实参类型不兼容"
250+msgstr "方法%s%s%s类型不兼容"
251
252 #: go/gofrontend/types.cc:5963 go/gofrontend/types.cc:5976
253 msgid "pointer to interface type has no methods"
254@@ -11838,9 +11825,9 @@ msgid "unused variable %q+D"
255 msgstr "未使用的变量%q+D"
256
257 #: c-decl.c:1183
258-#, fuzzy, gcc-internal-format
259+#, gcc-internal-format
260 msgid "variable %qD set but not used"
261-msgstr "标号%q+D定义后未使用"
262+msgstr "变量%qD被设定但未被使用"
263
264 #: c-decl.c:1188
265 #, gcc-internal-format
266@@ -11953,9 +11940,9 @@ msgid "conflicting type qualifiers for %q+D"
267 msgstr "%q+D的类型限定冲突"
268
269 #: c-decl.c:1805
270-#, fuzzy, gcc-internal-format
271+#, gcc-internal-format
272 msgid "redefinition of typedef %q+D with different type"
273-msgstr "typedef%q+D重定义"
274+msgstr "typedef%q+D重定义时具有不同类型"
275
276 #: c-decl.c:1818
277 #, fuzzy, gcc-internal-format
278@@ -13119,9 +13106,9 @@ msgid "no return statement in function returning non-void"
279 msgstr "在有返回值的函数中未发现 return 语句"
280
281 #: c-decl.c:8299
282-#, fuzzy, gcc-internal-format
283+#, gcc-internal-format
284 msgid "parameter %qD set but not used"
285-msgstr "形参%qD已初始化"
286+msgstr "形参%qD被设定但未被使用"
287
288 #. If we get here, declarations have been used in a for loop without
289 #. the C99 for loop scope. This doesn't make much sense, so don't
290@@ -13337,9 +13324,9 @@ msgid "prefix attributes are ignored for implementations"
291 msgstr "属性在模板实例化上被忽略"
292
293 #: c-parser.c:1554
294-#, fuzzy, gcc-internal-format
295+#, gcc-internal-format
296 msgid "unexpected attribute"
297-msgstr "属性声明"
298+msgstr "非预期的属性"
299
300 #: c-parser.c:1596
301 #, gcc-internal-format
302@@ -13595,7 +13582,7 @@ msgstr "此指令中寄存器无效"
303 #: c-parser.c:4880
304 #, fuzzy, gcc-internal-format
305 msgid "missing collection in fast enumeration"
306-msgstr "函数调用中缺少哨兵"
307+msgstr "快速枚举在 Objective-C 1.0 里不可用"
308
309 #: c-parser.c:4951
310 #, gcc-internal-format
311@@ -15267,9 +15254,9 @@ msgid "nonempty exits list of loop %d, but exits are not recorded"
312 msgstr "循环 %d 退出列表非空,但是退出未被记录"
313
314 #: cfgloop.c:1514
315-#, fuzzy, gcc-internal-format, gfc-internal-format
316+#, gcc-internal-format, gfc-internal-format
317 msgid "exit %d->%d not recorded"
318-msgstr "退出 %d->%d 不记录"
319+msgstr "退出 %d->%d 未被记录"
320
321 #: cfgloop.c:1532
322 #, fuzzy, gcc-internal-format, gfc-internal-format
323@@ -16368,14 +16355,14 @@ msgid "multilib exclusion %qs is invalid"
324 msgstr "C++ 不允许在%qs表达式中定义类型"
325
326 #: gcc.c:7775
327-#, fuzzy, gcc-internal-format
328+#, gcc-internal-format
329 msgid "environment variable %qs not defined"
330-msgstr "没有定义 DJGPP 环境变量"
331+msgstr "环境变量%qs未定义"
332
333 #: gcc.c:7887 gcc.c:7892
334-#, fuzzy, gcc-internal-format
335+#, gcc-internal-format
336 msgid "invalid version number %qs"
337-msgstr "%qs的版本是%q.*s,需要的版本%q.*s"
338+msgstr "无效的版本号%qs"
339
340 #: gcc.c:7935
341 #, gcc-internal-format, gfc-internal-format
342@@ -16901,14 +16888,14 @@ msgid "unrecognized command line option %<-fdump-%s%>"
343 msgstr "命令行选项文件“%s”不存在"
344
345 #: opts-global.c:387 opts-global.c:395
346-#, fuzzy, gcc-internal-format
347+#, gcc-internal-format
348 msgid "plugin support is disabled; configure with --enable-plugin"
349-msgstr "插件支持被禁用。配置时需带 -enable-plugin。"
350+msgstr "插件支持被禁用;配置时需带 -enable-plugin"
351
352 #: opts-global.c:419
353-#, fuzzy, gcc-internal-format
354+#, gcc-internal-format
355 msgid "unrecognized register name %qs"
356-msgstr "%<asm%>中出现未知的寄存器名%qs"
357+msgstr "不可识别的寄存名%qs"
358
359 #: opts.c:86
360 #, gcc-internal-format
361@@ -17046,7 +17033,7 @@ msgid "unrecognized gcc debugging option: %c"
362 msgstr "无法识别的 gcc 调试选项:%c"
363
364 #: opts.c:1968
365-#, fuzzy, gcc-internal-format, gfc-internal-format
366+#, gcc-internal-format, gfc-internal-format
367 msgid "-Werror=%s: no option -%s"
368 msgstr "-Werror=%s:没有选项 -%s"
369
370@@ -17642,9 +17629,9 @@ msgid "-frecord-gcc-switches is not supported by the current target"
371 msgstr "-frecord-gcc-switches 在此目标机上不受支持"
372
373 #: toplev.c:1058
374-#, fuzzy, gcc-internal-format
375+#, gcc-internal-format
376 msgid "-fstack-usage not supported for this target"
377-msgstr "-fstack-protector 在此目标机上不受支持"
378+msgstr "-fstack-usage 在此目标机上不受支持"
379
380 #: toplev.c:1295
381 #, gcc-internal-format
382@@ -19453,9 +19440,9 @@ msgid "invalid pointer mode %qs"
383 msgstr "无效的指针模式%qs"
384
385 #: c-family/c-common.c:6446
386-#, fuzzy, gcc-internal-format
387+#, gcc-internal-format
388 msgid "signedness of type and machine mode %qs don%'t match"
389-msgstr "类型的符号与机器模式 %qs 不匹配"
390+msgstr "类型的符号与机器模式%qs不匹配"
391
392 #: c-family/c-common.c:6457
393 #, gcc-internal-format
394@@ -19554,7 +19541,7 @@ msgid "attribute %qE argument not a string"
395 msgstr "%qE属性需要一个字符串常量作为实参"
396
397 #: c-family/c-common.c:6809
398-#, fuzzy, gcc-internal-format
399+#, gcc-internal-format
400 msgid "indirect function %q+D cannot be declared weakref"
401 msgstr "内联函数%q+D不能声明为有弱链接"
402
403@@ -19723,14 +19710,14 @@ msgid "requested position is less than zero"
404 msgstr "要求的位置小于 0"
405
406 #: c-family/c-common.c:7801
407-#, fuzzy, gcc-internal-format, gfc-internal-format
408+#, gcc-internal-format, gfc-internal-format
409 msgid "bad option %s to optimize attribute"
410-msgstr "optimize 属性的选项 %s 无效。"
411+msgstr "optimize 属性选项 %s 无效"
412
413 #: c-family/c-common.c:7804
414-#, fuzzy, gcc-internal-format, gfc-internal-format
415+#, gcc-internal-format, gfc-internal-format
416 msgid "bad option %s to pragma attribute"
417-msgstr "pragma attribute 选项 %s 无效"
418+msgstr "pragma 属性选项 %s 无效"
419
420 #: c-family/c-common.c:8033
421 #, gcc-internal-format
422@@ -19898,9 +19885,9 @@ msgid "decrement of function %qD"
423 msgstr "令函数%qD自减"
424
425 #: c-family/c-common.c:8630
426-#, fuzzy, gcc-internal-format
427+#, gcc-internal-format
428 msgid "function %qD used as %<asm%> output"
429-msgstr "只读成员%qD用作%<asm%>的输出"
430+msgstr "函数%qD用作%<asm%>的输出"
431
432 #: c-family/c-common.c:8636
433 #, gcc-internal-format
434@@ -21084,7 +21071,7 @@ msgstr "静态断言错误:%E"
435 #: config/darwin-driver.c:136
436 #, gcc-internal-format
437 msgid "couldn%'t understand kern.osversion %q.*s"
438-msgstr ""
439+msgstr "不能识别 kern.osversion%q.*s"
440
441 #: config/darwin.c:1608
442 #, gcc-internal-format
443@@ -21127,9 +21114,9 @@ msgid "built-in function %qD requires the %<-mconstant-cfstrings%> flag"
444 msgstr "内建函数%q+D未被声明为函数"
445
446 #: config/darwin.c:3124
447-#, fuzzy, gcc-internal-format
448+#, gcc-internal-format
449 msgid "built-in function %qD takes one argument only"
450-msgstr "内建函数%q+D未被声明为函数"
451+msgstr "内建函数%qD只需要一个实参"
452
453 #: config/darwin.c:3197
454 #, gcc-internal-format
455@@ -21221,7 +21208,7 @@ msgstr "PIC 只在 RTP 上受支持"
456 #: config/darwin.h:150
457 #, gcc-internal-format
458 msgid "%<-fobjc-abi-version%> >= 2 is only supported on %<-m64%> targets for %<-fnext-runtime%>"
459-msgstr ""
460+msgstr "%<-fobjc-abi-version%> >= 2 只在%<-m64%>目标下支持%<-fnext-runtime%>"
461
462 #. Mach-O supports 'weak imports', and 'weak definitions' in coalesced
463 #. sections. machopic_select_section ensures that weak variables go in
464@@ -21521,9 +21508,9 @@ msgid "PCS variant"
465 msgstr "PCS 变动"
466
467 #: config/arm/arm.c:4076
468-#, fuzzy, gcc-internal-format
469+#, gcc-internal-format
470 msgid "Thumb-1 hard-float VFP ABI"
471-msgstr "-mfloat-abi=hard 和 VFP"
472+msgstr "Thumb-1 硬件浮点 VFP ABI"
473
474 #: config/arm/arm.c:4784 config/arm/arm.c:4802 config/avr/avr.c:4936
475 #: config/avr/avr.c:4952 config/bfin/bfin.c:5562 config/bfin/bfin.c:5623
476@@ -22112,9 +22099,9 @@ msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
477 msgstr "-mfentry 在 32 位下不能和 -pic 同时使用"
478
479 #: config/i386/i386.c:4254
480-#, fuzzy, gcc-internal-format
481+#, gcc-internal-format
482 msgid "-mno-fentry isn%'t compatible with SEH"
483-msgstr "-mas100-syntax 与 -gdwarf 不兼容"
484+msgstr "-mno-fentry 与 SEH 不兼容"
485
486 #: config/i386/i386.c:4668
487 #, gcc-internal-format, gfc-internal-format
488@@ -22134,7 +22121,7 @@ msgstr "fastcall 和 regparm 属性互不兼容"
489 #: config/i386/i386.c:5309
490 #, fuzzy, gcc-internal-format
491 msgid "regparam and thiscall attributes are not compatible"
492-msgstr "fastcall 和 regparm 属性互不兼容"
493+msgstr "fastcall 和 thiscall 属性互不兼容"
494
495 #: config/i386/i386.c:5316 config/i386/i386.c:29385
496 #, gcc-internal-format
497@@ -22274,7 +22261,7 @@ msgstr "%<-fsplit-stack%>只在 GNU/Linux 下被支持"
498 #: config/i386/i386.c:9169
499 #, gcc-internal-format
500 msgid "%<-fsplit-stack%> requires assembler support for CFI directives"
501-msgstr ""
502+msgstr "%<-fsplit-stack%>需要汇编器支持 CFI 伪指令"
503
504 #: config/i386/i386.c:10330
505 #, fuzzy, gcc-internal-format
506@@ -22284,7 +22271,7 @@ msgstr "ms_hook_prologue 与嵌套函数不兼容"
507 #: config/i386/i386.c:11298
508 #, fuzzy, gcc-internal-format
509 msgid "-fsplit-stack does not support fastcall with nested function"
510-msgstr "ms_hook_prologue 与嵌套函数不兼容"
511+msgstr "-fsplit-stack 不支持在嵌套函数中使用两个寄存器参数"
512
513 #: config/i386/i386.c:11312
514 #, gcc-internal-format
515@@ -22952,7 +22939,7 @@ msgstr "非预期的 %d 字节 cop 指令"
516 #: config/microblaze/microblaze.c:1283
517 #, gcc-internal-format
518 msgid "-mno-clearbss is deprecated; use -fno-zero-initialized-in-bss"
519-msgstr ""
520+msgstr "-mno-clearbss已不建议使用;请改用 -fno-zero-initialized-in-bss"
521
522 #: config/microblaze/microblaze.c:1286
523 #, gcc-internal-format
524@@ -24706,13 +24693,13 @@ msgstr "无法将右值%qE绑定到%qT"
525 #: cp/call.c:5699
526 #, gcc-internal-format
527 msgid "cannot pass objects of non-trivially-copyable type %q#T through %<...%>"
528-msgstr "不能通过%<...%>传递有非平凡复制的类型%q#T"
529+msgstr "不能通过%<...%>传递有不能平凡复制的类型%q#T"
530
531 #. conditionally-supported behavior [expr.call] 5.2.2/7.
532 #: cp/call.c:5728
533 #, gcc-internal-format
534 msgid "cannot receive objects of non-trivially-copyable type %q#T through %<...%>; "
535-msgstr "不能通过%<...%>接受有非平凡复制的类型%q#T;"
536+msgstr "不能通过%<...%>接受不能平凡复制的类型%q#T;"
537
538 #: cp/call.c:5774
539 #, gcc-internal-format
540@@ -24867,7 +24854,7 @@ msgstr "Java 类%qT不能有析构函数"
541 #: cp/class.c:978
542 #, gcc-internal-format
543 msgid "Java class %qT cannot have an implicit non-trivial destructor"
544-msgstr "Java 类%qT不能有隐式的非平凡的析构函数"
545+msgstr "Java 类%qT不能有隐式的不平凡的析构函数"
546
547 #: cp/class.c:1079
548 #, gcc-internal-format
549@@ -25328,64 +25315,64 @@ msgid "pseudo-destructor is not called"
550 msgstr "伪析构函数未被调用"
551
552 #: cp/cvt.c:961
553-#, fuzzy, gcc-internal-format
554+#, gcc-internal-format
555 msgid "conversion to void will not access object of incomplete type %qT"
556-msgstr "对不完全的类型%q#T的非法使用"
557+msgstr "向 void 的类型转换不会访问具有不完全类型%qT的对象"
558
559 #: cp/cvt.c:965
560 #, gcc-internal-format
561 msgid "indirection will not access object of incomplete type %qT in second operand of conditional expression"
562-msgstr ""
563+msgstr "提领不会访问作为条件表达式第二个操作数的具有不完全类型%qT的对象"
564
565 #: cp/cvt.c:970
566 #, gcc-internal-format
567 msgid "indirection will not access object of incomplete type %qT in third operand of conditional expression"
568-msgstr ""
569+msgstr "提领不会访问作为条件表达式第三个操作数的具有不完全类型%qT的对象"
570
571 #: cp/cvt.c:975
572 #, gcc-internal-format
573 msgid "indirection will not access object of incomplete type %qT in right operand of comma operator"
574-msgstr ""
575+msgstr "提领不会访问作为逗号操作符右操作数的具有不完全类型%qT的对象"
576
577 #: cp/cvt.c:980
578 #, gcc-internal-format
579 msgid "indirection will not access object of incomplete type %qT in left operand of comma operator"
580-msgstr ""
581+msgstr "提领不会访问作为逗号操作符左操作数的具有不完全类型%qT的对象"
582
583 #: cp/cvt.c:985
584-#, fuzzy, gcc-internal-format
585+#, gcc-internal-format
586 msgid "indirection will not access object of incomplete type %qT in statement"
587-msgstr "%qs不能用于不完全的类型%qT"
588+msgstr "提领不会访问语句中具有不完全类型的对象%qT"
589
590 #: cp/cvt.c:989
591 #, gcc-internal-format
592 msgid "indirection will not access object of incomplete type %qT in for increment expression"
593-msgstr ""
594+msgstr "提领不会访问 for 循环增量表达式中具有不完全类型%qT的对象"
595
596 #: cp/cvt.c:1005
597-#, fuzzy, gcc-internal-format
598+#, gcc-internal-format
599 msgid "conversion to void will not access object of type %qT"
600-msgstr "将类型为%2$qT的右值转换为%1$qT的 volatile 引用"
601+msgstr "向 void 的转换不会访问具有类型%qT的对象"
602
603 #: cp/cvt.c:1009
604 #, gcc-internal-format
605 msgid "implicit dereference will not access object of type %qT in second operand of conditional expression"
606-msgstr ""
607+msgstr "隐式提领不会访问作为条件表达式第二个操作数的具有类型%qT的对象"
608
609 #: cp/cvt.c:1014
610 #, gcc-internal-format
611 msgid "implicit dereference will not access object of type %qT in third operand of conditional expression"
612-msgstr ""
613+msgstr "隐式提领不会访问作为条件表达式第三个操作数的具有类型%qT的对象"
614
615 #: cp/cvt.c:1019
616 #, gcc-internal-format
617 msgid "implicit dereference will not access object of type %qT in right operand of comma operator"
618-msgstr ""
619+msgstr "隐式提领不会访问作为逗号操作符右操作数的具有类型%qT的对象"
620
621 #: cp/cvt.c:1024
622 #, gcc-internal-format
623 msgid "implicit dereference will not access object of type %qT in left operand of comma operator"
624-msgstr ""
625+msgstr "隐式提领不会访问作为逗号操作符左操作数的具有类型%qT的对象"
626
627 #: cp/cvt.c:1029
628 #, gcc-internal-format
629@@ -25395,77 +25382,77 @@ msgstr "隐式提领不会访问语句中类型为%qT的对象"
630 #: cp/cvt.c:1033
631 #, gcc-internal-format
632 msgid "implicit dereference will not access object of type %qT in for increment expression"
633-msgstr ""
634+msgstr "隐式提领不会访问 for 循环增量表达式中具有类型%qT的对象"
635
636 #: cp/cvt.c:1047
637-#, fuzzy, gcc-internal-format
638+#, gcc-internal-format
639 msgid "conversion to void will not access object of non-trivially-copyable type %qT"
640-msgstr "不能通过%<...%>传递有非平凡复制的类型%q#T"
641+msgstr "向 void 的转换不会访问具有不能平凡复制类型%qT的对象"
642
643 #: cp/cvt.c:1052
644 #, gcc-internal-format
645 msgid "indirection will not access object of non-trivially-copyable type %qT in second operand of conditional expression"
646-msgstr ""
647+msgstr "提领不会访问作为条件表达式第二个操作数的具有不能平凡复制类型%qT的对象"
648
649 #: cp/cvt.c:1057
650-#, fuzzy, gcc-internal-format
651+#, gcc-internal-format
652 msgid "indirection will not access object of non-trivially-copyable type %qT in third operand of conditional expression"
653-msgstr "不能通过%<...%>传递有非平凡复制的类型%q#T"
654+msgstr "提领不会访问作为条件表达式第三个操作数的具有不能平凡复制类型%qT的对象"
655
656 #: cp/cvt.c:1062
657-#, fuzzy, gcc-internal-format
658+#, gcc-internal-format
659 msgid "indirection will not access object of non-trivially-copyable type %qT in right operand of comma operator"
660-msgstr "不能通过%<...%>传递有非平凡复制的类型%q#T"
661+msgstr "提领不会访问作为逗号操作符右操作数的具有不能平凡复制类型%qT的对象"
662
663 #: cp/cvt.c:1067
664-#, fuzzy, gcc-internal-format
665+#, gcc-internal-format
666 msgid "indirection will not access object of non-trivially-copyable type %qT in left operand of comma operator"
667-msgstr "不能通过%<...%>传递有非平凡复制的类型%q#T"
668+msgstr "提领不会访问作为逗号操作符左操作数的具有不能平凡复制类型%qT的对象"
669
670 #: cp/cvt.c:1072
671-#, fuzzy, gcc-internal-format
672+#, gcc-internal-format
673 msgid "indirection will not access object of non-trivially-copyable type %qT in statement"
674-msgstr "不能通过%<...%>传递有非平凡复制的类型%q#T"
675+msgstr "提领不会访问语句中具有不能平凡复制类型%qT的对象"
676
677 #: cp/cvt.c:1077
678-#, fuzzy, gcc-internal-format
679+#, gcc-internal-format
680 msgid "indirection will not access object of non-trivially-copyable type %qT in for increment expression"
681-msgstr "不能通过%<...%>传递有非平凡复制的类型%q#T"
682+msgstr "提领不会访问 for 循环增量表达式中具有不能平凡复制类型%qT的对象"
683
684 #: cp/cvt.c:1115
685-#, fuzzy, gcc-internal-format
686+#, gcc-internal-format
687 msgid "conversion to void will not access object %qE of incomplete type %qT"
688-msgstr "将类型为%2$qT的右值转换为%1$qT的 volatile 引用"
689+msgstr "向 void 的转换不会访问具有不完全类型%2$qT的对象%1$qE"
690
691 #: cp/cvt.c:1119
692-#, fuzzy, gcc-internal-format
693+#, gcc-internal-format
694 msgid "variable %qE of incomplete type %qT will not be accessed in second operand of conditional expression"
695-msgstr "对象%qE具有不完全的类型%qT,不会在 %s 中被访问"
696+msgstr "条件表达式第二个操作数中的对象%qE具有不完全的类型%qT,不会被访问"
697
698 #: cp/cvt.c:1124
699-#, fuzzy, gcc-internal-format
700+#, gcc-internal-format
701 msgid "variable %qE of incomplete type %qT will not be accessed in third operand of conditional expression"
702-msgstr "对象%qE具有不完全的类型%qT,不会在 %s 中被访问"
703+msgstr "条件表达式第三个操作数中的对象%qE具有不完全的类型%qT,不会被访问"
704
705 #: cp/cvt.c:1129
706-#, fuzzy, gcc-internal-format
707+#, gcc-internal-format
708 msgid "variable %qE of incomplete type %qT will not be accessed in right operand of comma operator"
709-msgstr "对象%qE具有不完全的类型%qT,不会在 %s 中被访问"
710+msgstr "逗号操作符的右操作数中的对象%qE具有不完全的类型%qT,不会被访问"
711
712 #: cp/cvt.c:1134
713-#, fuzzy, gcc-internal-format
714+#, gcc-internal-format
715 msgid "variable %qE of incomplete type %qT will not be accessed in left operand of comma operator"
716-msgstr "对象%qE具有不完全的类型%qT,不会在 %s 中被访问"
717+msgstr "逗号操作符的左操作数中的对象%qE具有不完全的类型%qT,不会被访问"
718
719 #: cp/cvt.c:1139
720-#, fuzzy, gcc-internal-format
721+#, gcc-internal-format
722 msgid "variable %qE of incomplete type %qT will not be accessed in statement"
723-msgstr "对象%qE具有不完全的类型%qT,不会在 %s 中被访问"
724+msgstr "语句中的对象%qE具有不完全的类型%qT,不会被访问"
725
726 #: cp/cvt.c:1143
727-#, fuzzy, gcc-internal-format
728+#, gcc-internal-format
729 msgid "variable %qE of incomplete type %qT will not be accessed in for increment expression"
730-msgstr "对象%qE具有不完全的类型%qT,不会在 %s 中被访问"
731+msgstr "for 循环增量表达式中的对象%qE具有不完全的类型%qT,不会被访问"
732
733 #: cp/cvt.c:1192
734 #, fuzzy, gcc-internal-format
735@@ -25580,7 +25567,7 @@ msgstr " 备选转换包括%qD和%qD"
736 #: cp/decl.c:636
737 #, fuzzy, gcc-internal-format
738 msgid "variable %q+D set but not used"
739-msgstr "标号%q+D定义后未使用"
740+msgstr "变量%qD被设定但未被使用"
741
742 #: cp/decl.c:1101
743 #, gcc-internal-format
744@@ -25605,7 +25592,7 @@ msgstr "从先前的声明%q+F"
745 #: cp/decl.c:1161
746 #, gcc-internal-format
747 msgid "redeclaration %qD differs in %<constexpr%>"
748-msgstr "对%qD的重声明在%<constexpr%>中"
749+msgstr "对%qD的重声明在%<constexpr%>方面"
750
751 #: cp/decl.c:1162
752 #, gcc-internal-format
753@@ -25876,7 +25863,7 @@ msgstr "跳过了%q+#D的初始化"
754 #: cp/decl.c:2648 cp/decl.c:2764
755 #, gcc-internal-format
756 msgid " enters scope of %q+#D which has non-trivial destructor"
757-msgstr "进入了有非平凡析构函数的%q+#D的作用域"
758+msgstr "进入了有不平凡析构函数的%q+#D的作用域"
759
760 #: cp/decl.c:2662 cp/decl.c:2769
761 #, gcc-internal-format
762@@ -26030,9 +26017,9 @@ msgid "%<typedef%> was ignored in this declaration"
763 msgstr "此声明中的%<typedef%>被忽略"
764
765 #: cp/decl.c:4085
766-#, fuzzy, gcc-internal-format
767+#, gcc-internal-format
768 msgid "%<constexpr%> cannot be used for type declarations"
769-msgstr "%<constexpr>不能被用作类型声明"
770+msgstr "%<constexpr%>不能被用作类型声明"
771
772 #: cp/decl.c:4114
773 #, gcc-internal-format
774@@ -26184,9 +26171,9 @@ msgid "uninitialized const %qD"
775 msgstr "未初始化的常量%qD"
776
777 #: cp/decl.c:4825
778-#, fuzzy, gcc-internal-format
779+#, gcc-internal-format
780 msgid "%q#T has no user-provided default constructor"
781-msgstr "类型%qE没有可以调用的默认构造函数"
782+msgstr "%q#T没有用户提供的默认构造函数"
783
784 #: cp/decl.c:4829
785 #, gcc-internal-format
786@@ -26287,7 +26274,7 @@ msgstr "隐藏了早先的类型声明%q#D"
787 #: cp/decl.c:5935
788 #, gcc-internal-format
789 msgid "%qD cannot be thread-local because it has non-trivial type %qT"
790-msgstr "%qD不能是线程局部的,因为它有非简单旧数据的类型%qT"
791+msgstr "%qD不能是线程局部的,因为它有不平凡的类型%qT"
792
793 #: cp/decl.c:5977
794 #, gcc-internal-format
795@@ -26690,9 +26677,9 @@ msgid "function definition does not declare parameters"
796 msgstr "函数定义未声明形参"
797
798 #: cp/decl.c:8208
799-#, fuzzy, gcc-internal-format
800+#, gcc-internal-format
801 msgid "%<constexpr%> cannot appear in a typedef declaration"
802-msgstr "%<constexpr>不能被用作类型声明"
803+msgstr "%<constexpr%>不能被用于 typedef 声明"
804
805 #: cp/decl.c:8216
806 #, gcc-internal-format
807@@ -26966,9 +26953,9 @@ msgid "both %<const%> and %<constexpr%> cannot be used here"
808 msgstr "不能在这里同时使用%<const%>和%<constexpr%>"
809
810 #: cp/decl.c:9025
811-#, fuzzy, gcc-internal-format
812+#, gcc-internal-format
813 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
814-msgstr "不能在这里同时使用%<const%>和%<constexpr%>"
815+msgstr "不能在这里同时使用%<volatile%>和%<constexpr%>"
816
817 #: cp/decl.c:9034
818 #, gcc-internal-format
819@@ -27151,7 +27138,7 @@ msgstr "%qD声明为%qT的一个成员"
820 #: cp/decl.c:9617
821 #, gcc-internal-format
822 msgid "a destructor cannot be %<constexpr%>"
823-msgstr "析构函数不能是 %<constexpr%>"
824+msgstr "析构函数不能是%<constexpr%>"
825
826 #: cp/decl.c:9623
827 #, gcc-internal-format
828@@ -27270,9 +27257,9 @@ msgid "cannot explicitly declare member %q#D to have extern linkage"
829 msgstr "不能显式地将成员%q#D声明为有外部链接"
830
831 #: cp/decl.c:9959
832-#, fuzzy, gcc-internal-format
833+#, gcc-internal-format
834 msgid "declaration of constexpr variable %qD is not a definition"
835-msgstr "constexpr 变量%2$qD的类型%1$qT不是字面常量"
836+msgstr "对广义常变量%qD的声明不同时是定义"
837
838 #: cp/decl.c:9970
839 #, gcc-internal-format
840@@ -27650,7 +27637,7 @@ msgstr "形参%qD被声明为 void"
841 #: cp/decl.c:13027
842 #, fuzzy, gcc-internal-format
843 msgid "parameter %q+D set but not used"
844-msgstr "标号%q+D定义后未使用"
845+msgstr "形参%qD被设定但未被使用"
846
847 #: cp/decl.c:13118
848 #, gcc-internal-format
849@@ -28292,7 +28279,7 @@ msgstr "%<new%>%q#T时常量未初始化"
850 #: cp/init.c:1932
851 #, fuzzy, gcc-internal-format
852 msgid "uninitialized const member in %q#T"
853-msgstr "%<new%>%q#T时常量未初始化"
854+msgstr "%q#T中有未初始化的引用成员"
855
856 #: cp/init.c:2029
857 #, gcc-internal-format
858@@ -28355,7 +28342,7 @@ msgid "call to Java constructor, while %<jclass%> undefined"
859 msgstr "调用 Java 构造函数,但没有定义%<jclass%>"
860
861 #: cp/init.c:2691
862-#, fuzzy, gcc-internal-format
863+#, gcc-internal-format
864 msgid "can%'t find %<class$%> in %qT"
865 msgstr "%qT中找不到%<class$%>"
866
867@@ -28550,9 +28537,9 @@ msgid "does not match expected signature %qD"
868 msgstr "不匹配%qD预期的签名"
869
870 #: cp/method.c:1581
871-#, fuzzy, gcc-internal-format
872+#, gcc-internal-format
873 msgid "%qD cannot be declared as constexpr"
874-msgstr "%qD不能被声明为静态的"
875+msgstr "%qD不能被声明为广义常表达式"
876
877 #: cp/method.c:1621
878 #, gcc-internal-format
879@@ -28898,24 +28885,24 @@ msgid "%<%E::%E%> is not a class or namespace"
880 msgstr "%<%E::%E%>既不是类也不是命名空间"
881
882 #: cp/parser.c:2382
883-#, fuzzy, gcc-internal-format
884+#, gcc-internal-format
885 msgid "%<%E::%E%> is not a class, namespace, or enumeration"
886-msgstr "%qT既不是类也不是命名空间"
887+msgstr "%<%E::%E%>不是类、命名空间或枚举"
888
889 #: cp/parser.c:2395
890-#, fuzzy, gcc-internal-format
891+#, gcc-internal-format
892 msgid "%<::%E%> is not a type"
893-msgstr "%<%T::%E%>不是一个类型"
894+msgstr "%<::%E%>不是一个类型"
895
896 #: cp/parser.c:2398
897-#, fuzzy, gcc-internal-format
898+#, gcc-internal-format
899 msgid "%<::%E%> is not a class or namespace"
900-msgstr "%q#T 不是类或命名空间"
901+msgstr "%<::%E%>既不是类也不是命名空间"
902
903 #: cp/parser.c:2402
904-#, fuzzy, gcc-internal-format
905+#, gcc-internal-format
906 msgid "%<::%E%> is not a class, namespace, or enumeration"
907-msgstr "%qT既不是类也不是命名空间"
908+msgstr "%<::%E%>不是类、命名空间或枚举"
909
910 #: cp/parser.c:2414
911 #, gcc-internal-format
912@@ -28980,7 +28967,7 @@ msgstr "常量表达式中不能出现目标不是整型或枚举型的类型转
913 #: cp/parser.c:2598
914 #, fuzzy, gcc-internal-format
915 msgid "%<typeid%> operator cannot appear in a constant-expression"
916-msgstr "%qD不能出现在常量表达式中"
917+msgstr "函数调用不能出现在常量表达式中"
918
919 #: cp/parser.c:2602
920 #, fuzzy, gcc-internal-format
921@@ -28988,29 +28975,29 @@ msgid "non-constant compound literals cannot appear in a constant-expression"
922 msgstr "%qD不能出现在常量表达式中"
923
924 #: cp/parser.c:2606
925-#, fuzzy, gcc-internal-format
926+#, gcc-internal-format
927 msgid "a function call cannot appear in a constant-expression"
928-msgstr "%qD不能出现在常量表达式中"
929+msgstr "函数调用不能出现在常量表达式中"
930
931 #: cp/parser.c:2610
932-#, fuzzy, gcc-internal-format
933+#, gcc-internal-format
934 msgid "an increment cannot appear in a constant-expression"
935-msgstr "%qD不能出现在常量表达式中"
936+msgstr "自增不能出现在常量表达式中"
937
938 #: cp/parser.c:2614
939-#, fuzzy, gcc-internal-format
940+#, gcc-internal-format
941 msgid "an decrement cannot appear in a constant-expression"
942-msgstr "%qD不能出现在常量表达式中"
943+msgstr "自减不能出现在常量表达式中"
944
945 #: cp/parser.c:2618
946 #, fuzzy, gcc-internal-format
947 msgid "an array reference cannot appear in a constant-expression"
948-msgstr "%qD不能出现在常量表达式中"
949+msgstr "函数调用不能出现在常量表达式中"
950
951 #: cp/parser.c:2622
952 #, fuzzy, gcc-internal-format
953 msgid "the address of a label cannot appear in a constant-expression"
954-msgstr "%qD不能出现在常量表达式中"
955+msgstr "函数调用不能出现在常量表达式中"
956
957 #: cp/parser.c:2626
958 #, fuzzy, gcc-internal-format
959@@ -29025,7 +29012,7 @@ msgstr "%qD不能出现在常量表达式中"
960 #: cp/parser.c:2633
961 #, fuzzy, gcc-internal-format
962 msgid "a comma operator cannot appear in a constant-expression"
963-msgstr "%qD不能出现在常量表达式中"
964+msgstr "函数调用不能出现在常量表达式中"
965
966 #: cp/parser.c:2637
967 #, fuzzy, gcc-internal-format
968@@ -29168,7 +29155,7 @@ msgstr "typedef 名%qD用于析构函数声明"
969 #: cp/parser.c:4472 cp/parser.c:15219
970 #, fuzzy, gcc-internal-format
971 msgid "expected unqualified-id"
972-msgstr "无效的模板 ID"
973+msgstr "需要模板 ID"
974
975 #: cp/parser.c:4576
976 #, fuzzy, gcc-internal-format
977@@ -29213,9 +29200,9 @@ msgid "non-scalar type"
978 msgstr "非标准类型"
979
980 #: cp/parser.c:5957
981-#, fuzzy, gcc-internal-format
982+#, gcc-internal-format
983 msgid "ISO C++ does not allow %<alignof%> with a non-type"
984-msgstr "ISO C++ 不允许指定元素初始值设定"
985+msgstr "ISO C++ 不允许对非类型使用%<alignof%>"
986
987 #: cp/parser.c:6016
988 #, fuzzy, gcc-internal-format
989@@ -29283,9 +29270,9 @@ msgid "default argument specified for lambda parameter"
990 msgstr "为 lambda 形参指定了默认参数"
991
992 #: cp/parser.c:8211
993-#, fuzzy, gcc-internal-format
994+#, gcc-internal-format
995 msgid "expected labeled-statement"
996-msgstr "需要 %s 语句在%L处"
997+msgstr "需要标号语句"
998
999 #: cp/parser.c:8249
1000 #, gcc-internal-format
1001@@ -29303,9 +29290,9 @@ msgid "%<%T::%D%> names the constructor, not the type"
1002 msgstr "%<%T::%D%>命名了一个构造函数而非类型"
1003
1004 #: cp/parser.c:8590 cp/parser.c:20971
1005-#, fuzzy, gcc-internal-format
1006+#, gcc-internal-format
1007 msgid "expected selection-statement"
1008-msgstr "需要 %s 语句在%L处"
1009+msgstr "需要选择语句"
1010
1011 #: cp/parser.c:8623
1012 #, gcc-internal-format
1013@@ -29318,14 +29305,14 @@ msgid "inconsistent begin/end types in range-based for: %qT and %qT"
1014 msgstr "对%qT不一致的演绎:先是%qT然后是%qT"
1015
1016 #: cp/parser.c:9044 cp/parser.c:20974
1017-#, fuzzy, gcc-internal-format
1018+#, gcc-internal-format
1019 msgid "expected iteration-statement"
1020-msgstr "需要 %s 语句在%L处"
1021+msgstr "需要循环语句"
1022
1023 #: cp/parser.c:9091
1024-#, fuzzy, gcc-internal-format
1025+#, gcc-internal-format
1026 msgid "range-based-for loops are not allowed in C++98 mode"
1027-msgstr "此上下文中不允许标准转换"
1028+msgstr "C++98 模式下不允许使用基于范围的 for 循环"
1029
1030 #. Issue a warning about this use of a GNU extension.
1031 #: cp/parser.c:9213
1032@@ -29334,9 +29321,9 @@ msgid "ISO C++ forbids computed gotos"
1033 msgstr "ISO C++ 不允许计算转移"
1034
1035 #: cp/parser.c:9226 cp/parser.c:20977
1036-#, fuzzy, gcc-internal-format
1037+#, gcc-internal-format
1038 msgid "expected jump-statement"
1039-msgstr "需要 %s 语句在%L处"
1040+msgstr "需要跳转语句"
1041
1042 #: cp/parser.c:9358 cp/parser.c:17788
1043 #, gcc-internal-format
1044@@ -29499,14 +29486,14 @@ msgid "invalid non-type template argument"
1045 msgstr "%qs(有%qT)的实参类型无效"
1046
1047 #: cp/parser.c:12366
1048-#, fuzzy, gcc-internal-format
1049+#, gcc-internal-format
1050 msgid "explicit instantiation shall not use %<inline%> specifier"
1051-msgstr "显式实例化非模板类型%qT"
1052+msgstr "显式实例化不应当使用%<inline%>限定符"
1053
1054 #: cp/parser.c:12369
1055-#, fuzzy, gcc-internal-format
1056+#, gcc-internal-format
1057 msgid "explicit instantiation shall not use %<constexpr%> specifier"
1058-msgstr "显式实例化非模板类型%qT"
1059+msgstr "显式实例化不应当使用%<constexpr%>限定符"
1060
1061 #: cp/parser.c:12426
1062 #, gcc-internal-format
1063@@ -29516,7 +29503,7 @@ msgstr "特例化模板有 C 链接"
1064 #: cp/parser.c:12646
1065 #, fuzzy, gcc-internal-format
1066 msgid "expected type specifier"
1067-msgstr "需要表达式类型"
1068+msgstr "需要类型限定"
1069
1070 #: cp/parser.c:12863
1071 #, fuzzy, gcc-internal-format
1072@@ -29524,9 +29511,9 @@ msgid "expected template-id for type"
1073 msgstr " 需要有%qD类型的模板,却得到了%qT"
1074
1075 #: cp/parser.c:12890
1076-#, fuzzy, gcc-internal-format
1077+#, gcc-internal-format
1078 msgid "expected type-name"
1079-msgstr "需要类名"
1080+msgstr "需要类型名"
1081
1082 #: cp/parser.c:13077
1083 #, gcc-internal-format
1084@@ -29559,9 +29546,9 @@ msgid "%qD is an enumeration template"
1085 msgstr "%qD不是一个枚举模板"
1086
1087 #: cp/parser.c:13488
1088-#, fuzzy, gcc-internal-format
1089+#, gcc-internal-format
1090 msgid "%qD is not an enumerator-name"
1091-msgstr "%qD不是一个命名空间"
1092+msgstr "%qD不是一个枚举名"
1093
1094 #: cp/parser.c:13551
1095 #, fuzzy, gcc-internal-format
1096@@ -29604,9 +29591,9 @@ msgid "%qD is not a namespace-name"
1097 msgstr "%qD不是一个命名空间名"
1098
1099 #: cp/parser.c:13840
1100-#, fuzzy, gcc-internal-format
1101+#, gcc-internal-format
1102 msgid "expected namespace-name"
1103-msgstr "需要类名"
1104+msgstr "需要命名空间名"
1105
1106 #: cp/parser.c:13965
1107 #, gcc-internal-format
1108@@ -29640,14 +29627,14 @@ msgstr ""
1109
1110 #. Anything else is an error.
1111 #: cp/parser.c:14616 cp/parser.c:16529
1112-#, fuzzy, gcc-internal-format
1113+#, gcc-internal-format
1114 msgid "expected initializer"
1115-msgstr "无效的初始值设定"
1116+msgstr "需要初始值设定"
1117
1118 #: cp/parser.c:14636
1119-#, fuzzy, gcc-internal-format
1120+#, gcc-internal-format
1121 msgid "invalid type in declaration"
1122-msgstr "形参声明中出现的 typedef 声明无效"
1123+msgstr "声明中有无效类型"
1124
1125 #: cp/parser.c:14712
1126 #, gcc-internal-format
1127@@ -29689,14 +29676,14 @@ msgstr "使用%<%T::%D%>而不是%<%T::%D%>来以限定名指定构造函数"
1128 #. information about its original syntactic
1129 #. form.
1130 #: cp/parser.c:15314
1131-#, fuzzy, gcc-internal-format
1132+#, gcc-internal-format
1133 msgid "invalid declarator"
1134-msgstr "无效的初始值设定"
1135+msgstr "无效的声明"
1136
1137 #: cp/parser.c:15380
1138-#, fuzzy, gcc-internal-format
1139+#, gcc-internal-format
1140 msgid "expected declarator"
1141-msgstr "在%C处需要‘(’"
1142+msgstr "需要声明"
1143
1144 #: cp/parser.c:15475
1145 #, gcc-internal-format
1146@@ -29719,14 +29706,14 @@ msgid "invalid use of %<auto%>"
1147 msgstr "错误地使用了%<auto%>"
1148
1149 #: cp/parser.c:15691
1150-#, fuzzy, gcc-internal-format
1151+#, gcc-internal-format
1152 msgid "types may not be defined in template arguments"
1153-msgstr "不能%<typeid%>中定义类型"
1154+msgstr "不能在模板实参中定义类型"
1155
1156 #: cp/parser.c:15772
1157-#, fuzzy, gcc-internal-format
1158+#, gcc-internal-format
1159 msgid "expected type-specifier"
1160-msgstr "需要表达式类型"
1161+msgstr "需要类型限定"
1162
1163 #: cp/parser.c:16016
1164 #, gcc-internal-format
1165@@ -29759,7 +29746,7 @@ msgid "ISO C++ does not allow designated initializers"
1166 msgstr "ISO C++ 不允许指定元素初始值设定"
1167
1168 #: cp/parser.c:16750 cp/parser.c:16872
1169-#, fuzzy, gcc-internal-format
1170+#, gcc-internal-format
1171 msgid "expected class-name"
1172 msgstr "需要类名"
1173
1174@@ -29779,9 +29766,9 @@ msgid "expected %<;%> after union definition"
1175 msgstr "联合定义后需要%<;%>"
1176
1177 #: cp/parser.c:17341
1178-#, fuzzy, gcc-internal-format
1179+#, gcc-internal-format
1180 msgid "expected %<{%> or %<:%>"
1181-msgstr "需要%<,%>或%<;%>"
1182+msgstr "需要%<{%>或%<:%>"
1183
1184 #: cp/parser.c:17353
1185 #, gcc-internal-format
1186@@ -31324,7 +31311,7 @@ msgstr "%q+#D已在此声明过"
1187 #: cp/semantics.c:2933
1188 #, gcc-internal-format
1189 msgid "use of parameter %qD outside function body"
1190-msgstr ""
1191+msgstr "在函数体外使用形参%qD"
1192
1193 #: cp/semantics.c:2970
1194 #, gcc-internal-format
1195@@ -31450,7 +31437,7 @@ msgstr "不允许不完全类型%qT"
1196 #: cp/semantics.c:5311
1197 #, gcc-internal-format
1198 msgid "the type %qT of constexpr variable %qD is not literal"
1199-msgstr "constexpr 变量%2$qD的类型%1$qT不是字面常量"
1200+msgstr "广义常变量%2$qD的类型%1$qT不是字面常量"
1201
1202 #: cp/semantics.c:5390
1203 #, fuzzy, gcc-internal-format
1204@@ -31470,7 +31457,7 @@ msgstr "%3$L处 CLASS 变量‘%2$s’的类型‘%1$s’不能被扩展"
1205 #: cp/semantics.c:5584
1206 #, gcc-internal-format
1207 msgid "constexpr constructor does not have empty body"
1208-msgstr ""
1209+msgstr "广义常表达式构造函数体不为空"
1210
1211 #: cp/semantics.c:5664
1212 #, fuzzy, gcc-internal-format
1213@@ -31483,24 +31470,24 @@ msgid "expression %qE does not designate a constexpr function"
1214 msgstr "友元声明没有指定类或函数名"
1215
1216 #: cp/semantics.c:5995
1217-#, fuzzy, gcc-internal-format
1218+#, gcc-internal-format
1219 msgid "%qD is not a constexpr function"
1220-msgstr "%qD不是一个函数模板"
1221+msgstr "%qD不是一个广义常函数"
1222
1223 #: cp/semantics.c:6022
1224 #, fuzzy, gcc-internal-format
1225 msgid "%qD used before its definition"
1226-msgstr "使用%qD时先前既没有原型也没有定义"
1227+msgstr "%qD用在其自身的初始值设定中"
1228
1229 #: cp/semantics.c:6049
1230-#, fuzzy, gcc-internal-format
1231+#, gcc-internal-format
1232 msgid "call has circular dependency"
1233-msgstr "协议%qE存在循环依赖"
1234+msgstr "调用存在循环依赖"
1235
1236 #: cp/semantics.c:6135
1237-#, fuzzy, gcc-internal-format
1238+#, gcc-internal-format
1239 msgid "%q+E is not a constant expression"
1240-msgstr "整型表达式%qE不是常量"
1241+msgstr "%q+E不是一个常量表达式"
1242
1243 #: cp/semantics.c:6252
1244 #, gcc-internal-format
1245@@ -31508,9 +31495,9 @@ msgid "array subscript out of bound"
1246 msgstr "数组下标越界"
1247
1248 #: cp/semantics.c:6291 cp/semantics.c:6337 cp/semantics.c:6807
1249-#, fuzzy, gcc-internal-format
1250+#, gcc-internal-format
1251 msgid "%qE is not a constant expression"
1252-msgstr "整型表达式%qE不是常量"
1253+msgstr "%qE不是一个常量表达式"
1254
1255 #: cp/semantics.c:6305
1256 #, fuzzy, gcc-internal-format
1257@@ -31528,19 +31515,19 @@ msgid "the value of %qD is not usable in a constant expression"
1258 msgstr "%qE的枚举值不是一个整数常量"
1259
1260 #: cp/semantics.c:6722
1261-#, fuzzy, gcc-internal-format
1262+#, gcc-internal-format
1263 msgid "%qD used in its own initializer"
1264-msgstr "变量‘%q#D’在其自身的初始值设定中使用了%<auto%>类型"
1265+msgstr "%qD用在其自身的初始值设定中"
1266
1267 #: cp/semantics.c:6727
1268-#, fuzzy, gcc-internal-format
1269+#, gcc-internal-format
1270 msgid "%q#D is not const"
1271-msgstr "%q#T不是一个类"
1272+msgstr "%q#D不是 const"
1273
1274 #: cp/semantics.c:6730
1275-#, fuzzy, gcc-internal-format
1276+#, gcc-internal-format
1277 msgid "%q#D is volatile"
1278-msgstr "重复的%<volatile%>"
1279+msgstr "%q#D是 volatile"
1280
1281 #: cp/semantics.c:6733
1282 #, fuzzy, gcc-internal-format
1283@@ -31565,12 +31552,12 @@ msgstr "表达式%qE具有抽象类类型%qT,不能用于 throw 表达式中"
1284 #: cp/semantics.c:7062 cp/semantics.c:7507 cp/semantics.c:7731
1285 #, fuzzy, gcc-internal-format
1286 msgid "expression %qE is not a constant-expression"
1287-msgstr "整型表达式%qE不是常量"
1288+msgstr "%qE不是一个常量表达式"
1289
1290 #: cp/semantics.c:7067
1291 #, fuzzy, gcc-internal-format
1292 msgid "unexpected expression %qE of kind %s"
1293-msgstr "%qE定义为类型错误的标记"
1294+msgstr "表达式%qE有副作用"
1295
1296 #: cp/semantics.c:7274
1297 #, gcc-internal-format
1298@@ -31578,19 +31565,19 @@ msgid "expression %qE has side-effects"
1299 msgstr "表达式%qE有副作用"
1300
1301 #: cp/semantics.c:7319
1302-#, fuzzy, gcc-internal-format
1303+#, gcc-internal-format
1304 msgid "%qE is not a potential constant expression"
1305-msgstr "整型表达式%qE不是常量"
1306+msgstr "%qE不是一个潜在常量表达式"
1307
1308 #: cp/semantics.c:7337
1309-#, fuzzy, gcc-internal-format
1310+#, gcc-internal-format
1311 msgid "%qE is not a function name"
1312-msgstr "被调用的对象%qE不是一个函数"
1313+msgstr "%qE不是一个函数名"
1314
1315 #: cp/semantics.c:7352
1316-#, fuzzy, gcc-internal-format
1317+#, gcc-internal-format
1318 msgid "%qD is not %<constexpr%>"
1319-msgstr "%qD不是一个变量"
1320+msgstr "%qD不是%<constexpr%>"
1321
1322 #: cp/semantics.c:7370
1323 #, fuzzy, gcc-internal-format
1324@@ -32099,7 +32086,7 @@ msgstr "取临时变量的地址"
1325 #: cp/typeck.c:4770
1326 #, fuzzy, gcc-internal-format
1327 msgid "taking address of xvalue (rvalue reference)"
1328-msgstr "取临时变量的地址"
1329+msgstr "右值的引用用作左值"
1330
1331 #: cp/typeck.c:4787
1332 #, gcc-internal-format
1333@@ -32452,7 +32439,7 @@ msgstr "%<operator new%>不能返回 NULL,除非它被声明为%<throw()%>(或
1334 #: cp/typeck.c:8231
1335 #, fuzzy, gcc-internal-format
1336 msgid "using temporary as lvalue"
1337-msgstr "自增操作数必须是左值"
1338+msgstr "右值的引用用作左值"
1339
1340 #: cp/typeck.c:8233
1341 #, gcc-internal-format
1342@@ -41593,9 +41580,9 @@ msgid "opening LTRANS output list %s: %m"
1343 msgstr "打开 LTRANS 输出列表 %s:%m"
1344
1345 #: lto/lto.c:1504
1346-#, fuzzy, gcc-internal-format
1347+#, gcc-internal-format
1348 msgid "lto_obj_file_open() failed"
1349-msgstr "lto_elf_file_open() 失败"
1350+msgstr "lto_obj_file_open() 失败"
1351
1352 #: lto/lto.c:1530
1353 #, gcc-internal-format
1354@@ -41660,7 +41647,7 @@ msgstr "%<@end%>必须出现在 @implementation 上下文中"
1355 #: objc/objc-act.c:721
1356 #, fuzzy, gcc-internal-format
1357 msgid "%<@package%> is not available in Objective-C 1.0"
1358-msgstr "%qs在 VLIW 函数中不可用"
1359+msgstr "快速枚举在 Objective-C 1.0 里不可用"
1360
1361 #: objc/objc-act.c:723
1362 #, gcc-internal-format
1363@@ -41670,12 +41657,12 @@ msgstr ""
1364 #: objc/objc-act.c:734
1365 #, fuzzy, gcc-internal-format
1366 msgid "%<@optional%> is not available in Objective-C 1.0"
1367-msgstr "%qs在 VLIW 函数中不可用"
1368+msgstr "快速枚举在 Objective-C 1.0 里不可用"
1369
1370 #: objc/objc-act.c:736
1371 #, fuzzy, gcc-internal-format
1372 msgid "%<@required%> is not available in Objective-C 1.0"
1373-msgstr "%qs在 VLIW 函数中不可用"
1374+msgstr "快速枚举在 Objective-C 1.0 里不可用"
1375
1376 #: objc/objc-act.c:744
1377 #, gcc-internal-format
1378@@ -41690,32 +41677,32 @@ msgstr ""
1379 #: objc/objc-act.c:853
1380 #, fuzzy, gcc-internal-format
1381 msgid "%<@property%> is not available in Objective-C 1.0"
1382-msgstr "%qs在 VLIW 函数中不可用"
1383+msgstr "快速枚举在 Objective-C 1.0 里不可用"
1384
1385 #: objc/objc-act.c:857
1386-#, fuzzy, gcc-internal-format
1387+#, gcc-internal-format
1388 msgid "%<readonly%> attribute conflicts with %<readwrite%> attribute"
1389-msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
1390+msgstr "%<readonly%>属性与%<readwrite%>属性冲突"
1391
1392 #: objc/objc-act.c:874
1393-#, fuzzy, gcc-internal-format
1394+#, gcc-internal-format
1395 msgid "%<readonly%> attribute conflicts with %<setter%> attribute"
1396-msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
1397+msgstr "%<readonly%>属性与%<setter%>属性冲突"
1398
1399 #: objc/objc-act.c:880
1400-#, fuzzy, gcc-internal-format
1401+#, gcc-internal-format
1402 msgid "%<assign%> attribute conflicts with %<retain%> attribute"
1403-msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
1404+msgstr "%<assign%>属性与%<retain%>属性冲突"
1405
1406 #: objc/objc-act.c:885
1407-#, fuzzy, gcc-internal-format
1408+#, gcc-internal-format
1409 msgid "%<assign%> attribute conflicts with %<copy%> attribute"
1410-msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
1411+msgstr "%<assign%>属性与%<copy%>属性冲突"
1412
1413 #: objc/objc-act.c:890
1414-#, fuzzy, gcc-internal-format
1415+#, gcc-internal-format
1416 msgid "%<retain%> attribute conflicts with %<copy%> attribute"
1417-msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
1418+msgstr "%<retain%>属性与%<copy%>属性冲突"
1419
1420 #: objc/objc-act.c:907
1421 #, fuzzy, gcc-internal-format
1422@@ -41730,7 +41717,7 @@ msgstr "无效的函数声明"
1423 #: objc/objc-act.c:926
1424 #, fuzzy, gcc-internal-format
1425 msgid "property can not be an array"
1426-msgstr "数组大小不能确定"
1427+msgstr "不能设置只读属性"
1428
1429 #. A @property is not an actual variable, but it is a way to
1430 #. describe a pair of accessor methods, so its type (which is
1431@@ -41742,7 +41729,7 @@ msgstr "数组大小不能确定"
1432 #: objc/objc-act.c:944
1433 #, fuzzy, gcc-internal-format
1434 msgid "property can not be a bit-field"
1435-msgstr "静态成员%qD不能是位段"
1436+msgstr "不能设置只读属性"
1437
1438 #: objc/objc-act.c:976
1439 #, gcc-internal-format
1440@@ -41767,7 +41754,7 @@ msgstr ""
1441 #: objc/objc-act.c:1044
1442 #, fuzzy, gcc-internal-format
1443 msgid "redeclaration of property %qD"
1444-msgstr "%qD已在此声明过"
1445+msgstr "对%qD的重声明在%<constexpr%>中"
1446
1447 #: objc/objc-act.c:1047 objc/objc-act.c:1112 objc/objc-act.c:1122
1448 #: objc/objc-act.c:1135 objc/objc-act.c:1146 objc/objc-act.c:1157
1449@@ -41809,9 +41796,9 @@ msgid "type of property %qD conflicts with previous declaration"
1450 msgstr "%q+D的数据区域与先前的声明冲突"
1451
1452 #: objc/objc-act.c:1665
1453-#, gcc-internal-format
1454+#, fuzzy, gcc-internal-format
1455 msgid "the dot syntax is not available in Objective-C 1.0"
1456-msgstr ""
1457+msgstr "快速枚举在 Objective-C 1.0 里不可用"
1458
1459 #. We know that 'class_name' is an Objective-C class name as the
1460 #. parser won't call this function if it is not. This is only a
1461@@ -42360,7 +42347,7 @@ msgstr ""
1462 #: objc/objc-act.c:7467
1463 #, fuzzy, gcc-internal-format
1464 msgid "%<@synthesize%> is not available in Objective-C 1.0"
1465-msgstr "%qs在 VLIW 函数中不可用"
1466+msgstr "快速枚举在 Objective-C 1.0 里不可用"
1467
1468 #. We can get here only in Objective-C; the Objective-C++ parser
1469 #. detects the problem while parsing, outputs the error
1470@@ -42384,7 +42371,7 @@ msgstr ""
1471 #: objc/objc-act.c:7576
1472 #, fuzzy, gcc-internal-format
1473 msgid "%<@dynamic%> is not available in Objective-C 1.0"
1474-msgstr "%qs在 VLIW 函数中不可用"
1475+msgstr "快速枚举在 Objective-C 1.0 里不可用"
1476
1477 #. We can get here only in Objective-C; the Objective-C++ parser
1478 #. detects the problem while parsing, outputs the error
1479@@ -42409,9 +42396,9 @@ msgstr "找不到协议%qE的方法定义"
1480 #. we are using TREE_CHAIN (which is supposed to be the
1481 #. TYPE_STUB_DECL for a TYPE) for something different.
1482 #: objc/objc-act.c:7838
1483-#, fuzzy, gcc-internal-format
1484+#, gcc-internal-format
1485 msgid "protocol %qE is deprecated"
1486-msgstr "不建议使用%qE(声明于 %s:%d):%s"
1487+msgstr "不建议使用协议%qE"
1488
1489 #: objc/objc-act.c:7962
1490 #, gcc-internal-format
1491@@ -42462,9 +42449,9 @@ msgid "no %qs getter found"
1492 msgstr "找不到字段%qs。"
1493
1494 #: objc/objc-act.c:9413
1495-#, fuzzy, gcc-internal-format
1496+#, gcc-internal-format
1497 msgid "fast enumeration is not available in Objective-C 1.0"
1498-msgstr "此多媒体函数只在 fr500 上可用"
1499+msgstr "快速枚举在 Objective-C 1.0 里不可用"
1500
1501 #: objc/objc-act.c:9423
1502 #, gcc-internal-format
1503@@ -42472,9 +42459,9 @@ msgid "iterating variable in fast enumeration is not an object"
1504 msgstr ""
1505
1506 #: objc/objc-act.c:9429
1507-#, gcc-internal-format
1508+#, fuzzy, gcc-internal-format
1509 msgid "collection in fast enumeration is not an object"
1510-msgstr ""
1511+msgstr "快速枚举在 Objective-C 1.0 里不可用"
1512
1513 #: objc/objc-act.c:10362
1514 #, gcc-internal-format, gfc-internal-format
1515@@ -42499,9 +42486,9 @@ msgstr "%<-fobjc-sjlj-exceptions%>为%<-fgnu-runtime%>所忽略"
1516
1517 #: objc/objc-gnu-runtime-abi-01.c:2168 objc/objc-next-runtime-abi-01.c:2848
1518 #: objc/objc-next-runtime-abi-02.c:3636
1519-#, fuzzy, gcc-internal-format
1520+#, gcc-internal-format
1521 msgid "non-objective-c type '%T' cannot be caught"
1522-msgstr "非对象成员%qs不能被声明为%<mutable%>"
1523+msgstr "非 Objective-C 类型‘%T’不能被捕获"
1524
1525 #: objc/objc-next-runtime-abi-01.c:150
1526 #, gcc-internal-format
1527--
15281.7.0.4
1529
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0284-PR-c-49043.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0284-PR-c-49043.patch
new file mode 100644
index 0000000000..de60b246a3
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0284-PR-c-49043.patch
@@ -0,0 +1,50 @@
1From 0b87dda7f297f6ebd65eef8828710c05a1dd9543 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 19 May 2011 13:13:57 +0000
4Subject: [PATCH] PR c++/49043
5 * decl.c (check_omp_return): Stop searching on sk_function_parms.
6
7 * testsuite/libgomp.c++/pr49043.C: New test.
8
9
10git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173908 138bc75d-0d04-0410-961f-82ee72b054a4
11
12index 74bae0b..81d5db3 100644
13--- a/gcc/cp/decl.c
14+++ b/gcc/cp/decl.c
15@@ -2807,6 +2807,8 @@ check_omp_return (void)
16 error ("invalid exit from OpenMP structured block");
17 return false;
18 }
19+ else if (b->kind == sk_function_parms)
20+ break;
21 return true;
22 }
23
24new file mode 100644
25index 0000000..604cfc3
26--- /dev/null
27+++ b/libgomp/testsuite/libgomp.c++/pr49043.C
28@@ -0,0 +1,19 @@
29+// PR c++/49043
30+// { dg-options "-std=c++0x" }
31+// { dg-do run }
32+
33+extern "C" void abort ();
34+
35+int
36+main ()
37+{
38+ int r = 0;
39+ #pragma omp parallel for reduction (+:r)
40+ for (int a = 0; a < 10; ++a)
41+ {
42+ auto func = [=] () { return a; };
43+ r += func ();
44+ }
45+ if (r != 45)
46+ abort ();
47+}
48--
491.7.0.4
50
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0285-2011-05-19-Uros-Bizjak-ubizjak-gmail.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0285-2011-05-19-Uros-Bizjak-ubizjak-gmail.com.patch
new file mode 100644
index 0000000000..ce830067d5
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0285-2011-05-19-Uros-Bizjak-ubizjak-gmail.com.patch
@@ -0,0 +1,67 @@
1From dd2ac3e2496d44b75e7ed9e4b9311200dcc1be56 Mon Sep 17 00:00:00 2001
2From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 19 May 2011 21:10:45 +0000
4Subject: [PATCH] 2011-05-19 Uros Bizjak <ubizjak@gmail.com>
5
6 * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
7 when TARGET_RDRND is active.
8 (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
9 Generate dummy SImode target register when target is NULL.
10
11
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173922 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index e8b9af5..66800c4 100644
16--- a/gcc/config/i386/i386.c
17+++ b/gcc/config/i386/i386.c
18@@ -4164,8 +4164,9 @@ ix86_option_override_internal (bool main_args_p)
19 }
20
21 /* For sane SSE instruction set generation we need fcomi instruction.
22- It is safe to enable all CMOVE instructions. */
23- if (TARGET_SSE)
24+ It is safe to enable all CMOVE instructions. Also, RDRAND intrinsic
25+ expands to a sequence that includes conditional move. */
26+ if (TARGET_SSE || TARGET_RDRND)
27 TARGET_CMOVE = 1;
28
29 /* Figure out what ASM_GENERATE_INTERNAL_LABEL builds as a prefix. */
30@@ -27450,6 +27451,12 @@ rdrand_step:
31 op0 = gen_reg_rtx (mode0);
32 emit_insn (GEN_FCN (icode) (op0));
33
34+ arg0 = CALL_EXPR_ARG (exp, 0);
35+ op1 = expand_normal (arg0);
36+ if (!address_operand (op1, VOIDmode))
37+ op1 = copy_addr_to_reg (op1);
38+ emit_move_insn (gen_rtx_MEM (mode0, op1), op0);
39+
40 op1 = gen_reg_rtx (SImode);
41 emit_move_insn (op1, CONST1_RTX (SImode));
42
43@@ -27464,17 +27471,13 @@ rdrand_step:
44 else
45 op2 = gen_rtx_SUBREG (SImode, op0, 0);
46
47+ if (target == 0)
48+ target = gen_reg_rtx (SImode);
49+
50 pat = gen_rtx_GEU (VOIDmode, gen_rtx_REG (CCCmode, FLAGS_REG),
51 const0_rtx);
52- emit_insn (gen_rtx_SET (VOIDmode, op1,
53+ emit_insn (gen_rtx_SET (VOIDmode, target,
54 gen_rtx_IF_THEN_ELSE (SImode, pat, op2, op1)));
55- emit_move_insn (target, op1);
56-
57- arg0 = CALL_EXPR_ARG (exp, 0);
58- op1 = expand_normal (arg0);
59- if (!address_operand (op1, VOIDmode))
60- op1 = copy_addr_to_reg (op1);
61- emit_move_insn (gen_rtx_MEM (mode0, op1), op0);
62 return target;
63
64 default:
65--
661.7.0.4
67
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0287-PR-tree-optimization-49073.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0287-PR-tree-optimization-49073.patch
new file mode 100644
index 0000000000..98667d4438
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0287-PR-tree-optimization-49073.patch
@@ -0,0 +1,121 @@
1From 354414452478a90309fc78d4cec353cce51ac36d Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 20 May 2011 14:35:20 +0000
4Subject: [PATCH] PR tree-optimization/49073
5 * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return
6 NULL if PHI argument is SSA_NAME, whose def_stmt is dominated
7 by the PHI.
8 * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
9
10 * gcc.c-torture/execute/pr49073.c: New test.
11
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173951 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index 1b82e12..6ff6f81 100644
16--- a/gcc/gimple-fold.c
17+++ b/gcc/gimple-fold.c
18@@ -1,5 +1,5 @@
19 /* Statement simplification on GIMPLE.
20- Copyright (C) 2010 Free Software Foundation, Inc.
21+ Copyright (C) 2010, 2011 Free Software Foundation, Inc.
22 Split out from tree-ssa-ccp.c.
23
24 This file is part of GCC.
25@@ -2185,8 +2185,19 @@ and_comparisons_1 (enum tree_code code1, tree op1a, tree op1b,
26 }
27 else if (TREE_CODE (arg) == SSA_NAME)
28 {
29- tree temp = and_var_with_comparison (arg, invert,
30- code2, op2a, op2b);
31+ tree temp;
32+ gimple def_stmt = SSA_NAME_DEF_STMT (arg);
33+ /* In simple cases we can look through PHI nodes,
34+ but we have to be careful with loops.
35+ See PR49073. */
36+ if (! dom_info_available_p (CDI_DOMINATORS)
37+ || gimple_bb (def_stmt) == gimple_bb (stmt)
38+ || dominated_by_p (CDI_DOMINATORS,
39+ gimple_bb (def_stmt),
40+ gimple_bb (stmt)))
41+ return NULL_TREE;
42+ temp = and_var_with_comparison (arg, invert, code2,
43+ op2a, op2b);
44 if (!temp)
45 return NULL_TREE;
46 else if (!result)
47@@ -2635,8 +2646,19 @@ or_comparisons_1 (enum tree_code code1, tree op1a, tree op1b,
48 }
49 else if (TREE_CODE (arg) == SSA_NAME)
50 {
51- tree temp = or_var_with_comparison (arg, invert,
52- code2, op2a, op2b);
53+ tree temp;
54+ gimple def_stmt = SSA_NAME_DEF_STMT (arg);
55+ /* In simple cases we can look through PHI nodes,
56+ but we have to be careful with loops.
57+ See PR49073. */
58+ if (! dom_info_available_p (CDI_DOMINATORS)
59+ || gimple_bb (def_stmt) == gimple_bb (stmt)
60+ || dominated_by_p (CDI_DOMINATORS,
61+ gimple_bb (def_stmt),
62+ gimple_bb (stmt)))
63+ return NULL_TREE;
64+ temp = or_var_with_comparison (arg, invert, code2,
65+ op2a, op2b);
66 if (!temp)
67 return NULL_TREE;
68 else if (!result)
69new file mode 100644
70index 0000000..92b923b
71--- /dev/null
72+++ b/gcc/testsuite/gcc.c-torture/execute/pr49073.c
73@@ -0,0 +1,26 @@
74+/* PR tree-optimization/49073 */
75+
76+extern void abort (void);
77+int a[] = { 1, 2, 3, 4, 5, 6, 7 }, c;
78+
79+int
80+main ()
81+{
82+ int d = 1, i = 1;
83+ _Bool f = 0;
84+ do
85+ {
86+ d = a[i];
87+ if (f && d == 4)
88+ {
89+ ++c;
90+ break;
91+ }
92+ i++;
93+ f = (d == 3);
94+ }
95+ while (d < 7);
96+ if (c != 1)
97+ abort ();
98+ return 0;
99+}
100diff --git a/gcc/tree-ssa-ifcombine.c b/gcc/tree-ssa-ifcombine.c
101index e23bb76..9063bfd 100644
102--- a/gcc/tree-ssa-ifcombine.c
103+++ b/gcc/tree-ssa-ifcombine.c
104@@ -1,5 +1,5 @@
105 /* Combining of if-expressions on trees.
106- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
107+ Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
108 Contributed by Richard Guenther <rguenther@suse.de>
109
110 This file is part of GCC.
111@@ -625,6 +625,7 @@ tree_ssa_ifcombine (void)
112 int i;
113
114 bbs = blocks_in_phiopt_order ();
115+ calculate_dominance_info (CDI_DOMINATORS);
116
117 for (i = 0; i < n_basic_blocks - NUM_FIXED_BLOCKS; ++i)
118 {
119--
1201.7.0.4
121
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0288-2011-05-20-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0288-2011-05-20-Richard-Guenther-rguenther-suse.de.patch
new file mode 100644
index 0000000000..ff2cb06641
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0288-2011-05-20-Richard-Guenther-rguenther-suse.de.patch
@@ -0,0 +1,117 @@
1From 24f5b59f5c9418d39087b36dd0d275f71ac4dca5 Mon Sep 17 00:00:00 2001
2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 20 May 2011 15:08:56 +0000
4Subject: [PATCH] 2011-05-20 Richard Guenther <rguenther@suse.de>
5
6 PR tree-optimization/49079
7 * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
8 MEM_REFs correctly for the trailing array access detection.
9 Special case constants the same way as decls for overall size
10 constraining.
11
12 * gcc.dg/torture/pr49079.c: New testcase.
13
14
15git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173955 138bc75d-0d04-0410-961f-82ee72b054a4
16
17index 0efa0eb..dcb39c1 100644
18new file mode 100644
19index 0000000..1b53d3c
20--- /dev/null
21+++ b/gcc/testsuite/gcc.dg/torture/pr49079.c
22@@ -0,0 +1,31 @@
23+/* { dg-do run } */
24+
25+extern void abort (void);
26+
27+struct Ustr
28+{
29+ unsigned char data[1];
30+};
31+
32+static unsigned int
33+ustr_xi__embed_val_get(const unsigned char *data)
34+{
35+ return (unsigned int)data[0];
36+}
37+
38+int __attribute__((noinline)) zero(void) { return 0; }
39+
40+static unsigned int
41+ustr_len(const struct Ustr *s1)
42+{
43+ return ustr_xi__embed_val_get(s1->data + 1 + zero());
44+}
45+
46+int
47+main()
48+{
49+ if (ustr_len (((struct Ustr *) "\x01" "\x0002" "s2")) != 2)
50+ abort ();
51+
52+ return 0;
53+}
54diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c
55index 6490c5e..2dacd44 100644
56--- a/gcc/tree-dfa.c
57+++ b/gcc/tree-dfa.c
58@@ -709,6 +709,7 @@ get_ref_base_and_extent (tree exp, HOST_WIDE_INT *poffset,
59 tree size_tree = NULL_TREE;
60 HOST_WIDE_INT bit_offset = 0;
61 bool seen_variable_array_ref = false;
62+ tree base_type;
63
64 /* First get the final access size from just the outermost expression. */
65 if (TREE_CODE (exp) == COMPONENT_REF)
66@@ -739,6 +740,8 @@ get_ref_base_and_extent (tree exp, HOST_WIDE_INT *poffset,
67 and find the ultimate containing object. */
68 while (1)
69 {
70+ base_type = TREE_TYPE (exp);
71+
72 switch (TREE_CODE (exp))
73 {
74 case BIT_FIELD_REF:
75@@ -926,9 +929,16 @@ get_ref_base_and_extent (tree exp, HOST_WIDE_INT *poffset,
76 the array. The simplest way to conservatively deal with this
77 is to punt in the case that offset + maxsize reaches the
78 base type boundary. This needs to include possible trailing padding
79- that is there for alignment purposes.
80+ that is there for alignment purposes. */
81+
82+ if (seen_variable_array_ref
83+ && maxsize != -1
84+ && (!host_integerp (TYPE_SIZE (base_type), 1)
85+ || (bit_offset + maxsize
86+ == (signed) TREE_INT_CST_LOW (TYPE_SIZE (base_type)))))
87+ maxsize = -1;
88
89- That is of course only true if the base object is not a decl. */
90+ /* In case of a decl or constant base object we can do better. */
91
92 if (DECL_P (exp))
93 {
94@@ -938,12 +948,14 @@ get_ref_base_and_extent (tree exp, HOST_WIDE_INT *poffset,
95 && host_integerp (DECL_SIZE (exp), 1))
96 maxsize = TREE_INT_CST_LOW (DECL_SIZE (exp)) - bit_offset;
97 }
98- else if (seen_variable_array_ref
99- && maxsize != -1
100- && (!host_integerp (TYPE_SIZE (TREE_TYPE (exp)), 1)
101- || (bit_offset + maxsize
102- == (signed) TREE_INT_CST_LOW (TYPE_SIZE (TREE_TYPE (exp))))))
103- maxsize = -1;
104+ else if (CONSTANT_CLASS_P (exp))
105+ {
106+ /* If maxsize is unknown adjust it according to the size of the
107+ base type constant. */
108+ if (maxsize == -1
109+ && host_integerp (TYPE_SIZE (TREE_TYPE (exp)), 1))
110+ maxsize = TREE_INT_CST_LOW (TYPE_SIZE (TREE_TYPE (exp))) - bit_offset;
111+ }
112
113 /* ??? Due to negative offsets in ARRAY_REF we can end up with
114 negative bit_offset here. We might want to store a zero offset
115--
1161.7.0.4
117
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0289-PR-bootstrap-49086.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0289-PR-bootstrap-49086.patch
new file mode 100644
index 0000000000..53e107b5ec
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0289-PR-bootstrap-49086.patch
@@ -0,0 +1,35 @@
1From 29870e6f38fef098cbd13a59969e5a5f0ad77985 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 20 May 2011 18:23:36 +0000
4Subject: [PATCH] PR bootstrap/49086
5 * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
6 for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173968 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 6ff6f81..910e3b0 100644
11--- a/gcc/gimple-fold.c
12+++ b/gcc/gimple-fold.c
13@@ -2183,7 +2183,8 @@ and_comparisons_1 (enum tree_code code1, tree op1a, tree op1b,
14 code2, op2a, op2b))
15 return NULL_TREE;
16 }
17- else if (TREE_CODE (arg) == SSA_NAME)
18+ else if (TREE_CODE (arg) == SSA_NAME
19+ && !SSA_NAME_IS_DEFAULT_DEF (arg))
20 {
21 tree temp;
22 gimple def_stmt = SSA_NAME_DEF_STMT (arg);
23@@ -2644,7 +2645,8 @@ or_comparisons_1 (enum tree_code code1, tree op1a, tree op1b,
24 code2, op2a, op2b))
25 return NULL_TREE;
26 }
27- else if (TREE_CODE (arg) == SSA_NAME)
28+ else if (TREE_CODE (arg) == SSA_NAME
29+ && !SSA_NAME_IS_DEFAULT_DEF (arg))
30 {
31 tree temp;
32 gimple def_stmt = SSA_NAME_DEF_STMT (arg);
33--
341.7.0.4
35
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0290-PR-c-48873.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0290-PR-c-48873.patch
new file mode 100644
index 0000000000..05fdccb88d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0290-PR-c-48873.patch
@@ -0,0 +1,45 @@
1From ca1dcc7740a2532bae1d898dd326b43da54a2c54 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 20 May 2011 19:01:53 +0000
4Subject: [PATCH] PR c++/48873
5 * tree.c (stabilize_expr): Don't make gratuitous copies of classes.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173970 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index f04fd23..16b9ca1 100644
10--- a/gcc/cp/tree.c
11+++ b/gcc/cp/tree.c
12@@ -3124,7 +3124,8 @@ stabilize_expr (tree exp, tree* initp)
13
14 if (!TREE_SIDE_EFFECTS (exp))
15 init_expr = NULL_TREE;
16- else if (!TYPE_NEEDS_CONSTRUCTING (TREE_TYPE (exp))
17+ else if ((!TYPE_NEEDS_CONSTRUCTING (TREE_TYPE (exp))
18+ && !TYPE_HAS_NONTRIVIAL_DESTRUCTOR (TREE_TYPE (exp)))
19 || !lvalue_or_rvalue_with_address_p (exp))
20 {
21 init_expr = get_target_expr (exp);
22new file mode 100644
23index 0000000..f827857
24--- /dev/null
25+++ b/gcc/testsuite/g++.dg/init/new32.C
26@@ -0,0 +1,16 @@
27+// PR c++/48873
28+
29+#include <new>
30+
31+struct D {
32+private:
33+ ~D();
34+};
35+
36+template<class T>
37+T& create();
38+
39+void f()
40+{
41+ D* dp = new (((void*) 0)) D(create<D>()); // #
42+}
43--
441.7.0.4
45
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0291-PR-c-48736.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0291-PR-c-48736.patch
new file mode 100644
index 0000000000..c84e054c16
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0291-PR-c-48736.patch
@@ -0,0 +1,40 @@
1From 477084b940a43a7f5bdb411e422a736c1f356c6f Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 20 May 2011 19:02:08 +0000
4Subject: [PATCH] PR c++/48736
5 * pt.c (tsubst_copy_and_build): Handle substitution of a pack
6 expansion producing another expansion.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173971 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index e1ddf84..d49fe6b 100644
11--- a/gcc/cp/pt.c
12+++ b/gcc/cp/pt.c
13@@ -13221,7 +13221,8 @@ tsubst_copy_and_build (tree t,
14 ce->value = tsubst_pack_expansion (ce->value, args, complain,
15 in_decl);
16
17- if (ce->value == error_mark_node)
18+ if (ce->value == error_mark_node
19+ || PACK_EXPANSION_P (ce->value))
20 ;
21 else if (TREE_VEC_LENGTH (ce->value) == 1)
22 /* Just move the argument into place. */
23new file mode 100644
24index 0000000..3ad5af4
25--- /dev/null
26+++ b/gcc/testsuite/g++.dg/cpp0x/variadic108.C
27@@ -0,0 +1,10 @@
28+// PR c++/48736
29+// { dg-options -std=c++0x }
30+
31+template<class T>
32+T&& create();
33+
34+template<class T, class... Args,
35+ class = decltype(T{create<Args>()...}) // Line X
36+>
37+char f(int);
38--
391.7.0.4
40
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0292-PR-c-48745.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0292-PR-c-48745.patch
new file mode 100644
index 0000000000..a8e644ae9c
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0292-PR-c-48745.patch
@@ -0,0 +1,59 @@
1From abab8b02e8102ab546f97b60acc3644d1f3bba2a Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 20 May 2011 19:02:17 +0000
4Subject: [PATCH] PR c++/48745
5 * pt.c (value_dependent_expr_p): Handle CONSTRUCTOR.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173972 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index d49fe6b..d9c7ac4 100644
10--- a/gcc/cp/pt.c
11+++ b/gcc/cp/pt.c
12@@ -18231,6 +18231,16 @@ value_dependent_expression_p (tree expression)
13 type-dependent. */
14 return type_dependent_expression_p (expression);
15
16+ case CONSTRUCTOR:
17+ {
18+ unsigned ix;
19+ tree val;
20+ FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (expression), ix, val)
21+ if (value_dependent_expression_p (val))
22+ return true;
23+ return false;
24+ }
25+
26 default:
27 /* A constant expression is value-dependent if any subexpression is
28 value-dependent. */
29new file mode 100644
30index 0000000..2b9351a
31--- /dev/null
32+++ b/gcc/testsuite/g++.dg/cpp0x/sfinae22.C
33@@ -0,0 +1,23 @@
34+// PR c++/48745
35+// { dg-options -std=c++0x }
36+
37+template<class T>
38+struct add_rval_ref {
39+ typedef T&& type;
40+};
41+
42+template<>
43+struct add_rval_ref<void> {
44+ typedef void type;
45+};
46+
47+template<class T>
48+typename add_rval_ref<T>::type create();
49+
50+template<class T, class... Args>
51+decltype(T{create<Args>()...}, char()) f(int);
52+
53+template<class, class...>
54+char (&f(...))[2];
55+
56+static_assert(sizeof(f<int, void>(0)) != 1, "Error"); // { dg-bogus "void value" "" { xfail *-*-* } }
57--
581.7.0.4
59
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0293-semantics.c-register_constexpr_fundef-Add-to-hash-ta.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0293-semantics.c-register_constexpr_fundef-Add-to-hash-ta.patch
new file mode 100644
index 0000000000..f9562dd09a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0293-semantics.c-register_constexpr_fundef-Add-to-hash-ta.patch
@@ -0,0 +1,81 @@
1From cde341fe28d4f20956c917ac3f63f5be8d41a246 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 20 May 2011 19:02:26 +0000
4Subject: [PATCH] * semantics.c (register_constexpr_fundef): Add to hash table here.
5 (validate_constexpr_fundecl): Not here.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173973 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 48b37cf..d019728 100644
10--- a/gcc/cp/semantics.c
11+++ b/gcc/cp/semantics.c
12@@ -5459,9 +5459,6 @@ is_valid_constexpr_fn (tree fun, bool complain)
13 tree
14 validate_constexpr_fundecl (tree fun)
15 {
16- constexpr_fundef entry;
17- constexpr_fundef **slot;
18-
19 if (processing_template_decl || !DECL_DECLARED_CONSTEXPR_P (fun))
20 return NULL;
21 else if (DECL_CLONED_FUNCTION_P (fun))
22@@ -5474,21 +5471,6 @@ validate_constexpr_fundecl (tree fun)
23 return NULL;
24 }
25
26- /* Create the constexpr function table if necessary. */
27- if (constexpr_fundef_table == NULL)
28- constexpr_fundef_table = htab_create_ggc (101,
29- constexpr_fundef_hash,
30- constexpr_fundef_equal,
31- ggc_free);
32- entry.decl = fun;
33- entry.body = NULL;
34- slot = (constexpr_fundef **)
35- htab_find_slot (constexpr_fundef_table, &entry, INSERT);
36- if (*slot == NULL)
37- {
38- *slot = ggc_alloc_constexpr_fundef ();
39- **slot = entry;
40- }
41 return fun;
42 }
43
44@@ -5679,8 +5661,8 @@ build_constexpr_constructor_member_initializers (tree type, tree body)
45 tree
46 register_constexpr_fundef (tree fun, tree body)
47 {
48- constexpr_fundef *fundef = retrieve_constexpr_fundef (fun);
49- gcc_assert (fundef != NULL && fundef->body == NULL);
50+ constexpr_fundef entry;
51+ constexpr_fundef **slot;
52
53 if (DECL_CONSTRUCTOR_P (fun))
54 body = build_constexpr_constructor_member_initializers
55@@ -5711,7 +5693,22 @@ register_constexpr_fundef (tree fun, tree body)
56 require_potential_rvalue_constant_expression (body);
57 return NULL;
58 }
59- fundef->body = body;
60+
61+ /* Create the constexpr function table if necessary. */
62+ if (constexpr_fundef_table == NULL)
63+ constexpr_fundef_table = htab_create_ggc (101,
64+ constexpr_fundef_hash,
65+ constexpr_fundef_equal,
66+ ggc_free);
67+ entry.decl = fun;
68+ entry.body = body;
69+ slot = (constexpr_fundef **)
70+ htab_find_slot (constexpr_fundef_table, &entry, INSERT);
71+
72+ gcc_assert (*slot == NULL);
73+ *slot = ggc_alloc_constexpr_fundef ();
74+ **slot = entry;
75+
76 return fun;
77 }
78
79--
801.7.0.4
81
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0294-semantics.c-validate_constexpr_fundecl-Check-DECL_TE.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0294-semantics.c-validate_constexpr_fundecl-Check-DECL_TE.patch
new file mode 100644
index 0000000000..1ab94454a6
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0294-semantics.c-validate_constexpr_fundecl-Check-DECL_TE.patch
@@ -0,0 +1,42 @@
1From d633704af54cbca1991f0d2c7fc75ffadfc95cdc Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 20 May 2011 19:02:33 +0000
4Subject: [PATCH] * semantics.c (validate_constexpr_fundecl): Check DECL_TEMPLATE_INFO
5 rather than DECL_TEMPLATE_INSTANTIATION.
6 (cxx_eval_call_expression): Likewise.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173974 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index d019728..6083376 100644
11--- a/gcc/cp/semantics.c
12+++ b/gcc/cp/semantics.c
13@@ -5465,7 +5465,7 @@ validate_constexpr_fundecl (tree fun)
14 /* We already checked the original function. */
15 return fun;
16
17- if (!is_valid_constexpr_fn (fun, !DECL_TEMPLATE_INSTANTIATION (fun)))
18+ if (!is_valid_constexpr_fn (fun, !DECL_TEMPLATE_INFO (fun)))
19 {
20 DECL_DECLARED_CONSTEXPR_P (fun) = false;
21 return NULL;
22@@ -5689,7 +5689,7 @@ register_constexpr_fundef (tree fun, tree body)
23 if (!potential_rvalue_constant_expression (body))
24 {
25 DECL_DECLARED_CONSTEXPR_P (fun) = false;
26- if (!DECL_TEMPLATE_INSTANTIATION (fun))
27+ if (!DECL_TEMPLATE_INFO (fun))
28 require_potential_rvalue_constant_expression (body);
29 return NULL;
30 }
31@@ -6033,7 +6033,7 @@ cxx_eval_call_expression (const constexpr_call *old_call, tree t,
32 if (!allow_non_constant)
33 {
34 error_at (loc, "%qD is not a constexpr function", fun);
35- if (DECL_TEMPLATE_INSTANTIATION (fun)
36+ if (DECL_TEMPLATE_INFO (fun)
37 && DECL_DECLARED_CONSTEXPR_P (DECL_TEMPLATE_RESULT
38 (DECL_TI_TEMPLATE (fun))))
39 is_valid_constexpr_fn (fun, true);
40--
411.7.0.4
42
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0295-PR-c-48948.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0295-PR-c-48948.patch
new file mode 100644
index 0000000000..53c553b878
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0295-PR-c-48948.patch
@@ -0,0 +1,188 @@
1From 4114bb38c8cffb97435ae4bdb6b7bef89d5228d6 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 20 May 2011 19:02:42 +0000
4Subject: [PATCH] PR c++/48948
5 * class.c (finalize_literal_type_property): Only check
6 for constexpr member functions of non-literal class.
7 * decl.c (cp_finish_decl): Don't call validate_constexpr_fundecl.
8 * semantics.c (literal_type_p): Call complete_type.
9
10git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173975 138bc75d-0d04-0410-961f-82ee72b054a4
11
12index e1b8645..d412232 100644
13--- a/gcc/cp/class.c
14+++ b/gcc/cp/class.c
15@@ -4559,10 +4559,17 @@ finalize_literal_type_property (tree t)
16 && !TYPE_HAS_CONSTEXPR_CTOR (t))
17 CLASSTYPE_LITERAL_P (t) = false;
18
19- for (fn = TYPE_METHODS (t); fn; fn = DECL_CHAIN (fn))
20- if (DECL_DECLARED_CONSTEXPR_P (fn)
21- && TREE_CODE (fn) != TEMPLATE_DECL)
22- validate_constexpr_fundecl (fn);
23+ if (!CLASSTYPE_LITERAL_P (t))
24+ for (fn = TYPE_METHODS (t); fn; fn = DECL_CHAIN (fn))
25+ if (DECL_DECLARED_CONSTEXPR_P (fn)
26+ && TREE_CODE (fn) != TEMPLATE_DECL
27+ && DECL_NONSTATIC_MEMBER_FUNCTION_P (fn)
28+ && !DECL_CONSTRUCTOR_P (fn))
29+ {
30+ DECL_DECLARED_CONSTEXPR_P (fn) = false;
31+ if (!DECL_TEMPLATE_INFO (fn))
32+ error ("enclosing class of %q+#D is not a literal type", fn);
33+ }
34 }
35
36 /* Check the validity of the bases and members declared in T. Add any
37diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
38index 81d5db3..2905b49 100644
39--- a/gcc/cp/decl.c
40+++ b/gcc/cp/decl.c
41@@ -5797,13 +5797,7 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
42 }
43 }
44
45- if (TREE_CODE (decl) == FUNCTION_DECL
46- /* For members, defer until finalize_literal_type_property. */
47- && (!DECL_CLASS_SCOPE_P (decl)
48- || !TYPE_BEING_DEFINED (DECL_CONTEXT (decl))))
49- validate_constexpr_fundecl (decl);
50-
51- else if (!ensure_literal_type_for_constexpr_object (decl))
52+ if (!ensure_literal_type_for_constexpr_object (decl))
53 DECL_DECLARED_CONSTEXPR_P (decl) = 0;
54
55 if (init && TREE_CODE (decl) == FUNCTION_DECL)
56diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
57index 6083376..bd33bac 100644
58--- a/gcc/cp/semantics.c
59+++ b/gcc/cp/semantics.c
60@@ -5327,7 +5327,7 @@ literal_type_p (tree t)
61 if (SCALAR_TYPE_P (t))
62 return true;
63 if (CLASS_TYPE_P (t))
64- return CLASSTYPE_LITERAL_P (t);
65+ return CLASSTYPE_LITERAL_P (complete_type (t));
66 if (TREE_CODE (t) == ARRAY_TYPE)
67 return literal_type_p (strip_array_types (t));
68 return false;
69@@ -5439,6 +5439,7 @@ is_valid_constexpr_fn (tree fun, bool complain)
70 rettype, fun);
71 }
72
73+ /* Check this again here for cxx_eval_call_expression. */
74 if (DECL_NONSTATIC_MEMBER_FUNCTION_P (fun)
75 && !CLASSTYPE_LITERAL_P (DECL_CONTEXT (fun)))
76 {
77new file mode 100644
78index 0000000..f1d9cce
79--- /dev/null
80+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-friend.C
81@@ -0,0 +1,23 @@
82+// PR c++/48948
83+// { dg-options -std=c++0x }
84+
85+struct A { A(); };
86+
87+struct B {
88+ friend constexpr int f(B) { return 0; } // OK
89+ friend constexpr int f(A) { return 0; } // { dg-error "constexpr" }
90+};
91+
92+template <class T>
93+struct C
94+{
95+ friend constexpr int f(C) { return 0; }
96+ friend constexpr int g(C, A) { return 0; } // { dg-error "double" }
97+ constexpr int m(C) { return 0; }
98+ constexpr int m(A) { return 0; } // { dg-error "double" }
99+};
100+
101+constexpr int i = f(C<int>());
102+constexpr int j = C<int>().m(C<int>());
103+constexpr int k = C<double>().m(A()); // { dg-error "not a constexpr function" }
104+constexpr int l = g(C<double>(),A()); // { dg-error "not a constexpr function" }
105diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete1.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete1.C
106new file mode 100644
107index 0000000..71372d2
108--- /dev/null
109+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete1.C
110@@ -0,0 +1,7 @@
111+// { dg-options -std=c++0x }
112+
113+struct A
114+{
115+ static constexpr A a = 1; // { dg-error "incomplete|literal" }
116+ constexpr A(int i) { }
117+};
118diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete2.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete2.C
119new file mode 100644
120index 0000000..dc0b742
121--- /dev/null
122+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete2.C
123@@ -0,0 +1,31 @@
124+// A constructor that might or might not be constexpr still makes
125+// its class literal.
126+// { dg-options -std=c++0x }
127+
128+template <class T>
129+struct B
130+{
131+ constexpr B(T) { }
132+ constexpr B() {}
133+};
134+
135+struct A
136+{
137+ B<A> b;
138+};
139+
140+constexpr A a {};
141+
142+template <class T>
143+struct C
144+{
145+ constexpr C(T) { }
146+ C() {}
147+};
148+
149+struct D
150+{
151+ C<D> c;
152+};
153+
154+constexpr D d {}; // { dg-error "not a constexpr function" }
155diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete3.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete3.C
156new file mode 100644
157index 0000000..81822b0
158--- /dev/null
159+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete3.C
160@@ -0,0 +1,12 @@
161+// PR c++/49015
162+// { dg-options -std=c++0x }
163+
164+class A;
165+
166+class B {
167+ friend constexpr B f(A); // Line 5
168+};
169+
170+class A {};
171+
172+constexpr B f(A) { return B(); } // Line 10
173diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C
174index 4646f82..ef7ac6b 100644
175--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C
176+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C
177@@ -13,6 +13,6 @@ constexpr X X::g(X x) { return x; }
178 struct Y
179 {
180 Y() { }
181- constexpr Y f(Y y); // { dg-error "constexpr" }
182- static constexpr Y g(Y y); // { dg-error "constexpr" }
183+ constexpr Y f(Y y); // { dg-error "not a literal type" }
184+ static constexpr Y g(Y y) {} // { dg-error "constexpr" }
185 };
186--
1871.7.0.4
188
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0296-DR-1073.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0296-DR-1073.patch
new file mode 100644
index 0000000000..e69c862a77
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0296-DR-1073.patch
@@ -0,0 +1,156 @@
1From 64f447779f7ce0ace5543bbb6a5d334ac3aef501 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 20 May 2011 21:29:14 +0000
4Subject: [PATCH] DR 1073
5 PR c++/49082
6 * typeck.c (comp_except_specs): noexcept(false) is not compatible
7 with throw(type-list).
8 * typeck2.c (merge_exception_specifiers): noexcept(false)
9 beats any more limited specification.
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173984 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index dec0680..59bf3ab 100644
14--- a/gcc/cp/typeck.c
15+++ b/gcc/cp/typeck.c
16@@ -986,14 +986,14 @@ comp_except_specs (const_tree t1, const_tree t2, int exact)
17 /* First handle noexcept. */
18 if (exact < ce_exact)
19 {
20- /* noexcept(false) is compatible with any throwing dynamic-exc-spec
21+ /* noexcept(false) is compatible with no exception-specification,
22 and stricter than any spec. */
23 if (t1 == noexcept_false_spec)
24- return !nothrow_spec_p (t2) || exact == ce_derived;
25- /* Even a derived noexcept(false) is compatible with a throwing
26- dynamic spec. */
27+ return t2 == NULL_TREE || exact == ce_derived;
28+ /* Even a derived noexcept(false) is compatible with no
29+ exception-specification. */
30 if (t2 == noexcept_false_spec)
31- return !nothrow_spec_p (t1);
32+ return t1 == NULL_TREE;
33
34 /* Otherwise, if we aren't looking for an exact match, noexcept is
35 equivalent to throw(). */
36diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c
37index 82218f0..8d9c53e 100644
38--- a/gcc/cp/typeck2.c
39+++ b/gcc/cp/typeck2.c
40@@ -1672,10 +1672,13 @@ add_exception_specifier (tree list, tree spec, int complain)
41 tree
42 merge_exception_specifiers (tree list, tree add)
43 {
44- if (!list || !add)
45- return NULL_TREE;
46+ /* No exception-specifier or noexcept(false) are less strict than
47+ anything else. Prefer the newer variant (LIST). */
48+ if (!list || list == noexcept_false_spec)
49+ return list;
50+ else if (!add || add == noexcept_false_spec)
51+ return add;
52 /* For merging noexcept(true) and throw(), take the more recent one (LIST).
53- A throw(type-list) spec takes precedence over a noexcept(false) spec.
54 Any other noexcept-spec should only be merged with an equivalent one.
55 So the !TREE_VALUE code below is correct for all cases. */
56 else if (!TREE_VALUE (add))
57index 60015e7..ffbb091 100644
58--- a/gcc/testsuite/g++.dg/cpp0x/noexcept02.C
59+++ b/gcc/testsuite/g++.dg/cpp0x/noexcept02.C
60@@ -10,9 +10,9 @@ void f();
61
62 SA(!noexcept(f()));
63
64-void g() throw (int);
65-void g() noexcept(false); // { dg-error "previous declaration" }
66-void g(); // { dg-error "different exception" }
67+void g() throw (int); // { dg-error "previous declaration" }
68+void g() noexcept(false); // { dg-error "different exception" }
69+void g();
70
71 void h() throw();
72 void h() noexcept;
73diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept03.C b/gcc/testsuite/g++.dg/cpp0x/noexcept03.C
74index c759f6f..54e04f3 100644
75--- a/gcc/testsuite/g++.dg/cpp0x/noexcept03.C
76+++ b/gcc/testsuite/g++.dg/cpp0x/noexcept03.C
77@@ -36,19 +36,6 @@ void f2(T a) noexcept (noexcept (f (a)))
78
79 struct A { A() { } }; // { dg-warning "does not throw" }
80
81-// throw(int) overrides noexcept(false) in either order.
82-void h() throw (int, std::bad_exception);
83-void h() noexcept (false)
84-{
85- throw 1.0;
86-}
87-
88-void i() noexcept (false);
89-void i() throw (int, std::bad_exception)
90-{
91- throw 1.0;
92-}
93-
94 int main()
95 {
96 // noexcept(false) allows throw.
97@@ -57,10 +44,6 @@ int main()
98 try { f(A()); } catch (int) { }
99 try { f2(A()); } catch (int) { }
100
101- std::set_unexpected (my_unexpected);
102- try { h(); } catch (std::bad_exception) { }
103- try { i(); } catch (std::bad_exception) { }
104-
105 std::set_terminate (my_terminate);
106 // noexcept(noexcept(int())) == noexcept(true).
107 try { f2(1); } catch (...) { }
108diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept08.C b/gcc/testsuite/g++.dg/cpp0x/noexcept08.C
109index c450332..1df85ef 100644
110--- a/gcc/testsuite/g++.dg/cpp0x/noexcept08.C
111+++ b/gcc/testsuite/g++.dg/cpp0x/noexcept08.C
112@@ -34,7 +34,7 @@ struct D: A
113 void g() noexcept(false); // { dg-error "looser" }
114 void h() noexcept(false); // { dg-error "looser" }
115 void i() noexcept(false);
116- void j() noexcept(false); // compatible; treated as throw(int)
117+ void j() noexcept(false); // { dg-error "looser" }
118 };
119
120 struct E: A
121diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept10.C b/gcc/testsuite/g++.dg/cpp0x/noexcept10.C
122new file mode 100644
123index 0000000..058a387
124--- /dev/null
125+++ b/gcc/testsuite/g++.dg/cpp0x/noexcept10.C
126@@ -0,0 +1,27 @@
127+// PR c++/49082
128+// { dg-options -std=c++0x }
129+
130+namespace std { template <class T> T&& declval() noexcept; }
131+
132+struct Base
133+{
134+ Base(const Base&) noexcept(false);
135+ Base(Base&&) noexcept(false);
136+ ~Base() noexcept(false);
137+};
138+
139+struct Derived
140+: Base
141+{
142+ // Derived(const Derived&) = default;
143+ // Derived(Derived&&) = default;
144+};
145+
146+static_assert(!noexcept(Base(std::declval<const Base&>())), "Error");
147+static_assert(!noexcept(Derived(std::declval<const Derived&>())), "Error"); // Error
148+
149+static_assert(!noexcept(Base(std::declval<Base&&>())), "Error");
150+static_assert(!noexcept(Derived(std::declval<Derived&&>())), "Error"); // Error
151+
152+static_assert(!noexcept(std::declval<Base&>().~Base()), "Error"); // OK
153+static_assert(!noexcept(std::declval<Derived&>().~Derived()), "Error"); // Error
154--
1551.7.0.4
156
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0298-In-gcc-objc.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0298-In-gcc-objc.patch
new file mode 100644
index 0000000000..1d83948004
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0298-In-gcc-objc.patch
@@ -0,0 +1,31 @@
1From 291010836656764b3c79b294cd7a3f112b9d92df Mon Sep 17 00:00:00 2001
2From: nicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sat, 21 May 2011 16:53:19 +0000
4Subject: [PATCH] In gcc/objc/:
5 2011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
6
7 Backport from mainline
8 2011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
9
10 * config-lang.in (gtfiles): Updated order of files to fix building
11 when the gcc/cp directory is missing, as in the case of some
12 release tarballs.
13
14
15git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174000 138bc75d-0d04-0410-961f-82ee72b054a4
16
17index db5c5a5..0de0650 100644
18--- a/gcc/objc/config-lang.in
19+++ b/gcc/objc/config-lang.in
20@@ -33,4 +33,7 @@ target_libs=target-libobjc
21 # Most of the object files for cc1obj actually come from C.
22 lang_requires="c"
23
24-gtfiles="\$(srcdir)/objc/objc-act.h \$(srcdir)/objc/objc-act.c \$(srcdir)/objc/objc-runtime-shared-support.c \$(srcdir)/objc/objc-gnu-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-02.c \$(srcdir)/c-parser.c \$(srcdir)/c-tree.h \$(srcdir)/c-decl.c \$(srcdir)/c-lang.h \$(srcdir)/c-objc-common.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c"
25+# Order is important. If you change this list, make sure you test
26+# building without C++ as well; that is, remove the gcc/cp directory,
27+# and build with --enable-languages=c,objc.
28+gtfiles="\$(srcdir)/c-family/c-objc.h \$(srcdir)/objc/objc-act.h \$(srcdir)/objc/objc-act.c \$(srcdir)/objc/objc-runtime-shared-support.c \$(srcdir)/objc/objc-gnu-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-02.c \$(srcdir)/c-parser.c \$(srcdir)/c-tree.h \$(srcdir)/c-decl.c \$(srcdir)/c-lang.h \$(srcdir)/c-objc-common.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c"
29--
301.7.0.4
31
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0299-PR-c-49066.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0299-PR-c-49066.patch
new file mode 100644
index 0000000000..334336f37d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0299-PR-c-49066.patch
@@ -0,0 +1,34 @@
1From 6c1b484bec9f87aaa5c648304ca556dd622b4206 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sat, 21 May 2011 21:35:50 +0000
4Subject: [PATCH] PR c++/49066
5 * decl.c (duplicate_decls): Preserve DECL_DELETED_FN.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174003 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 2905b49..aeb893f 100644
10--- a/gcc/cp/decl.c
11+++ b/gcc/cp/decl.c
12@@ -1686,6 +1686,7 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
13 error ("deleted definition of %qD", newdecl);
14 error ("after previous declaration %q+D", olddecl);
15 }
16+ DECL_DELETED_FN (newdecl) |= DECL_DELETED_FN (olddecl);
17 }
18
19 /* Deal with C++: must preserve virtual function table size. */
20new file mode 100644
21index 0000000..69bd0ac
22--- /dev/null
23+++ b/gcc/testsuite/g++.dg/cpp0x/defaulted26.C
24@@ -0,0 +1,7 @@
25+// PR c++/49066
26+// { dg-options -std=c++0x }
27+
28+void foo() = delete; // { dg-error "declared here" }
29+void foo();
30+
31+int main() { foo(); } // { dg-error "deleted" }
32--
331.7.0.4
34
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0300-config-sparc-sparc.c-eligible_for_return_delay-Do-no.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0300-config-sparc-sparc.c-eligible_for_return_delay-Do-no.patch
new file mode 100644
index 0000000000..7052918b56
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0300-config-sparc-sparc.c-eligible_for_return_delay-Do-no.patch
@@ -0,0 +1,65 @@
1From 569fa107c89c3adc1fcf7286079c7aff088159ef Mon Sep 17 00:00:00 2001
2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sat, 21 May 2011 22:03:27 +0000
4Subject: [PATCH] * config/sparc/sparc.c (eligible_for_return_delay): Do not return
5 false if there are call-saved registers here...
6 (sparc_can_use_return_insn_p): ...but here instead.
7 (save_or_restore_regs): Fix thinko.
8 (sparc_expand_prologue): Use current_function_is_leaf.
9 (sparc_frame_pointer_required): Likewise.
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174009 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index 0f137e8..8ad374a 100644
14--- a/gcc/config/sparc/sparc.c
15+++ b/gcc/config/sparc/sparc.c
16@@ -2845,11 +2845,6 @@ eligible_for_return_delay (rtx trial)
17 if (get_attr_length (trial) != 1)
18 return 0;
19
20- /* If there are any call-saved registers, we should scan TRIAL if it
21- does not reference them. For now just make it easy. */
22- if (num_gfregs)
23- return 0;
24-
25 /* If the function uses __builtin_eh_return, the eh_return machinery
26 occupies the delay slot. */
27 if (crtl->calls_eh_return)
28@@ -4421,7 +4416,7 @@ save_or_restore_regs (int low, int high, rtx base, int offset, int action)
29 emit_move_insn (gen_rtx_REG (mode, regno), mem);
30
31 /* Always preserve double-word alignment. */
32- offset = (offset + 7) & -8;
33+ offset = (offset + 8) & -8;
34 }
35 }
36
37@@ -4528,7 +4523,7 @@ sparc_expand_prologue (void)
38 example, the regrename pass has special provisions to not rename to
39 non-leaf registers in a leaf function. */
40 sparc_leaf_function_p
41- = optimize > 0 && leaf_function_p () && only_leaf_regs_used ();
42+ = optimize > 0 && current_function_is_leaf && only_leaf_regs_used ();
43
44 /* Need to use actual_fsize, since we are also allocating
45 space for our callee (and our own register save area). */
46@@ -4658,6 +4653,7 @@ bool
47 sparc_can_use_return_insn_p (void)
48 {
49 return sparc_prologue_data_valid_p
50+ && num_gfregs == 0
51 && (actual_fsize == 0 || !sparc_leaf_function_p);
52 }
53
54@@ -9680,7 +9676,7 @@ sparc_expand_compare_and_swap_12 (rtx result, rtx mem, rtx oldval, rtx newval)
55 bool
56 sparc_frame_pointer_required (void)
57 {
58- return !(leaf_function_p () && only_leaf_regs_used ());
59+ return !(current_function_is_leaf && only_leaf_regs_used ());
60 }
61
62 /* The way this is structured, we can't eliminate SFP in favor of SP
63--
641.7.0.4
65
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0301-config-sparc-sparc.md-setjmp-Handle-PIC-mode-and-use.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0301-config-sparc-sparc.md-setjmp-Handle-PIC-mode-and-use.patch
new file mode 100644
index 0000000000..0b827c1178
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0301-config-sparc-sparc.md-setjmp-Handle-PIC-mode-and-use.patch
@@ -0,0 +1,56 @@
1From 0a4d0f222b48850a59769bc1d53327ea4c819e8b Mon Sep 17 00:00:00 2001
2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sat, 21 May 2011 22:49:41 +0000
4Subject: [PATCH] * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
5 frame pointer.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174014 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 853bd2f..5e16179 100644
10--- a/gcc/config/sparc/sparc.md
11+++ b/gcc/config/sparc/sparc.md
12@@ -6507,8 +6507,8 @@
13 (const_int 4)))])
14
15 ;; For __builtin_setjmp we need to flush register windows iff the function
16-;; calls alloca as well, because otherwise the register window might be
17-;; saved after %sp adjustment and thus setjmp would crash
18+;; calls alloca as well, because otherwise the current register window might
19+;; be saved after the %sp adjustment and thus setjmp would crash.
20 (define_expand "builtin_setjmp_setup"
21 [(match_operand 0 "register_operand" "r")]
22 ""
23@@ -6547,19 +6547,26 @@
24 (eq_attr "pic" "true")
25 (const_int 4)] (const_int 3)))])
26
27-;; Pattern for use after a setjmp to store FP and the return register
28-;; into the stack area.
29+;; Pattern for use after a setjmp to store registers into the save area.
30
31 (define_expand "setjmp"
32 [(const_int 0)]
33 ""
34 {
35 rtx mem;
36-
37+
38+ if (flag_pic)
39+ {
40+ mem = gen_rtx_MEM (Pmode,
41+ plus_constant (stack_pointer_rtx,
42+ SPARC_STACK_BIAS + 7 * UNITS_PER_WORD));
43+ emit_insn (gen_rtx_SET (VOIDmode, mem, pic_offset_table_rtx));
44+ }
45+
46 mem = gen_rtx_MEM (Pmode,
47 plus_constant (stack_pointer_rtx,
48 SPARC_STACK_BIAS + 14 * UNITS_PER_WORD));
49- emit_insn (gen_rtx_SET (VOIDmode, mem, frame_pointer_rtx));
50+ emit_insn (gen_rtx_SET (VOIDmode, mem, hard_frame_pointer_rtx));
51
52 mem = gen_rtx_MEM (Pmode,
53 plus_constant (stack_pointer_rtx,
54--
551.7.0.4
56
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0303-PR-c-48780.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0303-PR-c-48780.patch
new file mode 100644
index 0000000000..3dbb293b27
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0303-PR-c-48780.patch
@@ -0,0 +1,49 @@
1From 3f78a3111fdfffc067bff19d0d42ffb1040e0fe5 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 22 May 2011 00:28:44 +0000
4Subject: [PATCH] PR c++/48780
5 * cvt.c (type_promotes_to): Warn about promoting scoped enums.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174022 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index ce4f985..d26d870 100644
10--- a/gcc/cp/cvt.c
11+++ b/gcc/cp/cvt.c
12@@ -1621,6 +1621,9 @@ type_promotes_to (tree type)
13 int precision = MAX (TYPE_PRECISION (type),
14 TYPE_PRECISION (integer_type_node));
15 tree totype = c_common_type_for_size (precision, 0);
16+ if (SCOPED_ENUM_P (type))
17+ warning (OPT_Wabi, "scoped enum %qT will not promote to an integral "
18+ "type in a future version of GCC", type);
19 if (TREE_CODE (type) == ENUMERAL_TYPE)
20 type = ENUM_UNDERLYING_TYPE (type);
21 if (TYPE_UNSIGNED (type)
22new file mode 100644
23index 0000000..ec02d3b
24--- /dev/null
25+++ b/gcc/testsuite/g++.dg/cpp0x/enum13.C
26@@ -0,0 +1,20 @@
27+// PR c++/48780
28+// { dg-options "-std=c++0x -fabi-version=5 -Wabi" }
29+
30+typedef __builtin_va_list __gnuc_va_list;
31+typedef __gnuc_va_list va_list;
32+
33+enum struct A : short { X };
34+
35+void foo(int x, ...) {
36+ va_list vl;
37+ __builtin_va_start(vl, x);
38+ enum A t = __builtin_va_arg(vl, enum A); // { dg-warning "promote" }
39+ __builtin_va_end(vl);
40+}
41+
42+int main() {
43+ foo(0, A::X); // { dg-warning "will not promote" }
44+}
45+
46+// { dg-prune-output "note" }
47--
481.7.0.4
49
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0304-PR-c-48945.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0304-PR-c-48945.patch
new file mode 100644
index 0000000000..8b3eec27ae
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0304-PR-c-48945.patch
@@ -0,0 +1,45 @@
1From 6716a654c885fa57fcece50fb32be4f2edb29166 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 22 May 2011 00:29:03 +0000
4Subject: [PATCH] PR c++/48945
5 * decl.c (revert_static_member_fn): Ignore const on constexpr fn.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174023 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index aeb893f..108bb47 100644
10--- a/gcc/cp/decl.c
11+++ b/gcc/cp/decl.c
12@@ -13394,10 +13394,15 @@ void
13 revert_static_member_fn (tree decl)
14 {
15 tree stype = static_fn_type (decl);
16+ cp_cv_quals quals = type_memfn_quals (stype);
17
18- if (type_memfn_quals (stype) != TYPE_UNQUALIFIED)
19+ if (quals != TYPE_UNQUALIFIED)
20 {
21- error ("static member function %q#D declared with type qualifiers", decl);
22+ if (quals == TYPE_QUAL_CONST && DECL_DECLARED_CONSTEXPR_P (decl))
23+ /* The const was implicit, don't complain. */;
24+ else
25+ error ("static member function %q#D declared with type qualifiers",
26+ decl);
27 stype = apply_memfn_quals (stype, TYPE_UNQUALIFIED);
28 }
29 TREE_TYPE (decl) = stype;
30new file mode 100644
31index 0000000..ba4a251
32--- /dev/null
33+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-static7.C
34@@ -0,0 +1,8 @@
35+// PR c++/48945
36+// { dg-options -std=c++0x }
37+
38+struct A {
39+ static constexpr bool is();
40+};
41+
42+constexpr bool A::is() { return true; }
43--
441.7.0.4
45
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0305-PR-middle-end-49029.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0305-PR-middle-end-49029.patch
new file mode 100644
index 0000000000..47d896c6b7
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0305-PR-middle-end-49029.patch
@@ -0,0 +1,52 @@
1From 7f6851f9e44e25a3ddb77bf09b6e138a9c39bbf0 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 22 May 2011 19:02:59 +0000
4Subject: [PATCH] PR middle-end/49029
5 * expmed.c (extract_fixed_bit_field): Test whether target can be used
6 only after deciding which mode to use.
7
8 * gcc.c-torture/compile/pr49029.c: New test.
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174036 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index 6c35f8e..0d44b2b 100644
14--- a/gcc/expmed.c
15+++ b/gcc/expmed.c
16@@ -1875,8 +1875,6 @@ extract_fixed_bit_field (enum machine_mode tmode, rtx op0,
17 /* To extract a signed bit-field, first shift its msb to the msb of the word,
18 then arithmetic-shift its lsb to the lsb of the word. */
19 op0 = force_reg (mode, op0);
20- if (mode != tmode)
21- target = 0;
22
23 /* Find the narrowest integer mode that contains the field. */
24
25@@ -1888,6 +1886,9 @@ extract_fixed_bit_field (enum machine_mode tmode, rtx op0,
26 break;
27 }
28
29+ if (mode != tmode)
30+ target = 0;
31+
32 if (GET_MODE_BITSIZE (mode) != (bitsize + bitpos))
33 {
34 tree amount
35new file mode 100644
36index 0000000..ebe81b3
37--- /dev/null
38+++ b/gcc/testsuite/gcc.c-torture/compile/pr49029.c
39@@ -0,0 +1,10 @@
40+/* PR middle-end/49029 */
41+struct S { volatile unsigned f : 11; signed g : 30; } __attribute__((packed));
42+struct T { volatile struct S h; } __attribute__((packed)) a;
43+void foo (int);
44+
45+void
46+bar ()
47+{
48+ foo (a.h.g);
49+}
50--
511.7.0.4
52
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0306-PR-target-49104.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0306-PR-target-49104.patch
new file mode 100644
index 0000000000..b9ffa5798c
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0306-PR-target-49104.patch
@@ -0,0 +1,63 @@
1From 19444be5c75a1e7bcc7f2490a3503947d4904b64 Mon Sep 17 00:00:00 2001
2From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 22 May 2011 19:14:50 +0000
4Subject: [PATCH] PR target/49104
5 * config/i386/cpuid.h (bit_MMXEXT): New define.
6
7libcpp/ChangeLog:
8
92011-05-22 Uros Bizjak <ubizjak@gmail.com>
10
11 PR target/49104
12 * lex.c (init_vectorized_lexer): Do not set "minimum" when __3dNOW_A__
13 is defined. Check bit_MMXEXT and bit_CMOV to use search_line_mmx.
14
15
16
17git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174038 138bc75d-0d04-0410-961f-82ee72b054a4
18
19index e9d0fab..3c3f47b 100644
20--- a/gcc/config/i386/cpuid.h
21+++ b/gcc/config/i386/cpuid.h
22@@ -57,6 +57,7 @@
23 #define bit_TBM (1 << 21)
24
25 /* %edx */
26+#define bit_MMXEXT (1 << 22)
27 #define bit_LM (1 << 29)
28 #define bit_3DNOWP (1 << 30)
29 #define bit_3DNOW (1 << 31)
30index 3bf4886..6c3be71 100644
31--- a/libcpp/lex.c
32+++ b/libcpp/lex.c
33@@ -294,7 +294,7 @@ static const char repl_chars[4][16] __attribute__((aligned(16))) = {
34 /* A version of the fast scanner using MMX vectorized byte compare insns.
35
36 This uses the PMOVMSKB instruction which was introduced with "MMX2",
37- which was packaged into SSE1; it is also present in the AMD 3dNOW-A
38+ which was packaged into SSE1; it is also present in the AMD MMX
39 extension. Mark the function as using "sse" so that we emit a real
40 "emms" instruction, rather than the 3dNOW "femms" instruction. */
41
42@@ -488,7 +488,7 @@ init_vectorized_lexer (void)
43 minimum = 3;
44 #elif defined(__SSE2__)
45 minimum = 2;
46-#elif defined(__SSE__) || defined(__3dNOW_A__)
47+#elif defined(__SSE__)
48 minimum = 1;
49 #endif
50
51@@ -505,7 +505,8 @@ init_vectorized_lexer (void)
52 }
53 else if (__get_cpuid (0x80000001, &dummy, &dummy, &dummy, &edx))
54 {
55- if (minimum == 1 || edx & bit_3DNOWP)
56+ if (minimum == 1
57+ || (edx & (bit_MMXEXT | bit_CMOV)) == (bit_MMXEXT | bit_CMOV))
58 impl = search_line_mmx;
59 }
60
61--
621.7.0.4
63
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0307-config.gcc-sparc-elf-Add-sparc-t-crtin.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0307-config.gcc-sparc-elf-Add-sparc-t-crtin.patch
new file mode 100644
index 0000000000..8771bfc7b6
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0307-config.gcc-sparc-elf-Add-sparc-t-crtin.patch
@@ -0,0 +1,150 @@
1From a6bb991323a90fe945a0989119412916048b9254 Mon Sep 17 00:00:00 2001
2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 22 May 2011 20:03:43 +0000
4Subject: [PATCH] * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
5 (sparc-*-rtems*): Likewise.
6 (sparc64-*-elf*): Likewise.
7 (sparc64-*-rtems*): Likewise.
8 (sparc*-*-solaris2*): Likewise. Remove crti.o crtn.o extra parts.
9 * config/sparc/t-crtin: New file.
10 * config/sparc/t-sol2 (crti.o): Delete rule.
11 (crtn.o): Likewise.
12 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
13 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
14 * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
15 (ENDFILE_SPEC): Add crtn.o.
16
17git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174042 138bc75d-0d04-0410-961f-82ee72b054a4
18
19index 1f13564..ada68dd 100644
20--- a/gcc/config.gcc
21+++ b/gcc/config.gcc
22@@ -2522,12 +2522,12 @@ sparc-*-elf*)
23 tmake_file="sparc/t-elf"
24 ;;
25 esac
26- tmake_file="${tmake_file} sparc/t-crtfm"
27+ tmake_file="${tmake_file} sparc/t-crtin sparc/t-crtfm"
28 extra_parts="crtbegin.o crtend.o"
29 ;;
30 sparc-*-rtems*)
31 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
32- tmake_file="sparc/t-elf sparc/t-crtfm t-rtems"
33+ tmake_file="sparc/t-elf sparc/t-crtin sparc/t-crtfm t-rtems"
34 extra_parts="crtbegin.o crtend.o"
35 ;;
36 sparc-*-linux*)
37@@ -2585,7 +2585,7 @@ sparc*-*-solaris2*)
38 tm_file="${tm_file} sol2-gld.h sparc/sol2-gld-bi.h"
39 fi
40 tm_file="${tm_file} tm-dwarf2.h"
41- tmake_file="t-sol2 sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm"
42+ tmake_file="t-sol2 sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtin sparc/t-crtfm"
43 if test x$gnu_ld = xyes; then
44 tmake_file="$tmake_file t-slibgcc-elf-ver"
45 else
46@@ -2598,7 +2598,7 @@ sparc*-*-solaris2*)
47 cxx_target_objs="sol2-c.o"
48 extra_objs="sol2.o"
49 tm_p_file="${tm_p_file} sol2-protos.h"
50- extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
51+ extra_parts="crt1.o gcrt1.o gmon.o crtbegin.o crtend.o"
52 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
53 "":yes:* | yes:yes:* )
54 thread_file=posix
55@@ -2615,13 +2615,13 @@ sparc-wrs-vxworks)
56 sparc64-*-elf*)
57 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
58 extra_options="${extra_options} sparc/little-endian.opt"
59- tmake_file="${tmake_file} sparc/t-crtfm"
60+ tmake_file="${tmake_file} sparc/t-crtin sparc/t-crtfm"
61 extra_parts="crtbegin.o crtend.o"
62 ;;
63 sparc64-*-rtems*)
64 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
65 extra_options="${extra_options} sparc/little-endian.opt"
66- tmake_file="${tmake_file} sparc/t-crtfm t-rtems"
67+ tmake_file="${tmake_file} sparc/t-crtin sparc/t-crtfm t-rtems"
68 extra_parts="crtbegin.o crtend.o"
69 ;;
70 sparc64-*-linux*)
71diff --git a/gcc/config/sparc/sp64-elf.h b/gcc/config/sparc/sp64-elf.h
72index fe49a79..c15e9ad 100644
73--- a/gcc/config/sparc/sp64-elf.h
74+++ b/gcc/config/sparc/sp64-elf.h
75@@ -53,18 +53,13 @@ along with GCC; see the file COPYING3. If not see
76 %{mlittle-endian:-EL} \
77 "
78
79-/* We need something a little simpler for the embedded environment.
80- Profiling doesn't really work yet so we just copy the default. */
81 #undef STARTFILE_SPEC
82-#define STARTFILE_SPEC "\
83-%{!shared:%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}} \
84-crtbegin.o%s \
85-"
86+#define STARTFILE_SPEC "crt0.o%s crti.o%s crtbegin.o%s"
87
88 #undef ENDFILE_SPEC
89 #define ENDFILE_SPEC \
90 "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
91- crtend.o%s"
92+ crtend.o%s crtn.o%s"
93
94 /* Use the default (for now). */
95 #undef LIB_SPEC
96diff --git a/gcc/config/sparc/t-crtin b/gcc/config/sparc/t-crtin
97new file mode 100644
98index 0000000..2612bac
99--- /dev/null
100+++ b/gcc/config/sparc/t-crtin
101@@ -0,0 +1,6 @@
102+EXTRA_PARTS += crti.o crtn.o
103+
104+$(T)crti.o: $(srcdir)/config/sparc/sol2-ci.asm $(GCC_PASSES)
105+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-ci.asm
106+$(T)crtn.o: $(srcdir)/config/sparc/sol2-cn.asm $(GCC_PASSES)
107+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-cn.asm
108diff --git a/gcc/config/sparc/t-linux64 b/gcc/config/sparc/t-linux64
109index 4a7de45..74d0489 100644
110--- a/gcc/config/sparc/t-linux64
111+++ b/gcc/config/sparc/t-linux64
112@@ -31,9 +31,6 @@ MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR)
113 LIBGCC = stmp-multilib
114 INSTALL_LIBGCC = install-multilib
115
116-EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
117- crtfastmath.o
118-
119 CRTSTUFF_T_CFLAGS = `if test x$$($(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) \
120 -print-multi-os-directory) \
121 = x../lib64; then echo -mcmodel=medany; fi`
122diff --git a/gcc/config/sparc/t-sol2 b/gcc/config/sparc/t-sol2
123index 9db0c13..b7f665b 100644
124--- a/gcc/config/sparc/t-sol2
125+++ b/gcc/config/sparc/t-sol2
126@@ -26,10 +26,6 @@ $(T)gmon.o: $(srcdir)/config/sparc/gmon-sol2.c $(GCC_PASSES) \
127 # Assemble startup files.
128 $(T)crt1.o: $(srcdir)/config/sparc/sol2-c1.asm $(GCC_PASSES)
129 $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crt1.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-c1.asm
130-$(T)crti.o: $(srcdir)/config/sparc/sol2-ci.asm $(GCC_PASSES)
131- $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-ci.asm
132-$(T)crtn.o: $(srcdir)/config/sparc/sol2-cn.asm $(GCC_PASSES)
133- $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-cn.asm
134 $(T)gcrt1.o: $(srcdir)/config/sparc/sol2-c1.asm $(GCC_PASSES)
135 $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -DGCRT1 -o $(T)gcrt1.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-c1.asm
136
137diff --git a/gcc/config/sparc/t-sol2-64 b/gcc/config/sparc/t-sol2-64
138index a9f4ec1..1802239 100644
139--- a/gcc/config/sparc/t-sol2-64
140+++ b/gcc/config/sparc/t-sol2-64
141@@ -5,6 +5,3 @@ MULTILIB_OSDIRNAMES = . sparcv9
142
143 LIBGCC = stmp-multilib
144 INSTALL_LIBGCC = install-multilib
145-
146-EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o gmon.o crt1.o crti.o crtn.o gcrt1.o \
147- crtfastmath.o
148--
1491.7.0.4
150
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0308-PR-c-48647.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0308-PR-c-48647.patch
new file mode 100644
index 0000000000..fc369858aa
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0308-PR-c-48647.patch
@@ -0,0 +1,97 @@
1From 0bde772c9cd71ef31d4d1e99fb3687eb7086c330 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 22 May 2011 20:31:59 +0000
4Subject: [PATCH] PR c++/48647
5 * typeck.c (composite_pointer_type_r): Return error_mark_node
6 on error in SFINAE context.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174044 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 59bf3ab..9a81ea5 100644
11--- a/gcc/cp/typeck.c
12+++ b/gcc/cp/typeck.c
13@@ -516,7 +516,8 @@ composite_pointer_type_r (tree t1, tree t2,
14 {
15 if (complain & tf_error)
16 composite_pointer_error (DK_PERMERROR, t1, t2, operation);
17-
18+ else
19+ return error_mark_node;
20 result_type = void_type_node;
21 }
22 result_type = cp_build_qualified_type (result_type,
23@@ -527,9 +528,13 @@ composite_pointer_type_r (tree t1, tree t2,
24 if (TYPE_PTR_TO_MEMBER_P (t1))
25 {
26 if (!same_type_p (TYPE_PTRMEM_CLASS_TYPE (t1),
27- TYPE_PTRMEM_CLASS_TYPE (t2))
28- && (complain & tf_error))
29- composite_pointer_error (DK_PERMERROR, t1, t2, operation);
30+ TYPE_PTRMEM_CLASS_TYPE (t2)))
31+ {
32+ if (complain & tf_error)
33+ composite_pointer_error (DK_PERMERROR, t1, t2, operation);
34+ else
35+ return error_mark_node;
36+ }
37 result_type = build_ptrmem_type (TYPE_PTRMEM_CLASS_TYPE (t1),
38 result_type);
39 }
40new file mode 100644
41index 0000000..4e2ea88
42--- /dev/null
43+++ b/gcc/testsuite/g++.dg/cpp0x/sfinae23.C
44@@ -0,0 +1,28 @@
45+// PR c++/48647
46+// { dg-options -std=c++0x }
47+
48+template< class T >
49+T&& declval();
50+
51+template< class T, class U >
52+decltype( true ? declval<T>() : declval<U>() ) test( int );
53+
54+template< class T, class U >
55+void test( ... );
56+
57+
58+template< class T, class U >
59+struct is_same {
60+ static const bool value = false;
61+};
62+
63+template< class T >
64+struct is_same<T, T> {
65+ static const bool value = true;
66+};
67+
68+#define SA(X) static_assert ((X),#X)
69+
70+typedef decltype( test<int*, double*>(0) ) void_expected;
71+SA ((is_same<void_expected, void>::value));
72+SA ((!is_same<void_expected, void*>::value));
73diff --git a/gcc/testsuite/g++.dg/template/sfinae8.C b/gcc/testsuite/g++.dg/template/sfinae8.C
74index 2ad68dc..5ac09c6 100644
75--- a/gcc/testsuite/g++.dg/template/sfinae8.C
76+++ b/gcc/testsuite/g++.dg/template/sfinae8.C
77@@ -120,7 +120,7 @@ STATIC_ASSERT((!is_equality_comparable<Y, X>::value));
78 STATIC_ASSERT((!is_equality_comparable<Y>::value));
79 STATIC_ASSERT((is_equality_comparable<int X::*>::value));
80 STATIC_ASSERT((!is_equality_comparable<int X::*, int Y::*>::value));
81-STATIC_ASSERT((is_equality_comparable<int*, float*>::value));
82+STATIC_ASSERT((!is_equality_comparable<int*, float*>::value));
83 STATIC_ASSERT((is_equality_comparable<X*, Z*>::value));
84 STATIC_ASSERT((!is_equality_comparable<X*, Y*>::value));
85
86@@ -139,7 +139,7 @@ STATIC_ASSERT((!is_not_equal_comparable<Y, X>::value));
87 STATIC_ASSERT((!is_not_equal_comparable<Y>::value));
88 STATIC_ASSERT((is_not_equal_comparable<int X::*>::value));
89 STATIC_ASSERT((!is_not_equal_comparable<int X::*, int Y::*>::value));
90-STATIC_ASSERT((is_not_equal_comparable<int*, float*>::value));
91+STATIC_ASSERT((!is_not_equal_comparable<int*, float*>::value));
92 STATIC_ASSERT((is_not_equal_comparable<X*, Z*>::value));
93 STATIC_ASSERT((!is_not_equal_comparable<X*, Y*>::value));
94
95--
961.7.0.4
97
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0309-2011-05-22-Jonathan-Wakely-jwakely.gcc-gmail.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0309-2011-05-22-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
new file mode 100644
index 0000000000..f78604e136
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0309-2011-05-22-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
@@ -0,0 +1,185 @@
1From b2acc60a75029f02cf14633a15f3a8a242257154 Mon Sep 17 00:00:00 2001
2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 23 May 2011 00:08:52 +0000
4Subject: [PATCH] 2011-05-22 Jonathan Wakely <jwakely.gcc@gmail.com>
5
6 * testsuite/20_util/bind/cv_quals_2.cc: New.
7
82011-05-22 Paolo Carlini <paolo.carlini@oracle.com>
9
10 PR libstdc++/49058
11 * include/std/functional (_Bind<_Functor(_Bound_args...)>::
12 operator()(_Args&&...)): Don't cv qualify _Functor directly
13 in the default template argument, SFINAE doesn't apply when
14 the functor has no arguments.
15 * testsuite/20_util/bind/49058_1.cc: New.
16 * testsuite/20_util/bind/49058_2.cc: Likewise.
17
18
19git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174049 138bc75d-0d04-0410-961f-82ee72b054a4
20
21index 57ec506..45bee81 100644
22--- a/libstdc++-v3/include/std/functional
23+++ b/libstdc++-v3/include/std/functional
24@@ -1207,7 +1207,8 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
25
26 // Call as const
27 template<typename... _Args, typename _Result
28- = decltype( std::declval<const _Functor>()(
29+ = decltype( std::declval<typename enable_if<(sizeof...(_Args) >= 0),
30+ typename add_const<_Functor>::type>::type>()(
31 _Mu<_Bound_args>()( std::declval<const _Bound_args&>(),
32 std::declval<tuple<_Args...>&>() )... ) )>
33 _Result
34@@ -1220,7 +1221,8 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
35
36 // Call as volatile
37 template<typename... _Args, typename _Result
38- = decltype( std::declval<volatile _Functor>()(
39+ = decltype( std::declval<typename enable_if<(sizeof...(_Args) >= 0),
40+ typename add_volatile<_Functor>::type>::type>()(
41 _Mu<_Bound_args>()( std::declval<volatile _Bound_args&>(),
42 std::declval<tuple<_Args...>&>() )... ) )>
43 _Result
44@@ -1233,7 +1235,8 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
45
46 // Call as const volatile
47 template<typename... _Args, typename _Result
48- = decltype( std::declval<const volatile _Functor>()(
49+ = decltype( std::declval<typename enable_if<(sizeof...(_Args) >= 0),
50+ typename add_cv<_Functor>::type>::type>()(
51 _Mu<_Bound_args>()( std::declval<const volatile _Bound_args&>(),
52 std::declval<tuple<_Args...>&>() )... ) )>
53 _Result
54diff --git a/libstdc++-v3/testsuite/20_util/bind/49058_1.cc b/libstdc++-v3/testsuite/20_util/bind/49058_1.cc
55new file mode 100644
56index 0000000..fb34e08
57--- /dev/null
58+++ b/libstdc++-v3/testsuite/20_util/bind/49058_1.cc
59@@ -0,0 +1,34 @@
60+// { dg-options "-pedantic -std=gnu++0x" }
61+// { dg-do compile }
62+
63+// Copyright (C) 2011 Free Software Foundation, Inc.
64+//
65+// This file is part of the GNU ISO C++ Library. This library is free
66+// software; you can redistribute it and/or modify it under the
67+// terms of the GNU General Public License as published by the
68+// Free Software Foundation; either version 3, or (at your option)
69+// any later version.
70+
71+// This library is distributed in the hope that it will be useful,
72+// but WITHOUT ANY WARRANTY; without even the implied warranty of
73+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
74+// GNU General Public License for more details.
75+
76+// You should have received a copy of the GNU General Public License along
77+// with this library; see the file COPYING3. If not see
78+// <http://www.gnu.org/licenses/>.
79+
80+#include <functional>
81+
82+// PR libstdc++/49058
83+
84+struct F
85+{
86+ void
87+ operator()();
88+};
89+
90+void f()
91+{
92+ std::bind( F() );
93+}
94diff --git a/libstdc++-v3/testsuite/20_util/bind/49058_2.cc b/libstdc++-v3/testsuite/20_util/bind/49058_2.cc
95new file mode 100644
96index 0000000..fc9d9a2
97--- /dev/null
98+++ b/libstdc++-v3/testsuite/20_util/bind/49058_2.cc
99@@ -0,0 +1,28 @@
100+// { dg-options "-pedantic -std=gnu++0x" }
101+// { dg-do compile }
102+
103+// Copyright (C) 2011 Free Software Foundation, Inc.
104+//
105+// This file is part of the GNU ISO C++ Library. This library is free
106+// software; you can redistribute it and/or modify it under the
107+// terms of the GNU General Public License as published by the
108+// Free Software Foundation; either version 3, or (at your option)
109+// any later version.
110+
111+// This library is distributed in the hope that it will be useful,
112+// but WITHOUT ANY WARRANTY; without even the implied warranty of
113+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
114+// GNU General Public License for more details.
115+
116+// You should have received a copy of the GNU General Public License along
117+// with this library; see the file COPYING3. If not see
118+// <http://www.gnu.org/licenses/>.
119+
120+#include <functional>
121+
122+// PR libstdc++/49058
123+
124+void f()
125+{
126+ std::bind( []{} );
127+}
128diff --git a/libstdc++-v3/testsuite/20_util/bind/cv_quals_2.cc b/libstdc++-v3/testsuite/20_util/bind/cv_quals_2.cc
129new file mode 100644
130index 0000000..067d862
131--- /dev/null
132+++ b/libstdc++-v3/testsuite/20_util/bind/cv_quals_2.cc
133@@ -0,0 +1,49 @@
134+// Copyright (C) 2011 Free Software Foundation, Inc.
135+//
136+// This file is part of the GNU ISO C++ Library. This library is free
137+// software; you can redistribute it and/or modify it under the
138+// terms of the GNU General Public License as published by the
139+// Free Software Foundation; either version 3, or (at your option)
140+// any later version.
141+
142+// This library is distributed in the hope that it will be useful,
143+// but WITHOUT ANY WARRANTY; without even the implied warranty of
144+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
145+// GNU General Public License for more details.
146+
147+// You should have received a copy of the GNU General Public License along
148+// with this library; see the file COPYING3. If not see
149+// <http://www.gnu.org/licenses/>.
150+
151+// { dg-options "-std=gnu++0x" }
152+
153+#include <functional>
154+#include <testsuite_hooks.h>
155+
156+struct X
157+{
158+ int operator()() const { return 0; }
159+ int operator()() volatile { return 1; }
160+ int operator()() const volatile { return 2; }
161+ void operator()() { };
162+};
163+
164+void test01()
165+{
166+ bool test __attribute__((unused)) = true;
167+
168+ const auto b0 = std::bind(X());
169+ VERIFY( b0() == 0 );
170+
171+ volatile auto b1 = std::bind(X());
172+ VERIFY( b1() == 1 );
173+
174+ const volatile auto b2 = std::bind(X());
175+ VERIFY( b2() == 2 );
176+}
177+
178+int main()
179+{
180+ test01();
181+ return 0;
182+}
183--
1841.7.0.4
185
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0311-PR-middle-end-48973.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0311-PR-middle-end-48973.patch
new file mode 100644
index 0000000000..c6aa270623
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0311-PR-middle-end-48973.patch
@@ -0,0 +1,101 @@
1From ec0109fe82032e869880728da5b026a89c64473f Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 23 May 2011 10:24:47 +0000
4Subject: [PATCH] PR middle-end/48973
5 * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
6 failed and the comparison has a single bit signed type, use
7 constm1_rtx instead of const1_rtx for true value.
8 (do_store_flag): If ops->type is single bit signed type, disable
9 signel bit test optimization and pass -1 instead of 1 as last
10 parameter to emit_store_flag_force.
11
12 * gcc.c-torture/execute/pr48973-1.c: New test.
13 * gcc.c-torture/execute/pr48973-2.c: New test.
14
15
16git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174063 138bc75d-0d04-0410-961f-82ee72b054a4
17
18index 1de0ce4..9a81754 100644
19--- a/gcc/expr.c
20+++ b/gcc/expr.c
21@@ -8134,7 +8134,10 @@ expand_expr_real_2 (sepops ops, rtx target, enum machine_mode tmode,
22 op1 = gen_label_rtx ();
23 jumpifnot_1 (code, treeop0, treeop1, op1, -1);
24
25- emit_move_insn (target, const1_rtx);
26+ if (TYPE_PRECISION (type) == 1 && !TYPE_UNSIGNED (type))
27+ emit_move_insn (target, constm1_rtx);
28+ else
29+ emit_move_insn (target, const1_rtx);
30
31 emit_label (op1);
32 return target;
33@@ -10088,7 +10091,8 @@ do_store_flag (sepops ops, rtx target, enum machine_mode mode)
34
35 if ((code == NE || code == EQ)
36 && TREE_CODE (arg0) == BIT_AND_EXPR && integer_zerop (arg1)
37- && integer_pow2p (TREE_OPERAND (arg0, 1)))
38+ && integer_pow2p (TREE_OPERAND (arg0, 1))
39+ && (TYPE_PRECISION (ops->type) != 1 || TYPE_UNSIGNED (ops->type)))
40 {
41 tree type = lang_hooks.types.type_for_mode (mode, unsignedp);
42 return expand_expr (fold_single_bit_test (loc,
43@@ -10108,7 +10112,9 @@ do_store_flag (sepops ops, rtx target, enum machine_mode mode)
44
45 /* Try a cstore if possible. */
46 return emit_store_flag_force (target, code, op0, op1,
47- operand_mode, unsignedp, 1);
48+ operand_mode, unsignedp,
49+ (TYPE_PRECISION (ops->type) == 1
50+ && !TYPE_UNSIGNED (ops->type)) ? -1 : 1);
51 }
52
53
54new file mode 100644
55index 0000000..02688a0
56--- /dev/null
57+++ b/gcc/testsuite/gcc.c-torture/execute/pr48973-1.c
58@@ -0,0 +1,20 @@
59+/* PR middle-end/48973 */
60+
61+extern void abort (void);
62+struct S { int f : 1; } s;
63+int v = -1;
64+
65+void
66+foo (unsigned int x)
67+{
68+ if (x != -1U)
69+ abort ();
70+}
71+
72+int
73+main ()
74+{
75+ s.f = (v & 1) > 0;
76+ foo (s.f);
77+ return 0;
78+}
79diff --git a/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c b/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c
80new file mode 100644
81index 0000000..a64d491
82--- /dev/null
83+++ b/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c
84@@ -0,0 +1,14 @@
85+/* PR middle-end/48973 */
86+
87+extern void abort (void);
88+struct S { int f : 1; } s;
89+int v = -1;
90+
91+int
92+main ()
93+{
94+ s.f = v < 0;
95+ if ((unsigned int) s.f != -1U)
96+ abort ();
97+ return 0;
98+}
99--
1001.7.0.4
101
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0312-PR-c-49120.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0312-PR-c-49120.patch
new file mode 100644
index 0000000000..d5131812a4
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0312-PR-c-49120.patch
@@ -0,0 +1,50 @@
1From 6a3b64a24d74b084b77e5f0bbff64b0ea7b70159 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 23 May 2011 18:03:31 +0000
4Subject: [PATCH] PR c/49120
5 * c-decl.c (start_decl): Convert expr to void_type_node.
6
7 * gcc.dg/pr49120.c: New test.
8
9
10git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174082 138bc75d-0d04-0410-961f-82ee72b054a4
11
12index 4e82f28..001330c 100644
13--- a/gcc/c-decl.c
14+++ b/gcc/c-decl.c
15@@ -1,6 +1,6 @@
16 /* Process declarations and variables for C compiler.
17 Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
18- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
19+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
20 Free Software Foundation, Inc.
21
22 This file is part of GCC.
23@@ -3948,7 +3948,7 @@ start_decl (struct c_declarator *declarator, struct c_declspecs *declspecs,
24 return 0;
25
26 if (expr)
27- add_stmt (expr);
28+ add_stmt (fold_convert (void_type_node, expr));
29
30 if (TREE_CODE (decl) != FUNCTION_DECL && MAIN_NAME_P (DECL_NAME (decl)))
31 warning (OPT_Wmain, "%q+D is usually a function", decl);
32new file mode 100644
33index 0000000..1a65222
34--- /dev/null
35+++ b/gcc/testsuite/gcc.dg/pr49120.c
36@@ -0,0 +1,11 @@
37+/* PR c/49120 */
38+/* { dg-do compile } */
39+/* { dg-options "-Wall" } */
40+
41+int
42+main ()
43+{
44+ int a = 1;
45+ int c = ({ char b[a + 1]; b[0] = 0; b[0]; });
46+ return c;
47+}
48--
491.7.0.4
50
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0313-PR-debug-49032.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0313-PR-debug-49032.patch
new file mode 100644
index 0000000000..6400d8749c
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0313-PR-debug-49032.patch
@@ -0,0 +1,90 @@
1From 62593aed2e6b228ae5b85fb9721b45cc92cce894 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 23 May 2011 18:12:34 +0000
4Subject: [PATCH] PR debug/49032
5 * dbxout.c: Include cgraph.h.
6 (dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
7 and without value expr, return NULL if no varpool node exists for
8 it or if it is not needed.
9 * Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
10
11 * gcc.dg/debug/pr49032.c: New test.
12
13
14git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174084 138bc75d-0d04-0410-961f-82ee72b054a4
15
16index 792ca6c..60dcee5 100644
17--- a/gcc/Makefile.in
18+++ b/gcc/Makefile.in
19@@ -2921,7 +2921,8 @@ optabs.o : optabs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
20 dbxout.o : dbxout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
21 $(RTL_H) $(FLAGS_H) $(REGS_H) debug.h $(TM_P_H) $(TARGET_H) $(FUNCTION_H) \
22 langhooks.h insn-config.h reload.h $(GSTAB_H) xcoffout.h output.h dbxout.h \
23- toplev.h $(DIAGNOSTIC_CORE_H) $(GGC_H) $(OBSTACK_H) $(EXPR_H) gt-dbxout.h
24+ toplev.h $(DIAGNOSTIC_CORE_H) $(GGC_H) $(OBSTACK_H) $(EXPR_H) $(CGRAPH_H) \
25+ gt-dbxout.h
26 debug.o : debug.c debug.h $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H)
27 sdbout.o : sdbout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) debug.h \
28 $(TREE_H) $(GGC_H) $(RTL_H) $(REGS_H) $(FLAGS_H) insn-config.h \
29diff --git a/gcc/dbxout.c b/gcc/dbxout.c
30index 3b0cf34..836030d 100644
31--- a/gcc/dbxout.c
32+++ b/gcc/dbxout.c
33@@ -1,7 +1,7 @@
34 /* Output dbx-format symbol table information from GNU compiler.
35 Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
36- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
37- Free Software Foundation, Inc.
38+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
39+ 2011 Free Software Foundation, Inc.
40
41 This file is part of GCC.
42
43@@ -91,6 +91,7 @@ along with GCC; see the file COPYING3. If not see
44 #include "langhooks.h"
45 #include "obstack.h"
46 #include "expr.h"
47+#include "cgraph.h"
48
49 #ifdef XCOFF_DEBUGGING_INFO
50 #include "xcoffout.h"
51@@ -2393,6 +2394,20 @@ dbxout_expand_expr (tree expr)
52 disable debug info for these variables. */
53 if (!targetm.have_tls && DECL_THREAD_LOCAL_P (expr))
54 return NULL;
55+ if (TREE_STATIC (expr)
56+ && !TREE_ASM_WRITTEN (expr)
57+ && !DECL_HAS_VALUE_EXPR_P (expr)
58+ && !TREE_PUBLIC (expr)
59+ && DECL_RTL_SET_P (expr)
60+ && MEM_P (DECL_RTL (expr)))
61+ {
62+ /* If this is a var that might not be actually output,
63+ return NULL, otherwise stabs might reference an undefined
64+ symbol. */
65+ struct varpool_node *node = varpool_get_node (expr);
66+ if (!node || !node->needed)
67+ return NULL;
68+ }
69 /* FALLTHRU */
70
71 case PARM_DECL:
72new file mode 100644
73index 0000000..3985040
74--- /dev/null
75+++ b/gcc/testsuite/gcc.dg/debug/pr49032.c
76@@ -0,0 +1,11 @@
77+/* PR debug/49032 */
78+/* { dg-do link } */
79+
80+static int s = 42;
81+
82+int
83+main ()
84+{
85+ int *l[18] = { &s, &s, &s, &s, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
86+ return 0;
87+}
88--
891.7.0.4
90
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0314-PR-lto-49123.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0314-PR-lto-49123.patch
new file mode 100644
index 0000000000..5832175573
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0314-PR-lto-49123.patch
@@ -0,0 +1,49 @@
1From 433d639c131ead9f557814afb1f15a0b81e86143 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 23 May 2011 20:37:18 +0000
4Subject: [PATCH] PR lto/49123
5 * fold-const.c (constant_boolean_node): If type is non-NULL,
6 use build_int_cst_type instead of build_int_cst.
7
8 * gcc.c-torture/execute/pr49123.c: New test.
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174087 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index 053ae30..51be79d 100644
14--- a/gcc/fold-const.c
15+++ b/gcc/fold-const.c
16@@ -5953,8 +5953,10 @@ constant_boolean_node (int value, tree type)
17 return value ? integer_one_node : integer_zero_node;
18 else if (type == boolean_type_node)
19 return value ? boolean_true_node : boolean_false_node;
20+ else if (type)
21+ return build_int_cst_type (type, value);
22 else
23- return build_int_cst (type, value);
24+ return build_int_cst (NULL_TREE, value);
25 }
26
27
28new file mode 100644
29index 0000000..2f1f793
30--- /dev/null
31+++ b/gcc/testsuite/gcc.c-torture/execute/pr49123.c
32@@ -0,0 +1,14 @@
33+/* PR lto/49123 */
34+
35+extern void abort (void);
36+static struct S { int f : 1; } s;
37+static int v = -1;
38+
39+int
40+main ()
41+{
42+ s.f = v < 0;
43+ if ((unsigned int) s.f != -1U)
44+ abort ();
45+ return 0;
46+}
47--
481.7.0.4
49
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0316-Always-add-mno-XXX-for-march-native.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0316-Always-add-mno-XXX-for-march-native.patch
new file mode 100644
index 0000000000..b32aaa9c99
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0316-Always-add-mno-XXX-for-march-native.patch
@@ -0,0 +1,98 @@
1From c6d129bd59a33539ec842283252e7ace52a82838 Mon Sep 17 00:00:00 2001
2From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 24 May 2011 17:41:51 +0000
4Subject: [PATCH] Always add -mno-XXX for -march=native.
5
62011-05-24 H.J. Lu <hongjiu.lu@intel.com>
7
8 Backport from mainline
9 2011-05-24 H.J. Lu <hongjiu.lu@intel.com>
10
11 PR target/49128
12 * config/i386/driver-i386.c (host_detect_local_cpu): Always
13 add -mno-XXX. Handle FMA.
14
15
16git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174127 138bc75d-0d04-0410-961f-82ee72b054a4
17
18index 35962c8..747122b 100644
19--- a/gcc/config/i386/driver-i386.c
20+++ b/gcc/config/i386/driver-i386.c
21@@ -395,7 +395,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
22 unsigned int has_movbe = 0, has_sse4_1 = 0, has_sse4_2 = 0;
23 unsigned int has_popcnt = 0, has_aes = 0, has_avx = 0;
24 unsigned int has_pclmul = 0, has_abm = 0, has_lwp = 0;
25- unsigned int has_fma4 = 0, has_xop = 0;
26+ unsigned int has_fma = 0, has_fma4 = 0, has_xop = 0;
27 unsigned int has_bmi = 0, has_tbm = 0;
28
29 bool arch;
30@@ -443,6 +443,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
31 has_popcnt = ecx & bit_POPCNT;
32 has_aes = ecx & bit_AES;
33 has_pclmul = ecx & bit_PCLMUL;
34+ has_fma = ecx & bit_FMA;
35
36 has_cmpxchg8b = edx & bit_CMPXCHG8B;
37 has_cmov = edx & bit_CMOV;
38@@ -681,37 +682,26 @@ const char *host_detect_local_cpu (int argc, const char **argv)
39
40 if (arch)
41 {
42- if (has_cmpxchg16b)
43- options = concat (options, " -mcx16", NULL);
44- if (has_lahf_lm)
45- options = concat (options, " -msahf", NULL);
46- if (has_movbe)
47- options = concat (options, " -mmovbe", NULL);
48- if (has_aes)
49- options = concat (options, " -maes", NULL);
50- if (has_pclmul)
51- options = concat (options, " -mpclmul", NULL);
52- if (has_popcnt)
53- options = concat (options, " -mpopcnt", NULL);
54- if (has_abm)
55- options = concat (options, " -mabm", NULL);
56- if (has_lwp)
57- options = concat (options, " -mlwp", NULL);
58- if (has_fma4)
59- options = concat (options, " -mfma4", NULL);
60- if (has_xop)
61- options = concat (options, " -mxop", NULL);
62- if (has_bmi)
63- options = concat (options, " -mbmi", NULL);
64- if (has_tbm)
65- options = concat (options, " -mtbm", NULL);
66-
67- if (has_avx)
68- options = concat (options, " -mavx", NULL);
69- else if (has_sse4_2)
70- options = concat (options, " -msse4.2", NULL);
71- else if (has_sse4_1)
72- options = concat (options, " -msse4.1", NULL);
73+ const char *cx16 = has_cmpxchg16b ? " -mcx16" : " -mno-cx16";
74+ const char *sahf = has_lahf_lm ? " -msahf" : " -mno-sahf";
75+ const char *movbe = has_movbe ? " -mmovbe" : " -mno-movbe";
76+ const char *ase = has_aes ? " -maes" : " -mno-aes";
77+ const char *pclmul = has_pclmul ? " -mpclmul" : " -mno-pclmul";
78+ const char *popcnt = has_popcnt ? " -mpopcnt" : " -mno-popcnt";
79+ const char *abm = has_abm ? " -mabm" : " -mno-abm";
80+ const char *lwp = has_lwp ? " -mlwp" : " -mno-lwp";
81+ const char *fma = has_fma ? " -mfma" : " -mno-fma";
82+ const char *fma4 = has_fma4 ? " -mfma4" : " -mno-fma4";
83+ const char *xop = has_xop ? " -mxop" : " -mno-xop";
84+ const char *bmi = has_bmi ? " -mbmi" : " -mno-bmi";
85+ const char *tbm = has_tbm ? " -mtbm" : " -mno-tbm";
86+ const char *avx = has_avx ? " -mavx" : " -mno-avx";
87+ const char *sse4_2 = has_sse4_2 ? " -msse4.2" : " -mno-msse4.2";
88+ const char *sse4_1 = has_sse4_1 ? " -msse4.1" : " -mno-sse4.1";
89+
90+ options = concat (options, cx16, sahf, movbe, ase, pclmul,
91+ popcnt, abm, lwp, fma, fma4, xop, bmi, tbm,
92+ avx, sse4_2, sse4_1, NULL);
93 }
94
95 done:
96--
971.7.0.4
98
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0317-PR-target-49133.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0317-PR-target-49133.patch
new file mode 100644
index 0000000000..0d77b77881
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0317-PR-target-49133.patch
@@ -0,0 +1,93 @@
1From 9aeec4c33a6e405da2d97c3c45efe2165b44cf97 Mon Sep 17 00:00:00 2001
2From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 24 May 2011 18:41:31 +0000
4Subject: [PATCH] PR target/49133
5 * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.
6
7testsuite/ChangeLog:
8
9 PR target/49133
10 * g++.dg/other/pr49133.C: New test.
11
12
13
14git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174131 138bc75d-0d04-0410-961f-82ee72b054a4
15
16index c9866f0..7e18678 100644
17--- a/gcc/config/i386/sse.md
18+++ b/gcc/config/i386/sse.md
19@@ -4950,24 +4950,22 @@
20 ;; Avoid combining registers from different units in a single alternative,
21 ;; see comment above inline_secondary_memory_needed function in i386.c
22 (define_insn "sse2_loadhpd"
23- [(set (match_operand:V2DF 0 "nonimmediate_operand" "=x,x,x,o,o,o")
24+ [(set (match_operand:V2DF 0 "nonimmediate_operand" "=x,x,o,o,o")
25 (vec_concat:V2DF
26 (vec_select:DF
27- (match_operand:V2DF 1 "nonimmediate_operand" " 0,0,x,0,0,0")
28+ (match_operand:V2DF 1 "nonimmediate_operand" " 0,0,0,0,0")
29 (parallel [(const_int 0)]))
30- (match_operand:DF 2 "nonimmediate_operand" " m,x,0,x,*f,r")))]
31+ (match_operand:DF 2 "nonimmediate_operand" " m,x,x,*f,r")))]
32 "TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))"
33 "@
34 movhpd\t{%2, %0|%0, %2}
35 unpcklpd\t{%2, %0|%0, %2}
36- shufpd\t{$1, %1, %0|%0, %1, 1}
37 #
38 #
39 #"
40- [(set_attr "type" "ssemov,sselog,sselog,ssemov,fmov,imov")
41- (set_attr "prefix_data16" "1,*,*,*,*,*")
42- (set_attr "length_immediate" "*,*,1,*,*,*")
43- (set_attr "mode" "V1DF,V2DF,V2DF,DF,DF,DF")])
44+ [(set_attr "type" "ssemov,sselog,ssemov,fmov,imov")
45+ (set_attr "prefix_data16" "1,*,*,*,*")
46+ (set_attr "mode" "V1DF,V2DF,DF,DF,DF")])
47
48 (define_split
49 [(set (match_operand:V2DF 0 "memory_operand" "")
50new file mode 100644
51index 0000000..a59687f
52--- /dev/null
53+++ b/gcc/testsuite/g++.dg/other/pr49133.C
54@@ -0,0 +1,36 @@
55+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
56+/* { dg-options "-O2 -msse2" } */
57+/* { dg-require-effective-target sse2_runtime } */
58+
59+#include <xmmintrin.h>
60+
61+extern "C" void abort ();
62+
63+typedef double double_a __attribute__((__may_alias__));
64+
65+struct V
66+{
67+ __m128d data;
68+};
69+
70+int
71+main()
72+{
73+ V a;
74+ __m128d b;
75+
76+ b = _mm_set_pd (1., 0.);
77+ a.data = _mm_set_pd (1., 0.);
78+ a.data = _mm_add_pd (a.data,
79+ _mm_and_pd (_mm_cmpeq_pd (a.data, _mm_set1_pd (0.)),
80+ _mm_set1_pd (2.)));
81+ reinterpret_cast<double_a *>(&a.data)[1] += 1.;
82+ b = _mm_add_pd (b, _mm_and_pd (_mm_cmpeq_pd (b, _mm_set1_pd (0.)),
83+ _mm_set1_pd (1.)));
84+ b = _mm_add_pd (b, _mm_and_pd (_mm_cmpeq_pd (b, _mm_set1_pd (1.)),
85+ _mm_set1_pd (1.)));
86+ if (_mm_movemask_pd (_mm_cmpeq_pd (a.data, b)) != 0x3)
87+ abort();
88+
89+ return 0;
90+}
91--
921.7.0.4
93
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0318-config-sparc-sparc.c-sparc_option_override-If-not-se.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0318-config-sparc-sparc.c-sparc_option_override-If-not-se.patch
new file mode 100644
index 0000000000..cbdd2df093
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0318-config-sparc-sparc.c-sparc_option_override-If-not-se.patch
@@ -0,0 +1,27 @@
1From c270038da4551bed55d36f8b51337a03bce0e1b2 Mon Sep 17 00:00:00 2001
2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 24 May 2011 22:29:40 +0000
4Subject: [PATCH] * config/sparc/sparc.c (sparc_option_override): If not set by the user,
5 force flag_ira_share_save_slots to 0.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174149 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 8ad374a..c6a2047 100644
10--- a/gcc/config/sparc/sparc.c
11+++ b/gcc/config/sparc/sparc.c
12@@ -970,6 +970,12 @@ sparc_option_override (void)
13 ? 64 : 32),
14 global_options.x_param_values,
15 global_options_set.x_param_values);
16+
17+ /* Disable save slot sharing for call-clobbered registers by default.
18+ The IRA sharing algorithm works on single registers only and this
19+ pessimizes for double floating-point registers. */
20+ if (!global_options_set.x_flag_ira_share_save_slots)
21+ flag_ira_share_save_slots = 0;
22 }
23
24 /* Miscellaneous utilities. */
25--
261.7.0.4
27
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0320-PR-c-48617.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0320-PR-c-48617.patch
new file mode 100644
index 0000000000..9186fe0d7b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0320-PR-c-48617.patch
@@ -0,0 +1,37 @@
1From 67d72b54cf6df49411f806fac3b0519dbceaa576 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 01:08:07 +0000
4Subject: [PATCH] PR c++/48617
5 * pt.c (invalid_nontype_parm_type_p): Allow DECLTYPE_TYPE.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174158 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index d9c7ac4..8646f08 100644
10--- a/gcc/cp/pt.c
11+++ b/gcc/cp/pt.c
12@@ -17867,6 +17867,8 @@ invalid_nontype_parm_type_p (tree type, tsubst_flags_t complain)
13 return 0;
14 else if (TREE_CODE (type) == TYPENAME_TYPE)
15 return 0;
16+ else if (TREE_CODE (type) == DECLTYPE_TYPE)
17+ return 0;
18
19 if (complain & tf_error)
20 error ("%q#T is not a valid type for a template constant parameter", type);
21new file mode 100644
22index 0000000..cb962ad
23--- /dev/null
24+++ b/gcc/testsuite/g++.dg/cpp0x/decltype27.C
25@@ -0,0 +1,9 @@
26+// PR c++/48617
27+// { dg-options -std=c++0x }
28+
29+template<class T, decltype(T())> // #
30+struct A {};
31+
32+A<int, 0> a;
33+
34+int main() {}
35--
361.7.0.4
37
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0321-PR-c-47544.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0321-PR-c-47544.patch
new file mode 100644
index 0000000000..f5d08a7ca0
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0321-PR-c-47544.patch
@@ -0,0 +1,57 @@
1From a3e14f367c292f053515b5244bf0b7fb11a4e0bc Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 01:08:16 +0000
4Subject: [PATCH] PR c++/47544
5 * pt.c (instantiate_decl): Handle =default.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174159 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 8646f08..c8eb1d5 100644
10--- a/gcc/cp/pt.c
11+++ b/gcc/cp/pt.c
12@@ -17210,7 +17210,8 @@ instantiate_decl (tree d, int defer_ok,
13 args = gen_args;
14
15 if (TREE_CODE (d) == FUNCTION_DECL)
16- pattern_defined = (DECL_SAVED_TREE (code_pattern) != NULL_TREE);
17+ pattern_defined = (DECL_SAVED_TREE (code_pattern) != NULL_TREE
18+ || DECL_DEFAULTED_OUTSIDE_CLASS_P (code_pattern));
19 else
20 pattern_defined = ! DECL_IN_AGGR_P (code_pattern);
21
22@@ -17405,6 +17406,8 @@ instantiate_decl (tree d, int defer_ok,
23 cp_finish_decl (d, init, const_init, NULL_TREE, 0);
24 pop_nested_class ();
25 }
26+ else if (TREE_CODE (d) == FUNCTION_DECL && DECL_DEFAULTED_FN (code_pattern))
27+ synthesize_method (d);
28 else if (TREE_CODE (d) == FUNCTION_DECL)
29 {
30 htab_t saved_local_specializations;
31new file mode 100644
32index 0000000..7d9139d
33--- /dev/null
34+++ b/gcc/testsuite/g++.dg/cpp0x/defaulted27.C
35@@ -0,0 +1,19 @@
36+// PR c++/47544
37+// { dg-options -std=c++0x }
38+// { dg-final { scan-assembler "_ZN1sIiEC2Ev" } }
39+// { dg-final { scan-assembler-not "_ZN1sIiED2Ev" } }
40+
41+template <typename T>
42+struct s {
43+ s();
44+ ~s() = default;
45+};
46+
47+extern template struct s<int>;
48+
49+template <typename T>
50+s<T>::s() = default;
51+
52+template struct s<int>;
53+
54+s<int> a;
55--
561.7.0.4
57
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0322-PR-c-47336.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0322-PR-c-47336.patch
new file mode 100644
index 0000000000..d5bdf2ca9d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0322-PR-c-47336.patch
@@ -0,0 +1,53 @@
1From cabe6e4db49d70512f795dd87a2c6e67f2587648 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 01:08:24 +0000
4Subject: [PATCH] PR c++/47336
5 * error.c (dump_template_bindings): Suppress access control.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174160 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 28305d2..2477123 100644
10--- a/gcc/cp/error.c
11+++ b/gcc/cp/error.c
12@@ -312,7 +312,9 @@ dump_template_bindings (tree parms, tree args, VEC(tree,gc)* typenames)
13 pp_cxx_whitespace (cxx_pp);
14 pp_equal (cxx_pp);
15 pp_cxx_whitespace (cxx_pp);
16+ push_deferring_access_checks (dk_no_check);
17 t = tsubst (t, args, tf_none, NULL_TREE);
18+ pop_deferring_access_checks ();
19 /* Strip typedefs. We can't just use TFF_CHASE_TYPEDEF because
20 pp_simple_type_specifier doesn't know about it. */
21 t = strip_typedefs (t);
22new file mode 100644
23index 0000000..e7da961
24--- /dev/null
25+++ b/gcc/testsuite/g++.dg/cpp0x/error3.C
26@@ -0,0 +1,24 @@
27+// PR c++/47336
28+// { dg-options -std=c++0x }
29+
30+template <typename T>
31+void g(T t)
32+{
33+ t+1; // { dg-error "no match" }
34+}
35+
36+template <typename S>
37+class C
38+{
39+ struct D {} d;
40+public:
41+ decltype(g(d)) h()
42+ {
43+ return g(d);
44+ }
45+};
46+
47+int main()
48+{
49+ C<int>().h();
50+}
51--
521.7.0.4
53
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0323-PR-c-47263.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0323-PR-c-47263.patch
new file mode 100644
index 0000000000..2983f8473e
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0323-PR-c-47263.patch
@@ -0,0 +1,45 @@
1From 83cedb74fbe2740877ae824da6ee339342eaddee Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 01:08:31 +0000
4Subject: [PATCH] PR c++/47263
5 * decl.c (use_eh_spec_block): Do use an EH spec block for a
6 lambda op().
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174161 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 108bb47..9e029d2 100644
11--- a/gcc/cp/decl.c
12+++ b/gcc/cp/decl.c
13@@ -12570,7 +12570,7 @@ use_eh_spec_block (tree fn)
14 not creating the EH_SPEC_BLOCK we save a little memory,
15 and we avoid spurious warnings about unreachable
16 code. */
17- && !DECL_ARTIFICIAL (fn));
18+ && !DECL_DEFAULTED_FN (fn));
19 }
20
21 /* Store the parameter declarations into the current function declaration.
22new file mode 100644
23index 0000000..1490a25
24--- /dev/null
25+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-eh2.C
26@@ -0,0 +1,16 @@
27+// PR c++/47263
28+// { dg-options -std=c++0x }
29+// { dg-do run }
30+
31+#include <exception>
32+
33+int main( void )
34+{
35+ std::set_unexpected( []{ throw 0; } );
36+ try
37+ {
38+ []() throw( int ) { throw nullptr; }();
39+ }
40+ catch( int )
41+ { }
42+}
43--
441.7.0.4
45
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0324-PR-c-49105.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0324-PR-c-49105.patch
new file mode 100644
index 0000000000..895fc54aef
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0324-PR-c-49105.patch
@@ -0,0 +1,75 @@
1From 64c58ffe439f284f8ff22900f2bbd4923e92d835 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 01:08:38 +0000
4Subject: [PATCH] PR c++/49105
5 * typeck.c (build_const_cast_1): Handle rvalue references.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174162 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 9a81ea5..578eb83 100644
10--- a/gcc/cp/typeck.c
11+++ b/gcc/cp/typeck.c
12@@ -6220,14 +6220,29 @@ build_const_cast_1 (tree dst_type, tree expr, bool complain,
13
14 /* [expr.const.cast]
15
16- An lvalue of type T1 can be explicitly converted to an lvalue of
17- type T2 using the cast const_cast<T2&> (where T1 and T2 are object
18- types) if a pointer to T1 can be explicitly converted to the type
19- pointer to T2 using a const_cast. */
20+ For two object types T1 and T2, if a pointer to T1 can be explicitly
21+ converted to the type "pointer to T2" using a const_cast, then the
22+ following conversions can also be made:
23+
24+ -- an lvalue of type T1 can be explicitly converted to an lvalue of
25+ type T2 using the cast const_cast<T2&>;
26+
27+ -- a glvalue of type T1 can be explicitly converted to an xvalue of
28+ type T2 using the cast const_cast<T2&&>; and
29+
30+ -- if T1 is a class type, a prvalue of type T1 can be explicitly
31+ converted to an xvalue of type T2 using the cast const_cast<T2&&>. */
32+
33 if (TREE_CODE (dst_type) == REFERENCE_TYPE)
34 {
35 reference_type = dst_type;
36- if (! real_lvalue_p (expr))
37+ if (!TYPE_REF_IS_RVALUE (dst_type)
38+ ? real_lvalue_p (expr)
39+ : (CLASS_TYPE_P (TREE_TYPE (dst_type))
40+ ? lvalue_p (expr)
41+ : lvalue_or_rvalue_with_address_p (expr)))
42+ /* OK. */;
43+ else
44 {
45 if (complain)
46 error ("invalid const_cast of an rvalue of type %qT to type %qT",
47new file mode 100644
48index 0000000..94ee4ca
49--- /dev/null
50+++ b/gcc/testsuite/g++.dg/cpp0x/rv-cast2.C
51@@ -0,0 +1,21 @@
52+// Test for const_cast to reference (5.2.11/4).
53+// { dg-options -std=c++0x }
54+
55+template <class T> T&& xval();
56+template <class T> T& lval();
57+template <class T> T prval();
58+
59+struct A { };
60+
61+int main()
62+{
63+ const_cast<int&>(lval<int>());
64+ const_cast<int&>(xval<int>()); // { dg-error "" }
65+ const_cast<int&>(prval<int>()); // { dg-error "" }
66+ const_cast<int&&>(lval<int>());
67+ const_cast<int&&>(xval<int>());
68+ const_cast<int&&>(prval<int>()); // { dg-error "" }
69+ const_cast<A&&>(lval<A>());
70+ const_cast<A&&>(xval<A>());
71+ const_cast<A&&>(prval<A>());
72+}
73--
741.7.0.4
75
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0325-PR-c-48884.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0325-PR-c-48884.patch
new file mode 100644
index 0000000000..3eccc8622f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0325-PR-c-48884.patch
@@ -0,0 +1,86 @@
1From 40c44f13de1ac037a120636d569933155f5e5af7 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 01:08:46 +0000
4Subject: [PATCH] PR c++/48884
5 * pt.c (fn_type_unification): Disable access control during
6 substitution.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174163 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index c8eb1d5..e7040c1 100644
11--- a/gcc/cp/pt.c
12+++ b/gcc/cp/pt.c
13@@ -13743,7 +13743,9 @@ fn_type_unification (tree fn,
14 incomplete = NUM_TMPL_ARGS (explicit_targs) != NUM_TMPL_ARGS (targs);
15
16 processing_template_decl += incomplete;
17+ push_deferring_access_checks (dk_no_check);
18 fntype = tsubst (fntype, converted_args, tf_none, NULL_TREE);
19+ pop_deferring_access_checks ();
20 processing_template_decl -= incomplete;
21
22 if (fntype == error_mark_node)
23@@ -13830,7 +13832,10 @@ fn_type_unification (tree fn,
24 substitution results in an invalid type, as described above,
25 type deduction fails. */
26 {
27- tree substed = tsubst (TREE_TYPE (fn), targs, tf_none, NULL_TREE);
28+ tree substed;
29+ push_deferring_access_checks (dk_no_check);
30+ substed = tsubst (TREE_TYPE (fn), targs, tf_none, NULL_TREE);
31+ pop_deferring_access_checks ();
32 if (substed == error_mark_node)
33 return 1;
34
35new file mode 100644
36index 0000000..8414c43
37--- /dev/null
38+++ b/gcc/testsuite/g++.dg/template/access21.C
39@@ -0,0 +1,23 @@
40+// PR c++/48884
41+
42+class X
43+{
44+ static const int I = 42;
45+ friend struct Y;
46+};
47+
48+template <int I> struct A { };
49+
50+struct Y
51+{
52+ template <typename T>
53+ static A<T::I> f(T t)
54+ {
55+ return A<T::I>();
56+ }
57+};
58+
59+int main()
60+{
61+ Y::f(X());
62+}
63diff --git a/gcc/testsuite/g++.dg/template/access22.C b/gcc/testsuite/g++.dg/template/access22.C
64new file mode 100644
65index 0000000..9ee28a2
66--- /dev/null
67+++ b/gcc/testsuite/g++.dg/template/access22.C
68@@ -0,0 +1,15 @@
69+template <int I> struct B { };
70+
71+template <class T>
72+B<T::I> f();
73+
74+class A
75+{
76+ static const int I = 42;
77+ template <class T> friend B<T::I> f();
78+};
79+
80+int main()
81+{
82+ f<A>();
83+}
84--
851.7.0.4
86
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0326-PR-c-49042.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0326-PR-c-49042.patch
new file mode 100644
index 0000000000..3887365cc9
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0326-PR-c-49042.patch
@@ -0,0 +1,63 @@
1From d457a29d66693292b2692aa17f038cce88f8962e Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 01:08:53 +0000
4Subject: [PATCH] PR c++/49042
5 * pt.c (get_mostly_instantiated_function_type): Use
6 push_deferring_access_checks rather than set flag_access_control.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174164 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index e7040c1..b16d229 100644
11--- a/gcc/cp/pt.c
12+++ b/gcc/cp/pt.c
13@@ -17800,7 +17800,7 @@ get_mostly_instantiated_function_type (tree decl)
14 ;
15 else
16 {
17- int i, save_access_control;
18+ int i;
19 tree partial_args;
20
21 /* Replace the innermost level of the TARGS with NULL_TREEs to
22@@ -17815,8 +17815,7 @@ get_mostly_instantiated_function_type (tree decl)
23
24 /* Disable access control as this function is used only during
25 name-mangling. */
26- save_access_control = flag_access_control;
27- flag_access_control = 0;
28+ push_deferring_access_checks (dk_no_check);
29
30 ++processing_template_decl;
31 /* Now, do the (partial) substitution to figure out the
32@@ -17831,7 +17830,7 @@ get_mostly_instantiated_function_type (tree decl)
33 TREE_VEC_LENGTH (partial_args)--;
34 tparms = tsubst_template_parms (tparms, partial_args, tf_error);
35
36- flag_access_control = save_access_control;
37+ pop_deferring_access_checks ();
38 }
39
40 return fn_type;
41new file mode 100644
42index 0000000..43e5e86
43--- /dev/null
44+++ b/gcc/testsuite/g++.dg/cpp0x/access01.C
45@@ -0,0 +1,15 @@
46+// PR c++/49042
47+// { dg-options -std=c++0x }
48+
49+template <class T>
50+class A
51+{
52+ T p;
53+public:
54+ template <class U> auto f() -> decltype(+p) { }
55+};
56+
57+int main()
58+{
59+ A<int>().f<int>();
60+}
61--
621.7.0.4
63
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0327-PR-c-49136.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0327-PR-c-49136.patch
new file mode 100644
index 0000000000..dcf00aece5
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0327-PR-c-49136.patch
@@ -0,0 +1,142 @@
1From aa15fbe864f58be935154f76f8ebf144988e7746 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 07:03:25 +0000
4Subject: [PATCH] PR c++/49136
5 * semantics.c (cxx_eval_bit_field_ref): Handle the
6 case when BIT_FIELD_REF doesn't cover only a single field.
7
8 * g++.dg/cpp0x/constexpr-bitfield2.C: New test.
9 * g++.dg/cpp0x/constexpr-bitfield3.C: New test.
10
11
12git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174169 138bc75d-0d04-0410-961f-82ee72b054a4
13
14index bd33bac..6207b12 100644
15--- a/gcc/cp/semantics.c
16+++ b/gcc/cp/semantics.c
17@@ -6391,6 +6391,9 @@ cxx_eval_bit_field_ref (const constexpr_call *call, tree t,
18 bool *non_constant_p)
19 {
20 tree orig_whole = TREE_OPERAND (t, 0);
21+ tree retval, fldval, utype, mask;
22+ bool fld_seen = false;
23+ HOST_WIDE_INT istart, isize;
24 tree whole = cxx_eval_constant_expression (call, orig_whole,
25 allow_non_constant, addr,
26 non_constant_p);
27@@ -6411,12 +6414,47 @@ cxx_eval_bit_field_ref (const constexpr_call *call, tree t,
28 return t;
29
30 start = TREE_OPERAND (t, 2);
31+ istart = tree_low_cst (start, 0);
32+ isize = tree_low_cst (TREE_OPERAND (t, 1), 0);
33+ utype = TREE_TYPE (t);
34+ if (!TYPE_UNSIGNED (utype))
35+ utype = build_nonstandard_integer_type (TYPE_PRECISION (utype), 1);
36+ retval = build_int_cst (utype, 0);
37 FOR_EACH_CONSTRUCTOR_ELT (CONSTRUCTOR_ELTS (whole), i, field, value)
38 {
39- if (bit_position (field) == start)
40+ tree bitpos = bit_position (field);
41+ if (bitpos == start && DECL_SIZE (field) == TREE_OPERAND (t, 1))
42 return value;
43+ if (TREE_CODE (TREE_TYPE (field)) == INTEGER_TYPE
44+ && TREE_CODE (value) == INTEGER_CST
45+ && host_integerp (bitpos, 0)
46+ && host_integerp (DECL_SIZE (field), 0))
47+ {
48+ HOST_WIDE_INT bit = tree_low_cst (bitpos, 0);
49+ HOST_WIDE_INT sz = tree_low_cst (DECL_SIZE (field), 0);
50+ HOST_WIDE_INT shift;
51+ if (bit >= istart && bit + sz <= istart + isize)
52+ {
53+ fldval = fold_convert (utype, value);
54+ mask = build_int_cst_type (utype, -1);
55+ mask = fold_build2 (LSHIFT_EXPR, utype, mask,
56+ size_int (TYPE_PRECISION (utype) - sz));
57+ mask = fold_build2 (RSHIFT_EXPR, utype, mask,
58+ size_int (TYPE_PRECISION (utype) - sz));
59+ fldval = fold_build2 (BIT_AND_EXPR, utype, fldval, mask);
60+ shift = bit - istart;
61+ if (BYTES_BIG_ENDIAN)
62+ shift = TYPE_PRECISION (utype) - shift - sz;
63+ fldval = fold_build2 (LSHIFT_EXPR, utype, fldval,
64+ size_int (shift));
65+ retval = fold_build2 (BIT_IOR_EXPR, utype, retval, fldval);
66+ fld_seen = true;
67+ }
68+ }
69 }
70- gcc_unreachable();
71+ if (fld_seen)
72+ return fold_convert (TREE_TYPE (t), retval);
73+ gcc_unreachable ();
74 return error_mark_node;
75 }
76
77new file mode 100644
78index 0000000..531bf31
79--- /dev/null
80+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-bitfield2.C
81@@ -0,0 +1,19 @@
82+// PR c++/49136
83+// { dg-do compile }
84+// { dg-options "-std=c++0x" }
85+
86+struct day
87+{
88+ unsigned d : 5;
89+ unsigned n : 3;
90+ constexpr explicit day (int dd) : d(dd), n(7) {}
91+};
92+
93+struct date {
94+ int d;
95+ constexpr date (day dd) : d(dd.n != 7 ? 7 : dd.d) {}
96+};
97+
98+constexpr day d(0);
99+constexpr date dt(d);
100+static_assert (dt.d == 0, "Error");
101diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-bitfield3.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-bitfield3.C
102new file mode 100644
103index 0000000..b0ecbfb
104--- /dev/null
105+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-bitfield3.C
106@@ -0,0 +1,33 @@
107+// PR c++/49136
108+// { dg-do compile }
109+// { dg-options "-std=c++0x" }
110+
111+struct S
112+{
113+ unsigned : 1; unsigned s : 27; unsigned : 4;
114+ constexpr S (unsigned int x) : s(x) {}
115+};
116+
117+template <typename S>
118+struct T
119+{
120+ unsigned int t;
121+ constexpr T (S s) : t(s.s != 7 ? 0 : s.s) {}
122+ constexpr T (S s, S s2) : t(s.s != s2.s ? 0 : s.s) {}
123+};
124+
125+constexpr S s (7), s2 (7);
126+constexpr T<S> t (s), t2 (s, s2);
127+static_assert (t.t == 7, "Error");
128+static_assert (t2.t == 7, "Error");
129+
130+struct U
131+{
132+ int a : 1; int s : 1;
133+ constexpr U (int x, int y) : a (x), s (y) {}
134+};
135+
136+constexpr U u (0, -1), u2 (-1, -1);
137+constexpr T<U> t3 (u), t4 (u, u2);
138+static_assert (t3.t == 0, "Error");
139+static_assert (t4.t == -1, "Error");
140--
1411.7.0.4
142
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0328-In-libobjc.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0328-In-libobjc.patch
new file mode 100644
index 0000000000..7e2287cb3b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0328-In-libobjc.patch
@@ -0,0 +1,81 @@
1From 30ac84569e48f4807970260f04821bf31f42b66c Mon Sep 17 00:00:00 2001
2From: nicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 09:07:57 +0000
4Subject: [PATCH] In libobjc/:
5 2011-05-25 Nicola Pero <nicola.pero@meta-innovation.com>
6
7 Backport from mainline
8 2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
9
10 PR libobjc/48177
11 * selector.c (__sel_register_typed_name): Use sel_types_match()
12 instead of strcmp() to compare selector types (Suggestion by
13 Richard Frith-Macdonald <rfm@gnu.org>).
14
15In gcc/testsuite/:
162011-05-25 Nicola Pero <nicola.pero@meta-innovation.com>
17
18 Backport from mainline
19 2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
20
21 PR libobjc/48177
22 * objc.dg/pr48177.m: New testcase.
23
24
25git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174176 138bc75d-0d04-0410-961f-82ee72b054a4
26
27new file mode 100644
28index 0000000..0d7ff29
29--- /dev/null
30+++ b/gcc/testsuite/objc.dg/pr48177.m
31@@ -0,0 +1,35 @@
32+/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, May 2011. */
33+/* { dg-do run } */
34+/* { dg-skip-if "No API#2 pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */
35+
36+#include <objc/runtime.h>
37+#include <stdlib.h>
38+
39+int main(int argc, void **args)
40+{
41+#ifdef __GNU_LIBOBJC__
42+ /* This special test tests that, if you have a selector already
43+ registered in the runtime with full type information, you can use
44+ sel_registerTypedName() to get it even if you specify the type
45+ with incorrect argframe information. This is helpful as
46+ selectors generated by the compiler (which have correct argframe
47+ information) are usually registered before hand-written ones
48+ (which often have incorrect argframe information, but need the
49+ correct one).
50+
51+ Note that in this hand-written test, even the type information of
52+ the first selector may be wrong (on this machine); but that's OK
53+ as we'll never actually use the selectors. */
54+ SEL selector1 = sel_registerTypedName ("testMethod", "i8@0:4");
55+ SEL selector2 = sel_registerTypedName ("testMethod", "i8@8:8");
56+
57+ /* We compare the selectors using ==, not using sel_isEqual(). This
58+ is because we are testing internals of the runtime and we know
59+ that in the current implementation they should be identical if
60+ the stuff is to work as expected. Don't do this at home. */
61+ if (selector1 != selector2)
62+ abort ();
63+#endif
64+
65+ return 0;
66+}
67index 80d2d80..628b4f6 100644
68--- a/libobjc/selector.c
69+++ b/libobjc/selector.c
70@@ -597,7 +597,7 @@ __sel_register_typed_name (const char *name, const char *types,
71 return s;
72 }
73 }
74- else if (! strcmp (s->sel_types, types))
75+ else if (sel_types_match (s->sel_types, types))
76 {
77 if (orig)
78 {
79--
801.7.0.4
81
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0329-2011-05-24-Paolo-Carlini-paolo.carlini-oracle.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0329-2011-05-24-Paolo-Carlini-paolo.carlini-oracle.com.patch
new file mode 100644
index 0000000000..16bd473aca
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0329-2011-05-24-Paolo-Carlini-paolo.carlini-oracle.com.patch
@@ -0,0 +1,62 @@
1From f570679582d3de6b502bc9c24312937714636ae2 Mon Sep 17 00:00:00 2001
2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 09:45:58 +0000
4Subject: [PATCH] 2011-05-24 Paolo Carlini <paolo.carlini@oracle.com>
5
6 PR libstdc++/49141
7 * testsuite/26_numerics/complex/cons/48760.cc: Use dg-require-c-std.
8 * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
9
10
11
12git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174179 138bc75d-0d04-0410-961f-82ee72b054a4
13
14index 0201cc7..0027a34 100644
15--- a/libstdc++-v3/testsuite/26_numerics/complex/cons/48760.cc
16+++ b/libstdc++-v3/testsuite/26_numerics/complex/cons/48760.cc
17@@ -1,3 +1,5 @@
18+// { dg-require-c-std "" }
19+
20 // Copyright (C) 2011 Free Software Foundation, Inc.
21 //
22 // This file is part of the GNU ISO C++ Library. This library is free
23diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/19322.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/19322.cc
24index 955286f..25494c3 100644
25--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/19322.cc
26+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/19322.cc
27@@ -1,4 +1,6 @@
28-// Copyright (C) 2005, 2009 Free Software Foundation, Inc.
29+// { dg-require-c-std "" }
30+
31+// Copyright (C) 2005, 2009, 2010, 2011 Free Software Foundation, Inc.
32 //
33 // This file is part of the GNU ISO C++ Library. This library is free
34 // software; you can redistribute it and/or modify it under the
35@@ -15,11 +17,9 @@
36 // with this library; see the file COPYING3. If not see
37 // <http://www.gnu.org/licenses/>.
38
39-
40 #include <cmath>
41 #include <testsuite_hooks.h>
42
43-#if _GLIBCXX_USE_C99_MATH
44 // libstdc++/19322
45 void test01()
46 {
47@@ -27,12 +27,9 @@ void test01()
48
49 VERIFY( !std::isnan(3.0) );
50 }
51-#endif
52
53 int main()
54 {
55-#if _GLIBCXX_USE_C99_MATH
56 test01();
57-#endif
58 return 0;
59 }
60--
611.7.0.4
62
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0330-PR-tree-optimization-44897.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0330-PR-tree-optimization-44897.patch
new file mode 100644
index 0000000000..83aca891d1
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0330-PR-tree-optimization-44897.patch
@@ -0,0 +1,24 @@
1From 897d9c798309e5aabcd9adc8f9c25b018232fdf6 Mon Sep 17 00:00:00 2001
2From: hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 11:36:49 +0000
4Subject: [PATCH] PR tree-optimization/44897
5 * ipa-inline.c (cgraph_decide_recursive_inlining): Do not divide
6 by zero for insane profiles.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174183 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index cbda4be..62e1610 100644
11--- a/gcc/ipa-inline.c
12+++ b/gcc/ipa-inline.c
13@@ -895,7 +895,7 @@ cgraph_decide_recursive_inlining (struct cgraph_node *node,
14 continue;
15 }
16
17- if (max_count)
18+ if (max_count && node->count)
19 {
20 if (!cgraph_maybe_hot_edge_p (curr))
21 {
22--
231.7.0.4
24
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0331-PR-target-49128.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0331-PR-target-49128.patch
new file mode 100644
index 0000000000..a023889fb9
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0331-PR-target-49128.patch
@@ -0,0 +1,23 @@
1From 0e0048243dbaa8c562757c95e3e9c810e7285b11 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 11:53:58 +0000
4Subject: [PATCH] PR target/49128
5 * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174184 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 747122b..4fc6b45 100644
10--- a/gcc/config/i386/driver-i386.c
11+++ b/gcc/config/i386/driver-i386.c
12@@ -696,7 +696,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
13 const char *bmi = has_bmi ? " -mbmi" : " -mno-bmi";
14 const char *tbm = has_tbm ? " -mtbm" : " -mno-tbm";
15 const char *avx = has_avx ? " -mavx" : " -mno-avx";
16- const char *sse4_2 = has_sse4_2 ? " -msse4.2" : " -mno-msse4.2";
17+ const char *sse4_2 = has_sse4_2 ? " -msse4.2" : " -mno-sse4.2";
18 const char *sse4_1 = has_sse4_1 ? " -msse4.1" : " -mno-sse4.1";
19
20 options = concat (options, cx16, sahf, movbe, ase, pclmul,
21--
221.7.0.4
23
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0332-PR-c-48292.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0332-PR-c-48292.patch
new file mode 100644
index 0000000000..9bc5588324
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0332-PR-c-48292.patch
@@ -0,0 +1,71 @@
1From 8b1d0e0f8d8667c8f71aa00080108115d6891354 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 15:26:14 +0000
4Subject: [PATCH] PR c++/48292
5 * pt.c (tsubst_decl) [PARM_DECL]: Handle partial instantiation of
6 function parameter pack.
7 (tsubst_pack_expansion): Likewise.
8
9git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174207 138bc75d-0d04-0410-961f-82ee72b054a4
10
11index b16d229..d379a8c 100644
12--- a/gcc/cp/pt.c
13+++ b/gcc/cp/pt.c
14@@ -8690,7 +8690,12 @@ tsubst_pack_expansion (tree t, tree args, tsubst_flags_t complain,
15 have the wrong value for a recursive call. Just make a
16 dummy decl, since it's only used for its type. */
17 arg_pack = tsubst_decl (parm_pack, args, complain);
18- arg_pack = make_fnparm_pack (arg_pack);
19+ if (arg_pack && FUNCTION_PARAMETER_PACK_P (arg_pack))
20+ /* Partial instantiation of the parm_pack, we can't build
21+ up an argument pack yet. */
22+ arg_pack = NULL_TREE;
23+ else
24+ arg_pack = make_fnparm_pack (arg_pack);
25 }
26 }
27 else
28@@ -9780,14 +9785,14 @@ tsubst_decl (tree t, tree args, tsubst_flags_t complain)
29 if (DECL_TEMPLATE_PARM_P (t))
30 SET_DECL_TEMPLATE_PARM_P (r);
31
32- /* An argument of a function parameter pack is not a parameter
33- pack. */
34- FUNCTION_PARAMETER_PACK_P (r) = false;
35-
36 if (expanded_types)
37 /* We're on the Ith parameter of the function parameter
38 pack. */
39 {
40+ /* An argument of a function parameter pack is not a parameter
41+ pack. */
42+ FUNCTION_PARAMETER_PACK_P (r) = false;
43+
44 /* Get the Ith type. */
45 type = TREE_VEC_ELT (expanded_types, i);
46
47new file mode 100644
48index 0000000..0ec69af
49--- /dev/null
50+++ b/gcc/testsuite/g++.dg/cpp0x/variadic109.C
51@@ -0,0 +1,17 @@
52+// PR c++/48292
53+// { dg-options -std=c++0x }
54+
55+template <typename... Args> int g(Args...);
56+
57+template <int N = 0>
58+struct A
59+{
60+ template <typename... Args>
61+ static auto f(Args... args) -> decltype(g(args...));
62+};
63+
64+int main()
65+{
66+ A<>::f();
67+ return 0;
68+}
69--
701.7.0.4
71
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0333-PR-c-45080.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0333-PR-c-45080.patch
new file mode 100644
index 0000000000..9f585c75ba
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0333-PR-c-45080.patch
@@ -0,0 +1,59 @@
1From f6c71a6aa6e71a5dde50a13377d8ebd1a41aa9ab Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 15:26:25 +0000
4Subject: [PATCH] PR c++/45080
5 * pt.c (instantiate_class_template_1): Call maybe_add_lambda_conv_op.
6 * semantics.c (lambda_function): Check COMPLETE_OR_OPEN_TYPE_P.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174208 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index d379a8c..c5f2422 100644
11--- a/gcc/cp/pt.c
12+++ b/gcc/cp/pt.c
13@@ -8557,6 +8557,9 @@ instantiate_class_template (tree type)
14 }
15 }
16
17+ if (CLASSTYPE_LAMBDA_EXPR (type))
18+ maybe_add_lambda_conv_op (type);
19+
20 /* Set the file and line number information to whatever is given for
21 the class itself. This puts error messages involving generated
22 implicit functions at a predictable point, and the same point
23diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
24index 6207b12..b113626 100644
25--- a/gcc/cp/semantics.c
26+++ b/gcc/cp/semantics.c
27@@ -8086,7 +8086,8 @@ lambda_function (tree lambda)
28 type = lambda;
29 gcc_assert (LAMBDA_TYPE_P (type));
30 /* Don't let debug_tree cause instantiation. */
31- if (CLASSTYPE_TEMPLATE_INSTANTIATION (type) && !COMPLETE_TYPE_P (type))
32+ if (CLASSTYPE_TEMPLATE_INSTANTIATION (type)
33+ && !COMPLETE_OR_OPEN_TYPE_P (type))
34 return NULL_TREE;
35 lambda = lookup_member (type, ansi_opname (CALL_EXPR),
36 /*protect=*/0, /*want_type=*/false);
37new file mode 100644
38index 0000000..53d8e99
39--- /dev/null
40+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv5.C
41@@ -0,0 +1,15 @@
42+// PR c++/45080
43+// { dg-options -std=c++0x }
44+
45+typedef void(*pfn)();
46+
47+template<typename=int>
48+void f()
49+{
50+ pfn fn = []{};
51+}
52+
53+void test()
54+{
55+ f();
56+}
57--
581.7.0.4
59
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0334-PR-c-45418.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0334-PR-c-45418.patch
new file mode 100644
index 0000000000..74627bf5b8
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0334-PR-c-45418.patch
@@ -0,0 +1,50 @@
1From 6681641e6f9638bf4a8b80be12858ab438be0152 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 15:26:33 +0000
4Subject: [PATCH] PR c++/45418
5 * init.c (perform_member_init): Handle list-initialization
6 of array of non-trivial class type.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174209 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 286bfb6..172a71a 100644
11--- a/gcc/cp/init.c
12+++ b/gcc/cp/init.c
13@@ -528,6 +528,8 @@ perform_member_init (tree member, tree init)
14 {
15 gcc_assert (TREE_CHAIN (init) == NULL_TREE);
16 init = TREE_VALUE (init);
17+ if (BRACE_ENCLOSED_INITIALIZER_P (init))
18+ init = digest_init (type, init);
19 }
20 if (init == NULL_TREE
21 || same_type_ignoring_top_level_qualifiers_p (type,
22new file mode 100644
23index 0000000..ef4e72c
24--- /dev/null
25+++ b/gcc/testsuite/g++.dg/cpp0x/initlist50.C
26@@ -0,0 +1,21 @@
27+// PR c++/45418
28+// { dg-options -std=c++0x }
29+
30+struct A1 { };
31+struct A2 {
32+ A2();
33+};
34+
35+template <class T> struct B {
36+ T ar[1];
37+ B(T t):ar({t}) {}
38+};
39+
40+int main(){
41+ B<int> bi{1};
42+ A1 a1;
43+ B<A1> ba1{a1};
44+ A2 a2;
45+ A2 a2r[1]{{a2}};
46+ B<A2> ba2{a2};
47+}
48--
491.7.0.4
50
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0335-PR-c-48935.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0335-PR-c-48935.patch
new file mode 100644
index 0000000000..05320ac06a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0335-PR-c-48935.patch
@@ -0,0 +1,76 @@
1From 388aa866785638f2769c4e628fb9e6139d1bdaee Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 15:26:42 +0000
4Subject: [PATCH] PR c++/48935
5 * parser.c (cp_parser_constructor_declarator_p): Don't check
6 constructor_name_p for enums.
7 (cp_parser_diagnose_invalid_type_name): Correct error message.
8
9git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174210 138bc75d-0d04-0410-961f-82ee72b054a4
10
11index 68c2f88..4c7d9cb 100644
12--- a/gcc/cp/parser.c
13+++ b/gcc/cp/parser.c
14@@ -2788,7 +2788,7 @@ cp_parser_diagnose_invalid_type_name (cp_parser *parser,
15 "%qT is a dependent scope",
16 parser->scope, id, parser->scope);
17 else if (TYPE_P (parser->scope))
18- error_at (location, "%qE in class %qT does not name a type",
19+ error_at (location, "%qE in %q#T does not name a type",
20 id, parser->scope);
21 else
22 gcc_unreachable ();
23@@ -19642,7 +19642,7 @@ cp_parser_constructor_declarator_p (cp_parser *parser, bool friend_p)
24 /* If we have a class scope, this is easy; DR 147 says that S::S always
25 names the constructor, and no other qualified name could. */
26 if (constructor_p && nested_name_specifier
27- && TYPE_P (nested_name_specifier))
28+ && CLASS_TYPE_P (nested_name_specifier))
29 {
30 tree id = cp_parser_unqualified_id (parser,
31 /*template_keyword_p=*/false,
32new file mode 100644
33index 0000000..ebb4868
34--- /dev/null
35+++ b/gcc/testsuite/g++.dg/cpp0x/enum16.C
36@@ -0,0 +1,6 @@
37+// PR c++/48935
38+// { dg-options -std=c++0x }
39+
40+enum class ENUM { a };
41+
42+ENUM::Type func() { return ENUM::a; } // { dg-error "does not name a type" }
43diff --git a/gcc/testsuite/g++.dg/parse/error15.C b/gcc/testsuite/g++.dg/parse/error15.C
44index 2352193..607a1db 100644
45--- a/gcc/testsuite/g++.dg/parse/error15.C
46+++ b/gcc/testsuite/g++.dg/parse/error15.C
47@@ -12,7 +12,7 @@ namespace N
48
49 N::A f2; // { dg-error "1:invalid use of template-name 'N::A' without an argument list" }
50 N::INVALID f3; // { dg-error "1:'INVALID' in namespace 'N' does not name a type" }
51-N::C::INVALID f4; // { dg-error "1:'INVALID' in class 'N::C' does not name a type" }
52+N::C::INVALID f4; // { dg-error "1:'INVALID' in 'struct N::C' does not name a type" }
53 N::K f6; // { dg-error "1:'K' in namespace 'N' does not name a type" }
54 typename N::A f7;
55 // { dg-error "13:invalid use of template-name 'N::A' without an argument list" "13" { target *-*-* } 17 }
56@@ -22,7 +22,7 @@ struct B
57 {
58 N::A f2; // { dg-error "3:invalid use of template-name 'N::A' without an argument list" }
59 N::INVALID f3; // { dg-error "3:'INVALID' in namespace 'N' does not name a type" }
60- N::C::INVALID f4; // { dg-error "3:'INVALID' in class 'N::C' does not name a type" }
61+ N::C::INVALID f4; // { dg-error "3:'INVALID' in 'struct N::C' does not name a type" }
62 N::K f6; // { dg-error "3:'K' in namespace 'N' does not name a type" }
63 typename N::A f7;
64 // { dg-error "15:invalid use of template-name 'N::A' without an argument list" "15" { target *-*-* } 27 }
65@@ -33,7 +33,7 @@ struct C
66 {
67 N::A f2; // { dg-error "3:invalid use of template-name 'N::A' without an argument list" }
68 N::INVALID f3; // { dg-error "3:'INVALID' in namespace 'N' does not name a type" }
69- N::C::INVALID f4; // { dg-error "3:'INVALID' in class 'N::C' does not name a type" }
70+ N::C::INVALID f4; // { dg-error "3:'INVALID' in 'struct N::C' does not name a type" }
71 N::K f6; // { dg-error "3:'K' in namespace 'N' does not name a type" }
72 typename N::A f7; // { dg-error "15:invalid use of template-name 'N::A' without an argument list" }
73 };
74--
751.7.0.4
76
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0336-gcc.target-arm-fp16-compile-none-1.c-Update-expected.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0336-gcc.target-arm-fp16-compile-none-1.c-Update-expected.patch
new file mode 100644
index 0000000000..47f8244500
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0336-gcc.target-arm-fp16-compile-none-1.c-Update-expected.patch
@@ -0,0 +1,74 @@
1From e5da38986a5476bb0b2d0d5c41f402721ee8b784 Mon Sep 17 00:00:00 2001
2From: janis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 16:38:55 +0000
4Subject: [PATCH] * gcc.target/arm/fp16-compile-none-1.c: Update expected error.
5 * g++.dg/abi/packed1.C: Suppress warning.
6 * g++.dg/warn/Wunused-parm-3.C: Likewise.
7 * g++.dg/template/stdarg1.C: Likewise.
8 * g++.dg/other/packed1.C: Remove arm from xfail list.
9
10git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174214 138bc75d-0d04-0410-961f-82ee72b054a4
11
12index c903709..8345375 100644
13--- a/gcc/testsuite/g++.dg/abi/packed1.C
14+++ b/gcc/testsuite/g++.dg/abi/packed1.C
15@@ -1,10 +1,10 @@
16 // PR c++/41788
17-// { dg-options "-Wpacked" }
18 // { dg-do run }
19+// { dg-options "-Wpacked -Wno-attributes" }
20
21 extern "C" void abort ();
22
23-struct INNER { // { dg-warning "inefficient.*vptr" "" { target alpha*-*-* ia64-*-* hppa*-*-* mips-sgi-irix* sparc*-*-* spu-*-* sh*-*-* } }
24+struct INNER {
25 virtual int foo() const { return 1; }
26 } __attribute__ ((packed));
27
28diff --git a/gcc/testsuite/g++.dg/other/packed1.C b/gcc/testsuite/g++.dg/other/packed1.C
29index 7a842d3..ac586c6 100644
30--- a/gcc/testsuite/g++.dg/other/packed1.C
31+++ b/gcc/testsuite/g++.dg/other/packed1.C
32@@ -1,4 +1,4 @@
33-// { dg-do run { xfail arm*-*-* sh-*-* lm32-*-* } }
34+// { dg-do run { xfail sh-*-* lm32-*-* } }
35
36 // NMS:2003-04-21 this fails on strict aligned architectures again,
37 // the patch was reverted because it broke something more important.
38diff --git a/gcc/testsuite/g++.dg/template/stdarg1.C b/gcc/testsuite/g++.dg/template/stdarg1.C
39index ddc8c78..94804ee 100644
40--- a/gcc/testsuite/g++.dg/template/stdarg1.C
41+++ b/gcc/testsuite/g++.dg/template/stdarg1.C
42@@ -1,5 +1,7 @@
43 // PR c++/47022
44 // { dg-do compile }
45+// Suppress a warning that is irrelevant to the purpose of this test.
46+// { dg-options "-Wno-abi" { target arm_eabi } }
47
48 #include <cstdarg>
49
50diff --git a/gcc/testsuite/g++.dg/warn/Wunused-parm-3.C b/gcc/testsuite/g++.dg/warn/Wunused-parm-3.C
51index 4d293f3..3f0a0e7 100644
52--- a/gcc/testsuite/g++.dg/warn/Wunused-parm-3.C
53+++ b/gcc/testsuite/g++.dg/warn/Wunused-parm-3.C
54@@ -1,5 +1,7 @@
55 // { dg-do compile }
56 // { dg-options "-Wunused -W" }
57+// Suppress a warning that is irrelevant to the purpose of this test.
58+// { dg-options "-Wunused -W -Wno-abi" { target arm_eabi } }
59
60 #include <stdarg.h>
61
62diff --git a/gcc/testsuite/gcc.target/arm/fp16-compile-none-1.c b/gcc/testsuite/gcc.target/arm/fp16-compile-none-1.c
63index ca29123..e912505 100644
64--- a/gcc/testsuite/gcc.target/arm/fp16-compile-none-1.c
65+++ b/gcc/testsuite/gcc.target/arm/fp16-compile-none-1.c
66@@ -3,4 +3,4 @@
67
68 /* __fp16 type name is not recognized unless you explicitly enable it
69 by selecting -mfp16-format=ieee or -mfp16-format=alternative. */
70-__fp16 xx = 0.0; /* { dg-error "expected" } */
71+__fp16 xx = 0.0; /* { dg-error "unknown type name" } */
72--
731.7.0.4
74
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0337-PR-c-47184.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0337-PR-c-47184.patch
new file mode 100644
index 0000000000..c3d02ef19e
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0337-PR-c-47184.patch
@@ -0,0 +1,64 @@
1From b7eebf48e80a907e875b82beb837379b5d93f8e2 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 20:29:39 +0000
4Subject: [PATCH] PR c++/47184
5 * parser.c (cp_parser_parameter_declaration): Recognize
6 list-initialization.
7 (cp_parser_direct_declarator): Check for the closing
8 paren before parsing definitely.
9
10git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174232 138bc75d-0d04-0410-961f-82ee72b054a4
11
12index 4c7d9cb..4d6ddcc 100644
13--- a/gcc/cp/parser.c
14+++ b/gcc/cp/parser.c
15@@ -15031,6 +15031,9 @@ cp_parser_direct_declarator (cp_parser* parser,
16 parser->num_template_parameter_lists
17 = saved_num_template_parameter_lists;
18
19+ /* Consume the `)'. */
20+ cp_parser_require (parser, CPP_CLOSE_PAREN, RT_CLOSE_PAREN);
21+
22 /* If all went well, parse the cv-qualifier-seq and the
23 exception-specification. */
24 if (member_p || cp_parser_parse_definitely (parser))
25@@ -15044,8 +15047,6 @@ cp_parser_direct_declarator (cp_parser* parser,
26 if (ctor_dtor_or_conv_p)
27 *ctor_dtor_or_conv_p = *ctor_dtor_or_conv_p < 0;
28 first = false;
29- /* Consume the `)'. */
30- cp_parser_require (parser, CPP_CLOSE_PAREN, RT_CLOSE_PAREN);
31
32 /* Parse the cv-qualifier-seq. */
33 cv_quals = cp_parser_cv_qualifier_seq_opt (parser);
34@@ -16132,6 +16133,7 @@ cp_parser_parameter_declaration (cp_parser *parser,
35 of some object of type "char" to "int". */
36 && !parser->in_type_id_in_expr_p
37 && cp_parser_uncommitted_to_tentative_parse_p (parser)
38+ && cp_lexer_next_token_is_not (parser->lexer, CPP_OPEN_BRACE)
39 && cp_lexer_next_token_is_not (parser->lexer, CPP_OPEN_PAREN))
40 cp_parser_commit_to_tentative_parse (parser);
41 /* Parse the declarator. */
42new file mode 100644
43index 0000000..9163dd3
44--- /dev/null
45+++ b/gcc/testsuite/g++.dg/cpp0x/initlist51.C
46@@ -0,0 +1,15 @@
47+// PR c++/47184
48+// { dg-options -std=c++0x }
49+
50+struct S
51+{
52+ int a;
53+};
54+struct T
55+{
56+ T(S s) {}
57+};
58+int main()
59+{
60+ T t(S{1});
61+}
62--
631.7.0.4
64
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0338-PR-c-46696.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0338-PR-c-46696.patch
new file mode 100644
index 0000000000..b08e4b3725
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0338-PR-c-46696.patch
@@ -0,0 +1,48 @@
1From c2acb441c539c4d3c307166def3c3c779cdccf43 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 20:29:47 +0000
4Subject: [PATCH] PR c++/46696
5 * typeck.c (cp_build_modify_expr): Check DECL_DEFAULTED_FN.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174233 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 578eb83..2022f0f 100644
10--- a/gcc/cp/typeck.c
11+++ b/gcc/cp/typeck.c
12@@ -6727,7 +6727,7 @@ cp_build_modify_expr (tree lhs, enum tree_code modifycode, tree rhs,
13
14 /* Allow array assignment in compiler-generated code. */
15 else if (!current_function_decl
16- || !DECL_ARTIFICIAL (current_function_decl))
17+ || !DECL_DEFAULTED_FN (current_function_decl))
18 {
19 /* This routine is used for both initialization and assignment.
20 Make sure the diagnostic message differentiates the context. */
21new file mode 100644
22index 0000000..5fcf5b0
23--- /dev/null
24+++ b/gcc/testsuite/g++.dg/cpp0x/defaulted29.C
25@@ -0,0 +1,20 @@
26+// PR c++/46696
27+// { dg-options -std=c++0x }
28+
29+struct A
30+{
31+ A& operator= (A const&);
32+};
33+
34+struct B
35+{
36+ A ar[1];
37+ B& operator= (B const&) = default;
38+};
39+
40+int main()
41+{
42+ B x;
43+ B y;
44+ y = x;
45+}
46--
471.7.0.4
48
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0339-PR-c-46245.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0339-PR-c-46245.patch
new file mode 100644
index 0000000000..67295c5f75
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0339-PR-c-46245.patch
@@ -0,0 +1,88 @@
1From 5c27b6339932010631806a4c36f57ad909d3ce35 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 20:29:54 +0000
4Subject: [PATCH] PR c++/46245
5 * decl.c (grokdeclarator): Complain later for auto parameter.
6 * pt.c (splice_late_return_type): Handle use in a template
7 type-parameter.
8
9git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174234 138bc75d-0d04-0410-961f-82ee72b054a4
10
11index 9e029d2..dbf03f9 100644
12--- a/gcc/cp/decl.c
13+++ b/gcc/cp/decl.c
14@@ -8559,12 +8559,6 @@ grokdeclarator (const cp_declarator *declarator,
15 || thread_p)
16 error ("storage class specifiers invalid in parameter declarations");
17
18- if (type_uses_auto (type))
19- {
20- error ("parameter declared %<auto%>");
21- type = error_mark_node;
22- }
23-
24 /* Function parameters cannot be constexpr. If we saw one, moan
25 and pretend it wasn't there. */
26 if (constexpr_p)
27@@ -9550,6 +9544,12 @@ grokdeclarator (const cp_declarator *declarator,
28 if (ctype || in_namespace)
29 error ("cannot use %<::%> in parameter declaration");
30
31+ if (type_uses_auto (type))
32+ {
33+ error ("parameter declared %<auto%>");
34+ type = error_mark_node;
35+ }
36+
37 /* A parameter declared as an array of T is really a pointer to T.
38 One declared as a function is really a pointer to a function.
39 One declared as a member is really a pointer to member. */
40diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
41index c5f2422..3afeb9b 100644
42--- a/gcc/cp/pt.c
43+++ b/gcc/cp/pt.c
44@@ -19061,7 +19061,12 @@ splice_late_return_type (tree type, tree late_return_type)
45 return type;
46 argvec = make_tree_vec (1);
47 TREE_VEC_ELT (argvec, 0) = late_return_type;
48- if (processing_template_decl)
49+ if (processing_template_parmlist)
50+ /* For a late-specified return type in a template type-parameter, we
51+ need to add a dummy argument level for its parmlist. */
52+ argvec = add_to_template_args
53+ (make_tree_vec (processing_template_parmlist), argvec);
54+ if (current_template_parms)
55 argvec = add_to_template_args (current_template_args (), argvec);
56 return tsubst (type, argvec, tf_warning_or_error, NULL_TREE);
57 }
58new file mode 100644
59index 0000000..49b5a0e
60--- /dev/null
61+++ b/gcc/testsuite/g++.dg/cpp0x/auto23.C
62@@ -0,0 +1,4 @@
63+// PR c++/46245
64+// { dg-options -std=c++0x }
65+
66+template<auto f()->int> struct A { };
67diff --git a/gcc/testsuite/g++.dg/cpp0x/auto9.C b/gcc/testsuite/g++.dg/cpp0x/auto9.C
68index ab90be5..142ef90 100644
69--- a/gcc/testsuite/g++.dg/cpp0x/auto9.C
70+++ b/gcc/testsuite/g++.dg/cpp0x/auto9.C
71@@ -79,10 +79,10 @@ enum struct D : auto * { FF = 0 }; // { dg-error "must be an integral type|decl
72 void
73 bar ()
74 {
75- try { } catch (auto i) { } // { dg-error "invalid use of" }
76- try { } catch (auto) { } // { dg-error "invalid use of" }
77- try { } catch (auto *i) { } // { dg-error "invalid use of" }
78- try { } catch (auto *) { } // { dg-error "invalid use of" }
79+ try { } catch (auto i) { } // { dg-error "parameter declared" }
80+ try { } catch (auto) { } // { dg-error "parameter declared" }
81+ try { } catch (auto *i) { } // { dg-error "parameter declared" }
82+ try { } catch (auto *) { } // { dg-error "parameter declared" }
83 }
84
85 void
86--
871.7.0.4
88
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0340-PR-c-46145.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0340-PR-c-46145.patch
new file mode 100644
index 0000000000..9fe99c7fc9
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0340-PR-c-46145.patch
@@ -0,0 +1,37 @@
1From 1f170608081cc8e7a2b1ef2954a5762a04c67af5 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 20:30:01 +0000
4Subject: [PATCH] PR c++/46145
5 * decl.c (grokdeclarator): Complain about auto typedef.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174235 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index dbf03f9..cc7a155 100644
10--- a/gcc/cp/decl.c
11+++ b/gcc/cp/decl.c
12@@ -9304,6 +9304,12 @@ grokdeclarator (const cp_declarator *declarator,
13 memfn_quals = TYPE_UNQUALIFIED;
14 }
15
16+ if (type_uses_auto (type))
17+ {
18+ error ("typedef declared %<auto%>");
19+ type = error_mark_node;
20+ }
21+
22 if (decl_context == FIELD)
23 decl = build_lang_decl (TYPE_DECL, unqualified_id, type);
24 else
25index 142ef90..190bfa6 100644
26--- a/gcc/testsuite/g++.dg/cpp0x/auto9.C
27+++ b/gcc/testsuite/g++.dg/cpp0x/auto9.C
28@@ -119,3 +119,6 @@ H<auto> h; // { dg-error "invalid" }
29
30 void qq (auto); // { dg-error "auto" }
31 void qr (auto*); // { dg-error "auto" }
32+
33+// PR c++/46145
34+typedef auto autot; // { dg-error "auto" }
35--
361.7.0.4
37
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0341-PR-c-45698.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0341-PR-c-45698.patch
new file mode 100644
index 0000000000..43ba88bd97
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0341-PR-c-45698.patch
@@ -0,0 +1,44 @@
1From 0f9adc22fa4b355389f3e55c0ce8deac3c82301f Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 20:30:12 +0000
4Subject: [PATCH] PR c++/45698
5 * pt.c (dependent_template_arg_p): See through ARGUMENT_PACK_SELECT.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174236 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 3afeb9b..7c71092 100644
10--- a/gcc/cp/pt.c
11+++ b/gcc/cp/pt.c
12@@ -18512,6 +18512,9 @@ dependent_template_arg_p (tree arg)
13 if (arg == error_mark_node)
14 return true;
15
16+ if (TREE_CODE (arg) == ARGUMENT_PACK_SELECT)
17+ arg = ARGUMENT_PACK_SELECT_ARG (arg);
18+
19 if (TREE_CODE (arg) == TEMPLATE_DECL
20 || TREE_CODE (arg) == TEMPLATE_TEMPLATE_PARM)
21 return dependent_template_p (arg);
22new file mode 100644
23index 0000000..86f1bb1
24--- /dev/null
25+++ b/gcc/testsuite/g++.dg/cpp0x/variadic110.C
26@@ -0,0 +1,15 @@
27+// PR c++/45698
28+// { dg-options -std=c++0x }
29+
30+template <class... Ts> struct tuple { };
31+
32+template<class... Ts>
33+struct A {
34+ template<typename T> struct N { };
35+ tuple<N<Ts>...> tup;
36+};
37+
38+int main()
39+{
40+ A<int, double> a;
41+}
42--
431.7.0.4
44
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0342-PR-c-44311.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0342-PR-c-44311.patch
new file mode 100644
index 0000000000..6ebd511869
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0342-PR-c-44311.patch
@@ -0,0 +1,125 @@
1From f6945c41cc9a66590ea92a1d0d7c862d14ccd23c Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 20:30:21 +0000
4Subject: [PATCH] PR c++/44311
5 * decl.c (case_conversion): New.
6 (finish_case_label): Use it.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174237 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index cc7a155..de53541 100644
11--- a/gcc/cp/decl.c
12+++ b/gcc/cp/decl.c
13@@ -2920,6 +2920,28 @@ pop_switch (void)
14 free (cs);
15 }
16
17+/* Convert a case constant VALUE in a switch to the type TYPE of the switch
18+ condition. Note that if TYPE and VALUE are already integral we don't
19+ really do the conversion because the language-independent
20+ warning/optimization code will work better that way. */
21+
22+static tree
23+case_conversion (tree type, tree value)
24+{
25+ if (value == NULL_TREE)
26+ return value;
27+
28+ if (cxx_dialect >= cxx0x
29+ && (SCOPED_ENUM_P (type)
30+ || !INTEGRAL_OR_UNSCOPED_ENUMERATION_TYPE_P (TREE_TYPE (value))))
31+ {
32+ if (INTEGRAL_OR_UNSCOPED_ENUMERATION_TYPE_P (type))
33+ type = type_promotes_to (type);
34+ value = perform_implicit_conversion (type, value, tf_warning_or_error);
35+ }
36+ return cxx_constant_value (value);
37+}
38+
39 /* Note that we've seen a definition of a case label, and complain if this
40 is a bad place for one. */
41
42@@ -2928,6 +2950,7 @@ finish_case_label (location_t loc, tree low_value, tree high_value)
43 {
44 tree cond, r;
45 struct cp_binding_level *p;
46+ tree type;
47
48 if (processing_template_decl)
49 {
50@@ -2947,13 +2970,12 @@ finish_case_label (location_t loc, tree low_value, tree high_value)
51 if (!check_switch_goto (switch_stack->level))
52 return error_mark_node;
53
54- if (low_value)
55- low_value = cxx_constant_value (low_value);
56- if (high_value)
57- high_value = cxx_constant_value (high_value);
58+ type = SWITCH_STMT_TYPE (switch_stack->switch_stmt);
59+
60+ low_value = case_conversion (type, low_value);
61+ high_value = case_conversion (type, high_value);
62
63- r = c_add_case_label (loc, switch_stack->cases, cond,
64- SWITCH_STMT_TYPE (switch_stack->switch_stmt),
65+ r = c_add_case_label (loc, switch_stack->cases, cond, type,
66 low_value, high_value);
67
68 /* After labels, make any new cleanups in the function go into their
69new file mode 100644
70index 0000000..55cf2ad
71--- /dev/null
72+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-switch2.C
73@@ -0,0 +1,23 @@
74+// Test for constexpr conversion in case context
75+// { dg-options -std=c++0x }
76+
77+enum class E { e1, e2 };
78+
79+struct A
80+{
81+ E e;
82+ constexpr operator E() { return e; }
83+ constexpr A(E e): e(e) { }
84+};
85+
86+E e;
87+
88+int main()
89+{
90+ switch (e)
91+ {
92+ case A(E::e1):
93+ case A(E::e2):
94+ ;
95+ }
96+}
97diff --git a/gcc/testsuite/g++.dg/cpp0x/enum15.C b/gcc/testsuite/g++.dg/cpp0x/enum15.C
98new file mode 100644
99index 0000000..d653216
100--- /dev/null
101+++ b/gcc/testsuite/g++.dg/cpp0x/enum15.C
102@@ -0,0 +1,20 @@
103+// PR c++/44311
104+// { dg-options -std=c++0x }
105+
106+enum class A { Val0, Val1 };
107+
108+void foo (A a, int i)
109+{
110+ switch (a)
111+ {
112+ case A::Val0: break;
113+ case 1: break; // { dg-error "" }
114+ }
115+
116+ switch (i)
117+ {
118+ case A::Val0: break; // { dg-error "" }
119+ case 1: break;
120+ case 2.0: break;
121+ }
122+}
123--
1241.7.0.4
125
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0343-gcc-cp-ChangeLog.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0343-gcc-cp-ChangeLog.patch
new file mode 100644
index 0000000000..364dfa8b56
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0343-gcc-cp-ChangeLog.patch
@@ -0,0 +1,207 @@
1From 2cf0a578b9883daa7f515380736d29b537a21ef7 Mon Sep 17 00:00:00 2001
2From: fabien <fabien@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 20:52:15 +0000
4Subject: [PATCH] gcc/cp/ChangeLog:
5
62011-05-25 Fabien Chene <fabien@gcc.gnu.org>
7 * init.c (diagnose_uninitialized_cst_or_ref_member_1): Use
8 permerror instead of error, adjust the error count.
9
10gcc/testsuite/ChangeLog:
11
122011-05-25 Fabien Chene <fabien@gcc.gnu.org>
13 * g++.dg/init/pr25811-2.C: New.
14 * g++.dg/init/pr25811-3.C: New.
15 * g++.dg/init/pr25811-4.C: New.
16
17
18git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174239 138bc75d-0d04-0410-961f-82ee72b054a4
19
20index 172a71a..ef9e20e 100644
21--- a/gcc/cp/init.c
22+++ b/gcc/cp/init.c
23@@ -1893,6 +1893,7 @@ diagnose_uninitialized_cst_or_ref_member_1 (tree type, tree origin,
24 {
25 tree field;
26 int error_count = 0;
27+ bool permissive = global_dc->permissive;
28
29 if (type_has_user_provided_constructor (type))
30 return 0;
31@@ -1911,32 +1912,45 @@ diagnose_uninitialized_cst_or_ref_member_1 (tree type, tree origin,
32
33 if (TREE_CODE (field_type) == REFERENCE_TYPE)
34 {
35- ++ error_count;
36 if (complain)
37 {
38+ if (!permissive || !using_new)
39+ ++ error_count;
40+
41 if (using_new)
42- error ("uninitialized reference member in %q#T "
43- "using %<new%> without new-initializer", origin);
44+ permerror (input_location,
45+ "uninitialized reference member in %q#T "
46+ "using %<new%> without new-initializer", origin);
47 else
48- error ("uninitialized reference member in %q#T", origin);
49+ error ("uninitialized reference member in %q#T", origin);
50+
51 inform (DECL_SOURCE_LOCATION (field),
52 "%qD should be initialized", field);
53 }
54+ else
55+ ++ error_count;
56 }
57
58 if (CP_TYPE_CONST_P (field_type))
59 {
60- ++ error_count;
61 if (complain)
62 {
63+ if (!permissive)
64+ ++ error_count;
65+
66 if (using_new)
67- error ("uninitialized const member in %q#T "
68- "using %<new%> without new-initializer", origin);
69- else
70- error ("uninitialized const member in %q#T", origin);
71+ permerror (input_location,
72+ "uninitialized const member in %q#T "
73+ "using %<new%> without new-initializer", origin);
74+ else
75+ permerror (input_location,
76+ "uninitialized const member in %q#T", origin);
77+
78 inform (DECL_SOURCE_LOCATION (field),
79 "%qD should be initialized", field);
80 }
81+ else
82+ ++ error_count;
83 }
84
85 if (CLASS_TYPE_P (field_type))
86new file mode 100644
87index 0000000..3a36dd4
88--- /dev/null
89+++ b/gcc/testsuite/g++.dg/init/pr25811-2.C
90@@ -0,0 +1,26 @@
91+// { dg-do compile }
92+// { dg-options -fpermissive }
93+
94+struct A
95+{
96+ int const i; // { dg-message "should be initialized" }
97+};
98+
99+struct B
100+{
101+ int& r; // { dg-message "should be initialized" }
102+};
103+
104+struct C
105+{
106+ int const i : 1; // { dg-message "should be initialized" }
107+};
108+
109+void f()
110+{
111+ new A; // { dg-warning "uninitialized" }
112+ new B; // { dg-warning "uninitialized" }
113+ new C; // { dg-warning "uninitialized" }
114+ C c; // { dg-warning "uninitialized" }
115+ A a[1]; // { dg-warning "uninitialized" }
116+}
117diff --git a/gcc/testsuite/g++.dg/init/pr25811-3.C b/gcc/testsuite/g++.dg/init/pr25811-3.C
118new file mode 100644
119index 0000000..631da5b
120--- /dev/null
121+++ b/gcc/testsuite/g++.dg/init/pr25811-3.C
122@@ -0,0 +1,38 @@
123+// { dg-do compile }
124+
125+struct A { int const i; };
126+struct B { int& i; };
127+struct C { int i; };
128+
129+template< class T >
130+class is_constructible_via_new_without_initializer
131+{
132+ template<int> class size {};
133+
134+ typedef char yes_type;
135+ struct no_type { char data[2]; };
136+
137+ template <class U>
138+ static yes_type sfinae (size< sizeof (new U) >*);
139+
140+ template <class U>
141+ static no_type sfinae (...);
142+
143+public:
144+ static const bool value = sizeof (sfinae<T>(0)) == sizeof (yes_type);
145+};
146+
147+#define JOIN( X, Y ) DO_JOIN( X, Y )
148+#define DO_JOIN( X, Y ) DO_JOIN2(X,Y)
149+#define DO_JOIN2( X, Y ) X##Y
150+
151+#ifdef __GXX_EXPERIMENTAL_CXX0X__
152+# define STATIC_ASSERT(Expr) static_assert(Expr, #Expr)
153+#else
154+# define STATIC_ASSERT(Expr) int JOIN(a,__LINE__)[Expr? 1 : -1]
155+#endif
156+
157+STATIC_ASSERT (!is_constructible_via_new_without_initializer<A>::value);
158+STATIC_ASSERT (!is_constructible_via_new_without_initializer<B>::value);
159+STATIC_ASSERT (is_constructible_via_new_without_initializer<C>::value);
160+
161diff --git a/gcc/testsuite/g++.dg/init/pr25811-4.C b/gcc/testsuite/g++.dg/init/pr25811-4.C
162new file mode 100644
163index 0000000..abfb3d9
164--- /dev/null
165+++ b/gcc/testsuite/g++.dg/init/pr25811-4.C
166@@ -0,0 +1,38 @@
167+// { dg-do compile }
168+// { dg-options "-fpermissive" }
169+
170+struct A { int const i; };
171+struct B { int& i; };
172+struct C { int i; };
173+
174+template< class T >
175+class is_constructible_via_new_without_initializer
176+{
177+ template<int> class size {};
178+
179+ typedef char yes_type;
180+ struct no_type { char data[2]; };
181+
182+ template <class U>
183+ static yes_type sfinae (size< sizeof (new U) >*);
184+
185+ template <class U>
186+ static no_type sfinae (...);
187+
188+public:
189+ static const bool value = sizeof (sfinae<T>(0)) == sizeof (yes_type);
190+};
191+
192+#define JOIN( X, Y ) DO_JOIN( X, Y )
193+#define DO_JOIN( X, Y ) DO_JOIN2(X,Y)
194+#define DO_JOIN2( X, Y ) X##Y
195+
196+#ifdef __GXX_EXPERIMENTAL_CXX0X__
197+# define STATIC_ASSERT(Expr) static_assert(Expr, #Expr)
198+#else
199+# define STATIC_ASSERT(Expr) int JOIN(a,__LINE__)[Expr? 1 : -1]
200+#endif
201+
202+STATIC_ASSERT (!is_constructible_via_new_without_initializer<A>::value);
203+STATIC_ASSERT (!is_constructible_via_new_without_initializer<B>::value);
204+STATIC_ASSERT (is_constructible_via_new_without_initializer<C>::value);
205--
2061.7.0.4
207
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0344-2011-05-25-Paolo-Carlini-paolo.carlini-oracle.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0344-2011-05-25-Paolo-Carlini-paolo.carlini-oracle.com.patch
new file mode 100644
index 0000000000..91486e8626
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0344-2011-05-25-Paolo-Carlini-paolo.carlini-oracle.com.patch
@@ -0,0 +1,76 @@
1From 44863daed83ef6e6cb2bfec5670363338df0d887 Mon Sep 17 00:00:00 2001
2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 25 May 2011 23:46:31 +0000
4Subject: [PATCH] 2011-05-25 Paolo Carlini <paolo.carlini@oracle.com>
5
6 * config/abi/pre/gnu.ver: Export recently added basic_streambuf
7 and basic_stringbuf symbols @3.4.17.
8 * configure.ac: Update.
9 * testsuite/util/testsuite_abi.cc: Likewise.
10 * configure: Regenerate.
11
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174243 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index 839f846..778b826 100644
16--- a/libstdc++-v3/config/abi/pre/gnu.ver
17+++ b/libstdc++-v3/config/abi/pre/gnu.ver
18@@ -1272,6 +1272,17 @@ GLIBCXX_3.4.16 {
19
20 } GLIBCXX_3.4.15;
21
22+GLIBCXX_3.4.17 {
23+
24+ # basic_streambuf<>::__safe_gbump, __safe_pbump
25+ _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE12__safe_gbumpE*;
26+ _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE12__safe_pbumpE*;
27+
28+ # basic_stringbuf<>::_M_pbump
29+ _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE8_M_pbumpE*;
30+
31+} GLIBCXX_3.4.16;
32+
33 # Symbols in the support library (libsupc++) have their own tag.
34 CXXABI_1.3 {
35
36diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
37index c321e76..9032695 100755
38--- a/libstdc++-v3/configure
39+++ b/libstdc++-v3/configure
40@@ -2825,7 +2825,7 @@ ac_config_headers="$ac_config_headers config.h"
41 ### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD
42
43 # For libtool versioning info, format is CURRENT:REVISION:AGE
44-libtool_VERSION=6:16:0
45+libtool_VERSION=6:17:0
46
47
48 # Find the rest of the source tree framework.
49diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
50index ccf1230..61158c2 100644
51--- a/libstdc++-v3/configure.ac
52+++ b/libstdc++-v3/configure.ac
53@@ -12,7 +12,7 @@ AC_CONFIG_HEADER(config.h)
54 ### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD
55
56 # For libtool versioning info, format is CURRENT:REVISION:AGE
57-libtool_VERSION=6:16:0
58+libtool_VERSION=6:17:0
59 AC_SUBST(libtool_VERSION)
60
61 # Find the rest of the source tree framework.
62diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc b/libstdc++-v3/testsuite/util/testsuite_abi.cc
63index ea100b6..f1f5ad6 100644
64--- a/libstdc++-v3/testsuite/util/testsuite_abi.cc
65+++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc
66@@ -194,6 +194,7 @@ check_version(symbol& test, bool added)
67 known_versions.push_back("GLIBCXX_3.4.14");
68 known_versions.push_back("GLIBCXX_3.4.15");
69 known_versions.push_back("GLIBCXX_3.4.16");
70+ known_versions.push_back("GLIBCXX_3.4.17");
71 known_versions.push_back("GLIBCXX_LDBL_3.4");
72 known_versions.push_back("GLIBCXX_LDBL_3.4.7");
73 known_versions.push_back("GLIBCXX_LDBL_3.4.10");
74--
751.7.0.4
76
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0345-2011-05-25-Paolo-Carlini-paolo.carlini-oracle.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0345-2011-05-25-Paolo-Carlini-paolo.carlini-oracle.com.patch
new file mode 100644
index 0000000000..336f91c155
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0345-2011-05-25-Paolo-Carlini-paolo.carlini-oracle.com.patch
@@ -0,0 +1,78 @@
1From 8d80c4587462bb26e116a229978e1682e2099557 Mon Sep 17 00:00:00 2001
2From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 26 May 2011 00:15:58 +0000
4Subject: [PATCH] 2011-05-25 Paolo Carlini <paolo.carlini@oracle.com>
5
6 * config/abi/pre/gnu.ver: Correct last change, export instead
7 at the existing @3.4.16.
8 * configure.ac: Revert last change.
9 * testsuite/util/testsuite_abi.cc: Likewise.
10 * configure: Regenerate.
11
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174247 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index 778b826..57744a4 100644
16--- a/libstdc++-v3/config/abi/pre/gnu.ver
17+++ b/libstdc++-v3/config/abi/pre/gnu.ver
18@@ -1270,10 +1270,6 @@ GLIBCXX_3.4.16 {
19 _ZNSs10_S_compareE[jmy][jmy];
20 _ZNSbIwSt11char_traitsIwESaIwEE10_S_compareE[jmy][jmy];
21
22-} GLIBCXX_3.4.15;
23-
24-GLIBCXX_3.4.17 {
25-
26 # basic_streambuf<>::__safe_gbump, __safe_pbump
27 _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE12__safe_gbumpE*;
28 _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE12__safe_pbumpE*;
29@@ -1281,7 +1277,7 @@ GLIBCXX_3.4.17 {
30 # basic_stringbuf<>::_M_pbump
31 _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE8_M_pbumpE*;
32
33-} GLIBCXX_3.4.16;
34+} GLIBCXX_3.4.15;
35
36 # Symbols in the support library (libsupc++) have their own tag.
37 CXXABI_1.3 {
38diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
39index 9032695..c321e76 100755
40--- a/libstdc++-v3/configure
41+++ b/libstdc++-v3/configure
42@@ -2825,7 +2825,7 @@ ac_config_headers="$ac_config_headers config.h"
43 ### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD
44
45 # For libtool versioning info, format is CURRENT:REVISION:AGE
46-libtool_VERSION=6:17:0
47+libtool_VERSION=6:16:0
48
49
50 # Find the rest of the source tree framework.
51diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
52index 61158c2..ccf1230 100644
53--- a/libstdc++-v3/configure.ac
54+++ b/libstdc++-v3/configure.ac
55@@ -12,7 +12,7 @@ AC_CONFIG_HEADER(config.h)
56 ### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD
57
58 # For libtool versioning info, format is CURRENT:REVISION:AGE
59-libtool_VERSION=6:17:0
60+libtool_VERSION=6:16:0
61 AC_SUBST(libtool_VERSION)
62
63 # Find the rest of the source tree framework.
64diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc b/libstdc++-v3/testsuite/util/testsuite_abi.cc
65index f1f5ad6..ea100b6 100644
66--- a/libstdc++-v3/testsuite/util/testsuite_abi.cc
67+++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc
68@@ -194,7 +194,6 @@ check_version(symbol& test, bool added)
69 known_versions.push_back("GLIBCXX_3.4.14");
70 known_versions.push_back("GLIBCXX_3.4.15");
71 known_versions.push_back("GLIBCXX_3.4.16");
72- known_versions.push_back("GLIBCXX_3.4.17");
73 known_versions.push_back("GLIBCXX_LDBL_3.4");
74 known_versions.push_back("GLIBCXX_LDBL_3.4.7");
75 known_versions.push_back("GLIBCXX_LDBL_3.4.10");
76--
771.7.0.4
78
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0347-PR-c-45401.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0347-PR-c-45401.patch
new file mode 100644
index 0000000000..eaf6921b52
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0347-PR-c-45401.patch
@@ -0,0 +1,51 @@
1From 6674aae1e1421a2d600bf9d0a1e501873a88b8f6 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 26 May 2011 03:06:09 +0000
4Subject: [PATCH] PR c++/45401
5 * decl.c (grokdeclarator): Don't change type when adding rvalue ref
6 to another reference type.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174260 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index de53541..b3de096 100644
11--- a/gcc/cp/decl.c
12+++ b/gcc/cp/decl.c
13@@ -9017,13 +9017,18 @@ grokdeclarator (const cp_declarator *declarator,
14 to create the type "rvalue reference to cv TD' creates the
15 type TD."
16 */
17- if (!VOID_TYPE_P (type))
18+ if (VOID_TYPE_P (type))
19+ /* We already gave an error. */;
20+ else if (TREE_CODE (type) == REFERENCE_TYPE)
21+ {
22+ if (declarator->u.reference.rvalue_ref)
23+ /* Leave type alone. */;
24+ else
25+ type = cp_build_reference_type (TREE_TYPE (type), false);
26+ }
27+ else
28 type = cp_build_reference_type
29- ((TREE_CODE (type) == REFERENCE_TYPE
30- ? TREE_TYPE (type) : type),
31- (declarator->u.reference.rvalue_ref
32- && (TREE_CODE(type) != REFERENCE_TYPE
33- || TYPE_REF_IS_RVALUE (type))));
34+ (type, declarator->u.reference.rvalue_ref);
35
36 /* In C++0x, we need this check for direct reference to
37 reference declarations, which are forbidden by
38new file mode 100644
39index 0000000..569ee5b
40--- /dev/null
41+++ b/gcc/testsuite/g++.dg/cpp0x/rv-restrict.C
42@@ -0,0 +1,6 @@
43+// PR c++/45401
44+// { dg-options -std=c++0x }
45+
46+typedef int &__restrict restrictLvref;
47+typedef restrictLvref &&rvrefToRestrictLvref;
48+typedef restrictLvref rvrefToRestrictLvref;
49--
501.7.0.4
51
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0348-PR-c-49156.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0348-PR-c-49156.patch
new file mode 100644
index 0000000000..f5a5036c1a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0348-PR-c-49156.patch
@@ -0,0 +1,62 @@
1From 08582a924888d536bb82007d7768ef67fc1804ac Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 26 May 2011 03:06:17 +0000
4Subject: [PATCH] PR c++/49156
5 * error.c (dump_template_bindings): Set processing_template_decl
6 for a partial instantiation.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174261 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 2477123..dffc764 100644
11--- a/gcc/cp/error.c
12+++ b/gcc/cp/error.c
13@@ -306,6 +306,7 @@ dump_template_bindings (tree parms, tree args, VEC(tree,gc)* typenames)
14
15 FOR_EACH_VEC_ELT (tree, typenames, i, t)
16 {
17+ bool dependent = uses_template_parms (args);
18 if (need_comma)
19 pp_separate_with_comma (cxx_pp);
20 dump_type (t, TFF_PLAIN_IDENTIFIER);
21@@ -313,7 +314,11 @@ dump_template_bindings (tree parms, tree args, VEC(tree,gc)* typenames)
22 pp_equal (cxx_pp);
23 pp_cxx_whitespace (cxx_pp);
24 push_deferring_access_checks (dk_no_check);
25+ if (dependent)
26+ ++processing_template_decl;
27 t = tsubst (t, args, tf_none, NULL_TREE);
28+ if (dependent)
29+ --processing_template_decl;
30 pop_deferring_access_checks ();
31 /* Strip typedefs. We can't just use TFF_CHASE_TYPEDEF because
32 pp_simple_type_specifier doesn't know about it. */
33new file mode 100644
34index 0000000..29a1cdd
35--- /dev/null
36+++ b/gcc/testsuite/g++.dg/cpp0x/error4.C
37@@ -0,0 +1,22 @@
38+// PR c++/49156
39+// { dg-options -std=c++0x }
40+
41+template<typename T> T declval();
42+
43+template<typename T>
44+struct S {
45+
46+ template<typename U>
47+ static U get(const volatile T&);
48+
49+ template<typename U>
50+ static decltype(*declval<U>()) get(...);
51+
52+ typedef decltype(get<T>(declval<T>())) type; // { dg-error "no match" }
53+};
54+
55+struct X { };
56+
57+S<X>::type x;
58+
59+// { dg-prune-output "note" }
60--
611.7.0.4
62
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0349-PR-tree-optimization-49161.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0349-PR-tree-optimization-49161.patch
new file mode 100644
index 0000000000..80f89fd418
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0349-PR-tree-optimization-49161.patch
@@ -0,0 +1,200 @@
1From a6f15e84e042ffb95afa499d2bd2d6b2758f85f9 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 26 May 2011 10:20:34 +0000
4Subject: [PATCH] PR tree-optimization/49161
5 * tree-vrp.c (struct case_info): New type.
6 (compare_case_labels): Sort case_info structs instead of
7 trees, and not primarily by CASE_LABEL uids but by
8 label_for_block indexes.
9 (find_switch_asserts): Put case labels into struct case_info
10 array instead of TREE_VEC, adjust sorting, compare label_for_block
11 values instead of CASE_LABELs.
12
13 * gcc.c-torture/execute/pr49161.c: New test.
14
15
16git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174272 138bc75d-0d04-0410-961f-82ee72b054a4
17
18index 2c4fdd4..b5d9fd3 100644
19new file mode 100644
20index 0000000..cc822da
21--- /dev/null
22+++ b/gcc/testsuite/gcc.c-torture/execute/pr49161.c
23@@ -0,0 +1,46 @@
24+/* PR tree-optimization/49161 */
25+
26+extern void abort (void);
27+
28+int c;
29+
30+__attribute__((noinline, noclone)) void
31+bar (int x)
32+{
33+ if (x != c++)
34+ abort ();
35+}
36+
37+__attribute__((noinline, noclone)) void
38+foo (int x)
39+{
40+ switch (x)
41+ {
42+ case 3: goto l1;
43+ case 4: goto l2;
44+ case 6: goto l3;
45+ default: return;
46+ }
47+l1:
48+ goto l4;
49+l2:
50+ goto l4;
51+l3:
52+ bar (-1);
53+l4:
54+ bar (0);
55+ if (x != 4)
56+ bar (1);
57+ if (x != 3)
58+ bar (-1);
59+ bar (2);
60+}
61+
62+int
63+main ()
64+{
65+ foo (3);
66+ if (c != 3)
67+ abort ();
68+ return 0;
69+}
70diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
71index 7bff5fa..6914a08 100644
72--- a/gcc/tree-vrp.c
73+++ b/gcc/tree-vrp.c
74@@ -4672,28 +4672,35 @@ find_conditional_asserts (basic_block bb, gimple last)
75 return need_assert;
76 }
77
78-/* Compare two case labels sorting first by the destination label uid
79+struct case_info
80+{
81+ tree expr;
82+ basic_block bb;
83+};
84+
85+/* Compare two case labels sorting first by the destination bb index
86 and then by the case value. */
87
88 static int
89 compare_case_labels (const void *p1, const void *p2)
90 {
91- const_tree const case1 = *(const_tree const*)p1;
92- const_tree const case2 = *(const_tree const*)p2;
93- unsigned int uid1 = DECL_UID (CASE_LABEL (case1));
94- unsigned int uid2 = DECL_UID (CASE_LABEL (case2));
95+ const struct case_info *ci1 = (const struct case_info *) p1;
96+ const struct case_info *ci2 = (const struct case_info *) p2;
97+ int idx1 = ci1->bb->index;
98+ int idx2 = ci2->bb->index;
99
100- if (uid1 < uid2)
101+ if (idx1 < idx2)
102 return -1;
103- else if (uid1 == uid2)
104+ else if (idx1 == idx2)
105 {
106 /* Make sure the default label is first in a group. */
107- if (!CASE_LOW (case1))
108+ if (!CASE_LOW (ci1->expr))
109 return -1;
110- else if (!CASE_LOW (case2))
111+ else if (!CASE_LOW (ci2->expr))
112 return 1;
113 else
114- return tree_int_cst_compare (CASE_LOW (case1), CASE_LOW (case2));
115+ return tree_int_cst_compare (CASE_LOW (ci1->expr),
116+ CASE_LOW (ci2->expr));
117 }
118 else
119 return 1;
120@@ -4714,8 +4721,8 @@ find_switch_asserts (basic_block bb, gimple last)
121 gimple_stmt_iterator bsi;
122 tree op;
123 edge e;
124- tree vec2;
125- size_t n = gimple_switch_num_labels(last);
126+ struct case_info *ci;
127+ size_t n = gimple_switch_num_labels (last);
128 #if GCC_VERSION >= 4000
129 unsigned int idx;
130 #else
131@@ -4730,36 +4737,38 @@ find_switch_asserts (basic_block bb, gimple last)
132 return false;
133
134 /* Build a vector of case labels sorted by destination label. */
135- vec2 = make_tree_vec (n);
136+ ci = XNEWVEC (struct case_info, n);
137 for (idx = 0; idx < n; ++idx)
138- TREE_VEC_ELT (vec2, idx) = gimple_switch_label (last, idx);
139- qsort (&TREE_VEC_ELT (vec2, 0), n, sizeof (tree), compare_case_labels);
140+ {
141+ ci[idx].expr = gimple_switch_label (last, idx);
142+ ci[idx].bb = label_to_block (CASE_LABEL (ci[idx].expr));
143+ }
144+ qsort (ci, n, sizeof (struct case_info), compare_case_labels);
145
146 for (idx = 0; idx < n; ++idx)
147 {
148 tree min, max;
149- tree cl = TREE_VEC_ELT (vec2, idx);
150+ tree cl = ci[idx].expr;
151+ basic_block cbb = ci[idx].bb;
152
153 min = CASE_LOW (cl);
154 max = CASE_HIGH (cl);
155
156 /* If there are multiple case labels with the same destination
157 we need to combine them to a single value range for the edge. */
158- if (idx + 1 < n
159- && CASE_LABEL (cl) == CASE_LABEL (TREE_VEC_ELT (vec2, idx + 1)))
160+ if (idx + 1 < n && cbb == ci[idx + 1].bb)
161 {
162 /* Skip labels until the last of the group. */
163 do {
164 ++idx;
165- } while (idx < n
166- && CASE_LABEL (cl) == CASE_LABEL (TREE_VEC_ELT (vec2, idx)));
167+ } while (idx < n && cbb == ci[idx].bb);
168 --idx;
169
170 /* Pick up the maximum of the case label range. */
171- if (CASE_HIGH (TREE_VEC_ELT (vec2, idx)))
172- max = CASE_HIGH (TREE_VEC_ELT (vec2, idx));
173+ if (CASE_HIGH (ci[idx].expr))
174+ max = CASE_HIGH (ci[idx].expr);
175 else
176- max = CASE_LOW (TREE_VEC_ELT (vec2, idx));
177+ max = CASE_LOW (ci[idx].expr);
178 }
179
180 /* Nothing to do if the range includes the default label until we
181@@ -4768,7 +4777,7 @@ find_switch_asserts (basic_block bb, gimple last)
182 continue;
183
184 /* Find the edge to register the assert expr on. */
185- e = find_edge (bb, label_to_block (CASE_LABEL (cl)));
186+ e = find_edge (bb, cbb);
187
188 /* Register the necessary assertions for the operand in the
189 SWITCH_EXPR. */
190@@ -4786,6 +4795,7 @@ find_switch_asserts (basic_block bb, gimple last)
191 }
192 }
193
194+ XDELETEVEC (ci);
195 return need_assert;
196 }
197
198--
1991.7.0.4
200
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0350-PR-c-49165.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0350-PR-c-49165.patch
new file mode 100644
index 0000000000..d684188b94
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0350-PR-c-49165.patch
@@ -0,0 +1,89 @@
1From 7a439d1a410aadbff83965a4ad40c92499caa66b Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 26 May 2011 10:27:57 +0000
4Subject: [PATCH] PR c++/49165
5 * gimplify.c (shortcut_cond_r): Don't special case
6 COND_EXPRs if they have void type on one of their arms.
7
8 * g++.dg/eh/cond5.C: New test.
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174274 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index 908d736..4c34795 100644
14--- a/gcc/gimplify.c
15+++ b/gcc/gimplify.c
16@@ -2555,7 +2555,9 @@ shortcut_cond_r (tree pred, tree *true_label_p, tree *false_label_p,
17 new_locus);
18 append_to_statement_list (t, &expr);
19 }
20- else if (TREE_CODE (pred) == COND_EXPR)
21+ else if (TREE_CODE (pred) == COND_EXPR
22+ && !VOID_TYPE_P (TREE_TYPE (TREE_OPERAND (pred, 1)))
23+ && !VOID_TYPE_P (TREE_TYPE (TREE_OPERAND (pred, 2))))
24 {
25 location_t new_locus;
26
27@@ -2563,7 +2565,10 @@ shortcut_cond_r (tree pred, tree *true_label_p, tree *false_label_p,
28 if (a)
29 if (b) goto yes; else goto no;
30 else
31- if (c) goto yes; else goto no; */
32+ if (c) goto yes; else goto no;
33+
34+ Don't do this if one of the arms has void type, which can happen
35+ in C++ when the arm is throw. */
36
37 /* Keep the original source location on the first 'if'. Set the source
38 location of the ? on the second 'if'. */
39new file mode 100644
40index 0000000..3f0c599
41--- /dev/null
42+++ b/gcc/testsuite/g++.dg/eh/cond5.C
43@@ -0,0 +1,43 @@
44+// PR c++/49165
45+// { dg-do run }
46+
47+extern "C" void abort ();
48+
49+int
50+foo (bool x, int y)
51+{
52+ if (y < 10 && (x ? true : throw 1))
53+ y++;
54+ if (y > 20 || (x ? true : throw 2))
55+ y++;
56+ return y;
57+}
58+
59+int
60+main ()
61+{
62+ if (foo (true, 0) != 2
63+ || foo (true, 10) != 11
64+ || foo (false, 30) != 31)
65+ abort ();
66+ try
67+ {
68+ foo (false, 0);
69+ abort ();
70+ }
71+ catch (int i)
72+ {
73+ if (i != 1)
74+ abort ();
75+ }
76+ try
77+ {
78+ foo (false, 10);
79+ abort ();
80+ }
81+ catch (int i)
82+ {
83+ if (i != 2)
84+ abort ();
85+ }
86+}
87--
881.7.0.4
89
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0351-PR-target-44643.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0351-PR-target-44643.patch
new file mode 100644
index 0000000000..18b150103f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0351-PR-target-44643.patch
@@ -0,0 +1,44 @@
1From b17f4e7b2f554537d075f35ad5d1b40419d119e8 Mon Sep 17 00:00:00 2001
2From: gjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 26 May 2011 12:52:03 +0000
4Subject: [PATCH] PR target/44643
5 * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
6 alone. Error if non-const data has attribute progmem.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174281 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 92cc7b6..19b020b 100644
11--- a/gcc/config/avr/avr.c
12+++ b/gcc/config/avr/avr.c
13@@ -4995,14 +4995,20 @@ avr_insert_attributes (tree node, tree *attributes)
14 && (TREE_STATIC (node) || DECL_EXTERNAL (node))
15 && avr_progmem_p (node, *attributes))
16 {
17- static const char dsec[] = ".progmem.data";
18- *attributes = tree_cons (get_identifier ("section"),
19- build_tree_list (NULL, build_string (strlen (dsec), dsec)),
20- *attributes);
21-
22- /* ??? This seems sketchy. Why can't the user declare the
23- thing const in the first place? */
24- TREE_READONLY (node) = 1;
25+ if (TREE_READONLY (node))
26+ {
27+ static const char dsec[] = ".progmem.data";
28+
29+ *attributes = tree_cons (get_identifier ("section"),
30+ build_tree_list (NULL, build_string (strlen (dsec), dsec)),
31+ *attributes);
32+ }
33+ else
34+ {
35+ error ("variable %q+D must be const in order to be put into"
36+ " read-only section by means of %<__attribute__((progmem))%>",
37+ node);
38+ }
39 }
40 }
41
42--
431.7.0.4
44
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0352-PR-c-48424.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0352-PR-c-48424.patch
new file mode 100644
index 0000000000..0ae608ba4a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0352-PR-c-48424.patch
@@ -0,0 +1,105 @@
1From 1d07ea72697228c40996bb2e61c7b5b8ed38dc36 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 26 May 2011 13:44:20 +0000
4Subject: [PATCH] PR c++/48424
5 * decl.c (grokparms): Function parameter packs don't need to
6 go at the end.
7 * pt.c (type_unification_real): But they aren't deduced otherwise.
8
9git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174287 138bc75d-0d04-0410-961f-82ee72b054a4
10
11index b3de096..dac87dd 100644
12--- a/gcc/cp/decl.c
13+++ b/gcc/cp/decl.c
14@@ -10358,12 +10358,6 @@ grokparms (tree parmlist, tree *parms)
15 init = check_default_argument (decl, init);
16 }
17
18- if (TREE_CODE (decl) == PARM_DECL
19- && FUNCTION_PARAMETER_PACK_P (decl)
20- && TREE_CHAIN (parm)
21- && TREE_CHAIN (parm) != void_list_node)
22- error ("parameter packs must be at the end of the parameter list");
23-
24 DECL_CHAIN (decl) = decls;
25 decls = decl;
26 result = tree_cons (init, type, result);
27diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
28index 7c71092..f648511 100644
29--- a/gcc/cp/pt.c
30+++ b/gcc/cp/pt.c
31@@ -14039,11 +14039,24 @@ type_unification_real (tree tparms,
32 while (parms && parms != void_list_node
33 && ia < nargs)
34 {
35- if (TREE_CODE (TREE_VALUE (parms)) == TYPE_PACK_EXPANSION)
36- break;
37-
38 parm = TREE_VALUE (parms);
39+
40+ if (TREE_CODE (parm) == TYPE_PACK_EXPANSION
41+ && (!TREE_CHAIN (parms) || TREE_CHAIN (parms) == void_list_node))
42+ /* For a function parameter pack that occurs at the end of the
43+ parameter-declaration-list, the type A of each remaining
44+ argument of the call is compared with the type P of the
45+ declarator-id of the function parameter pack. */
46+ break;
47+
48 parms = TREE_CHAIN (parms);
49+
50+ if (TREE_CODE (parm) == TYPE_PACK_EXPANSION)
51+ /* For a function parameter pack that does not occur at the
52+ end of the parameter-declaration-list, the type of the
53+ parameter pack is a non-deduced context. */
54+ continue;
55+
56 arg = args[ia];
57 ++ia;
58 arg_expr = NULL;
59new file mode 100644
60index 0000000..378162e
61--- /dev/null
62+++ b/gcc/testsuite/g++.dg/cpp0x/variadic111.C
63@@ -0,0 +1,19 @@
64+// PR c++/48424
65+// { dg-options -std=c++0x }
66+
67+template<typename... Args1>
68+struct S
69+{
70+ template<typename... Args2>
71+ void f(Args1... args1, Args2&&... args2)
72+ {
73+ }
74+};
75+
76+int main()
77+{
78+ S<int, double> s;
79+ s.f(1,2.0,false,'a');
80+}
81+
82+// { dg-final { scan-assembler "_ZN1SIIidEE1fIIbcEEEvidDpOT_" } }
83diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic41.C b/gcc/testsuite/g++.dg/cpp0x/variadic41.C
84index d209766..9cfd847 100644
85--- a/gcc/testsuite/g++.dg/cpp0x/variadic41.C
86+++ b/gcc/testsuite/g++.dg/cpp0x/variadic41.C
87@@ -1,3 +1,14 @@
88+// A function parameter pack is only deduced if it's at the end
89 // { dg-options "-std=gnu++0x" }
90 template<typename... Args>
91-void f(const Args&... args, int oops); // { dg-error "end" }
92+void f(const Args&... args, int oops);
93+
94+int main()
95+{
96+ f<>(1);
97+ f(1);
98+ f<int>(1,2);
99+ f(1,2); // { dg-error "no match" }
100+}
101+
102+// { dg-prune-output "note" }
103--
1041.7.0.4
105
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0354-config-rs6000-rs6000.c-rs6000_register_move_cost-Mak.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0354-config-rs6000-rs6000.c-rs6000_register_move_cost-Mak.patch
new file mode 100644
index 0000000000..e5cfa1d72b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0354-config-rs6000-rs6000.c-rs6000_register_move_cost-Mak.patch
@@ -0,0 +1,28 @@
1From d51320157aee7ce2a4e2478c8457eae2022192fb Mon Sep 17 00:00:00 2001
2From: pthaugen <pthaugen@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 26 May 2011 15:33:43 +0000
4Subject: [PATCH] * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
5 moves expensive on Power7 also.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174294 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 898a87b..b39801a 100644
10--- a/gcc/config/rs6000/rs6000.c
11+++ b/gcc/config/rs6000/rs6000.c
12@@ -26670,9 +26670,10 @@ rs6000_register_move_cost (enum machine_mode mode,
13 else if (from == CR_REGS)
14 ret = 4;
15
16- /* Power6 has slower LR/CTR moves so make them more expensive than
17- memory in order to bias spills to memory .*/
18- else if (rs6000_cpu == PROCESSOR_POWER6
19+ /* For those processors that have slow LR/CTR moves, make them more
20+ expensive than memory in order to bias spills to memory .*/
21+ else if ((rs6000_cpu == PROCESSOR_POWER6
22+ || rs6000_cpu == PROCESSOR_POWER7)
23 && reg_classes_intersect_p (from, LINK_OR_CTR_REGS))
24 ret = 6 * hard_regno_nregs[0][mode];
25
26--
271.7.0.4
28
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0355-2011-05-26-Paul-Thomas-pault-gcc.gnu.org.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0355-2011-05-26-Paul-Thomas-pault-gcc.gnu.org.patch
new file mode 100644
index 0000000000..7f0518a1bd
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0355-2011-05-26-Paul-Thomas-pault-gcc.gnu.org.patch
@@ -0,0 +1,168 @@
1From a5c09be2d509aeba1efb986f8996d4847883cc5a Mon Sep 17 00:00:00 2001
2From: pault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 26 May 2011 20:49:07 +0000
4Subject: [PATCH] 2011-05-26 Paul Thomas <pault@gcc.gnu.org>
5 Thomas Koenig <tkoenig@gcc.gnu.org>
6
7 PR fortran/48955
8 * trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET
9 changed to GFC_ENABLE_REVERSE.
10 * trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed
11 to GFC_INHIBIT_REVERSE.
12 * gfortran.h : Enum gfc_reverse is now GFC_ENABLE_REVERSE,
13 GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE.
14 * dependency.c (gfc_dep_resolver): Change names for elements of
15 gfc_reverse as necessary. Change the logic so that forward
16 dependences are remembered as well as backward ones. When both
17 have appeared, force a temporary.
18
192011-05-26 Thomas Koenig <tkoenig@gcc.gnu.org>
20
21 PR fortran/48955
22 * gfortran.dg/dependency_40.f90 : New test.
23
24
25
26git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174308 138bc75d-0d04-0410-961f-82ee72b054a4
27
28index 77e8df7..58cfb65 100644
29--- a/gcc/fortran/dependency.c
30+++ b/gcc/fortran/dependency.c
31@@ -1793,7 +1793,7 @@ gfc_dep_resolver (gfc_ref *lref, gfc_ref *rref, gfc_reverse *reverse)
32
33 /* Now deal with the loop reversal logic: This only works on
34 ranges and is activated by setting
35- reverse[n] == GFC_CAN_REVERSE
36+ reverse[n] == GFC_ENABLE_REVERSE
37 The ability to reverse or not is set by previous conditions
38 in this dimension. If reversal is not activated, the
39 value GFC_DEP_BACKWARD is reset to GFC_DEP_OVERLAP. */
40@@ -1801,25 +1801,34 @@ gfc_dep_resolver (gfc_ref *lref, gfc_ref *rref, gfc_reverse *reverse)
41 && lref->u.ar.dimen_type[n] == DIMEN_RANGE)
42 {
43 /* Set reverse if backward dependence and not inhibited. */
44- if (reverse && reverse[n] != GFC_CANNOT_REVERSE)
45+ if (reverse && reverse[n] == GFC_ENABLE_REVERSE)
46 reverse[n] = (this_dep == GFC_DEP_BACKWARD) ?
47 GFC_REVERSE_SET : reverse[n];
48
49- /* Inhibit loop reversal if dependence not compatible. */
50- if (reverse && reverse[n] != GFC_REVERSE_NOT_SET
51- && this_dep != GFC_DEP_EQUAL
52- && this_dep != GFC_DEP_BACKWARD
53- && this_dep != GFC_DEP_NODEP)
54+ /* Set forward if forward dependence and not inhibited. */
55+ if (reverse && reverse[n] == GFC_ENABLE_REVERSE)
56+ reverse[n] = (this_dep == GFC_DEP_FORWARD) ?
57+ GFC_FORWARD_SET : reverse[n];
58+
59+ /* Flag up overlap if dependence not compatible with
60+ the overall state of the expression. */
61+ if (reverse && reverse[n] == GFC_REVERSE_SET
62+ && this_dep == GFC_DEP_FORWARD)
63+ {
64+ reverse[n] = GFC_INHIBIT_REVERSE;
65+ this_dep = GFC_DEP_OVERLAP;
66+ }
67+ else if (reverse && reverse[n] == GFC_FORWARD_SET
68+ && this_dep == GFC_DEP_BACKWARD)
69 {
70- reverse[n] = GFC_CANNOT_REVERSE;
71- if (this_dep != GFC_DEP_FORWARD)
72- this_dep = GFC_DEP_OVERLAP;
73+ reverse[n] = GFC_INHIBIT_REVERSE;
74+ this_dep = GFC_DEP_OVERLAP;
75 }
76
77 /* If no intention of reversing or reversing is explicitly
78 inhibited, convert backward dependence to overlap. */
79- if (this_dep == GFC_DEP_BACKWARD
80- && (reverse == NULL || reverse[n] == GFC_CANNOT_REVERSE))
81+ if ((reverse == NULL && this_dep == GFC_DEP_BACKWARD)
82+ || (reverse != NULL && reverse[n] == GFC_INHIBIT_REVERSE))
83 this_dep = GFC_DEP_OVERLAP;
84 }
85
86diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
87index 165bd2f..f20a29b 100644
88--- a/gcc/fortran/gfortran.h
89+++ b/gcc/fortran/gfortran.h
90@@ -578,10 +578,10 @@ gfc_fcoarray;
91
92 typedef enum
93 {
94- GFC_REVERSE_NOT_SET,
95+ GFC_ENABLE_REVERSE,
96+ GFC_FORWARD_SET,
97 GFC_REVERSE_SET,
98- GFC_CAN_REVERSE,
99- GFC_CANNOT_REVERSE
100+ GFC_INHIBIT_REVERSE
101 }
102 gfc_reverse;
103
104diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
105index 3d4a52a..b64e10d 100644
106--- a/gcc/fortran/trans-array.c
107+++ b/gcc/fortran/trans-array.c
108@@ -2223,7 +2223,7 @@ gfc_init_loopinfo (gfc_loopinfo * loop)
109 for (n = 0; n < GFC_MAX_DIMENSIONS; n++)
110 {
111 loop->order[n] = n;
112- loop->reverse[n] = GFC_CANNOT_REVERSE;
113+ loop->reverse[n] = GFC_INHIBIT_REVERSE;
114 }
115
116 loop->ss = gfc_ss_terminator;
117diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
118index 1d678e6..ade7e54 100644
119--- a/gcc/fortran/trans-expr.c
120+++ b/gcc/fortran/trans-expr.c
121@@ -6067,8 +6067,8 @@ gfc_trans_assignment_1 (gfc_expr * expr1, gfc_expr * expr2, bool init_flag,
122 /* Calculate the bounds of the scalarization. */
123 gfc_conv_ss_startstride (&loop);
124 /* Enable loop reversal. */
125- for (n = 0; n < loop.dimen; n++)
126- loop.reverse[n] = GFC_REVERSE_NOT_SET;
127+ for (n = 0; n < GFC_MAX_DIMENSIONS; n++)
128+ loop.reverse[n] = GFC_ENABLE_REVERSE;
129 /* Resolve any data dependencies in the statement. */
130 gfc_conv_resolve_dependencies (&loop, lss, rss);
131 /* Setup the scalarizing loops. */
132new file mode 100644
133index 0000000..b7bd4f9
134--- /dev/null
135+++ b/gcc/testsuite/gfortran.dg/dependency_40.f90
136@@ -0,0 +1,29 @@
137+! { dg-do run }
138+! PR 48955 - missing array temporary when there was both a forward
139+! and a backward dependency.
140+! Test case slightly modified from the original one by Kacper Kowalik.
141+program ala
142+ implicit none
143+
144+ integer, parameter :: n = 6
145+ real, dimension(n), parameter :: result = [1.,10.,30.,90.,270., 243.];
146+ real, dimension(n) :: v0, v1
147+ character(len=80) :: line1, line2
148+
149+ v0 = [1.0, 3.0, 9.0, 27.0, 81.0, 243.0]
150+ v1 = v0
151+
152+ v1(2:n-1) = v1(1:n-2) + v1(3:n)
153+ if (any(v1 /= result)) call abort
154+ v1 = v0
155+ v1(2:n-1) = v0(1:n-2) + v0(3:n)
156+ if (any(v1 /= result)) call abort
157+
158+ v1 = v0
159+ v1(2:n-1) = v1(3:n) + v1(1:n-2)
160+ if (any(v1 /= result)) call abort
161+ v1 = v0
162+ v1(2:n-1) = v0(3:n) + v0(1:n-2)
163+ if (any(v1 /= result)) call abort
164+
165+end program ala
166--
1671.7.0.4
168
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0357-PR-c-48657.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0357-PR-c-48657.patch
new file mode 100644
index 0000000000..49a0763dbc
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0357-PR-c-48657.patch
@@ -0,0 +1,149 @@
1From 04ed2c7147286ab11c8ba25e486e3f726c4970d4 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 27 May 2011 18:10:48 +0000
4Subject: [PATCH] PR c++/48657
5 PR c++/49176
6 * decl.c (cp_finish_decl): Simplify template handling.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174346 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index dac87dd..8395b2b 100644
11--- a/gcc/cp/decl.c
12+++ b/gcc/cp/decl.c
13@@ -5760,7 +5760,6 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
14 const char *asmspec = NULL;
15 int was_readonly = 0;
16 bool var_definition_p = false;
17- int saved_processing_template_decl;
18 tree auto_node;
19
20 if (decl == error_mark_node)
21@@ -5782,7 +5781,6 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
22
23 /* Assume no cleanup is required. */
24 cleanup = NULL_TREE;
25- saved_processing_template_decl = processing_template_decl;
26
27 /* If a name was specified, get the string. */
28 if (global_scope_p (current_binding_level))
29@@ -5882,45 +5880,24 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
30 template is instantiated. But, if DECL is a variable constant
31 then it can be used in future constant expressions, so its value
32 must be available. */
33- if (!(init
34- && init_const_expr_p
35- && !type_dependent_p
36- && decl_maybe_constant_var_p (decl)
37- && !value_dependent_init_p (init)))
38- {
39- if (init)
40- DECL_INITIAL (decl) = init;
41- if (TREE_CODE (decl) == VAR_DECL
42- && !DECL_PRETTY_FUNCTION_P (decl)
43- && !type_dependent_p)
44- maybe_deduce_size_from_array_init (decl, init);
45- goto finish_end;
46- }
47-
48- if (!DECL_CLASS_SCOPE_P (decl))
49+ if (init
50+ && init_const_expr_p
51+ && !type_dependent_p
52+ && decl_maybe_constant_var_p (decl)
53+ && !value_dependent_init_p (init))
54 {
55 tree init_code = check_initializer (decl, init, flags, &cleanup);
56- if (init_code)
57- DECL_INITIAL (decl) = init;
58- goto finish_end;
59+ if (init_code == NULL_TREE)
60+ init = NULL_TREE;
61 }
62+ else if (TREE_CODE (decl) == VAR_DECL
63+ && !DECL_PRETTY_FUNCTION_P (decl)
64+ && !type_dependent_p)
65+ maybe_deduce_size_from_array_init (decl, init);
66
67- if (TREE_CODE (init) == TREE_LIST)
68- {
69- /* If the parenthesized-initializer form was used (e.g.,
70- "int A<N>::i(X)"), then INIT will be a TREE_LIST of initializer
71- arguments. (There is generally only one.) We convert them
72- individually. */
73- tree list = init;
74- for (; list; list = TREE_CHAIN (list))
75- {
76- tree elt = TREE_VALUE (list);
77- TREE_VALUE (list) = fold_non_dependent_expr (elt);
78- }
79- }
80- else
81- init = fold_non_dependent_expr (init);
82- processing_template_decl = 0;
83+ if (init)
84+ DECL_INITIAL (decl) = init;
85+ return;
86 }
87
88 /* Take care of TYPE_DECLs up front. */
89@@ -5943,7 +5920,7 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
90
91 rest_of_decl_compilation (decl, DECL_FILE_SCOPE_P (decl),
92 at_eof);
93- goto finish_end;
94+ return;
95 }
96
97 /* A reference will be modified here, as it is initialized. */
98@@ -6067,8 +6044,7 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
99 else if (TREE_CODE (type) == ARRAY_TYPE)
100 layout_type (type);
101
102- if (!processing_template_decl
103- && TREE_STATIC (decl)
104+ if (TREE_STATIC (decl)
105 && !at_function_scope_p ()
106 && current_function_decl == NULL)
107 /* So decl is a global variable or a static member of a
108@@ -6088,9 +6064,8 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
109
110 /* Let the middle end know about variables and functions -- but not
111 static data members in uninstantiated class templates. */
112- if (!saved_processing_template_decl
113- && (TREE_CODE (decl) == VAR_DECL
114- || TREE_CODE (decl) == FUNCTION_DECL))
115+ if (TREE_CODE (decl) == VAR_DECL
116+ || TREE_CODE (decl) == FUNCTION_DECL)
117 {
118 if (TREE_CODE (decl) == VAR_DECL)
119 {
120@@ -6177,9 +6152,6 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
121 if (cleanup)
122 push_cleanup (decl, cleanup, false);
123
124- finish_end:
125- processing_template_decl = saved_processing_template_decl;
126-
127 if (was_readonly)
128 TREE_READONLY (decl) = 1;
129 }
130new file mode 100644
131index 0000000..5d3ec5b
132--- /dev/null
133+++ b/gcc/testsuite/g++.dg/template/const5.C
134@@ -0,0 +1,12 @@
135+// PR c++/49176
136+// { dg-options -std=c++0x }
137+
138+struct A { static int a(); };
139+
140+template<int>
141+struct B { static int const b; };
142+
143+int f() { return B<0>::b; }
144+
145+template<int I>
146+int const B<I>::b=A::a();
147--
1481.7.0.4
149
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0358-PR-c-49165.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0358-PR-c-49165.patch
new file mode 100644
index 0000000000..cbe05a533d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0358-PR-c-49165.patch
@@ -0,0 +1,89 @@
1From 0a0395125e1f619c73c0d0c754c630cd92cc4aa7 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 27 May 2011 19:23:46 +0000
4Subject: [PATCH] PR c++/49165
5 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
6 C++ don't call c_common_truthvalue_conversion on void type arms.
7
8 * g++.dg/eh/cond6.C: New test.
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174351 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index 0be3996..ea5a196 100644
14--- a/gcc/c-family/c-common.c
15+++ b/gcc/c-family/c-common.c
16@@ -3915,14 +3915,15 @@ c_common_truthvalue_conversion (location_t location, tree expr)
17 /* Distribute the conversion into the arms of a COND_EXPR. */
18 if (c_dialect_cxx ())
19 {
20+ tree op1 = TREE_OPERAND (expr, 1);
21+ tree op2 = TREE_OPERAND (expr, 2);
22+ /* In C++ one of the arms might have void type if it is throw. */
23+ if (!VOID_TYPE_P (TREE_TYPE (op1)))
24+ op1 = c_common_truthvalue_conversion (location, op1);
25+ if (!VOID_TYPE_P (TREE_TYPE (op2)))
26+ op2 = c_common_truthvalue_conversion (location, op2);
27 expr = fold_build3_loc (location, COND_EXPR, truthvalue_type_node,
28- TREE_OPERAND (expr, 0),
29- c_common_truthvalue_conversion (location,
30- TREE_OPERAND (expr,
31- 1)),
32- c_common_truthvalue_conversion (location,
33- TREE_OPERAND (expr,
34- 2)));
35+ TREE_OPERAND (expr, 0), op1, op2);
36 goto ret;
37 }
38 else
39new file mode 100644
40index 0000000..1eed63e
41--- /dev/null
42+++ b/gcc/testsuite/g++.dg/eh/cond6.C
43@@ -0,0 +1,43 @@
44+// PR c++/49165
45+// { dg-do run }
46+
47+extern "C" void abort ();
48+
49+int
50+foo (bool x, int y)
51+{
52+ if (y < 10 && (x ? 1 : throw 1))
53+ y++;
54+ if (y > 20 || (x ? 1 : throw 2))
55+ y++;
56+ return y;
57+}
58+
59+int
60+main ()
61+{
62+ if (foo (true, 0) != 2
63+ || foo (true, 10) != 11
64+ || foo (false, 30) != 31)
65+ abort ();
66+ try
67+ {
68+ foo (false, 0);
69+ abort ();
70+ }
71+ catch (int i)
72+ {
73+ if (i != 1)
74+ abort ();
75+ }
76+ try
77+ {
78+ foo (false, 10);
79+ abort ();
80+ }
81+ catch (int i)
82+ {
83+ if (i != 2)
84+ abort ();
85+ }
86+}
87--
881.7.0.4
89
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0359-PR-c-48284.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0359-PR-c-48284.patch
new file mode 100644
index 0000000000..2fd1843d51
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0359-PR-c-48284.patch
@@ -0,0 +1,40 @@
1From a726d4116cb23c1f9873f3309c1c078d2113726d Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 27 May 2011 20:48:17 +0000
4Subject: [PATCH] PR c++/48284
5 * error.c (dump_expr) [COMPONENT_REF]: Use pp_cxx_dot
6 with INDIRECT_REF of REFERENCE_TYPE.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174362 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index dffc764..931e24d 100644
11--- a/gcc/cp/error.c
12+++ b/gcc/cp/error.c
13@@ -1879,7 +1879,10 @@ dump_expr (tree t, int flags)
14 && strcmp (IDENTIFIER_POINTER (DECL_NAME (ob)), "this")))
15 {
16 dump_expr (ob, flags | TFF_EXPR_IN_PARENS);
17- pp_cxx_arrow (cxx_pp);
18+ if (TREE_CODE (TREE_TYPE (ob)) == REFERENCE_TYPE)
19+ pp_cxx_dot (cxx_pp);
20+ else
21+ pp_cxx_arrow (cxx_pp);
22 }
23 }
24 else
25new file mode 100644
26index 0000000..3515652
27--- /dev/null
28+++ b/gcc/testsuite/g++.dg/cpp0x/error6.C
29@@ -0,0 +1,8 @@
30+// PR c++/48284
31+// { dg-options -std=c++0x }
32+
33+template<typename C>
34+auto g(C& c) -> decltype (c.f()) { return c.f(); } // { dg-error "decltype .c\\.f" }
35+
36+template<typename C>
37+auto g(C& c) -> decltype (c.f()) { return c.f(); } // { dg-error "decltype .c\\.f" }
38--
391.7.0.4
40
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0360-PR-c-47277.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0360-PR-c-47277.patch
new file mode 100644
index 0000000000..0881d83552
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0360-PR-c-47277.patch
@@ -0,0 +1,38 @@
1From 631b8035922a95739c34b650b88a139a8f16474a Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 27 May 2011 20:48:24 +0000
4Subject: [PATCH] PR c++/47277
5 * parser.c (cp_parser_unqualified_id): Don't check
6 constructor_name_p for enums.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174363 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 4d6ddcc..bc2b5bd 100644
11--- a/gcc/cp/parser.c
12+++ b/gcc/cp/parser.c
13@@ -4320,7 +4320,8 @@ cp_parser_unqualified_id (cp_parser* parser,
14 && (cp_lexer_peek_nth_token (parser->lexer, 2)->type
15 != CPP_LESS)
16 && (token->u.value == TYPE_IDENTIFIER (scope)
17- || constructor_name_p (token->u.value, scope)))
18+ || (CLASS_TYPE_P (scope)
19+ && constructor_name_p (token->u.value, scope))))
20 {
21 cp_lexer_consume_token (parser->lexer);
22 return build_nt (BIT_NOT_EXPR, scope);
23new file mode 100644
24index 0000000..5575ca6
25--- /dev/null
26+++ b/gcc/testsuite/g++.dg/cpp0x/enum18.C
27@@ -0,0 +1,8 @@
28+// PR c++/47277
29+// { dg-options -std=c++0x }
30+
31+int main(void) {
32+ enum e {};
33+ e ev;
34+ ev.e::~e_u(); // { dg-error "" }
35+}
36--
371.7.0.4
38
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0362-PR-c-47049.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0362-PR-c-47049.patch
new file mode 100644
index 0000000000..83e52a6cb0
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0362-PR-c-47049.patch
@@ -0,0 +1,62 @@
1From 6d713af63560a2a98ee2e13d52eb339b57387bc7 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sat, 28 May 2011 03:22:31 +0000
4Subject: [PATCH] PR c++/47049
5 * semantics.c (maybe_add_lambda_conv_op): Fix COMDAT sharing.
6 * decl.c (start_preparsed_function): Don't call comdat_linkage for
7 a template.
8
9git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174377 138bc75d-0d04-0410-961f-82ee72b054a4
10
11index 8395b2b..7e20009 100644
12--- a/gcc/cp/decl.c
13+++ b/gcc/cp/decl.c
14@@ -12425,6 +12425,7 @@ start_preparsed_function (tree decl1, tree attrs, int flags)
15 DECL_EXTERNAL (decl1) = 0;
16
17 if (ctx != NULL_TREE && DECL_DECLARED_INLINE_P (ctx)
18+ && !processing_template_decl
19 && TREE_PUBLIC (ctx))
20 /* This is a function in a local class in an extern inline
21 function. */
22diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
23index b113626..cfd6cf0 100644
24--- a/gcc/cp/semantics.c
25+++ b/gcc/cp/semantics.c
26@@ -8518,7 +8518,7 @@ maybe_add_lambda_conv_op (tree type)
27 {
28 /* Put the thunk in the same comdat group as the call op. */
29 struct cgraph_node *callop_node, *thunk_node;
30- DECL_COMDAT_GROUP (statfn) = DECL_COMDAT_GROUP (callop);
31+ DECL_COMDAT_GROUP (statfn) = cxx_comdat_group (callop);
32 callop_node = cgraph_node (callop);
33 thunk_node = cgraph_node (statfn);
34 gcc_assert (callop_node->same_comdat_group == NULL);
35new file mode 100644
36index 0000000..12ffde7
37--- /dev/null
38+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template2.C
39@@ -0,0 +1,20 @@
40+// PR c++/47049
41+// { dg-options -std=c++0x }
42+
43+enum { E = 0, F = 1 };
44+template <int N, int M = ((N == 1) ? F : E)> class S {};
45+template <int N>
46+struct T
47+{
48+ static void
49+ foo (S<N> *p)
50+ {
51+ S<N> u;
52+ [&u] ()->bool {} ();
53+ }
54+};
55+
56+int main()
57+{
58+ T<0>().foo(0);
59+}
60--
611.7.0.4
62
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0364-2011-05-29-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0364-2011-05-29-Richard-Guenther-rguenther-suse.de.patch
new file mode 100644
index 0000000000..251260accf
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0364-2011-05-29-Richard-Guenther-rguenther-suse.de.patch
@@ -0,0 +1,68 @@
1From d5ea0b26fccb8359f0edce472053beca74f50f93 Mon Sep 17 00:00:00 2001
2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 29 May 2011 17:00:13 +0000
4Subject: [PATCH] 2011-05-29 Richard Guenther <rguenther@suse.de>
5
6 PR tree-optimization/49217
7 * ipa-pure-const.c (propagate_pure_const): Fix typos.
8
9 * gcc.dg/torture/pr49217.c: New testcase.
10
11
12git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174399 138bc75d-0d04-0410-961f-82ee72b054a4
13
14index 3b4cc02..b9476e6 100644
15--- a/gcc/ipa-pure-const.c
16+++ b/gcc/ipa-pure-const.c
17@@ -1223,7 +1223,7 @@ propagate_pure_const (void)
18 break;
19
20 /* Now process the indirect call. */
21- for (ie = node->indirect_calls; ie; ie = ie->next_callee)
22+ for (ie = w->indirect_calls; ie; ie = ie->next_callee)
23 {
24 enum pure_const_state_e edge_state = IPA_CONST;
25 bool edge_looping = false;
26@@ -1246,7 +1246,7 @@ propagate_pure_const (void)
27 break;
28
29 /* And finally all loads and stores. */
30- for (i = 0; ipa_ref_list_reference_iterate (&node->ref_list, i, ref); i++)
31+ for (i = 0; ipa_ref_list_reference_iterate (&w->ref_list, i, ref); i++)
32 {
33 enum pure_const_state_e ref_state = IPA_CONST;
34 bool ref_looping = false;
35new file mode 100644
36index 0000000..e8a89de
37--- /dev/null
38+++ b/gcc/testsuite/gcc.dg/torture/pr49217.c
39@@ -0,0 +1,26 @@
40+/* { dg-do run } */
41+/* { dg-options "-fno-early-inlining" } */
42+
43+extern void abort (void);
44+int i;
45+static void foo(void);
46+void __attribute__((noinline))
47+bar (void)
48+{
49+ if (!i)
50+ foo ();
51+}
52+static void
53+foo(void)
54+{
55+ i = 1;
56+ bar ();
57+}
58+int main()
59+{
60+ i = 0;
61+ bar();
62+ if (i != 1)
63+ abort ();
64+ return 0;
65+}
66--
671.7.0.4
68
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0365-gcc.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0365-gcc.patch
new file mode 100644
index 0000000000..3780763928
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0365-gcc.patch
@@ -0,0 +1,125 @@
1From 158892fce220b03d3fe3d8d7656e1b0786609283 Mon Sep 17 00:00:00 2001
2From: rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 29 May 2011 17:47:51 +0000
4Subject: [PATCH] gcc/
5 PR target/43995
6 * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
7 recurse_p argument. Only follow register copies if it is set,
8 and prevent mips_find_pic_call_symbol from recursing.
9 (mips_find_pic_call_symbol): Add a recurse_p argument.
10 Pass it to mips_pic_call_symbol_from_set.
11 (mips_annotate_pic_calls): Update accordingly.
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174404 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index 9de479b..027fc2d 100644
16--- a/gcc/config/mips/mips.c
17+++ b/gcc/config/mips/mips.c
18@@ -1186,7 +1186,7 @@ static const struct mips_rtx_cost_data
19 }
20 };
21
22-static rtx mips_find_pic_call_symbol (rtx, rtx);
23+static rtx mips_find_pic_call_symbol (rtx, rtx, bool);
24 static int mips_register_move_cost (enum machine_mode, reg_class_t,
25 reg_class_t);
26 static unsigned int mips_function_arg_boundary (enum machine_mode, const_tree);
27@@ -14160,12 +14160,16 @@ mips_call_expr_from_insn (rtx insn, rtx *second_call)
28 }
29
30 /* REG is set in DEF. See if the definition is one of the ways we load a
31- register with a symbol address for a mips_use_pic_fn_addr_reg_p call. If
32- it is return the symbol reference of the function, otherwise return
33- NULL_RTX. */
34+ register with a symbol address for a mips_use_pic_fn_addr_reg_p call.
35+ If it is, return the symbol reference of the function, otherwise return
36+ NULL_RTX.
37+
38+ If RECURSE_P is true, use mips_find_pic_call_symbol to interpret
39+ the values of source registers, otherwise treat such registers as
40+ having an unknown value. */
41
42 static rtx
43-mips_pic_call_symbol_from_set (df_ref def, rtx reg)
44+mips_pic_call_symbol_from_set (df_ref def, rtx reg, bool recurse_p)
45 {
46 rtx def_insn, set;
47
48@@ -14192,21 +14196,39 @@ mips_pic_call_symbol_from_set (df_ref def, rtx reg)
49 return symbol;
50 }
51
52- /* Follow simple register copies. */
53- if (REG_P (src))
54- return mips_find_pic_call_symbol (def_insn, src);
55+ /* Follow at most one simple register copy. Such copies are
56+ interesting in cases like:
57+
58+ for (...)
59+ {
60+ locally_binding_fn (...);
61+ }
62+
63+ and:
64+
65+ locally_binding_fn (...);
66+ ...
67+ locally_binding_fn (...);
68+
69+ where the load of locally_binding_fn can legitimately be
70+ hoisted or shared. However, we do not expect to see complex
71+ chains of copies, so a full worklist solution to the problem
72+ would probably be overkill. */
73+ if (recurse_p && REG_P (src))
74+ return mips_find_pic_call_symbol (def_insn, src, false);
75 }
76
77 return NULL_RTX;
78 }
79
80-/* Find the definition of the use of REG in INSN. See if the definition is
81- one of the ways we load a register with a symbol address for a
82- mips_use_pic_fn_addr_reg_p call. If it is return the symbol reference of
83- the function, otherwise return NULL_RTX. */
84+/* Find the definition of the use of REG in INSN. See if the definition
85+ is one of the ways we load a register with a symbol address for a
86+ mips_use_pic_fn_addr_reg_p call. If it is return the symbol reference
87+ of the function, otherwise return NULL_RTX. RECURSE_P is as for
88+ mips_pic_call_symbol_from_set. */
89
90 static rtx
91-mips_find_pic_call_symbol (rtx insn, rtx reg)
92+mips_find_pic_call_symbol (rtx insn, rtx reg, bool recurse_p)
93 {
94 df_ref use;
95 struct df_link *defs;
96@@ -14218,7 +14240,7 @@ mips_find_pic_call_symbol (rtx insn, rtx reg)
97 defs = DF_REF_CHAIN (use);
98 if (!defs)
99 return NULL_RTX;
100- symbol = mips_pic_call_symbol_from_set (defs->ref, reg);
101+ symbol = mips_pic_call_symbol_from_set (defs->ref, reg, recurse_p);
102 if (!symbol)
103 return NULL_RTX;
104
105@@ -14227,7 +14249,7 @@ mips_find_pic_call_symbol (rtx insn, rtx reg)
106 {
107 rtx other;
108
109- other = mips_pic_call_symbol_from_set (defs->ref, reg);
110+ other = mips_pic_call_symbol_from_set (defs->ref, reg, recurse_p);
111 if (!rtx_equal_p (symbol, other))
112 return NULL_RTX;
113 }
114@@ -14298,7 +14320,7 @@ mips_annotate_pic_calls (void)
115 if (!REG_P (reg))
116 continue;
117
118- symbol = mips_find_pic_call_symbol (insn, reg);
119+ symbol = mips_find_pic_call_symbol (insn, reg, true);
120 if (symbol)
121 {
122 mips_annotate_pic_call_expr (call, symbol);
123--
1241.7.0.4
125
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0366-gcc.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0366-gcc.patch
new file mode 100644
index 0000000000..5b3f4bd89a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0366-gcc.patch
@@ -0,0 +1,52 @@
1From c3806c1e1e0c9895d17d729a96179f71f124857e Mon Sep 17 00:00:00 2001
2From: rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 29 May 2011 17:48:14 +0000
4Subject: [PATCH] gcc/
5 * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
6 registers.
7
8gcc/testsuite/
9 * gcc.target/mips/reg-var-1.c: New test.
10
11
12git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174405 138bc75d-0d04-0410-961f-82ee72b054a4
13
14index 027fc2d..8069a0b 100644
15--- a/gcc/config/mips/mips.c
16+++ b/gcc/config/mips/mips.c
17@@ -9053,6 +9053,11 @@ mips_interrupt_extra_call_saved_reg_p (unsigned int regno)
18 static bool
19 mips_cfun_call_saved_reg_p (unsigned int regno)
20 {
21+ /* If the user makes an ordinarily-call-saved register global,
22+ that register is no longer call-saved. */
23+ if (global_regs[regno])
24+ return false;
25+
26 /* Interrupt handlers need to save extra registers. */
27 if (cfun->machine->interrupt_handler_p
28 && mips_interrupt_extra_call_saved_reg_p (regno))
29new file mode 100644
30index 0000000..d8b8118
31--- /dev/null
32+++ b/gcc/testsuite/gcc.target/mips/reg-var-1.c
33@@ -0,0 +1,16 @@
34+/* { dg-do run } */
35+register int g asm ("$18");
36+
37+void __attribute__((noinline))
38+test (void)
39+{
40+ g = g + 1;
41+}
42+
43+int
44+main (void)
45+{
46+ g = 2;
47+ test ();
48+ return g != 3;
49+}
50--
511.7.0.4
52
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0367-Add-PR-target-43700-to-last-changelog-entry.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0367-Add-PR-target-43700-to-last-changelog-entry.patch
new file mode 100644
index 0000000000..420710a34f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0367-Add-PR-target-43700-to-last-changelog-entry.patch
@@ -0,0 +1,7 @@
1From e844fd1afbcb37f828f48c5aa80941f1c5349957 Mon Sep 17 00:00:00 2001
2From: rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 29 May 2011 17:50:18 +0000
4Subject: [PATCH] Add PR target/43700 to last changelog entry.
5
6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174406 138bc75d-0d04-0410-961f-82ee72b054a4
7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0369-PR-target-45263.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0369-PR-target-45263.patch
new file mode 100644
index 0000000000..6a0d1602ba
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0369-PR-target-45263.patch
@@ -0,0 +1,71 @@
1From 361940153255ddf5f62977479589c074b7e8f93a Mon Sep 17 00:00:00 2001
2From: gjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 30 May 2011 08:53:12 +0000
4Subject: [PATCH] PR target/45263
5 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors):
6 Don't use r20 around calls of __tablejump_elpm__
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174427 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 4a15f94..2e8d951 100644
11--- a/gcc/config/avr/libgcc.S
12+++ b/gcc/config/avr/libgcc.S
13@@ -791,22 +791,22 @@ __do_clear_bss:
14 #if defined(__AVR_HAVE_RAMPZ__)
15 __do_global_ctors:
16 ldi r17, hi8(__ctors_start)
17- ldi r16, hh8(__ctors_start)
18 ldi r28, lo8(__ctors_end)
19 ldi r29, hi8(__ctors_end)
20- ldi r20, hh8(__ctors_end)
21+ ldi r16, hh8(__ctors_end)
22 rjmp .L__do_global_ctors_start
23 .L__do_global_ctors_loop:
24 sbiw r28, 2
25- sbc r20, __zero_reg__
26+ sbc r16, __zero_reg__
27 mov_h r31, r29
28 mov_l r30, r28
29- out __RAMPZ__, r20
30+ out __RAMPZ__, r16
31 XCALL __tablejump_elpm__
32 .L__do_global_ctors_start:
33 cpi r28, lo8(__ctors_start)
34 cpc r29, r17
35- cpc r20, r16
36+ ldi r24, hh8(__ctors_start)
37+ cpc r16, r24
38 brne .L__do_global_ctors_loop
39 #else
40 __do_global_ctors:
41@@ -832,22 +832,22 @@ __do_global_ctors:
42 #if defined(__AVR_HAVE_RAMPZ__)
43 __do_global_dtors:
44 ldi r17, hi8(__dtors_end)
45- ldi r16, hh8(__dtors_end)
46 ldi r28, lo8(__dtors_start)
47 ldi r29, hi8(__dtors_start)
48- ldi r20, hh8(__dtors_start)
49+ ldi r16, hh8(__dtors_start)
50 rjmp .L__do_global_dtors_start
51 .L__do_global_dtors_loop:
52 sbiw r28, 2
53- sbc r20, __zero_reg__
54+ sbc r16, __zero_reg__
55 mov_h r31, r29
56 mov_l r30, r28
57- out __RAMPZ__, r20
58+ out __RAMPZ__, r16
59 XCALL __tablejump_elpm__
60 .L__do_global_dtors_start:
61 cpi r28, lo8(__dtors_end)
62 cpc r29, r17
63- cpc r20, r16
64+ ldi r24, hh8(__dtors_end)
65+ cpc r16, r24
66 brne .L__do_global_dtors_loop
67 #else
68 __do_global_dtors:
69--
701.7.0.4
71
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0370-2011-05-30-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0370-2011-05-30-Richard-Guenther-rguenther-suse.de.patch
new file mode 100644
index 0000000000..e42ce20c8d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0370-2011-05-30-Richard-Guenther-rguenther-suse.de.patch
@@ -0,0 +1,69 @@
1From e6b2e8c99b9295953acd13658d44591561252337 Mon Sep 17 00:00:00 2001
2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 30 May 2011 11:17:35 +0000
4Subject: [PATCH] 2011-05-30 Richard Guenther <rguenther@suse.de>
5
6 PR tree-optimization/49218
7 * tree-vrp.c (adjust_range_with_scev): Properly check whether
8 overflow occured.
9
10 * gcc.c-torture/execute/pr49218.c: New testcase.
11
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174430 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index 2f50595..be083fc 100644
16new file mode 100644
17index 0000000..2fb18dd
18--- /dev/null
19+++ b/gcc/testsuite/gcc.c-torture/execute/pr49218.c
20@@ -0,0 +1,20 @@
21+#ifdef __SIZEOF_INT128__
22+typedef __int128 L;
23+#else
24+typedef long long L;
25+#endif
26+float f;
27+
28+int
29+main ()
30+{
31+ L i = f;
32+ if (i <= 10)
33+ do
34+ {
35+ ++i;
36+ asm ("");
37+ }
38+ while (i != 11);
39+ return 0;
40+}
41diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
42index 6914a08..299a948 100644
43--- a/gcc/tree-vrp.c
44+++ b/gcc/tree-vrp.c
45@@ -3422,11 +3422,17 @@ adjust_range_with_scev (value_range_t *vr, struct loop *loop,
46 loop->nb_iterations_upper_bound,
47 double_int_one),
48 unsigned_p, &overflow);
49- tem = double_int_to_tree (TREE_TYPE (init), dtmp);
50 /* If the multiplication overflowed we can't do a meaningful
51- adjustment. */
52- if (!overflow && double_int_equal_p (dtmp, tree_to_double_int (tem)))
53- {
54+ adjustment. Likewise if the result doesn't fit in the type
55+ of the induction variable. For a signed type we have to
56+ check whether the result has the expected signedness which
57+ is that of the step as nb_iterations_upper_bound is unsigned. */
58+ if (!overflow
59+ && double_int_fits_to_tree_p (TREE_TYPE (init), dtmp)
60+ && (unsigned_p
61+ || ((dtmp.high ^ TREE_INT_CST_HIGH (step)) >= 0)))
62+ {
63+ tem = double_int_to_tree (TREE_TYPE (init), dtmp);
64 extract_range_from_binary_expr (&maxvr, PLUS_EXPR,
65 TREE_TYPE (init), init, tem);
66 /* Likewise if the addition did. */
67--
681.7.0.4
69
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0371-PR-c-49223.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0371-PR-c-49223.patch
new file mode 100644
index 0000000000..45e2320b71
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0371-PR-c-49223.patch
@@ -0,0 +1,99 @@
1From 2be264baf4367b63b7cb88bf3d7cb5c687d91c28 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 30 May 2011 12:18:59 +0000
4Subject: [PATCH] PR c++/49223
5 * semantics.c (finish_omp_clauses): Call require_complete_type
6 even for copyin/copyprivate clauses. Only call
7 cxx_omp_create_clause_info if inner_type is COMPLETE_TYPE_P.
8
9 * g++.dg/gomp/pr49223-1.C: New test.
10 * g++.dg/gomp/pr49223-2.C: New test.
11
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174433 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index cfd6cf0..d56423e 100644
16--- a/gcc/cp/semantics.c
17+++ b/gcc/cp/semantics.c
18@@ -3945,12 +3945,13 @@ finish_omp_clauses (tree clauses)
19 break;
20 }
21
22- if (need_complete_non_reference)
23+ if (need_complete_non_reference || need_copy_assignment)
24 {
25 t = require_complete_type (t);
26 if (t == error_mark_node)
27 remove = true;
28- else if (TREE_CODE (TREE_TYPE (t)) == REFERENCE_TYPE)
29+ else if (TREE_CODE (TREE_TYPE (t)) == REFERENCE_TYPE
30+ && need_complete_non_reference)
31 {
32 error ("%qE has reference type for %qs", t, name);
33 remove = true;
34@@ -3992,6 +3993,7 @@ finish_omp_clauses (tree clauses)
35 Save the results, because later we won't be in the right context
36 for making these queries. */
37 if (CLASS_TYPE_P (inner_type)
38+ && COMPLETE_TYPE_P (inner_type)
39 && (need_default_ctor || need_copy_ctor || need_copy_assignment)
40 && !type_dependent_expression_p (t)
41 && cxx_omp_create_clause_info (c, inner_type, need_default_ctor,
42new file mode 100644
43index 0000000..307210f
44--- /dev/null
45+++ b/gcc/testsuite/g++.dg/gomp/pr49223-1.C
46@@ -0,0 +1,28 @@
47+// PR c++/49223
48+// { dg-do compile }
49+// { dg-options "-fopenmp" }
50+
51+template <int N>
52+struct V
53+{
54+ V () {}
55+ ~V () {}
56+};
57+
58+template <int N>
59+struct S
60+{
61+ void foo ()
62+ {
63+ V <0> v;
64+ #pragma omp parallel private (v)
65+ ;
66+ }
67+};
68+
69+void
70+bar (void)
71+{
72+ S <0> s;
73+ s.foo ();
74+}
75diff --git a/gcc/testsuite/g++.dg/gomp/pr49223-2.C b/gcc/testsuite/g++.dg/gomp/pr49223-2.C
76new file mode 100644
77index 0000000..9539773
78--- /dev/null
79+++ b/gcc/testsuite/g++.dg/gomp/pr49223-2.C
80@@ -0,0 +1,16 @@
81+// PR c++/49223
82+// { dg-do compile }
83+// { dg-require-effective-target tls }
84+// { dg-options "-fopenmp" }
85+
86+struct S; // { dg-error "forward declaration" }
87+extern __thread struct S s; // { dg-error "has incomplete type" }
88+struct T;
89+extern __thread struct T t;
90+
91+void
92+foo ()
93+{
94+ #pragma omp parallel copyin (s)
95+ ;
96+}
97--
981.7.0.4
99
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0373-2011-05-31-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0373-2011-05-31-Richard-Guenther-rguenther-suse.de.patch
new file mode 100644
index 0000000000..fc512f736f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0373-2011-05-31-Richard-Guenther-rguenther-suse.de.patch
@@ -0,0 +1,72 @@
1From d255e20552a56f1aa9b75a0ca45de257e935cd58 Mon Sep 17 00:00:00 2001
2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 31 May 2011 12:23:55 +0000
4Subject: [PATCH] 2011-05-31 Richard Guenther <rguenther@suse.de>
5
6 Backport from mainline
7 2011-05-11 Richard Guenther <rguenther@suse.de>
8
9 PR middle-end/48953
10 * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
11
12 * gcc.dg/torture/pr48953.c: New testcase.
13
14
15git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174475 138bc75d-0d04-0410-961f-82ee72b054a4
16
17index b4b333f..d5ea116 100644
18new file mode 100644
19index 0000000..41a3d7b
20--- /dev/null
21+++ b/gcc/testsuite/gcc.dg/torture/pr48953.c
22@@ -0,0 +1,17 @@
23+/* { dg-do run } */
24+/* { dg-options "-fno-tree-dce" } */
25+
26+static inline int foo (int n, int k)
27+{
28+ struct S
29+ {
30+ int i[n];
31+ int value;
32+ } s[2];
33+ return s[k].value = 0;
34+}
35+
36+int main ()
37+{
38+ return foo (2, 0);
39+}
40diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
41index f2255f8..ef3f1a3 100644
42--- a/gcc/tree-inline.c
43+++ b/gcc/tree-inline.c
44@@ -816,6 +816,7 @@ remap_gimple_op_r (tree *tp, int *walk_subtrees, void *data)
45 if (TREE_CODE (*tp) == MEM_REF)
46 {
47 tree ptr = TREE_OPERAND (*tp, 0);
48+ tree type = remap_type (TREE_TYPE (*tp), id);
49 tree old = *tp;
50 tree tem;
51
52@@ -826,7 +827,7 @@ remap_gimple_op_r (tree *tp, int *walk_subtrees, void *data)
53 if ((tem = maybe_fold_offset_to_reference (EXPR_LOCATION (*tp),
54 ptr,
55 TREE_OPERAND (*tp, 1),
56- TREE_TYPE (*tp)))
57+ type))
58 && TREE_THIS_VOLATILE (tem) == TREE_THIS_VOLATILE (old))
59 {
60 tree *tem_basep = &tem;
61@@ -848,7 +849,7 @@ remap_gimple_op_r (tree *tp, int *walk_subtrees, void *data)
62 }
63 else
64 {
65- *tp = fold_build2 (MEM_REF, TREE_TYPE (*tp),
66+ *tp = fold_build2 (MEM_REF, type,
67 ptr, TREE_OPERAND (*tp, 1));
68 TREE_THIS_VOLATILE (*tp) = TREE_THIS_VOLATILE (old);
69 TREE_THIS_NOTRAP (*tp) = TREE_THIS_NOTRAP (old);
70--
711.7.0.4
72
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0374-2011-05-31-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0374-2011-05-31-Richard-Guenther-rguenther-suse.de.patch
new file mode 100644
index 0000000000..6c90f4bb8e
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0374-2011-05-31-Richard-Guenther-rguenther-suse.de.patch
@@ -0,0 +1,64 @@
1From 0fdd5e79651b8a9446b6653c66beaee26b67a80a Mon Sep 17 00:00:00 2001
2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 31 May 2011 12:25:52 +0000
4Subject: [PATCH] 2011-05-31 Richard Guenther <rguenther@suse.de>
5
6 Backport from mainline
7 2011-05-19 Richard Guenther <rguenther@suse.de>
8
9 PR middle-end/48985
10 * tree-object-size.c (addr_object_size): If the pointed-to
11 variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
12
13 * gcc.dg/builtin-object-size-11.c: New testcase.
14
15
16git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174476 138bc75d-0d04-0410-961f-82ee72b054a4
17
18index d5ea116..ae5689b 100644
19new file mode 100644
20index 0000000..a98bc35
21--- /dev/null
22+++ b/gcc/testsuite/gcc.dg/builtin-object-size-11.c
23@@ -0,0 +1,21 @@
24+/* PR48985 */
25+/* { dg-do run } */
26+/* { dg-options "-std=gnu89" } */
27+
28+extern void abort (void);
29+
30+struct s {
31+ int i;
32+ char c[];
33+} s = { 1, "01234" };
34+
35+__SIZE_TYPE__ f (void) { return __builtin_object_size (&s.c, 0); }
36+
37+int
38+main()
39+{
40+ if (f() != sizeof ("01234"))
41+ abort ();
42+
43+ return 0;
44+}
45diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c
46index 043b445..41118d2 100644
47--- a/gcc/tree-object-size.c
48+++ b/gcc/tree-object-size.c
49@@ -205,6 +205,12 @@ addr_object_size (struct object_size_info *osi, const_tree ptr,
50 pt_var_size = size_int (sz);
51 }
52 else if (pt_var
53+ && DECL_P (pt_var)
54+ && host_integerp (DECL_SIZE_UNIT (pt_var), 1)
55+ && (unsigned HOST_WIDE_INT)
56+ tree_low_cst (DECL_SIZE_UNIT (pt_var), 1) < offset_limit)
57+ pt_var_size = DECL_SIZE_UNIT (pt_var);
58+ else if (pt_var
59 && (SSA_VAR_P (pt_var) || TREE_CODE (pt_var) == STRING_CST)
60 && TYPE_SIZE_UNIT (TREE_TYPE (pt_var))
61 && host_integerp (TYPE_SIZE_UNIT (TREE_TYPE (pt_var)), 1)
62--
631.7.0.4
64
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0375-Fix-fma4_fmsubadd-and-fma4_fmaddsub-mode-suffixes.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0375-Fix-fma4_fmsubadd-and-fma4_fmaddsub-mode-suffixes.patch
new file mode 100644
index 0000000000..6fd197602c
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0375-Fix-fma4_fmsubadd-and-fma4_fmaddsub-mode-suffixes.patch
@@ -0,0 +1,36 @@
1From 6570337948b5dd25e20cb7e6db45a3abb5b62d39 Mon Sep 17 00:00:00 2001
2From: qneill <qneill@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 31 May 2011 14:32:38 +0000
4Subject: [PATCH] Fix fma4_fmsubadd and fma4_fmaddsub mode suffixes.
5
62011-05-31 Quentin Neill <quentin.neill@amd.com>
7
8 * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
9 (fma4_fmaddsub): Likewise
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174485 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index 7e18678..0e03dd4 100644
14--- a/gcc/config/i386/sse.md
15+++ b/gcc/config/i386/sse.md
16@@ -2068,7 +2068,7 @@
17 (match_operand:AVXMODEF2P 3 "nonimmediate_operand" "xm,x")]
18 UNSPEC_FMADDSUB))]
19 "TARGET_FMA4"
20- "vfmaddsubps\t{%3, %2, %1, %0|%0, %1, %2, %3}"
21+ "vfmaddsub<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
22 [(set_attr "type" "ssemuladd")
23 (set_attr "mode" "<MODE>")])
24
25@@ -2081,7 +2081,7 @@
26 (match_operand:AVXMODEF2P 3 "nonimmediate_operand" "xm,x"))]
27 UNSPEC_FMADDSUB))]
28 "TARGET_FMA4"
29- "vfmsubaddps\t{%3, %2, %1, %0|%0, %1, %2, %3}"
30+ "vfmsubadd<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
31 [(set_attr "type" "ssemuladd")
32 (set_attr "mode" "<MODE>")])
33
34--
351.7.0.4
36
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0376-2011-05-31-Thomas-Koenig-tkoenig-gcc.gnu.org.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0376-2011-05-31-Thomas-Koenig-tkoenig-gcc.gnu.org.patch
new file mode 100644
index 0000000000..9948adb59f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0376-2011-05-31-Thomas-Koenig-tkoenig-gcc.gnu.org.patch
@@ -0,0 +1,237 @@
1From de5792a9c6fd7c2d80640c54c9f901abf5ca56a4 Mon Sep 17 00:00:00 2001
2From: tkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 31 May 2011 21:37:01 +0000
4Subject: [PATCH] 2011-05-31 Thomas Koenig <tkoenig@gcc.gnu.org>
5
6 Backport from trunk
7 PR fortran/45786
8 * interface.c (gfc_equivalent_op): New function.
9 (gfc_check_interface): Use gfc_equivalent_op instead
10 of switch statement.
11 * decl.c (access_attr_decl): Also set access to an
12 equivalent operator.
13
142011-05-31 Thomas Koenig <tkoenig@gcc.gnu.org>
15
16 Backport from trunk
17 PR fortran/45786
18 * gfortran.dg/operator_7.f90: New test case.
19
20
21
22git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174513 138bc75d-0d04-0410-961f-82ee72b054a4
23
24index 8b5f92b..80249b5 100644
25--- a/gcc/fortran/decl.c
26+++ b/gcc/fortran/decl.c
27@@ -6467,8 +6467,19 @@ access_attr_decl (gfc_statement st)
28 case INTERFACE_INTRINSIC_OP:
29 if (gfc_current_ns->operator_access[op] == ACCESS_UNKNOWN)
30 {
31+ gfc_intrinsic_op other_op;
32+
33 gfc_current_ns->operator_access[op] =
34 (st == ST_PUBLIC) ? ACCESS_PUBLIC : ACCESS_PRIVATE;
35+
36+ /* Handle the case if there is another op with the same
37+ function, for INTRINSIC_EQ vs. INTRINSIC_EQ_OS and so on. */
38+ other_op = gfc_equivalent_op (op);
39+
40+ if (other_op != INTRINSIC_NONE)
41+ gfc_current_ns->operator_access[other_op] =
42+ (st == ST_PUBLIC) ? ACCESS_PUBLIC : ACCESS_PRIVATE;
43+
44 }
45 else
46 {
47diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
48index f20a29b..f3c4e8a 100644
49--- a/gcc/fortran/gfortran.h
50+++ b/gcc/fortran/gfortran.h
51@@ -2816,6 +2816,7 @@ gfc_symtree* gfc_find_sym_in_symtree (gfc_symbol*);
52 bool gfc_arglist_matches_symbol (gfc_actual_arglist**, gfc_symbol*);
53 bool gfc_check_operator_interface (gfc_symbol*, gfc_intrinsic_op, locus);
54 int gfc_has_vector_subscript (gfc_expr*);
55+gfc_intrinsic_op gfc_equivalent_op (gfc_intrinsic_op);
56
57 /* io.c */
58 extern gfc_st_label format_asterisk;
59diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c
60index b5f77c3..18aaac1 100644
61--- a/gcc/fortran/interface.c
62+++ b/gcc/fortran/interface.c
63@@ -1264,6 +1264,54 @@ check_uop_interfaces (gfc_user_op *uop)
64 }
65 }
66
67+/* Given an intrinsic op, return an equivalent op if one exists,
68+ or INTRINSIC_NONE otherwise. */
69+
70+gfc_intrinsic_op
71+gfc_equivalent_op (gfc_intrinsic_op op)
72+{
73+ switch(op)
74+ {
75+ case INTRINSIC_EQ:
76+ return INTRINSIC_EQ_OS;
77+
78+ case INTRINSIC_EQ_OS:
79+ return INTRINSIC_EQ;
80+
81+ case INTRINSIC_NE:
82+ return INTRINSIC_NE_OS;
83+
84+ case INTRINSIC_NE_OS:
85+ return INTRINSIC_NE;
86+
87+ case INTRINSIC_GT:
88+ return INTRINSIC_GT_OS;
89+
90+ case INTRINSIC_GT_OS:
91+ return INTRINSIC_GT;
92+
93+ case INTRINSIC_GE:
94+ return INTRINSIC_GE_OS;
95+
96+ case INTRINSIC_GE_OS:
97+ return INTRINSIC_GE;
98+
99+ case INTRINSIC_LT:
100+ return INTRINSIC_LT_OS;
101+
102+ case INTRINSIC_LT_OS:
103+ return INTRINSIC_LT;
104+
105+ case INTRINSIC_LE:
106+ return INTRINSIC_LE_OS;
107+
108+ case INTRINSIC_LE_OS:
109+ return INTRINSIC_LE;
110+
111+ default:
112+ return INTRINSIC_NONE;
113+ }
114+}
115
116 /* For the namespace, check generic, user operator and intrinsic
117 operator interfaces for consistency and to remove duplicate
118@@ -1304,75 +1352,19 @@ gfc_check_interfaces (gfc_namespace *ns)
119
120 for (ns2 = ns; ns2; ns2 = ns2->parent)
121 {
122+ gfc_intrinsic_op other_op;
123+
124 if (check_interface1 (ns->op[i], ns2->op[i], 0,
125 interface_name, true))
126 goto done;
127
128- switch (i)
129- {
130- case INTRINSIC_EQ:
131- if (check_interface1 (ns->op[i], ns2->op[INTRINSIC_EQ_OS],
132- 0, interface_name, true)) goto done;
133- break;
134-
135- case INTRINSIC_EQ_OS:
136- if (check_interface1 (ns->op[i], ns2->op[INTRINSIC_EQ],
137- 0, interface_name, true)) goto done;
138- break;
139-
140- case INTRINSIC_NE:
141- if (check_interface1 (ns->op[i], ns2->op[INTRINSIC_NE_OS],
142- 0, interface_name, true)) goto done;
143- break;
144-
145- case INTRINSIC_NE_OS:
146- if (check_interface1 (ns->op[i], ns2->op[INTRINSIC_NE],
147- 0, interface_name, true)) goto done;
148- break;
149-
150- case INTRINSIC_GT:
151- if (check_interface1 (ns->op[i], ns2->op[INTRINSIC_GT_OS],
152- 0, interface_name, true)) goto done;
153- break;
154-
155- case INTRINSIC_GT_OS:
156- if (check_interface1 (ns->op[i], ns2->op[INTRINSIC_GT],
157- 0, interface_name, true)) goto done;
158- break;
159-
160- case INTRINSIC_GE:
161- if (check_interface1 (ns->op[i], ns2->op[INTRINSIC_GE_OS],
162- 0, interface_name, true)) goto done;
163- break;
164-
165- case INTRINSIC_GE_OS:
166- if (check_interface1 (ns->op[i], ns2->op[INTRINSIC_GE],
167- 0, interface_name, true)) goto done;
168- break;
169-
170- case INTRINSIC_LT:
171- if (check_interface1 (ns->op[i], ns2->op[INTRINSIC_LT_OS],
172- 0, interface_name, true)) goto done;
173- break;
174-
175- case INTRINSIC_LT_OS:
176- if (check_interface1 (ns->op[i], ns2->op[INTRINSIC_LT],
177- 0, interface_name, true)) goto done;
178- break;
179-
180- case INTRINSIC_LE:
181- if (check_interface1 (ns->op[i], ns2->op[INTRINSIC_LE_OS],
182- 0, interface_name, true)) goto done;
183- break;
184-
185- case INTRINSIC_LE_OS:
186- if (check_interface1 (ns->op[i], ns2->op[INTRINSIC_LE],
187- 0, interface_name, true)) goto done;
188- break;
189-
190- default:
191- break;
192- }
193+ /* i should be gfc_intrinsic_op, but has to be int with this cast
194+ here for stupid C++ compatibility rules. */
195+ other_op = gfc_equivalent_op ((gfc_intrinsic_op) i);
196+ if (other_op != INTRINSIC_NONE
197+ && check_interface1 (ns->op[i], ns2->op[other_op],
198+ 0, interface_name, true))
199+ goto done;
200 }
201 }
202
203new file mode 100644
204index 0000000..66d8dd1
205--- /dev/null
206+++ b/gcc/testsuite/gfortran.dg/operator_7.f90
207@@ -0,0 +1,27 @@
208+! { dg-do compile }
209+! PR fortran/45786 - operators were not correctly marked as public
210+! if the alternative form was used.
211+! Test case contributed by Neil Carlson.
212+module foo_type
213+ private
214+ public :: foo, operator(==)
215+ type :: foo
216+ integer :: bar
217+ end type
218+ interface operator(.eq.)
219+ module procedure eq_foo
220+ end interface
221+contains
222+ logical function eq_foo (a, b)
223+ type(foo), intent(in) :: a, b
224+ eq_foo = (a%bar == b%bar)
225+ end function
226+end module
227+
228+ subroutine use_it (a, b)
229+ use foo_type
230+ type(foo) :: a, b
231+ print *, a == b
232+end subroutine
233+
234+! { dg-final { cleanup-modules "foo_type" } }
235--
2361.7.0.4
237
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0379-PR-tree-optimization-49093.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0379-PR-tree-optimization-49093.patch
new file mode 100644
index 0000000000..d4dbe83486
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0379-PR-tree-optimization-49093.patch
@@ -0,0 +1,61 @@
1From 3fb16a9ff349672beb2818d1139bb689ee424da4 Mon Sep 17 00:00:00 2001
2From: irar <irar@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 2 Jun 2011 07:02:57 +0000
4Subject: [PATCH] PR tree-optimization/49093
5 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for
6 volatile data references.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174559 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 5ae1848..20fdeec 100644
11new file mode 100644
12index 0000000..b8bded6
13--- /dev/null
14+++ b/gcc/testsuite/gcc.dg/vect/pr49093.c
15@@ -0,0 +1,22 @@
16+/* { dg-do compile } */
17+/* { dg-options "-O1 -ftree-vectorize -fdump-tree-vect-details -fno-tree-fre" } */
18+
19+volatile unsigned char g_324[4] = {0, 1, 0, 1};
20+void foo (int);
21+int x, y;
22+void func_81(void)
23+{
24+ int l_466, l_439[7] = {0}, g_97;
25+lbl_473:
26+ if (x) {
27+ for (g_97 = 0; (g_97 < 4); ++g_97) {
28+ if (y)
29+ goto lbl_473;
30+ g_324[g_97];
31+ l_466 = l_439[g_97];
32+ }
33+ foo(l_466);
34+ }
35+}
36+
37+/* { dg-final { cleanup-tree-dump "vect" } } */
38diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
39index a1437b5..db5098c 100644
40--- a/gcc/tree-vect-data-refs.c
41+++ b/gcc/tree-vect-data-refs.c
42@@ -2577,6 +2577,16 @@ vect_analyze_data_refs (loop_vec_info loop_vinfo,
43 return false;
44 }
45
46+ if (TREE_THIS_VOLATILE (DR_REF (dr)))
47+ {
48+ if (vect_print_dump_info (REPORT_UNVECTORIZED_LOCATIONS))
49+ {
50+ fprintf (vect_dump, "not vectorized: volatile type ");
51+ print_gimple_stmt (vect_dump, stmt, 0, TDF_SLIM);
52+ }
53+ return false;
54+ }
55+
56 base = unshare_expr (DR_BASE_ADDRESS (dr));
57 offset = unshare_expr (DR_OFFSET (dr));
58 init = unshare_expr (DR_INIT (dr));
59--
601.7.0.4
61
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0380-2011-06-02-Steven-G.-Kargl-kargl-gcc.gnu.org.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0380-2011-06-02-Steven-G.-Kargl-kargl-gcc.gnu.org.patch
new file mode 100644
index 0000000000..9dcda3d943
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0380-2011-06-02-Steven-G.-Kargl-kargl-gcc.gnu.org.patch
@@ -0,0 +1,139 @@
1From 56d647438bd3a69b44b10fb4e2adaceb5d9fac49 Mon Sep 17 00:00:00 2001
2From: kargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 2 Jun 2011 19:53:02 +0000
4Subject: [PATCH] 2011-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
5
6 PR fortran/49265
7 * decl.c (gfc_match_modproc): Allow for a double colon in a module
8 procedure statement.
9 * parse.c ( decode_statement): Deal with whitespace around :: in
10 gfc_match_modproc.
11
122011-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
13
14 PR fortran/49265
15 * gfortran.dg/module_procedure_double_colon_1.f90: New test.
16 * gfortran.dg/module_procedure_double_colon_2.f90: New test.
17
18
19
20git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174576 138bc75d-0d04-0410-961f-82ee72b054a4
21
22index 80249b5..90693a4 100644
23--- a/gcc/fortran/decl.c
24+++ b/gcc/fortran/decl.c
25@@ -7005,6 +7005,7 @@ gfc_match_modproc (void)
26 char name[GFC_MAX_SYMBOL_LEN + 1];
27 gfc_symbol *sym;
28 match m;
29+ locus old_locus;
30 gfc_namespace *module_ns;
31 gfc_interface *old_interface_head, *interface;
32
33@@ -7033,10 +7034,23 @@ gfc_match_modproc (void)
34 end up with a syntax error and need to recover. */
35 old_interface_head = gfc_current_interface_head ();
36
37+ /* Check if the F2008 optional double colon appears. */
38+ gfc_gobble_whitespace ();
39+ old_locus = gfc_current_locus;
40+ if (gfc_match ("::") == MATCH_YES)
41+ {
42+ if (gfc_notify_std (GFC_STD_F2008, "Fortran 2008: double colon in "
43+ "MODULE PROCEDURE statement at %L", &old_locus)
44+ == FAILURE)
45+ return MATCH_ERROR;
46+ }
47+ else
48+ gfc_current_locus = old_locus;
49+
50 for (;;)
51 {
52- locus old_locus = gfc_current_locus;
53 bool last = false;
54+ old_locus = gfc_current_locus;
55
56 m = gfc_match_name (name);
57 if (m == MATCH_NO)
58@@ -7048,6 +7062,7 @@ gfc_match_modproc (void)
59 current namespace. */
60 if (gfc_match_eos () == MATCH_YES)
61 last = true;
62+
63 if (!last && gfc_match_char (',') != MATCH_YES)
64 goto syntax;
65
66diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c
67index 7b24cc4..1acd251 100644
68--- a/gcc/fortran/parse.c
69+++ b/gcc/fortran/parse.c
70@@ -399,7 +399,7 @@ decode_statement (void)
71 break;
72
73 case 'm':
74- match ("module% procedure% ", gfc_match_modproc, ST_MODULE_PROC);
75+ match ("module% procedure", gfc_match_modproc, ST_MODULE_PROC);
76 match ("module", gfc_match_module, ST_MODULE);
77 break;
78
79new file mode 100644
80index 0000000..200f0ff
81--- /dev/null
82+++ b/gcc/testsuite/gfortran.dg/module_procedure_double_colon_1.f90
83@@ -0,0 +1,23 @@
84+! { dg-do compile }
85+!
86+! PR fortran/49265
87+! Contributed by Erik Toussaint
88+!
89+module m1
90+ implicit none
91+ interface foo
92+ module procedure::bar
93+ module procedure ::bar_none
94+ module procedure:: none_bar
95+ end interface
96+contains
97+ subroutine bar
98+ end subroutine
99+ subroutine bar_none(i)
100+ integer i
101+ end subroutine
102+ subroutine none_bar(x)
103+ real x
104+ end subroutine
105+end module
106+! { dg-final { cleanup-modules "m1" } }
107diff --git a/gcc/testsuite/gfortran.dg/module_procedure_double_colon_2.f90 b/gcc/testsuite/gfortran.dg/module_procedure_double_colon_2.f90
108new file mode 100644
109index 0000000..9300215
110--- /dev/null
111+++ b/gcc/testsuite/gfortran.dg/module_procedure_double_colon_2.f90
112@@ -0,0 +1,24 @@
113+! { dg-do compile }
114+! { dg-options "-std=f95" }
115+!
116+! PR fortran/49265
117+! Contributed by Erik Toussaint
118+!
119+module m1
120+ implicit none
121+ interface foo
122+ module procedure::bar ! { dg-error "double colon" }
123+ module procedure ::bar_none ! { dg-error "double colon" }
124+ module procedure:: none_bar ! { dg-error "double colon" }
125+ end interface
126+contains
127+ subroutine bar
128+ end subroutine
129+ subroutine bar_none(i)
130+ integer i
131+ end subroutine
132+ subroutine none_bar(x)
133+ real x
134+ end subroutine
135+end module
136+! { dg-final { cleanup-modules "m1" } }
137--
1381.7.0.4
139
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0382-PR-c-49276.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0382-PR-c-49276.patch
new file mode 100644
index 0000000000..bedf16cc45
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0382-PR-c-49276.patch
@@ -0,0 +1,62 @@
1From 85632cd24fa3d7f890fe9537936088c42792970c Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 3 Jun 2011 20:21:38 +0000
4Subject: [PATCH] PR c++/49276
5 * mangle.c (write_nested_name): Use CP_DECL_CONTEXT instead of
6 DECL_CONTEXT.
7
8 * g++.dg/cpp0x/lambda/lambda-mangle2.C: New test.
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174620 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index f063d47..be4ef0a 100644
14--- a/gcc/cp/mangle.c
15+++ b/gcc/cp/mangle.c
16@@ -1,6 +1,6 @@
17 /* Name mangling for the 3.0 C++ ABI.
18- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
19- Free Software Foundation, Inc.
20+ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010,
21+ 2011 Free Software Foundation, Inc.
22 Written by Alex Samuel <samuel@codesourcery.com>
23
24 This file is part of GCC.
25@@ -943,7 +943,7 @@ write_nested_name (const tree decl)
26 else
27 {
28 /* No, just use <prefix> */
29- write_prefix (DECL_CONTEXT (decl));
30+ write_prefix (CP_DECL_CONTEXT (decl));
31 write_unqualified_name (decl);
32 }
33 write_char ('E');
34new file mode 100644
35index 0000000..4b7d15a
36--- /dev/null
37+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mangle2.C
38@@ -0,0 +1,21 @@
39+// PR c++/49276
40+// { dg-do compile }
41+// { dg-options "-std=c++0x" }
42+
43+template <int N>
44+struct F
45+{
46+ template <typename U> F (U);
47+};
48+
49+struct S
50+{
51+ void foo (F <0> x = [] {}) {}
52+};
53+
54+int
55+main ()
56+{
57+ S s;
58+ s.foo ();
59+}
60--
611.7.0.4
62
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0384-PR-tree-optimization-49038.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0384-PR-tree-optimization-49038.patch
new file mode 100644
index 0000000000..199eb6130b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0384-PR-tree-optimization-49038.patch
@@ -0,0 +1,367 @@
1From 57c28e9c809ad3f27fe0743eabb030e8ee8b2af4 Mon Sep 17 00:00:00 2001
2From: irar <irar@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sat, 4 Jun 2011 09:20:00 +0000
4Subject: [PATCH] PR tree-optimization/49038
5 * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
6 Ensure at least one epilogue iteration if required by data
7 accesses with gaps.
8 * tree-vectorizer.h (struct _loop_vec_info): Add new field
9 to mark loops that require peeling for gaps.
10 * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
11 (vect_get_known_peeling_cost): Take peeling for gaps into
12 account.
13 (vect_transform_loop): Generate epilogue if required by data
14 access with gaps.
15 * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
16 loop as requiring an epilogue if there are gaps in the end of
17 the strided group.
18
19git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174635 138bc75d-0d04-0410-961f-82ee72b054a4
20
21index 13b7118..8d51590 100644
22new file mode 100644
23index 0000000..91c214f
24--- /dev/null
25+++ b/gcc/testsuite/gcc.dg/vect/pr49038.c
26@@ -0,0 +1,42 @@
27+#include <sys/mman.h>
28+#include <stdio.h>
29+
30+#define COUNT 320
31+#define MMAP_SIZE 0x10000
32+#define ADDRESS 0x1122000000
33+#define TYPE unsigned short
34+
35+#ifndef MAP_ANONYMOUS
36+#define MAP_ANONYMOUS MAP_ANON
37+#endif
38+
39+void __attribute__((noinline))
40+foo (TYPE *__restrict a, TYPE *__restrict b)
41+{
42+ int n;
43+
44+ for (n = 0; n < COUNT; n++)
45+ a[n] = b[n * 2];
46+}
47+
48+int
49+main (void)
50+{
51+ void *x;
52+ size_t b_offset;
53+
54+ x = mmap ((void *) ADDRESS, MMAP_SIZE, PROT_READ | PROT_WRITE,
55+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
56+ if (x == MAP_FAILED)
57+ {
58+ perror ("mmap");
59+ return 1;
60+ }
61+
62+ b_offset = MMAP_SIZE - (2 * COUNT - 1) * sizeof (TYPE);
63+ foo ((unsigned short *) x,
64+ (unsigned short *) ((char *) x + b_offset));
65+ return 0;
66+}
67+
68+/* { dg-final { cleanup-tree-dump "vect" } } */
69diff --git a/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c b/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c
70new file mode 100644
71index 0000000..ccbc366
72--- /dev/null
73+++ b/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c
74@@ -0,0 +1,116 @@
75+/* { dg-require-effective-target vect_int } */
76+
77+#include <stdarg.h>
78+#include <stdio.h>
79+#include "tree-vect.h"
80+
81+#define N 160
82+
83+typedef struct {
84+ unsigned char a;
85+ unsigned char b;
86+ unsigned char c;
87+ unsigned char d;
88+ unsigned char e;
89+ unsigned char f;
90+ unsigned char g;
91+ unsigned char h;
92+} s;
93+
94+__attribute__ ((noinline)) int
95+main1 (s *arr, int n)
96+{
97+ int i;
98+ s *ptr = arr;
99+ s res[N];
100+ unsigned char x;
101+
102+ for (i = 0; i < N; i++)
103+ {
104+ res[i].a = 0;
105+ res[i].b = 0;
106+ res[i].c = 0;
107+ res[i].d = 0;
108+ res[i].e = 0;
109+ res[i].f = 0;
110+ res[i].g = 0;
111+ res[i].h = 0;
112+ __asm__ volatile ("");
113+ }
114+
115+ /* Check peeling for gaps for unknown loop bound. */
116+ for (i = 0; i < n; i++)
117+ {
118+ res[i].c = ptr->b + ptr->c;
119+ x = ptr->c + ptr->f;
120+ res[i].a = x + ptr->b;
121+ res[i].d = ptr->b + ptr->c;
122+ res[i].b = ptr->c;
123+ res[i].f = ptr->f + ptr->e;
124+ res[i].e = ptr->b + ptr->e;
125+ res[i].h = ptr->c;
126+ res[i].g = ptr->b + ptr->c;
127+ ptr++;
128+ }
129+
130+ /* check results: */
131+ for (i = 0; i < n; i++)
132+ {
133+ if (res[i].c != arr[i].b + arr[i].c
134+ || res[i].a != arr[i].c + arr[i].f + arr[i].b
135+ || res[i].d != arr[i].b + arr[i].c
136+ || res[i].b != arr[i].c
137+ || res[i].f != arr[i].f + arr[i].e
138+ || res[i].e != arr[i].b + arr[i].e
139+ || res[i].h != arr[i].c
140+ || res[i].g != arr[i].b + arr[i].c)
141+ abort ();
142+ }
143+
144+ /* Check also that we don't do more iterations than needed. */
145+ for (i = n; i < N; i++)
146+ {
147+ if (res[i].c == arr[i].b + arr[i].c
148+ || res[i].a == arr[i].c + arr[i].f + arr[i].b
149+ || res[i].d == arr[i].b + arr[i].c
150+ || res[i].b == arr[i].c
151+ || res[i].f == arr[i].f + arr[i].e
152+ || res[i].e == arr[i].b + arr[i].e
153+ || res[i].h == arr[i].c
154+ || res[i].g == arr[i].b + arr[i].c)
155+ abort ();
156+ }
157+
158+ return 0;
159+}
160+
161+
162+int main (void)
163+{
164+ int i;
165+ s arr[N];
166+
167+ check_vect ();
168+
169+ for (i = 0; i < N; i++)
170+ {
171+ arr[i].a = 5;
172+ arr[i].b = 6;
173+ arr[i].c = 17;
174+ arr[i].d = 3;
175+ arr[i].e = 16;
176+ arr[i].f = 16;
177+ arr[i].g = 3;
178+ arr[i].h = 56;
179+ if (arr[i].a == 178)
180+ abort();
181+ }
182+
183+ main1 (arr, N-2);
184+
185+ return 0;
186+}
187+
188+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */
189+/* { dg-final { cleanup-tree-dump "vect" } } */
190+
191diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
192index db5098c..1c60388 100644
193--- a/gcc/tree-vect-data-refs.c
194+++ b/gcc/tree-vect-data-refs.c
195@@ -2045,7 +2045,7 @@ vect_analyze_group_access (struct data_reference *dr)
196 loop_vec_info loop_vinfo = STMT_VINFO_LOOP_VINFO (stmt_info);
197 bb_vec_info bb_vinfo = STMT_VINFO_BB_VINFO (stmt_info);
198 HOST_WIDE_INT dr_step = TREE_INT_CST_LOW (step);
199- HOST_WIDE_INT stride;
200+ HOST_WIDE_INT stride, last_accessed_element = 1;
201 bool slp_impossible = false;
202
203 /* For interleaving, STRIDE is STEP counted in elements, i.e., the size of the
204@@ -2074,6 +2074,16 @@ vect_analyze_group_access (struct data_reference *dr)
205 fprintf (vect_dump, " step ");
206 print_generic_expr (vect_dump, step, TDF_SLIM);
207 }
208+
209+ if (loop_vinfo)
210+ {
211+ LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo) = true;
212+
213+ if (vect_print_dump_info (REPORT_DETAILS))
214+ fprintf (vect_dump, "Data access with gaps requires scalar "
215+ "epilogue loop");
216+ }
217+
218 return true;
219 }
220
221@@ -2139,6 +2149,7 @@ vect_analyze_group_access (struct data_reference *dr)
222 next = DR_GROUP_NEXT_DR (vinfo_for_stmt (next));
223 continue;
224 }
225+
226 prev = next;
227
228 /* Check that all the accesses have the same STEP. */
229@@ -2169,6 +2180,8 @@ vect_analyze_group_access (struct data_reference *dr)
230 gaps += diff - 1;
231 }
232
233+ last_accessed_element += diff;
234+
235 /* Store the gap from the previous member of the group. If there is no
236 gap in the access, DR_GROUP_GAP is always 1. */
237 DR_GROUP_GAP (vinfo_for_stmt (next)) = diff;
238@@ -2260,6 +2273,15 @@ vect_analyze_group_access (struct data_reference *dr)
239 VEC_safe_push (gimple, heap, BB_VINFO_STRIDED_STORES (bb_vinfo),
240 stmt);
241 }
242+
243+ /* There is a gap in the end of the group. */
244+ if (stride - last_accessed_element > 0 && loop_vinfo)
245+ {
246+ LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo) = true;
247+ if (vect_print_dump_info (REPORT_DETAILS))
248+ fprintf (vect_dump, "Data access with gaps requires scalar "
249+ "epilogue loop");
250+ }
251 }
252
253 return true;
254diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c
255index b691cd2..da2c9b7 100644
256--- a/gcc/tree-vect-loop-manip.c
257+++ b/gcc/tree-vect-loop-manip.c
258@@ -1551,7 +1551,7 @@ vect_generate_tmps_on_preheader (loop_vec_info loop_vinfo,
259 edge pe;
260 basic_block new_bb;
261 gimple_seq stmts;
262- tree ni_name;
263+ tree ni_name, ni_minus_gap_name;
264 tree var;
265 tree ratio_name;
266 tree ratio_mult_vf_name;
267@@ -1568,9 +1568,39 @@ vect_generate_tmps_on_preheader (loop_vec_info loop_vinfo,
268 ni_name = vect_build_loop_niters (loop_vinfo, cond_expr_stmt_list);
269 log_vf = build_int_cst (TREE_TYPE (ni), exact_log2 (vf));
270
271+ /* If epilogue loop is required because of data accesses with gaps, we
272+ subtract one iteration from the total number of iterations here for
273+ correct calculation of RATIO. */
274+ if (LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo))
275+ {
276+ ni_minus_gap_name = fold_build2 (MINUS_EXPR, TREE_TYPE (ni_name),
277+ ni_name,
278+ build_one_cst (TREE_TYPE (ni_name)));
279+ if (!is_gimple_val (ni_minus_gap_name))
280+ {
281+ var = create_tmp_var (TREE_TYPE (ni), "ni_gap");
282+ add_referenced_var (var);
283+
284+ stmts = NULL;
285+ ni_minus_gap_name = force_gimple_operand (ni_minus_gap_name, &stmts,
286+ true, var);
287+ if (cond_expr_stmt_list)
288+ gimple_seq_add_seq (&cond_expr_stmt_list, stmts);
289+ else
290+ {
291+ pe = loop_preheader_edge (loop);
292+ new_bb = gsi_insert_seq_on_edge_immediate (pe, stmts);
293+ gcc_assert (!new_bb);
294+ }
295+ }
296+ }
297+ else
298+ ni_minus_gap_name = ni_name;
299+
300 /* Create: ratio = ni >> log2(vf) */
301
302- ratio_name = fold_build2 (RSHIFT_EXPR, TREE_TYPE (ni_name), ni_name, log_vf);
303+ ratio_name = fold_build2 (RSHIFT_EXPR, TREE_TYPE (ni_minus_gap_name),
304+ ni_minus_gap_name, log_vf);
305 if (!is_gimple_val (ratio_name))
306 {
307 var = create_tmp_var (TREE_TYPE (ni), "bnd");
308diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
309index 7692eb8..44c1ecd 100644
310--- a/gcc/tree-vect-loop.c
311+++ b/gcc/tree-vect-loop.c
312@@ -760,6 +760,7 @@ new_loop_vec_info (struct loop *loop)
313 LOOP_VINFO_SLP_INSTANCES (res) = VEC_alloc (slp_instance, heap, 10);
314 LOOP_VINFO_SLP_UNROLLING_FACTOR (res) = 1;
315 LOOP_VINFO_PEELING_HTAB (res) = NULL;
316+ LOOP_VINFO_PEELING_FOR_GAPS (res) = false;
317
318 return res;
319 }
320@@ -2149,6 +2150,10 @@ vect_get_known_peeling_cost (loop_vec_info loop_vinfo, int peel_iters_prologue,
321 peel_iters_prologue = niters < peel_iters_prologue ?
322 niters : peel_iters_prologue;
323 *peel_iters_epilogue = (niters - peel_iters_prologue) % vf;
324+ /* If we need to peel for gaps, but no peeling is required, we have to
325+ peel VF iterations. */
326+ if (LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo) && !*peel_iters_epilogue)
327+ *peel_iters_epilogue = vf;
328 }
329
330 return (peel_iters_prologue * scalar_single_iter_cost)
331@@ -4721,7 +4726,8 @@ vect_transform_loop (loop_vec_info loop_vinfo)
332 do_peeling_for_loop_bound
333 = (!LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo)
334 || (LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo)
335- && LOOP_VINFO_INT_NITERS (loop_vinfo) % vectorization_factor != 0));
336+ && LOOP_VINFO_INT_NITERS (loop_vinfo) % vectorization_factor != 0)
337+ || LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo));
338
339 if (LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT (loop_vinfo)
340 || LOOP_REQUIRES_VERSIONING_FOR_ALIAS (loop_vinfo))
341diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
342index ee8410c..c1ac81c 100644
343--- a/gcc/tree-vectorizer.h
344+++ b/gcc/tree-vectorizer.h
345@@ -251,6 +251,11 @@ typedef struct _loop_vec_info {
346 /* Hash table used to choose the best peeling option. */
347 htab_t peeling_htab;
348
349+ /* When we have strided data accesses with gaps, we may introduce invalid
350+ memory accesses. We peel the last iteration of the loop to prevent
351+ this. */
352+ bool peeling_for_gaps;
353+
354 } *loop_vec_info;
355
356 /* Access Functions. */
357@@ -278,6 +283,7 @@ typedef struct _loop_vec_info {
358 #define LOOP_VINFO_SLP_UNROLLING_FACTOR(L) (L)->slp_unrolling_factor
359 #define LOOP_VINFO_REDUCTIONS(L) (L)->reductions
360 #define LOOP_VINFO_PEELING_HTAB(L) (L)->peeling_htab
361+#define LOOP_VINFO_PEELING_FOR_GAPS(L) (L)->peeling_for_gaps
362
363 #define LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT(L) \
364 VEC_length (gimple, (L)->may_misalign_stmts) > 0
365--
3661.7.0.4
367
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0385-PR-debug-47590.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0385-PR-debug-47590.patch
new file mode 100644
index 0000000000..cf623ba61b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0385-PR-debug-47590.patch
@@ -0,0 +1,490 @@
1From d457844076501a1f81fa5f867326a2018a61ac98 Mon Sep 17 00:00:00 2001
2From: aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sat, 4 Jun 2011 10:15:48 +0000
4Subject: [PATCH] PR debug/47590
5 * target.def (delay_sched2, delay_vartrack): New.
6 * doc/tm.texi.in: Update.
7 * doc/tm.texi: Rebuild.
8 * sched-rgn.c (gate_handle_sched2): Fail if delay_sched2.
9 * var-tracking.c (gate_handle_var_tracking): Likewise.
10 * config/bfin/bfin.c (bfin_flag_schedule_insns2): Drop.
11 (bfin_flag_var_tracking): Drop.
12 (output_file_start): Don't save and override flag_var_tracking.
13 (bfin_option_override): Ditto flag_schedule_insns_after_reload.
14 (bfin_reorg): Test original variables.
15 (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
16 * config/ia64/ia64.c (ia64_flag_schedule_insns2): Drop.
17 (ia64_flag_var_tracking): Drop.
18 (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
19 (ia64_file_start): Don't save and override flag_var_tracking.
20 (ia64_override_options_after_change): Ditto
21 flag_schedule_insns_after_reload.
22 (ia64_reorg): Test original variables.
23 * config/picochip/picochip.c (picochip_flag_schedule_insns2): Drop.
24 (picochip_flag_var_tracking): Drop.
25 (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
26 (picochip_option_override): Don't save and override
27 flag_schedule_insns_after_reload.
28 (picochip_asm_file_start): Ditto flag_var_tracking.
29 (picochip_reorg): Test original variables.
30 * config/spu/spu.c (spu_flag_var_tracking): Drop.
31 (TARGET_DELAY_VARTRACK): Define.
32 (spu_var_tracking): New.
33 (spu_machine_dependent_reorg): Call it.
34 (asm_file_start): Don't save and override flag_var_tracking.
35
36git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174637 138bc75d-0d04-0410-961f-82ee72b054a4
37
38index a6f2a38..60cd09e 100644
39--- a/gcc/config/bfin/bfin.c
40+++ b/gcc/config/bfin/bfin.c
41@@ -88,14 +88,6 @@ static int ret_regs[] = FUNCTION_RETURN_REGISTERS;
42 /* Nonzero if -mshared-library-id was given. */
43 static int bfin_lib_id_given;
44
45-/* Nonzero if -fschedule-insns2 was given. We override it and
46- call the scheduler ourselves during reorg. */
47-static int bfin_flag_schedule_insns2;
48-
49-/* Determines whether we run variable tracking in machine dependent
50- reorganization. */
51-static int bfin_flag_var_tracking;
52-
53 /* -mcpu support */
54 bfin_cpu_t bfin_cpu_type = BFIN_CPU_UNKNOWN;
55
56@@ -356,13 +348,6 @@ output_file_start (void)
57 FILE *file = asm_out_file;
58 int i;
59
60- /* Variable tracking should be run after all optimizations which change order
61- of insns. It also needs a valid CFG. This can't be done in
62- bfin_option_override, because flag_var_tracking is finalized after
63- that. */
64- bfin_flag_var_tracking = flag_var_tracking;
65- flag_var_tracking = 0;
66-
67 fprintf (file, ".file \"%s\";\n", input_filename);
68
69 for (i = 0; arg_regs[i] >= 0; i++)
70@@ -2725,11 +2710,6 @@ bfin_option_override (void)
71
72 flag_schedule_insns = 0;
73
74- /* Passes after sched2 can break the helpful TImode annotations that
75- haifa-sched puts on every insn. Just do scheduling in reorg. */
76- bfin_flag_schedule_insns2 = flag_schedule_insns_after_reload;
77- flag_schedule_insns_after_reload = 0;
78-
79 init_machine_status = bfin_init_machine_status;
80 }
81
82@@ -5502,7 +5482,7 @@ bfin_reorg (void)
83 with old MDEP_REORGS that are not CFG based. Recompute it now. */
84 compute_bb_for_insn ();
85
86- if (bfin_flag_schedule_insns2)
87+ if (flag_schedule_insns_after_reload)
88 {
89 splitting_for_sched = 1;
90 split_all_insns ();
91@@ -5531,7 +5511,7 @@ bfin_reorg (void)
92
93 workaround_speculation ();
94
95- if (bfin_flag_var_tracking)
96+ if (flag_var_tracking)
97 {
98 timevar_push (TV_VAR_TRACKING);
99 variable_tracking_main ();
100@@ -6702,4 +6682,14 @@ bfin_conditional_register_usage (void)
101 #undef TARGET_TRAMPOLINE_INIT
102 #define TARGET_TRAMPOLINE_INIT bfin_trampoline_init
103
104+/* Passes after sched2 can break the helpful TImode annotations that
105+ haifa-sched puts on every insn. Just do scheduling in reorg. */
106+#undef TARGET_DELAY_SCHED2
107+#define TARGET_DELAY_SCHED2 true
108+
109+/* Variable tracking should be run after all optimizations which
110+ change order of insns. It also needs a valid CFG. */
111+#undef TARGET_DELAY_VARTRACK
112+#define TARGET_DELAY_VARTRACK true
113+
114 struct gcc_target targetm = TARGET_INITIALIZER;
115diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
116index 1d3f8b1..71de697 100644
117--- a/gcc/config/ia64/ia64.c
118+++ b/gcc/config/ia64/ia64.c
119@@ -105,14 +105,6 @@ static const char * const ia64_output_reg_names[8] =
120 /* Which cpu are we scheduling for. */
121 enum processor_type ia64_tune = PROCESSOR_ITANIUM2;
122
123-/* Determines whether we run our final scheduling pass or not. We always
124- avoid the normal second scheduling pass. */
125-static int ia64_flag_schedule_insns2;
126-
127-/* Determines whether we run variable tracking in machine dependent
128- reorganization. */
129-static int ia64_flag_var_tracking;
130-
131 /* Variables which are this size or smaller are put in the sdata/sbss
132 sections. */
133
134@@ -634,6 +626,14 @@ static const struct default_options ia64_option_optimization_table[] =
135 #undef TARGET_PREFERRED_RELOAD_CLASS
136 #define TARGET_PREFERRED_RELOAD_CLASS ia64_preferred_reload_class
137
138+#undef TARGET_DELAY_SCHED2
139+#define TARGET_DELAY_SCHED2 true
140+
141+/* Variable tracking should be run after all optimizations which
142+ change order of insns. It also needs a valid CFG. */
143+#undef TARGET_DELAY_VARTRACK
144+#define TARGET_DELAY_VARTRACK true
145+
146 struct gcc_target targetm = TARGET_INITIALIZER;
147
148 typedef enum
149@@ -2389,13 +2389,6 @@ ia64_expand_atomic_op (enum rtx_code code, rtx mem, rtx val,
150 static void
151 ia64_file_start (void)
152 {
153- /* Variable tracking should be run after all optimizations which change order
154- of insns. It also needs a valid CFG. This can't be done in
155- ia64_option_override, because flag_var_tracking is finalized after
156- that. */
157- ia64_flag_var_tracking = flag_var_tracking;
158- flag_var_tracking = 0;
159-
160 default_file_start ();
161 emit_safe_across_calls ();
162 }
163@@ -5733,9 +5726,6 @@ ia64_option_override (void)
164 static void
165 ia64_override_options_after_change (void)
166 {
167- ia64_flag_schedule_insns2 = flag_schedule_insns_after_reload;
168- flag_schedule_insns_after_reload = 0;
169-
170 if (optimize >= 3
171 && !global_options_set.x_flag_selective_scheduling
172 && !global_options_set.x_flag_selective_scheduling2)
173@@ -9407,7 +9397,7 @@ ia64_reorg (void)
174 if (optimize == 0)
175 split_all_insns ();
176
177- if (optimize && ia64_flag_schedule_insns2
178+ if (optimize && flag_schedule_insns_after_reload
179 && dbg_cnt (ia64_sched2))
180 {
181 timevar_push (TV_SCHED2);
182@@ -9537,7 +9527,7 @@ ia64_reorg (void)
183
184 emit_predicate_relation_info ();
185
186- if (ia64_flag_var_tracking)
187+ if (flag_var_tracking)
188 {
189 timevar_push (TV_VAR_TRACKING);
190 variable_tracking_main ();
191diff --git a/gcc/config/picochip/picochip.c b/gcc/config/picochip/picochip.c
192index 1ca95b4..dd4e34e 100644
193--- a/gcc/config/picochip/picochip.c
194+++ b/gcc/config/picochip/picochip.c
195@@ -149,13 +149,6 @@ const char *picochip_regnames[] = REGISTER_NAMES;
196
197 /* Target scheduling information. */
198
199-/* Determine whether we run our final scheduling pass or not. We always
200- avoid the normal second scheduling pass. */
201-int picochip_flag_schedule_insns2;
202-
203-/* Check if variable tracking needs to be run. */
204-int picochip_flag_var_tracking;
205-
206 /* This flag indicates whether the next instruction to be output is a
207 VLIW continuation instruction. It is used to communicate between
208 final_prescan_insn and asm_output_opcode. */
209@@ -343,6 +336,17 @@ static const struct default_options picochip_option_optimization_table[] =
210 #undef TARGET_EXCEPT_UNWIND_INFO
211 #define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info
212
213+/* The 2nd scheduling pass option is switched off, and a machine
214+ dependent reorganisation ensures that it is run later on, after the
215+ second jump optimisation. */
216+#undef TARGET_DELAY_SCHED2
217+#define TARGET_DELAY_SCHED2 true
218+
219+/* Variable tracking should be run after all optimizations which
220+ change order of insns. It also needs a valid CFG. */
221+#undef TARGET_DELAY_VARTRACK
222+#define TARGET_DELAY_VARTRACK true
223+
224 struct gcc_target targetm = TARGET_INITIALIZER;
225
226
227@@ -356,10 +360,7 @@ picochip_return_in_memory(const_tree type, const_tree fntype ATTRIBUTE_UNUSED)
228 return ((unsigned HOST_WIDE_INT) int_size_in_bytes (type) > 4);
229 }
230
231-/* Allow some options to be overriden. In particular, the 2nd
232- scheduling pass option is switched off, and a machine dependent
233- reorganisation ensures that it is run later on, after the second
234- jump optimisation. */
235+/* Allow some options to be overriden. */
236
237 static void
238 picochip_option_override (void)
239@@ -396,18 +397,16 @@ picochip_option_override (void)
240 if (optimize >= 1)
241 flag_section_anchors = 1;
242
243- /* Turn off the second scheduling pass, and move it to
244- picochip_reorg, to avoid having the second jump optimisation
245- trash the instruction modes (e.g., instructions are changed to
246- TImode to mark the beginning of cycles). Two types of DFA
247- scheduling are possible: space and speed. In both cases,
248- instructions are reordered to avoid stalls (e.g., memory loads
249- stall for one cycle). Speed scheduling will also enable VLIW
250- instruction packing. VLIW instructions use more code space, so
251- VLIW scheduling is disabled when scheduling for size. */
252- picochip_flag_schedule_insns2 = flag_schedule_insns_after_reload;
253- flag_schedule_insns_after_reload = 0;
254- if (picochip_flag_schedule_insns2)
255+ /* The second scheduling pass runs within picochip_reorg, to avoid
256+ having the second jump optimisation trash the instruction modes
257+ (e.g., instructions are changed to TImode to mark the beginning
258+ of cycles). Two types of DFA scheduling are possible: space and
259+ speed. In both cases, instructions are reordered to avoid stalls
260+ (e.g., memory loads stall for one cycle). Speed scheduling will
261+ also enable VLIW instruction packing. VLIW instructions use more
262+ code space, so VLIW scheduling is disabled when scheduling for
263+ size. */
264+ if (flag_schedule_insns_after_reload)
265 {
266 if (optimize_size)
267 picochip_schedule_type = DFA_TYPE_SPACE;
268@@ -461,7 +460,6 @@ picochip_option_override (void)
269 error ("invalid mul type specified (%s) - expected mac, mul or none",
270 picochip_mul_type_string);
271 }
272-
273 }
274
275
276@@ -1813,13 +1811,6 @@ picochip_asm_file_start (void)
277 fprintf (asm_out_file, "// Has multiply: Yes (Mac unit)\n");
278 else
279 fprintf (asm_out_file, "// Has multiply: No\n");
280-
281- /* Variable tracking should be run after all optimizations which change order
282- of insns. It also needs a valid CFG. This can't be done in
283- picochip_option_override, because flag_var_tracking is finalized after
284- that. */
285- picochip_flag_var_tracking = flag_var_tracking;
286- flag_var_tracking = 0;
287 }
288
289 /* Output the end of an ASM file. */
290@@ -3369,15 +3360,16 @@ picochip_reorg (void)
291 delete_insn (prologue_end_note);
292 }
293 }
294- if (picochip_flag_var_tracking)
295- {
296- timevar_push (TV_VAR_TRACKING);
297- variable_tracking_main ();
298- /* We also have to deal with variable tracking notes in the middle
299- of VLIW packets. */
300- reorder_var_tracking_notes();
301- timevar_pop (TV_VAR_TRACKING);
302- }
303+
304+ if (flag_var_tracking)
305+ {
306+ timevar_push (TV_VAR_TRACKING);
307+ variable_tracking_main ();
308+ /* We also have to deal with variable tracking notes in the
309+ middle of VLIW packets. */
310+ reorder_var_tracking_notes();
311+ timevar_pop (TV_VAR_TRACKING);
312+ }
313 }
314
315 /* Return the ALU character identifier for the current
316diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c
317index d80d86d..5c30a6e 100644
318--- a/gcc/config/spu/spu.c
319+++ b/gcc/config/spu/spu.c
320@@ -245,10 +245,6 @@ int spu_tune;
321 inserted in pairs, so we round down. */
322 int spu_hint_dist = (8*4) - (2*4);
323
324-/* Determines whether we run variable tracking in machine dependent
325- reorganization. */
326-static int spu_flag_var_tracking;
327-
328 enum spu_immediate {
329 SPU_NONE,
330 SPU_IL,
331@@ -495,6 +491,11 @@ static const struct attribute_spec spu_attribute_table[] =
332 #undef TARGET_REF_MAY_ALIAS_ERRNO
333 #define TARGET_REF_MAY_ALIAS_ERRNO spu_ref_may_alias_errno
334
335+/* Variable tracking should be run after all optimizations which
336+ change order of insns. It also needs a valid CFG. */
337+#undef TARGET_DELAY_VARTRACK
338+#define TARGET_DELAY_VARTRACK true
339+
340 struct gcc_target targetm = TARGET_INITIALIZER;
341
342 static void
343@@ -2686,6 +2687,19 @@ insert_hbrp (void)
344
345 static int in_spu_reorg;
346
347+static void
348+spu_var_tracking (void)
349+{
350+ if (flag_var_tracking)
351+ {
352+ df_analyze ();
353+ timevar_push (TV_VAR_TRACKING);
354+ variable_tracking_main ();
355+ timevar_pop (TV_VAR_TRACKING);
356+ df_finish_pass (false);
357+ }
358+}
359+
360 /* Insert branch hints. There are no branch optimizations after this
361 pass, so it's safe to set our branch hints now. */
362 static void
363@@ -2705,6 +2719,7 @@ spu_machine_dependent_reorg (void)
364 function might have hinted a call or return. */
365 insert_hbrp ();
366 pad_bb ();
367+ spu_var_tracking ();
368 return;
369 }
370
371@@ -2911,14 +2926,7 @@ spu_machine_dependent_reorg (void)
372 XVECEXP (unspec, 0, 0) = plus_constant (label_ref, offset);
373 }
374
375- if (spu_flag_var_tracking)
376- {
377- df_analyze ();
378- timevar_push (TV_VAR_TRACKING);
379- variable_tracking_main ();
380- timevar_pop (TV_VAR_TRACKING);
381- df_finish_pass (false);
382- }
383+ spu_var_tracking ();
384
385 free_bb_for_insn ();
386
387@@ -7049,19 +7057,6 @@ spu_libgcc_shift_count_mode (void)
388 static void
389 asm_file_start (void)
390 {
391- /* Variable tracking should be run after all optimizations which
392- change order of insns. It also needs a valid CFG. Therefore,
393- *if* we make nontrivial changes in machine-dependent reorg,
394- run variable tracking after those. However, if we do not run
395- our machine-dependent reorg pass, we must still run the normal
396- variable tracking pass (or else we will ICE in final since
397- debug insns have not been removed). */
398- if (TARGET_BRANCH_HINTS && optimize)
399- {
400- spu_flag_var_tracking = flag_var_tracking;
401- flag_var_tracking = 0;
402- }
403-
404 default_file_start ();
405 }
406
407diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
408index 85e1d88..f7c0cce 100644
409--- a/gcc/doc/tm.texi
410+++ b/gcc/doc/tm.texi
411@@ -9430,6 +9430,14 @@ tables, and hence is desirable if it works.
412 True if the @code{.debug_pubtypes} and @code{.debug_pubnames} sections should be emitted. These sections are not used on most platforms, and in particular GDB does not use them.
413 @end deftypevr
414
415+@deftypevr {Target Hook} bool TARGET_DELAY_SCHED2
416+True if sched2 is not to be run at its normal place. This usually means it will be run as part of machine-specific reorg.
417+@end deftypevr
418+
419+@deftypevr {Target Hook} bool TARGET_DELAY_VARTRACK
420+True if vartrack is not to be run at its normal place. This usually means it will be run as part of machine-specific reorg.
421+@end deftypevr
422+
423 @defmac ASM_OUTPUT_DWARF_DELTA (@var{stream}, @var{size}, @var{label1}, @var{label2})
424 A C statement to issue assembly directives that create a difference
425 @var{lab1} minus @var{lab2}, using an integer of the given @var{size}.
426diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
427index a799bc4..40acf65 100644
428--- a/gcc/doc/tm.texi.in
429+++ b/gcc/doc/tm.texi.in
430@@ -9388,6 +9388,10 @@ tables, and hence is desirable if it works.
431
432 @hook TARGET_WANT_DEBUG_PUB_SECTIONS
433
434+@hook TARGET_DELAY_SCHED2
435+
436+@hook TARGET_DELAY_VARTRACK
437+
438 @defmac ASM_OUTPUT_DWARF_DELTA (@var{stream}, @var{size}, @var{label1}, @var{label2})
439 A C statement to issue assembly directives that create a difference
440 @var{lab1} minus @var{lab2}, using an integer of the given @var{size}.
441diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c
442index 6c4fd46..e6400b6 100644
443--- a/gcc/sched-rgn.c
444+++ b/gcc/sched-rgn.c
445@@ -3518,7 +3518,7 @@ gate_handle_sched2 (void)
446 {
447 #ifdef INSN_SCHEDULING
448 return optimize > 0 && flag_schedule_insns_after_reload
449- && dbg_cnt (sched2_func);
450+ && !targetm.delay_sched2 && dbg_cnt (sched2_func);
451 #else
452 return 0;
453 #endif
454diff --git a/gcc/target.def b/gcc/target.def
455index 57134cb..ecacd44 100644
456--- a/gcc/target.def
457+++ b/gcc/target.def
458@@ -2723,6 +2723,16 @@ DEFHOOKPOD
459 in particular GDB does not use them.",
460 bool, false)
461
462+DEFHOOKPOD
463+(delay_sched2, "True if sched2 is not to be run at its normal place. \
464+This usually means it will be run as part of machine-specific reorg.",
465+bool, false)
466+
467+DEFHOOKPOD
468+(delay_vartrack, "True if vartrack is not to be run at its normal place. \
469+This usually means it will be run as part of machine-specific reorg.",
470+bool, false)
471+
472 /* Leave the boolean fields at the end. */
473
474 /* Empty macro arguments are undefined in C90, so use an empty macro. */
475diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
476index b7ba0b9..ab141c1 100644
477--- a/gcc/var-tracking.c
478+++ b/gcc/var-tracking.c
479@@ -8615,7 +8615,7 @@ variable_tracking_main (void)
480 static bool
481 gate_handle_var_tracking (void)
482 {
483- return (flag_var_tracking);
484+ return (flag_var_tracking && !targetm.delay_vartrack);
485 }
486
487
488--
4891.7.0.4
490
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0386-2011-06-04-Jonathan-Wakely-jwakely.gcc-gmail.com.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0386-2011-06-04-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
new file mode 100644
index 0000000000..05967c768c
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0386-2011-06-04-Jonathan-Wakely-jwakely.gcc-gmail.com.patch
@@ -0,0 +1,29 @@
1From 6387f8d0edf17d5a0ffe499ab890a9a2d3a32940 Mon Sep 17 00:00:00 2001
2From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sat, 4 Jun 2011 16:20:55 +0000
4Subject: [PATCH] 2011-06-04 Jonathan Wakely <jwakely.gcc@gmail.com>
5
6 PR c++/33840
7 * g++.dg/diagnostic/bitfld2.C: New.
8
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174645 138bc75d-0d04-0410-961f-82ee72b054a4
12
13new file mode 100644
14index 0000000..10b7d9c
15--- /dev/null
16+++ b/gcc/testsuite/g++.dg/diagnostic/bitfld2.C
17@@ -0,0 +1,9 @@
18+// PR c++/33840
19+// { dg-do compile }
20+
21+template<int> struct A
22+{
23+ struct {} : 2; // { dg-error "expected ';' after struct" }
24+};
25+// { dg-error "ISO C.. forbids declaration" "" { target *-*-* } 6 }
26+// { dg-error "ISO C.. prohibits anonymous" "" { target *-*-* } 6 }
27--
281.7.0.4
29
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0388-PR-target-49186.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0388-PR-target-49186.patch
new file mode 100644
index 0000000000..b12cf14ac9
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0388-PR-target-49186.patch
@@ -0,0 +1,48 @@
1From 55f5d999fdde931e7c015bed37510c46234bb459 Mon Sep 17 00:00:00 2001
2From: kkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 5 Jun 2011 21:47:42 +0000
4Subject: [PATCH] PR target/49186
5 * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
6 part of the second operand is 0.
7 * gcc.c-torture/execute/pr49186.c: New.
8
9git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174665 138bc75d-0d04-0410-961f-82ee72b054a4
10
11index ffe84b1..05acb0a 100644
12--- a/gcc/config/sh/sh.c
13+++ b/gcc/config/sh/sh.c
14@@ -2131,7 +2131,10 @@ expand_cbranchdi4 (rtx *operands, enum rtx_code comparison)
15 else if (op2h != CONST0_RTX (SImode))
16 msw_taken = LTU;
17 else
18- break;
19+ {
20+ msw_skip = swap_condition (LTU);
21+ break;
22+ }
23 msw_skip = swap_condition (msw_taken);
24 }
25 break;
26new file mode 100644
27index 0000000..743815b
28--- /dev/null
29+++ b/gcc/testsuite/gcc.c-torture/execute/pr49186.c
30@@ -0,0 +1,15 @@
31+/* PR target/49186 */
32+extern void abort (void);
33+
34+int
35+main ()
36+{
37+ int x;
38+ unsigned long long uv = 0x1000000001ULL;
39+
40+ x = (uv < 0x80) ? 1 : ((uv < 0x800) ? 2 : 3);
41+ if (x != 3)
42+ abort ();
43+
44+ return 0;
45+}
46--
471.7.0.4
48
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0389-config-sparc-sparc.c-output_return-Fix-thinko-in-the.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0389-config-sparc-sparc.c-output_return-Fix-thinko-in-the.patch
new file mode 100644
index 0000000000..7e52179e00
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0389-config-sparc-sparc.c-output_return-Fix-thinko-in-the.patch
@@ -0,0 +1,45 @@
1From 82ededd899a80bf419dd2c4d942a4776a1e13dd5 Mon Sep 17 00:00:00 2001
2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 5 Jun 2011 23:20:21 +0000
4Subject: [PATCH] * config/sparc/sparc.c (output_return): Fix thinko in the output of an
5 EH return when delayed branches are disabled.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174671 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index c6a2047..753028f 100644
10--- a/gcc/config/sparc/sparc.c
11+++ b/gcc/config/sparc/sparc.c
12@@ -4763,18 +4763,20 @@ output_return (rtx insn)
13 machinery occupies the delay slot. */
14 gcc_assert (! final_sequence);
15
16- if (! flag_delayed_branch)
17- fputs ("\tadd\t%fp, %g1, %fp\n", asm_out_file);
18-
19- if (TARGET_V9)
20- fputs ("\treturn\t%i7+8\n", asm_out_file);
21- else
22- fputs ("\trestore\n\tjmp\t%o7+8\n", asm_out_file);
23+ if (flag_delayed_branch)
24+ {
25+ if (TARGET_V9)
26+ fputs ("\treturn\t%i7+8\n", asm_out_file);
27+ else
28+ fputs ("\trestore\n\tjmp\t%o7+8\n", asm_out_file);
29
30- if (flag_delayed_branch)
31- fputs ("\t add\t%sp, %g1, %sp\n", asm_out_file);
32+ fputs ("\t add\t%sp, %g1, %sp\n", asm_out_file);
33+ }
34 else
35- fputs ("\t nop\n", asm_out_file);
36+ {
37+ fputs ("\trestore\n\tadd\t%sp, %g1, %sp\n", asm_out_file);
38+ fputs ("\tjmp\t%o7+8\n\t nop\n", asm_out_file);
39+ }
40 }
41 else if (final_sequence)
42 {
43--
441.7.0.4
45
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0391-PR-c-49134.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0391-PR-c-49134.patch
new file mode 100644
index 0000000000..66f0033a16
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0391-PR-c-49134.patch
@@ -0,0 +1,24 @@
1From 71a7bfbc37759a3f596366544c21ec55c4a75385 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 6 Jun 2011 04:31:24 +0000
4Subject: [PATCH] PR c++/49134
5 * tree.c (build_target_expr): Deal with ARM ABI tweaks.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174684 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 16b9ca1..0e08eaf 100644
10--- a/gcc/cp/tree.c
11+++ b/gcc/cp/tree.c
12@@ -286,6 +286,9 @@ build_target_expr (tree decl, tree value)
13 #ifdef ENABLE_CHECKING
14 gcc_assert (VOID_TYPE_P (TREE_TYPE (value))
15 || TREE_TYPE (decl) == TREE_TYPE (value)
16+ /* On ARM ctors return 'this'. */
17+ || (TREE_CODE (TREE_TYPE (value)) == POINTER_TYPE
18+ && TREE_CODE (value) == CALL_EXPR)
19 || useless_type_conversion_p (TREE_TYPE (decl),
20 TREE_TYPE (value)));
21 #endif
22--
231.7.0.4
24
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0392-2011-06-06-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0392-2011-06-06-Richard-Guenther-rguenther-suse.de.patch
new file mode 100644
index 0000000000..bded821fe5
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0392-2011-06-06-Richard-Guenther-rguenther-suse.de.patch
@@ -0,0 +1,267 @@
1From 701245b3347bb4ac5433de15e4c69924c2d1a7e8 Mon Sep 17 00:00:00 2001
2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 6 Jun 2011 10:13:23 +0000
4Subject: [PATCH] 2011-06-06 Richard Guenther <rguenther@suse.de>
5
6 PR tree-optimization/48702
7 * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
8 only when we know the base address is within bounds.
9 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
10 assume the base address of TARGET_MEM_REFs is in bounds.
11 (indirect_refs_may_alias_p): Fix TARGET_MEM_REF without index tests.
12
13 * gcc.dg/torture/pr48702.c: New testcase.
14
15 Backport from mainline
16 2011-05-31 Jakub Jelinek <jakub@redhat.com>
17
18 PR rtl-optimization/49235
19 * tree-ssa-address.c (gen_addr_rtx): Ignore base if it is const0_rtx.
20 (create_mem_ref_raw): Create MEM_REF even if base is INTEGER_CST.
21
22 * gcc.dg/pr49235.c: New test.
23
24
25git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174688 138bc75d-0d04-0410-961f-82ee72b054a4
26
27index 1a7b287..b3199f9 100644
28new file mode 100644
29index 0000000..f1e589f
30--- /dev/null
31+++ b/gcc/testsuite/gcc.dg/pr49235.c
32@@ -0,0 +1,25 @@
33+/* PR rtl-optimization/49235 */
34+/* { dg-do compile { target { int32plus } } } */
35+/* { dg-options "-O -fno-delete-null-pointer-checks -fno-tree-scev-cprop -ftree-vectorize -fno-vect-cost-model -w" } */
36+
37+void
38+foo (void)
39+{
40+ unsigned i;
41+ unsigned *p = 0;
42+ for (i = 0; i < 4; ++i)
43+ *p++ = 0;
44+ for (i = 0; i < 4; ++i)
45+ *p++ = 0;
46+}
47+
48+void
49+bar (void)
50+{
51+ unsigned i;
52+ unsigned *p = (unsigned *) (__UINTPTR_TYPE__) 0x12340000;
53+ for (i = 0; i < 4; ++i)
54+ *p++ = 0;
55+ for (i = 0; i < 4; ++i)
56+ *p++ = 0;
57+}
58diff --git a/gcc/testsuite/gcc.dg/torture/pr48702.c b/gcc/testsuite/gcc.dg/torture/pr48702.c
59new file mode 100644
60index 0000000..1ec371d
61--- /dev/null
62+++ b/gcc/testsuite/gcc.dg/torture/pr48702.c
63@@ -0,0 +1,47 @@
64+/* { dg-do run } */
65+
66+extern void abort (void);
67+
68+#define LEN 4
69+
70+static inline void unpack(int array[LEN])
71+{
72+ int ii, val;
73+ val = 1;
74+ for (ii = 0; ii < LEN; ii++) {
75+ array[ii] = val % 2;
76+ val = val / 2;
77+ }
78+}
79+
80+static inline int pack(int array[LEN])
81+{
82+ int ans, ii;
83+ ans = 0;
84+ for (ii = LEN-1; ii >= 0; ii--) {
85+ ans = 2 * ans + array[ii];
86+ }
87+ return ans;
88+}
89+
90+int __attribute__((noinline))
91+foo()
92+{
93+ int temp, ans;
94+ int array[LEN];
95+ unpack(array);
96+ temp = array[0];
97+ array[0] = array[2];
98+ array[2] = temp;
99+ ans = pack(array);
100+ return ans;
101+}
102+
103+int main(void)
104+{
105+ int val;
106+ val = foo();
107+ if (val != 4)
108+ abort ();
109+ return 0;
110+}
111diff --git a/gcc/tree-ssa-address.c b/gcc/tree-ssa-address.c
112index a9ca835..437460d 100644
113--- a/gcc/tree-ssa-address.c
114+++ b/gcc/tree-ssa-address.c
115@@ -1,5 +1,5 @@
116 /* Memory address lowering and addressing mode selection.
117- Copyright (C) 2004, 2006, 2007, 2008, 2009, 2010
118+ Copyright (C) 2004, 2006, 2007, 2008, 2009, 2010, 2011
119 Free Software Foundation, Inc.
120
121 This file is part of GCC.
122@@ -129,7 +129,7 @@ gen_addr_rtx (enum machine_mode address_mode,
123 *addr = act_elem;
124 }
125
126- if (base)
127+ if (base && base != const0_rtx)
128 {
129 if (*addr)
130 *addr = simplify_gen_binary (PLUS, address_mode, base, *addr);
131@@ -361,8 +361,11 @@ create_mem_ref_raw (tree type, tree alias_ptr_type, struct mem_address *addr,
132 index2 = addr->base;
133 }
134
135- /* If possible use a plain MEM_REF instead of a TARGET_MEM_REF. */
136- if (alias_ptr_type
137+ /* If possible use a plain MEM_REF instead of a TARGET_MEM_REF.
138+ ??? As IVOPTs does not follow restrictions to where the base
139+ pointer may point to create a MEM_REF only if we know that
140+ base is valid. */
141+ if ((TREE_CODE (base) == ADDR_EXPR || TREE_CODE (base) == INTEGER_CST)
142 && (!index2 || integer_zerop (index2))
143 && (!addr->index || integer_zerop (addr->index)))
144 return fold_build2 (MEM_REF, type, base, addr->offset);
145diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
146index 8434179..1d213df 100644
147--- a/gcc/tree-ssa-alias.c
148+++ b/gcc/tree-ssa-alias.c
149@@ -719,8 +719,9 @@ indirect_ref_may_alias_decl_p (tree ref1 ATTRIBUTE_UNUSED, tree base1,
150 alias_set_type base2_alias_set, bool tbaa_p)
151 {
152 tree ptr1;
153- tree ptrtype1;
154+ tree ptrtype1, dbase2;
155 HOST_WIDE_INT offset1p = offset1, offset2p = offset2;
156+ HOST_WIDE_INT doffset1, doffset2;
157
158 ptr1 = TREE_OPERAND (base1, 0);
159
160@@ -744,11 +745,12 @@ indirect_ref_may_alias_decl_p (tree ref1 ATTRIBUTE_UNUSED, tree base1,
161 the pointer access is beyond the extent of the variable access.
162 (the pointer base cannot validly point to an offset less than zero
163 of the variable).
164- They also cannot alias if the pointer may not point to the decl. */
165- if ((TREE_CODE (base1) != TARGET_MEM_REF
166- || (!TMR_INDEX (base1) && !TMR_INDEX2 (base1)))
167+ ??? IVOPTs creates bases that do not honor this restriction,
168+ so do not apply this optimization for TARGET_MEM_REFs. */
169+ if (TREE_CODE (base1) != TARGET_MEM_REF
170 && !ranges_overlap_p (MAX (0, offset1p), -1, offset2p, max_size2))
171 return false;
172+ /* They also cannot alias if the pointer may not point to the decl. */
173 if (!ptr_deref_may_alias_decl_p (ptr1, base2))
174 return false;
175
176@@ -771,20 +773,6 @@ indirect_ref_may_alias_decl_p (tree ref1 ATTRIBUTE_UNUSED, tree base1,
177 if (base2_alias_set == -1)
178 base2_alias_set = get_alias_set (base2);
179
180- /* If both references are through the same type, they do not alias
181- if the accesses do not overlap. This does extra disambiguation
182- for mixed/pointer accesses but requires strict aliasing.
183- For MEM_REFs we require that the component-ref offset we computed
184- is relative to the start of the type which we ensure by
185- comparing rvalue and access type and disregarding the constant
186- pointer offset. */
187- if ((TREE_CODE (base1) != TARGET_MEM_REF
188- || (!TMR_INDEX (base1) && !TMR_INDEX2 (base1)))
189- && (TREE_CODE (base1) != MEM_REF
190- || same_type_for_tbaa (TREE_TYPE (base1), TREE_TYPE (ptrtype1)) == 1)
191- && same_type_for_tbaa (TREE_TYPE (ptrtype1), TREE_TYPE (base2)) == 1)
192- return ranges_overlap_p (offset1, max_size1, offset2, max_size2);
193-
194 /* When we are trying to disambiguate an access with a pointer dereference
195 as base versus one with a decl as base we can use both the size
196 of the decl and its dynamic type for extra disambiguation.
197@@ -814,6 +802,48 @@ indirect_ref_may_alias_decl_p (tree ref1 ATTRIBUTE_UNUSED, tree base1,
198 && tree_int_cst_lt (DECL_SIZE (base2), TYPE_SIZE (TREE_TYPE (ptrtype1))))
199 return false;
200
201+ if (!ref2)
202+ return true;
203+
204+ /* If the decl is accressed via a MEM_REF, reconstruct the base
205+ we can use for TBAA and an appropriately adjusted offset. */
206+ dbase2 = ref2;
207+ while (handled_component_p (dbase2))
208+ dbase2 = TREE_OPERAND (dbase2, 0);
209+ doffset1 = offset1;
210+ doffset2 = offset2;
211+ if (TREE_CODE (dbase2) == MEM_REF
212+ || TREE_CODE (dbase2) == TARGET_MEM_REF)
213+ {
214+ double_int moff = mem_ref_offset (dbase2);
215+ moff = double_int_lshift (moff,
216+ BITS_PER_UNIT == 8
217+ ? 3 : exact_log2 (BITS_PER_UNIT),
218+ HOST_BITS_PER_DOUBLE_INT, true);
219+ if (double_int_negative_p (moff))
220+ doffset1 -= double_int_neg (moff).low;
221+ else
222+ doffset2 -= moff.low;
223+ }
224+
225+ /* If either reference is view-converted, give up now. */
226+ if (same_type_for_tbaa (TREE_TYPE (base1), TREE_TYPE (ptrtype1)) != 1
227+ || same_type_for_tbaa (TREE_TYPE (dbase2),
228+ TREE_TYPE (reference_alias_ptr_type (dbase2))) != 1)
229+ return true;
230+
231+ /* If both references are through the same type, they do not alias
232+ if the accesses do not overlap. This does extra disambiguation
233+ for mixed/pointer accesses but requires strict aliasing.
234+ For MEM_REFs we require that the component-ref offset we computed
235+ is relative to the start of the type which we ensure by
236+ comparing rvalue and access type and disregarding the constant
237+ pointer offset. */
238+ if ((TREE_CODE (base1) != TARGET_MEM_REF
239+ || (!TMR_INDEX (base1) && !TMR_INDEX2 (base1)))
240+ && same_type_for_tbaa (TREE_TYPE (base1), TREE_TYPE (dbase2)) == 1)
241+ return ranges_overlap_p (doffset1, max_size1, doffset2, max_size2);
242+
243 /* Do access-path based disambiguation. */
244 if (ref1 && ref2
245 && handled_component_p (ref1)
246@@ -942,12 +972,12 @@ indirect_refs_may_alias_p (tree ref1 ATTRIBUTE_UNUSED, tree base1,
247 /* If both references are through the same type, they do not alias
248 if the accesses do not overlap. This does extra disambiguation
249 for mixed/pointer accesses but requires strict aliasing. */
250- if ((TREE_CODE (base1) != TARGET_MEM_REF || !TMR_INDEX (base1))
251- && (TREE_CODE (base2) != TARGET_MEM_REF || !TMR_INDEX (base2))
252- && (TREE_CODE (base1) != MEM_REF
253- || same_type_for_tbaa (TREE_TYPE (base1), TREE_TYPE (ptrtype1)) == 1)
254- && (TREE_CODE (base2) != MEM_REF
255- || same_type_for_tbaa (TREE_TYPE (base2), TREE_TYPE (ptrtype2)) == 1)
256+ if ((TREE_CODE (base1) != TARGET_MEM_REF
257+ || (!TMR_INDEX (base1) && !TMR_INDEX2 (base1)))
258+ && (TREE_CODE (base2) != TARGET_MEM_REF
259+ || (!TMR_INDEX (base2) && !TMR_INDEX2 (base2)))
260+ && same_type_for_tbaa (TREE_TYPE (base1), TREE_TYPE (ptrtype1)) == 1
261+ && same_type_for_tbaa (TREE_TYPE (base2), TREE_TYPE (ptrtype2)) == 1
262 && same_type_for_tbaa (TREE_TYPE (ptrtype1),
263 TREE_TYPE (ptrtype2)) == 1)
264 return ranges_overlap_p (offset1, max_size1, offset2, max_size2);
265--
2661.7.0.4
267
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0393-2011-06-06-Mikael-Pettersson-mikpe-it.uu.se.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0393-2011-06-06-Mikael-Pettersson-mikpe-it.uu.se.patch
new file mode 100644
index 0000000000..0333872b87
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0393-2011-06-06-Mikael-Pettersson-mikpe-it.uu.se.patch
@@ -0,0 +1,59 @@
1From 5bc2d161c3700f4916bcdef05043a8420d8c0ebe Mon Sep 17 00:00:00 2001
2From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 6 Jun 2011 11:46:14 +0000
4Subject: [PATCH] 2011-06-06 Mikael Pettersson <mikpe@it.uu.se>
5
6 PR tree-optimization/49243
7 * calls.c (setjmp_call_p): Also check if fndecl has the
8 returns_twice attribute.
9
10 * gcc.dg/pr49243.c: New.
11
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174696 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index f539f66..1c161bf 100644
16--- a/gcc/calls.c
17+++ b/gcc/calls.c
18@@ -548,6 +548,8 @@ special_function_p (const_tree fndecl, int flags)
19 int
20 setjmp_call_p (const_tree fndecl)
21 {
22+ if (DECL_IS_RETURNS_TWICE (fndecl))
23+ return ECF_RETURNS_TWICE;
24 return special_function_p (fndecl, 0) & ECF_RETURNS_TWICE;
25 }
26
27new file mode 100644
28index 0000000..f896b05
29--- /dev/null
30+++ b/gcc/testsuite/gcc.dg/pr49243.c
31@@ -0,0 +1,25 @@
32+/* PR tree-optimization/49243 */
33+/* { dg-do compile } */
34+/* { dg-options "-O2 -Winline" } */
35+
36+extern unsigned long jb[];
37+extern int my_setjmp(unsigned long jb[]) __attribute__((returns_twice));
38+extern int decode(const char*);
39+
40+static inline int wrapper(const char **s_ptr) /* { dg-warning "(inlining failed|function 'wrapper' can never be inlined because it uses setjmp)" } */
41+{
42+ if (my_setjmp(jb) == 0) {
43+ const char *s = *s_ptr;
44+ while (decode(s) != 0)
45+ *s_ptr = ++s;
46+ return 0;
47+ } else
48+ return -1;
49+}
50+
51+void parse(const char *data)
52+{
53+ const char *s = data;
54+ if (!(wrapper(&s) == -1 && (s - data) == 1)) /* { dg-warning "called from here" } */
55+ __builtin_abort();
56+}
57--
581.7.0.4
59
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0394-2011-06-06-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0394-2011-06-06-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch
new file mode 100644
index 0000000000..72312cf627
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0394-2011-06-06-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch
@@ -0,0 +1,27 @@
1From 1404c365ac02fa05c2ab6e1759239b35f45f8cb0 Mon Sep 17 00:00:00 2001
2From: krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 6 Jun 2011 14:34:54 +0000
4Subject: [PATCH] 2011-06-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5
6 * longlong.h (smul_ppmm): The resulting register pair contains the
7 higher order word first.
8
9
10
11git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174703 138bc75d-0d04-0410-961f-82ee72b054a4
12
13index 5937a48..1bab76d 100644
14--- a/gcc/longlong.h
15+++ b/gcc/longlong.h
16@@ -349,7 +349,7 @@ UDItype __umulsidi3 (USItype, USItype);
17 __asm__ ("mr\t%%r0,%3" \
18 : "=r" (r0), "=r" (r1) \
19 : "r" (r1), "r" (m1)); \
20- (xh) = r1; (xl) = r0; \
21+ (xh) = r0; (xl) = r1; \
22 } while (0)
23 #define sdiv_qrnnd(q, r, n1, n0, d) \
24 do { \
25--
261.7.0.4
27
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0395-PR-c-49264.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0395-PR-c-49264.patch
new file mode 100644
index 0000000000..eab6abedb3
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0395-PR-c-49264.patch
@@ -0,0 +1,134 @@
1From 90eb3072e3353e49d60c903664b2e9e2efc5d1de Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 6 Jun 2011 17:16:35 +0000
4Subject: [PATCH] PR c++/49264
5 * gimple-fold.c (fold_stmt_1): Don't try to fold *& on the lhs
6 if stmt folded into nothing.
7 * tree-inline.c (fold_marked_statements): If a builtin at the
8 end of a bb folded into nothing, just update cgraph edges
9 and move to next bb.
10 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Allow new_stmt
11 to be NULL. Don't compute count and frequency if new_call is NULL.
12
13 * g++.dg/opt/pr49264.C: New test.
14
15
16git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174713 138bc75d-0d04-0410-961f-82ee72b054a4
17
18index 64d278f..41265f8 100644
19--- a/gcc/cgraph.c
20+++ b/gcc/cgraph.c
21@@ -1241,13 +1241,17 @@ cgraph_make_edge_direct (struct cgraph_edge *edge, struct cgraph_node *callee,
22
23 /* Update or remove the corresponding cgraph edge if a GIMPLE_CALL
24 OLD_STMT changed into NEW_STMT. OLD_CALL is gimple_call_fndecl
25- of OLD_STMT if it was previously call statement. */
26+ of OLD_STMT if it was previously call statement.
27+ If NEW_STMT is NULL, the call has been dropped without any
28+ replacement. */
29
30 static void
31 cgraph_update_edges_for_call_stmt_node (struct cgraph_node *node,
32- gimple old_stmt, tree old_call, gimple new_stmt)
33+ gimple old_stmt, tree old_call,
34+ gimple new_stmt)
35 {
36- tree new_call = (is_gimple_call (new_stmt)) ? gimple_call_fndecl (new_stmt) : 0;
37+ tree new_call = (new_stmt && is_gimple_call (new_stmt))
38+ ? gimple_call_fndecl (new_stmt) : 0;
39
40 /* We are seeing indirect calls, then there is nothing to update. */
41 if (!new_call && !old_call)
42@@ -1287,7 +1291,7 @@ cgraph_update_edges_for_call_stmt_node (struct cgraph_node *node,
43 loop_nest = e->loop_nest;
44 cgraph_remove_edge (e);
45 }
46- else
47+ else if (new_call)
48 {
49 /* We are seeing new direct call; compute profile info based on BB. */
50 basic_block bb = gimple_bb (new_stmt);
51diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c
52index 910e3b0..cd8f409 100644
53--- a/gcc/gimple-fold.c
54+++ b/gcc/gimple-fold.c
55@@ -1484,6 +1484,11 @@ fold_stmt_1 (gimple_stmt_iterator *gsi, bool inplace)
56 bool changed = false;
57 gimple stmt = gsi_stmt (*gsi);
58 unsigned i;
59+ gimple_stmt_iterator gsinext = *gsi;
60+ gimple next_stmt;
61+
62+ gsi_next (&gsinext);
63+ next_stmt = gsi_end_p (gsinext) ? NULL : gsi_stmt (gsinext);
64
65 /* Fold the main computation performed by the statement. */
66 switch (gimple_code (stmt))
67@@ -1572,10 +1577,19 @@ fold_stmt_1 (gimple_stmt_iterator *gsi, bool inplace)
68 default:;
69 }
70
71+ /* If stmt folds into nothing and it was the last stmt in a bb,
72+ don't call gsi_stmt. */
73+ if (gsi_end_p (*gsi))
74+ {
75+ gcc_assert (next_stmt == NULL);
76+ return changed;
77+ }
78+
79 stmt = gsi_stmt (*gsi);
80
81- /* Fold *& on the lhs. */
82- if (gimple_has_lhs (stmt))
83+ /* Fold *& on the lhs. Don't do this if stmt folded into nothing,
84+ as we'd changing the next stmt. */
85+ if (gimple_has_lhs (stmt) && stmt != next_stmt)
86 {
87 tree lhs = gimple_get_lhs (stmt);
88 if (lhs && REFERENCE_CLASS_P (lhs))
89new file mode 100644
90index 0000000..dc23740
91--- /dev/null
92+++ b/gcc/testsuite/g++.dg/opt/pr49264.C
93@@ -0,0 +1,19 @@
94+// PR c++/49264
95+// { dg-do compile }
96+// { dg-options "-O2" }
97+
98+struct B { };
99+struct A { char a[sizeof (B) + 1]; } a;
100+
101+static inline void
102+foo (const B &b)
103+{
104+ __builtin_memcpy (&a, &b, sizeof (b));
105+}
106+
107+void
108+bar ()
109+{
110+ B c;
111+ foo (c);
112+}
113diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
114index ef3f1a3..a0162de 100644
115--- a/gcc/tree-inline.c
116+++ b/gcc/tree-inline.c
117@@ -4117,6 +4117,14 @@ fold_marked_statements (int first, struct pointer_set_t *statements)
118 if (fold_stmt (&gsi))
119 {
120 gimple new_stmt;
121+ /* If a builtin at the end of a bb folded into nothing,
122+ the following loop won't work. */
123+ if (gsi_end_p (gsi))
124+ {
125+ cgraph_update_edges_for_call_stmt (old_stmt,
126+ old_decl, NULL);
127+ break;
128+ }
129 if (gsi_end_p (i2))
130 i2 = gsi_start_bb (BASIC_BLOCK (first));
131 else
132--
1331.7.0.4
134
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0396-PR-fortran-49268.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0396-PR-fortran-49268.patch
new file mode 100644
index 0000000000..00b8b2d87b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0396-PR-fortran-49268.patch
@@ -0,0 +1,88 @@
1From 2dafec1aa5217475f84c316a2e15bd8f197c12e3 Mon Sep 17 00:00:00 2001
2From: langton <langton@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 6 Jun 2011 18:17:26 +0000
4Subject: [PATCH] PR fortran/49268
5 * trans-decl.c (gfc_trans_deferred_vars): Treat assumed-size Cray
6 pointees as AS_EXPLICIT.
7
8 PR fortran/49268
9 * gfortran.dg/PR49268.f90: New test.
10
11
12git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174719 138bc75d-0d04-0410-961f-82ee72b054a4
13
14index 08207e0..9add565 100644
15--- a/gcc/fortran/trans-decl.c
16+++ b/gcc/fortran/trans-decl.c
17@@ -3388,7 +3388,11 @@ gfc_trans_deferred_vars (gfc_symbol * proc_sym, gfc_wrapped_block * block)
18
19 if (sym->attr.dimension)
20 {
21- switch (sym->as->type)
22+ /* Assumed-size Cray pointees need to be treated as AS_EXPLICIT. */
23+ array_type tmp = sym->as->type;
24+ if (tmp == AS_ASSUMED_SIZE && sym->as->cp_was_assumed)
25+ tmp = AS_EXPLICIT;
26+ switch (tmp)
27 {
28 case AS_EXPLICIT:
29 if (sym->attr.dummy || sym->attr.result)
30new file mode 100644
31index 0000000..5b274cf
32--- /dev/null
33+++ b/gcc/testsuite/gfortran.dg/PR49268.f90
34@@ -0,0 +1,51 @@
35+! { dg-do run }
36+! { dg-options "-fcray-pointer" }
37+
38+! Test the fix for a runtime error
39+! Contributed by Mike Kumbera <kumbera1@llnl.gov>
40+
41+ program bob
42+ implicit none
43+ integer*8 ipfoo
44+ integer n,m,i,j
45+ real*8 foo
46+
47+ common /ipdata/ ipfoo
48+ common /ipsize/ n,m
49+ POINTER ( ipfoo, foo(3,7) )
50+
51+ n=3
52+ m=7
53+
54+ ipfoo=malloc(8*n*m)
55+ do i=1,n
56+ do j=1,m
57+ foo(i,j)=1.d0
58+ end do
59+ end do
60+ call use_foo()
61+ end program bob
62+
63+
64+ subroutine use_foo()
65+ implicit none
66+ integer n,m,i,j
67+ integer*8 ipfoo
68+ common /ipdata/ ipfoo
69+ common /ipsize/ n,m
70+ real*8 foo,boo
71+
72+ !fails if * is the last dimension
73+ POINTER ( ipfoo, foo(n,*) )
74+
75+ !works if the last dimension is specified
76+ !POINTER ( ipfoo, foo(n,m) )
77+ boo=0.d0
78+ do i=1,n
79+ do j=1,m
80+ boo=foo(i,j)+1.0
81+ if (abs (boo - 2.0) .gt. 1e-6) call abort
82+ end do
83+ end do
84+
85+ end subroutine use_foo
86--
871.7.0.4
88
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0397-config-rs6000-rs6000.h-REG_CLASS_CONTENTS-Remove-vr0.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0397-config-rs6000-rs6000.h-REG_CLASS_CONTENTS-Remove-vr0.patch
new file mode 100644
index 0000000000..f16dfa26dc
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0397-config-rs6000-rs6000.h-REG_CLASS_CONTENTS-Remove-vr0.patch
@@ -0,0 +1,23 @@
1From 0cfb433f886da255a687e7f6fea53257a0710196 Mon Sep 17 00:00:00 2001
2From: pthaugen <pthaugen@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 6 Jun 2011 19:12:57 +0000
4Subject: [PATCH] * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from
5 NON_FLOAT_REGS.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174720 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 72b47ec..a8d4239 100644
10--- a/gcc/config/rs6000/rs6000.h
11+++ b/gcc/config/rs6000/rs6000.h
12@@ -1237,7 +1237,7 @@ enum reg_class
13 { 0xffffffff, 0x00000000, 0x0000000f, 0x00022000 }, /* SPEC_OR_GEN_REGS */ \
14 { 0x00000000, 0x00000000, 0x00000010, 0x00000000 }, /* CR0_REGS */ \
15 { 0x00000000, 0x00000000, 0x00000ff0, 0x00000000 }, /* CR_REGS */ \
16- { 0xffffffff, 0x00000000, 0x0000efff, 0x00020000 }, /* NON_FLOAT_REGS */ \
17+ { 0xffffffff, 0x00000000, 0x00000fff, 0x00020000 }, /* NON_FLOAT_REGS */ \
18 { 0x00000000, 0x00000000, 0x00001000, 0x00000000 }, /* CA_REGS */ \
19 { 0xffffffff, 0xffffffff, 0xffffffff, 0x0003ffff } /* ALL_REGS */ \
20 }
21--
221.7.0.4
23
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0398-PR-c-49298.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0398-PR-c-49298.patch
new file mode 100644
index 0000000000..777656a1c0
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0398-PR-c-49298.patch
@@ -0,0 +1,37 @@
1From f4e84e1c8443edee24be10cea492892f3621933a Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Mon, 6 Jun 2011 20:07:26 +0000
4Subject: [PATCH] PR c++/49298
5 * semantics.c (potential_constant_expression_1): Handle FIELD_DECL.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174722 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index d56423e..5cb8f49 100644
10--- a/gcc/cp/semantics.c
11+++ b/gcc/cp/semantics.c
12@@ -7429,6 +7429,8 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags)
13 case TEMPLATE_PARM_INDEX:
14 case TRAIT_EXPR:
15 case IDENTIFIER_NODE:
16+ /* We can see a FIELD_DECL in a pointer-to-member expression. */
17+ case FIELD_DECL:
18 return true;
19
20 case PARM_DECL:
21new file mode 100644
22index 0000000..873000b
23--- /dev/null
24+++ b/gcc/testsuite/g++.dg/cpp0x/regress/ptrmem1.C
25@@ -0,0 +1,9 @@
26+// PR c++/49298
27+// { dg-options -std=c++0x }
28+
29+template <class T, int T::*> struct B { };
30+template <class T> struct A
31+{
32+ int i;
33+ B<A,&A::i> b;
34+};
35--
361.7.0.4
37
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0400-PR-gcov-profile-49299.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0400-PR-gcov-profile-49299.patch
new file mode 100644
index 0000000000..ac84e6a823
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0400-PR-gcov-profile-49299.patch
@@ -0,0 +1,158 @@
1From a9093bc0aa135388aec0930c07f021c85c39dd93 Mon Sep 17 00:00:00 2001
2From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 7 Jun 2011 09:53:17 +0000
4Subject: [PATCH] PR gcov-profile/49299
5 * value-prof.c (gimple_ic): Don't assume icall has
6 a fallthru edge.
7
8 * gcc.dg/tree-prof/pr49299-1.c: New test.
9 * gcc.dg/tree-prof/pr49299-2.c: New test.
10
11
12git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174739 138bc75d-0d04-0410-961f-82ee72b054a4
13
14index 629f79a..8ee5730 100644
15new file mode 100644
16index 0000000..dd45baf
17--- /dev/null
18+++ b/gcc/testsuite/gcc.dg/tree-prof/pr49299-1.c
19@@ -0,0 +1,34 @@
20+/* { dg-options "-O2" } */
21+
22+__attribute__((noreturn)) void (*fn) (void);
23+
24+volatile int v;
25+
26+__attribute__((noreturn)) void
27+fn0 (void)
28+{
29+ __builtin_exit (0);
30+}
31+
32+__attribute__((noreturn)) void
33+fn1 (void)
34+{
35+ __builtin_exit (1);
36+}
37+
38+__attribute__((noinline, noclone)) void
39+setfn (__attribute__((noreturn)) void (*x) (void))
40+{
41+ fn = x;
42+}
43+
44+int
45+main ()
46+{
47+ int i;
48+ if (v < 1)
49+ setfn (fn0);
50+ else
51+ setfn (fn1);
52+ fn ();
53+}
54diff --git a/gcc/testsuite/gcc.dg/tree-prof/pr49299-2.c b/gcc/testsuite/gcc.dg/tree-prof/pr49299-2.c
55new file mode 100644
56index 0000000..220c8c8
57--- /dev/null
58+++ b/gcc/testsuite/gcc.dg/tree-prof/pr49299-2.c
59@@ -0,0 +1,34 @@
60+/* { dg-options "-O2" } */
61+
62+void (*fn) (void);
63+
64+volatile int v;
65+
66+__attribute__((noreturn)) void
67+fn0 (void)
68+{
69+ __builtin_exit (0);
70+}
71+
72+void
73+fn1 (void)
74+{
75+}
76+
77+__attribute__((noinline, noclone)) void
78+setfn (void (*x) (void))
79+{
80+ fn = x;
81+}
82+
83+int
84+main ()
85+{
86+ int i;
87+ if (v < 1)
88+ setfn (fn0);
89+ else
90+ setfn (fn1);
91+ fn ();
92+ return 0;
93+}
94diff --git a/gcc/value-prof.c b/gcc/value-prof.c
95index 8491c77..da7c0e5 100644
96--- a/gcc/value-prof.c
97+++ b/gcc/value-prof.c
98@@ -1104,9 +1104,9 @@ gimple_ic (gimple icall_stmt, struct cgraph_node *direct_call,
99 {
100 gimple dcall_stmt, load_stmt, cond_stmt;
101 tree tmp0, tmp1, tmpv, tmp;
102- basic_block cond_bb, dcall_bb, icall_bb, join_bb;
103+ basic_block cond_bb, dcall_bb, icall_bb, join_bb = NULL;
104 tree optype = build_pointer_type (void_type_node);
105- edge e_cd, e_ci, e_di, e_dj, e_ij;
106+ edge e_cd, e_ci, e_di, e_dj = NULL, e_ij;
107 gimple_stmt_iterator gsi;
108 int lp_nr;
109
110@@ -1153,12 +1153,19 @@ gimple_ic (gimple icall_stmt, struct cgraph_node *direct_call,
111 else
112 {
113 e_ij = find_fallthru_edge (icall_bb->succs);
114- e_ij->probability = REG_BR_PROB_BASE;
115- e_ij->count = all - count;
116- e_ij = single_pred_edge (split_edge (e_ij));
117+ /* The indirect call might be noreturn. */
118+ if (e_ij != NULL)
119+ {
120+ e_ij->probability = REG_BR_PROB_BASE;
121+ e_ij->count = all - count;
122+ e_ij = single_pred_edge (split_edge (e_ij));
123+ }
124+ }
125+ if (e_ij != NULL)
126+ {
127+ join_bb = e_ij->dest;
128+ join_bb->count = all;
129 }
130- join_bb = e_ij->dest;
131- join_bb->count = all;
132
133 e_cd->flags = (e_cd->flags & ~EDGE_FALLTHRU) | EDGE_TRUE_VALUE;
134 e_cd->probability = prob;
135@@ -1170,12 +1177,15 @@ gimple_ic (gimple icall_stmt, struct cgraph_node *direct_call,
136
137 remove_edge (e_di);
138
139- e_dj = make_edge (dcall_bb, join_bb, EDGE_FALLTHRU);
140- e_dj->probability = REG_BR_PROB_BASE;
141- e_dj->count = count;
142+ if (e_ij != NULL)
143+ {
144+ e_dj = make_edge (dcall_bb, join_bb, EDGE_FALLTHRU);
145+ e_dj->probability = REG_BR_PROB_BASE;
146+ e_dj->count = count;
147
148- e_ij->probability = REG_BR_PROB_BASE;
149- e_ij->count = all - count;
150+ e_ij->probability = REG_BR_PROB_BASE;
151+ e_ij->count = all - count;
152+ }
153
154 /* Insert PHI node for the call result if necessary. */
155 if (gimple_call_lhs (icall_stmt)
156--
1571.7.0.4
158
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0401-PR-c-48780.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0401-PR-c-48780.patch
new file mode 100644
index 0000000000..d896acf603
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0401-PR-c-48780.patch
@@ -0,0 +1,63 @@
1From 06d3ff4b37b05f4f4f2295222ae3d2818eb8232b Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Tue, 7 Jun 2011 15:12:15 +0000
4Subject: [PATCH] PR c++/48780
5 * typeck.c (perform_integral_promotions): Don't promote scoped enums.
6 * call.c (convert_arg_to_ellipsis): Promote them here in old ABI.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174753 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 246fb6d..7019da9 100644
11--- a/gcc/cp/call.c
12+++ b/gcc/cp/call.c
13@@ -5724,7 +5724,15 @@ convert_arg_to_ellipsis (tree arg)
14 else if (NULLPTR_TYPE_P (arg_type))
15 arg = null_pointer_node;
16 else if (INTEGRAL_OR_ENUMERATION_TYPE_P (arg_type))
17- arg = perform_integral_promotions (arg);
18+ {
19+ if (SCOPED_ENUM_P (arg_type) && !abi_version_at_least (6))
20+ {
21+ warning (OPT_Wabi, "scoped enum %qT will not promote to an "
22+ "integral type in a future version of GCC", arg_type);
23+ arg = cp_convert (ENUM_UNDERLYING_TYPE (arg_type), arg);
24+ }
25+ arg = perform_integral_promotions (arg);
26+ }
27
28 arg = require_complete_type (arg);
29 arg_type = TREE_TYPE (arg);
30diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
31index 2022f0f..6214452 100644
32--- a/gcc/cp/typeck.c
33+++ b/gcc/cp/typeck.c
34@@ -1946,6 +1946,9 @@ perform_integral_promotions (tree expr)
35 if (!type || TREE_CODE (type) != ENUMERAL_TYPE)
36 type = TREE_TYPE (expr);
37 gcc_assert (INTEGRAL_OR_ENUMERATION_TYPE_P (type));
38+ /* Scoped enums don't promote. */
39+ if (SCOPED_ENUM_P (type))
40+ return expr;
41 promoted_type = type_promotes_to (type);
42 if (type != promoted_type)
43 expr = cp_convert (promoted_type, expr);
44new file mode 100644
45index 0000000..acdd86c
46--- /dev/null
47+++ b/gcc/testsuite/g++.dg/cpp0x/enum19.C
48@@ -0,0 +1,12 @@
49+// We shouldn't give an ABI warning about promotion in switch.
50+// { dg-options "-std=c++0x -fabi-version=5 -Wabi" }
51+
52+enum class Foo { X };
53+void test(Foo val)
54+{
55+ switch(val)
56+ {
57+ case Foo::X:
58+ break;
59+ }
60+};
61--
621.7.0.4
63
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0403-PR-target-49238.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0403-PR-target-49238.patch
new file mode 100644
index 0000000000..d43c6357e9
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0403-PR-target-49238.patch
@@ -0,0 +1,53 @@
1From 097c985ab5f847fba2fe4f9e53732b75f2ecf266 Mon Sep 17 00:00:00 2001
2From: kkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 8 Jun 2011 04:07:25 +0000
4Subject: [PATCH] PR target/49238
5 * config/sh/sh.c (expand_cbranchdi4): Use a scratch register if
6 needed when original operands are used for msw_skip comparison.
7 * gcc.c-torture/compile/pr49238.c: New.
8
9git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174793 138bc75d-0d04-0410-961f-82ee72b054a4
10
11index 05acb0a..ee80028 100644
12--- a/gcc/config/sh/sh.c
13+++ b/gcc/config/sh/sh.c
14@@ -2187,6 +2187,13 @@ expand_cbranchdi4 (rtx *operands, enum rtx_code comparison)
15 {
16 operands[1] = op1h;
17 operands[2] = op2h;
18+ if (reload_completed
19+ && ! arith_reg_or_0_operand (op2h, SImode)
20+ && (true_regnum (op1h) || (comparison != EQ && comparison != NE)))
21+ {
22+ emit_move_insn (scratch, operands[2]);
23+ operands[2] = scratch;
24+ }
25 }
26
27 operands[3] = skip_label = gen_label_rtx ();
28new file mode 100644
29index 0000000..fd8443a
30--- /dev/null
31+++ b/gcc/testsuite/gcc.c-torture/compile/pr49238.c
32@@ -0,0 +1,18 @@
33+/* PR target/49238 */
34+extern int bar (void);
35+
36+void
37+foo (unsigned long long a, int b)
38+{
39+ int i;
40+
41+ if (b)
42+ for (a = -12; a >= 10; a = bar ())
43+ break;
44+ else
45+ return;
46+
47+ for (i = 0; i < 10; i += 10)
48+ if ((i == bar ()) | (bar () >= a))
49+ bar ();
50+}
51--
521.7.0.4
53
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0404-Support-unknown-Intel-family-0x6-CPUs.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0404-Support-unknown-Intel-family-0x6-CPUs.patch
new file mode 100644
index 0000000000..df628a76e1
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0404-Support-unknown-Intel-family-0x6-CPUs.patch
@@ -0,0 +1,48 @@
1From d70a1b2dbd4a959f37b5e3b3b4ca297960ac31fa Mon Sep 17 00:00:00 2001
2From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 8 Jun 2011 13:50:59 +0000
4Subject: [PATCH] Support unknown Intel family 0x6 CPUs.
5
62011-06-08 H.J. Lu <hongjiu.lu@intel.com>
7
8 Backport from mainline
9 2011-06-08 H.J. Lu <hongjiu.lu@intel.com>
10
11 * config/i386/driver-i386.c (host_detect_local_cpu): Support
12 unknown Intel family 0x6 CPUs.
13
14
15git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174810 138bc75d-0d04-0410-961f-82ee72b054a4
16
17index 4fc6b45..985a6ff 100644
18--- a/gcc/config/i386/driver-i386.c
19+++ b/gcc/config/i386/driver-i386.c
20@@ -587,9 +587,22 @@ const char *host_detect_local_cpu (int argc, const char **argv)
21 default:
22 if (arch)
23 {
24- if (has_ssse3)
25- /* If it is an unknown CPU with SSSE3, assume Core 2. */
26- cpu = "core2";
27+ /* This is unknown family 0x6 CPU. */
28+ if (has_avx)
29+ /* Assume Sandy Bridge. */
30+ cpu = "corei7-avx";
31+ else if (has_sse4_2)
32+ /* Assume Core i7. */
33+ cpu = "corei7";
34+ else if (has_ssse3)
35+ {
36+ if (has_movbe)
37+ /* Assume Atom. */
38+ cpu = "atom";
39+ else
40+ /* Assume Core 2. */
41+ cpu = "core2";
42+ }
43 else if (has_sse3)
44 /* It is Core Duo. */
45 cpu = "pentium-m";
46--
471.7.0.4
48
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0406-config-sparc-sparc.md-return_internal-Adjust-length-.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0406-config-sparc-sparc.md-return_internal-Adjust-length-.patch
new file mode 100644
index 0000000000..c7a0df5e05
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0406-config-sparc-sparc.md-return_internal-Adjust-length-.patch
@@ -0,0 +1,24 @@
1From 3a73dbd964bf9e608856fef233e9a2639155c7a7 Mon Sep 17 00:00:00 2001
2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Thu, 9 Jun 2011 19:50:46 +0000
4Subject: [PATCH] * config/sparc/sparc.md (return_internal): Adjust 'length' attribute.
5
6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174856 138bc75d-0d04-0410-961f-82ee72b054a4
7
8index 5e16179..1ff599d 100644
9--- a/gcc/config/sparc/sparc.md
10+++ b/gcc/config/sparc/sparc.md
11@@ -6322,9 +6322,7 @@
12 (if_then_else (eq_attr "isa" "v9")
13 (const_int 2)
14 (const_int 3))
15- (if_then_else (eq_attr "isa" "v9")
16- (const_int 3)
17- (const_int 4)))
18+ (const_int 4))
19 (eq_attr "empty_delay_slot" "true")
20 (if_then_else (eq_attr "delayed_branch" "true")
21 (const_int 2)
22--
231.7.0.4
24
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0408-semantics.c-potential_constant_expression_1-Handle-d.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0408-semantics.c-potential_constant_expression_1-Handle-d.patch
new file mode 100644
index 0000000000..0c23053d9f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0408-semantics.c-potential_constant_expression_1-Handle-d.patch
@@ -0,0 +1,35 @@
1From 8c66e45c90175c237c15b91b6fc5b9097f257c08 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 10 Jun 2011 04:23:26 +0000
4Subject: [PATCH] * semantics.c (potential_constant_expression_1): Handle destructor
5 call.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174887 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index 5cb8f49..7e62b61 100644
10--- a/gcc/cp/semantics.c
11+++ b/gcc/cp/semantics.c
12@@ -7703,6 +7703,12 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags)
13 want_rval = true;
14 goto binary;
15
16+ case BIT_NOT_EXPR:
17+ /* A destructor. */
18+ if (TYPE_P (TREE_OPERAND (t, 0)))
19+ return true;
20+ /* else fall through. */
21+
22 case REALPART_EXPR:
23 case IMAGPART_EXPR:
24 case CONJ_EXPR:
25@@ -7711,7 +7717,6 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags)
26 case FLOAT_EXPR:
27 case NEGATE_EXPR:
28 case ABS_EXPR:
29- case BIT_NOT_EXPR:
30 case TRUTH_NOT_EXPR:
31 case FIXED_CONVERT_EXPR:
32 case UNARY_PLUS_EXPR:
33--
341.7.0.4
35
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0409-semantics.c-finish_compound_literal-Set-TREE_HAS_CON.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0409-semantics.c-finish_compound_literal-Set-TREE_HAS_CON.patch
new file mode 100644
index 0000000000..d92921c4f1
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0409-semantics.c-finish_compound_literal-Set-TREE_HAS_CON.patch
@@ -0,0 +1,22 @@
1From 02526060d4af8f71d4a8fd527fd5d57e85023f32 Mon Sep 17 00:00:00 2001
2From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 10 Jun 2011 04:23:34 +0000
4Subject: [PATCH] * semantics.c (finish_compound_literal): Set TREE_HAS_CONSTRUCTOR.
5
6git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174888 138bc75d-0d04-0410-961f-82ee72b054a4
7
8index 7e62b61..cc775b3 100644
9--- a/gcc/cp/semantics.c
10+++ b/gcc/cp/semantics.c
11@@ -2329,6 +2329,8 @@ finish_compound_literal (tree type, tree compound_literal)
12 if (TREE_CODE (type) == ARRAY_TYPE)
13 cp_complete_array_type (&type, compound_literal, false);
14 compound_literal = digest_init (type, compound_literal);
15+ if (TREE_CODE (compound_literal) == CONSTRUCTOR)
16+ TREE_HAS_CONSTRUCTOR (compound_literal) = true;
17 /* Put static/constant array temporaries in static variables, but always
18 represent class temporaries with TARGET_EXPR so we elide copies. */
19 if ((!at_function_scope_p () || CP_TYPE_CONST_P (type))
20--
211.7.0.4
22
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0410-lib-target-supports.exp.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0410-lib-target-supports.exp.patch
new file mode 100644
index 0000000000..ae3e16cef3
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0410-lib-target-supports.exp.patch
@@ -0,0 +1,34 @@
1From 5aac027a2e060e22e5fd400e57c021ef0e82fe4c Mon Sep 17 00:00:00 2001
2From: janis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 10 Jun 2011 18:26:28 +0000
4Subject: [PATCH] * lib/target-supports.exp
5 (check_effective_target_arm_neon_fp16_ok_nocache): Return 0 if
6 multilib flags use -mfpu with a value other than neon-fp16.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174921 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index d2c6fff..a1d94d9 100644
11--- a/gcc/testsuite/lib/target-supports.exp
12+++ b/gcc/testsuite/lib/target-supports.exp
13@@ -1941,7 +1941,7 @@ proc add_options_for_arm_neon_fp16 { flags } {
14 }
15
16 # Return 1 if this is an ARM target supporting -mfpu=neon-fp16
17-# -mfloat-abi=softfp or equivalent options. Some multilibs may be
18+# -mfloat-abi=softfp or equivalent options. Skip multilibs that are
19 # incompatible with these options. Also set et_arm_neon_flags to the
20 # best options to add.
21
22@@ -1949,6 +1949,9 @@ proc check_effective_target_arm_neon_fp16_ok_nocache { } {
23 global et_arm_neon_fp16_flags
24 set et_arm_neon_fp16_flags ""
25 if { [check_effective_target_arm32] } {
26+ if [check-flags [list "" { *-*-* } { "-mfpu=*" } { "-mfpu=neon-fp16*" } ]] {
27+ return 0
28+ }
29 # Always add -mfpu=neon-fp16, since there is no preprocessor
30 # macro for FP16 support.
31 foreach flags {"-mfpu=neon-fp16" "-mfpu=neon-fp16 -mfloat-abi=softfp"} {
32--
331.7.0.4
34
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0411-gcc-testsuite-gcc.target-arm-20090811-1.c-Skip-for-i.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0411-gcc-testsuite-gcc.target-arm-20090811-1.c-Skip-for-i.patch
new file mode 100644
index 0000000000..c0c21cc6ab
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0411-gcc-testsuite-gcc.target-arm-20090811-1.c-Skip-for-i.patch
@@ -0,0 +1,79 @@
1From 402f14acd8d298bc8d11cd77fd6e60780903e1b1 Mon Sep 17 00:00:00 2001
2From: janis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Fri, 10 Jun 2011 18:28:18 +0000
4Subject: [PATCH] * gcc/testsuite/gcc.target/arm/20090811-1.c: Skip for incompatible
5 options, do not override other options.
6 * gcc/testsuite/gcc.target/arm/combine-cmp-shift.c: Skip for
7 incompatible options.
8 * gcc/testsuite/gcc.target/arm/pr45094.c: Likewise.
9 * gcc/testsuite/gcc.target/arm/scd42-1.c: Likewise.
10 * gcc/testsuite/gcc.target/arm/scd42-3.c: Likewise.
11 * gcc/testsuite/gcc.target/arm/thumb-ltu.c: Likewise.
12
13git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174923 138bc75d-0d04-0410-961f-82ee72b054a4
14
15index bc0dc93..d820601 100644
16--- a/gcc/testsuite/gcc.target/arm/20090811-1.c
17+++ b/gcc/testsuite/gcc.target/arm/20090811-1.c
18@@ -1,4 +1,7 @@
19 /* { dg-do compile } */
20+/* { dg-skip-if "incompatible options" { arm*-*-* } { "-march=*" } { "-march=armv7-a" } } */
21+/* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" } { "-mcpu=cortex-a8" } } */
22+/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=softfp" } } */
23 /* { dg-options "-O3 -mcpu=cortex-a8 -mfpu=vfp3 -mfloat-abi=softfp" } */
24
25 typedef struct cb
26diff --git a/gcc/testsuite/gcc.target/arm/combine-cmp-shift.c b/gcc/testsuite/gcc.target/arm/combine-cmp-shift.c
27index 1cacc29..a64f20e 100644
28--- a/gcc/testsuite/gcc.target/arm/combine-cmp-shift.c
29+++ b/gcc/testsuite/gcc.target/arm/combine-cmp-shift.c
30@@ -1,3 +1,4 @@
31+/* { dg-skip-if "incompatible options" { arm*-*-* } { "-march=*" } { "-march=armv7-a" } } */
32 /* { dg-options "-O2 -mcpu=cortex-a8" } */
33 /* { dg-final { scan-assembler "cmp\tr\[0-9\]*, r\[0-9\]*, asr #31" } } */
34
35diff --git a/gcc/testsuite/gcc.target/arm/pr45094.c b/gcc/testsuite/gcc.target/arm/pr45094.c
36index 05f16d8..f35e7bb 100644
37--- a/gcc/testsuite/gcc.target/arm/pr45094.c
38+++ b/gcc/testsuite/gcc.target/arm/pr45094.c
39@@ -1,4 +1,5 @@
40 /* { dg-do run } */
41+/* { dg-skip-if "incompatible options" { arm*-*-* } { "-march=*" } { "-march=armv7-a" } } */
42 /* { dg-require-effective-target arm_neon_hw } */
43 /* { dg-options "-O2 -mcpu=cortex-a8" } */
44 /* { dg-add-options arm_neon } */
45diff --git a/gcc/testsuite/gcc.target/arm/scd42-1.c b/gcc/testsuite/gcc.target/arm/scd42-1.c
46index e02a898..2cd1eeb 100644
47--- a/gcc/testsuite/gcc.target/arm/scd42-1.c
48+++ b/gcc/testsuite/gcc.target/arm/scd42-1.c
49@@ -1,5 +1,6 @@
50 /* Verify that mov is preferred on XScale for loading a 1 byte constant. */
51 /* { dg-do compile } */
52+/* { dg-skip-if "incompatible options" { arm*-*-* } { "-march=*" } { "" } } */
53 /* { dg-options "-mcpu=xscale -O" } */
54
55 unsigned load1(void) __attribute__ ((naked));
56diff --git a/gcc/testsuite/gcc.target/arm/scd42-3.c b/gcc/testsuite/gcc.target/arm/scd42-3.c
57index b2e6666..d1d07b0 100644
58--- a/gcc/testsuite/gcc.target/arm/scd42-3.c
59+++ b/gcc/testsuite/gcc.target/arm/scd42-3.c
60@@ -1,5 +1,6 @@
61 /* Verify that ldr is preferred on XScale for loading a 3 or 4 byte constant. */
62 /* { dg-do compile } */
63+/* { dg-skip-if "incompatible options" { arm*-*-* } { "-march=*" } { "" } } */
64 /* { dg-options "-mcpu=xscale -O" } */
65
66 unsigned load4(void) __attribute__ ((naked));
67diff --git a/gcc/testsuite/gcc.target/arm/thumb-ltu.c b/gcc/testsuite/gcc.target/arm/thumb-ltu.c
68index 899b8d2..2467121 100644
69--- a/gcc/testsuite/gcc.target/arm/thumb-ltu.c
70+++ b/gcc/testsuite/gcc.target/arm/thumb-ltu.c
71@@ -1,4 +1,5 @@
72 /* { dg-do compile } */
73+/* { dg-skip-if "incompatible options" { arm*-*-* } { "-march=*" } { "-march=armv6" "-march=armv6j" "-march=armv6z" } } */
74 /* { dg-options "-mcpu=arm1136jf-s -mthumb -O2" } */
75
76 void f(unsigned a, unsigned b, unsigned c, unsigned d)
77--
781.7.0.4
79
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0413-config-i386-sse.md-vec_dupv4sf-Correct-mode-of-force.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0413-config-i386-sse.md-vec_dupv4sf-Correct-mode-of-force.patch
new file mode 100644
index 0000000000..983b4d4430
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0413-config-i386-sse.md-vec_dupv4sf-Correct-mode-of-force.patch
@@ -0,0 +1,50 @@
1From f3bc59535b5f2f6c0eb0ac46d3cbc0ffed8249f3 Mon Sep 17 00:00:00 2001
2From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sat, 11 Jun 2011 12:06:31 +0000
4Subject: [PATCH] * config/i386/sse.md (vec_dupv4sf): Correct mode of forced register.
5 (*vec_dupv2df): Rename from vec_dupv2df.
6 (vec_dupv2df): New expander.
7
8git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174950 138bc75d-0d04-0410-961f-82ee72b054a4
9
10index 0e03dd4..12b307a 100644
11--- a/gcc/config/i386/sse.md
12+++ b/gcc/config/i386/sse.md
13@@ -3816,7 +3816,7 @@
14 "TARGET_SSE"
15 {
16 if (!TARGET_AVX)
17- operands[1] = force_reg (V4SFmode, operands[1]);
18+ operands[1] = force_reg (SFmode, operands[1]);
19 })
20
21 (define_insn "*vec_dupv4sf_avx"
22@@ -5117,6 +5117,16 @@
23 (set_attr "length_immediate" "*,*,*,1,*,*")
24 (set_attr "mode" "DF,V1DF,V1DF,V2DF,V1DF,V1DF")])
25
26+(define_expand "vec_dupv2df"
27+ [(set (match_operand:V2DF 0 "register_operand" "")
28+ (vec_duplicate:V2DF
29+ (match_operand:DF 1 "nonimmediate_operand" "")))]
30+ "TARGET_SSE2"
31+{
32+ if (!TARGET_SSE3)
33+ operands[1] = force_reg (DFmode, operands[1]);
34+})
35+
36 (define_insn "*vec_dupv2df_sse3"
37 [(set (match_operand:V2DF 0 "register_operand" "=x")
38 (vec_duplicate:V2DF
39@@ -5127,7 +5137,7 @@
40 (set_attr "prefix" "maybe_vex")
41 (set_attr "mode" "DF")])
42
43-(define_insn "vec_dupv2df"
44+(define_insn "*vec_dupv2df"
45 [(set (match_operand:V2DF 0 "register_operand" "=x")
46 (vec_duplicate:V2DF
47 (match_operand:DF 1 "register_operand" "0")))]
48--
491.7.0.4
50
diff --git a/meta/recipes-devtools/gcc/gcc-4_6-branch-backports.inc b/meta/recipes-devtools/gcc/gcc-4_6-branch-backports.inc
index 38669790a3..34a348d3b6 100644
--- a/meta/recipes-devtools/gcc/gcc-4_6-branch-backports.inc
+++ b/meta/recipes-devtools/gcc/gcc-4_6-branch-backports.inc
@@ -157,4 +157,172 @@ GCC-4_6-BRANCH-BACKPORTS = "file://gcc-4_6-branch-backports/0002-Backport-from-m
157 file://gcc-4_6-branch-backports/0195-Fix-PR-c-48656.patch \ 157 file://gcc-4_6-branch-backports/0195-Fix-PR-c-48656.patch \
158 file://gcc-4_6-branch-backports/0196-Backport-4.7-patchtes-to-4.6.patch \ 158 file://gcc-4_6-branch-backports/0196-Backport-4.7-patchtes-to-4.6.patch \
159 file://gcc-4_6-branch-backports/0198-2011-04-29-Tobias-Burnus-burnus-net-b.de.patch \ 159 file://gcc-4_6-branch-backports/0198-2011-04-29-Tobias-Burnus-burnus-net-b.de.patch \
160 file://gcc-4_6-branch-backports/0199-2011-04-29-Paolo-Carlini-paolo.carlini-oracle.com.patch" 160 file://gcc-4_6-branch-backports/0199-2011-04-29-Paolo-Carlini-paolo.carlini-oracle.com.patch \
161 file://gcc-4_6-branch-backports/0201-PR-tree-optimization-48809.patch \
162 file://gcc-4_6-branch-backports/0202-2011-04-30-Paul-Thomas-pault-gcc.gnu.org.patch \
163 file://gcc-4_6-branch-backports/0203-2011-04-30-Jerry-DeLisle-jvdelisle-gcc.gnu.org.patch \
164 file://gcc-4_6-branch-backports/0205-2011-04-30-Doug-Kwan-dougkwan-google.com.patch \
165 file://gcc-4_6-branch-backports/0207-Backport-from-mainline.patch \
166 file://gcc-4_6-branch-backports/0209-PR-target-48723.patch \
167 file://gcc-4_6-branch-backports/0210-2011-05-03-Richard-Guenther-rguenther-suse.de.patch \
168 file://gcc-4_6-branch-backports/0211-PR-target-48774.patch \
169 file://gcc-4_6-branch-backports/0212-2011-05-03-Paolo-Carlini-paolo.carlini-oracle.com.patch \
170 file://gcc-4_6-branch-backports/0214-include-ext-sso_string_base.h-__sso_string_base-_M_c.patch \
171 file://gcc-4_6-branch-backports/0215-config-i386-i386.md-movdi_internal_rex64-TYPE_SSEMOV.patch \
172 file://gcc-4_6-branch-backports/0216-2011-05-04-Steven-G.-Kargl-kargl-gcc.gnu.org.patch \
173 file://gcc-4_6-branch-backports/0218-PR-c-48749.patch \
174 file://gcc-4_6-branch-backports/0219-Backport-from-mainline.patch \
175 file://gcc-4_6-branch-backports/0220-gcc.patch \
176 file://gcc-4_6-branch-backports/0221-PR-ada-48844.patch \
177 file://gcc-4_6-branch-backports/0222-PR-c-40975.patch \
178 file://gcc-4_6-branch-backports/0223-Add-missing-break-for-OPT_mfpu_-case.patch \
179 file://gcc-4_6-branch-backports/0224-2011-05-06-Jonathan-Wakely-jwakely.gcc-gmail.com.patch \
180 file://gcc-4_6-branch-backports/0226-Fix-PR-c-48838.patch \
181 file://gcc-4_6-branch-backports/0227-PR-fortran-48894.patch \
182 file://gcc-4_6-branch-backports/0228-2011-05-06-Ramana-Radhakrishnan-ramana.radhakrishnan.patch \
183 file://gcc-4_6-branch-backports/0229-2011-05-06-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch \
184 file://gcc-4_6-branch-backports/0230-PR-target-48900.patch \
185 file://gcc-4_6-branch-backports/0231-config-i386-i386.md-movdf_internal_nointeger-Apply.patch \
186 file://gcc-4_6-branch-backports/0232-PR-c-48089.patch \
187 file://gcc-4_6-branch-backports/0233-PR-c-48446.patch \
188 file://gcc-4_6-branch-backports/0234-PR-c-48911.patch \
189 file://gcc-4_6-branch-backports/0235-PR-c-48909.patch \
190 file://gcc-4_6-branch-backports/0239-var-tracking.c-find_mem_expr_in_1pdv-Fix-thinko.patch \
191 file://gcc-4_6-branch-backports/0240-Fix-PR-c-48574.patch \
192 file://gcc-4_6-branch-backports/0241-2011-05-09-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch \
193 file://gcc-4_6-branch-backports/0242-2011-05-09-Paolo-Carlini-paolo.carlini-oracle.com.patch \
194 file://gcc-4_6-branch-backports/0244-PR-tree-optimization-48611.patch \
195 file://gcc-4_6-branch-backports/0245-Backported-from-mainline.patch \
196 file://gcc-4_6-branch-backports/0246-config-rx-rx.h-JUMP_ALIGN-LABEL_ALIGN-LOOP_ALIGN-Def.patch \
197 file://gcc-4_6-branch-backports/0248-config-rx-rx.c-rx_memory_move_cost-Reduce-the-cost-f.patch \
198 file://gcc-4_6-branch-backports/0249-Fix-PRs-48857-48495.patch \
199 file://gcc-4_6-branch-backports/0251-gcc-cp-ChangeLog.patch \
200 file://gcc-4_6-branch-backports/0252-PR-debug-48159.patch \
201 file://gcc-4_6-branch-backports/0253-2011-05-11-Tobias-Burnus-burnus-net-b.de.patch \
202 file://gcc-4_6-branch-backports/0255-pt.c-build_non_dependent_expr-Don-t-check-null_ptr_c.patch \
203 file://gcc-4_6-branch-backports/0256-config-rx-rx.h-HAVE_PRE_DECREMENT-Fix-typo.patch \
204 file://gcc-4_6-branch-backports/0257-zh_CN.po-Update.patch \
205 file://gcc-4_6-branch-backports/0258-PR-debug-48967.patch \
206 file://gcc-4_6-branch-backports/0259-2011-05-12-Richard-Guenther-rguenther-suse.de.patch \
207 file://gcc-4_6-branch-backports/0260-PR-tree-optimization-48975.patch \
208 file://gcc-4_6-branch-backports/0263-zh_CN.po-Update.patch \
209 file://gcc-4_6-branch-backports/0266-config-i386-i386.md-movxf_internal-Disable-CONST_DOU.patch \
210 file://gcc-4_6-branch-backports/0267-PR-preprocessor-48677.patch \
211 file://gcc-4_6-branch-backports/0269-PR-target-48986.patch \
212 file://gcc-4_6-branch-backports/0270-config-rx-rx.md-Add-peephole-to-remove-redundant-ext.patch \
213 file://gcc-4_6-branch-backports/0271-config-rx-rx.c-rx_memory_move_cost-Include-cost-of-r.patch \
214 file://gcc-4_6-branch-backports/0273-PR-tree-optimization-49000.patch \
215 file://gcc-4_6-branch-backports/0274-PR-tree-optimization-49000.patch \
216 file://gcc-4_6-branch-backports/0275-2011-05-18-Richard-Guenther-rguenther-suse.de.patch \
217 file://gcc-4_6-branch-backports/0276-2011-05-18-Richard-Guenther-rguenther-suse.de.patch \
218 file://gcc-4_6-branch-backports/0277-2011-05-18-Richard-Guenther-rguenther-suse.de.patch \
219 file://gcc-4_6-branch-backports/0278-PR-tree-optimization-49039.patch \
220 file://gcc-4_6-branch-backports/0279-Properly-handle-256bit-load-cast.patch \
221 file://gcc-4_6-branch-backports/0281-PR-c-48869.patch \
222 file://gcc-4_6-branch-backports/0282-gcc.c-torture-execute-960321-1.x-Remove.patch \
223 file://gcc-4_6-branch-backports/0283-zh_CN.po-Update.patch \
224 file://gcc-4_6-branch-backports/0284-PR-c-49043.patch \
225 file://gcc-4_6-branch-backports/0285-2011-05-19-Uros-Bizjak-ubizjak-gmail.com.patch \
226 file://gcc-4_6-branch-backports/0287-PR-tree-optimization-49073.patch \
227 file://gcc-4_6-branch-backports/0288-2011-05-20-Richard-Guenther-rguenther-suse.de.patch \
228 file://gcc-4_6-branch-backports/0289-PR-bootstrap-49086.patch \
229 file://gcc-4_6-branch-backports/0290-PR-c-48873.patch \
230 file://gcc-4_6-branch-backports/0291-PR-c-48736.patch \
231 file://gcc-4_6-branch-backports/0292-PR-c-48745.patch \
232 file://gcc-4_6-branch-backports/0293-semantics.c-register_constexpr_fundef-Add-to-hash-ta.patch \
233 file://gcc-4_6-branch-backports/0294-semantics.c-validate_constexpr_fundecl-Check-DECL_TE.patch \
234 file://gcc-4_6-branch-backports/0295-PR-c-48948.patch \
235 file://gcc-4_6-branch-backports/0296-DR-1073.patch \
236 file://gcc-4_6-branch-backports/0298-In-gcc-objc.patch \
237 file://gcc-4_6-branch-backports/0299-PR-c-49066.patch \
238 file://gcc-4_6-branch-backports/0300-config-sparc-sparc.c-eligible_for_return_delay-Do-no.patch \
239 file://gcc-4_6-branch-backports/0301-config-sparc-sparc.md-setjmp-Handle-PIC-mode-and-use.patch \
240 file://gcc-4_6-branch-backports/0303-PR-c-48780.patch \
241 file://gcc-4_6-branch-backports/0304-PR-c-48945.patch \
242 file://gcc-4_6-branch-backports/0305-PR-middle-end-49029.patch \
243 file://gcc-4_6-branch-backports/0306-PR-target-49104.patch \
244 file://gcc-4_6-branch-backports/0307-config.gcc-sparc-elf-Add-sparc-t-crtin.patch \
245 file://gcc-4_6-branch-backports/0308-PR-c-48647.patch \
246 file://gcc-4_6-branch-backports/0309-2011-05-22-Jonathan-Wakely-jwakely.gcc-gmail.com.patch \
247 file://gcc-4_6-branch-backports/0311-PR-middle-end-48973.patch \
248 file://gcc-4_6-branch-backports/0312-PR-c-49120.patch \
249 file://gcc-4_6-branch-backports/0313-PR-debug-49032.patch \
250 file://gcc-4_6-branch-backports/0314-PR-lto-49123.patch \
251 file://gcc-4_6-branch-backports/0316-Always-add-mno-XXX-for-march-native.patch \
252 file://gcc-4_6-branch-backports/0317-PR-target-49133.patch \
253 file://gcc-4_6-branch-backports/0318-config-sparc-sparc.c-sparc_option_override-If-not-se.patch \
254 file://gcc-4_6-branch-backports/0320-PR-c-48617.patch \
255 file://gcc-4_6-branch-backports/0321-PR-c-47544.patch \
256 file://gcc-4_6-branch-backports/0322-PR-c-47336.patch \
257 file://gcc-4_6-branch-backports/0323-PR-c-47263.patch \
258 file://gcc-4_6-branch-backports/0324-PR-c-49105.patch \
259 file://gcc-4_6-branch-backports/0325-PR-c-48884.patch \
260 file://gcc-4_6-branch-backports/0326-PR-c-49042.patch \
261 file://gcc-4_6-branch-backports/0327-PR-c-49136.patch \
262 file://gcc-4_6-branch-backports/0328-In-libobjc.patch \
263 file://gcc-4_6-branch-backports/0329-2011-05-24-Paolo-Carlini-paolo.carlini-oracle.com.patch \
264 file://gcc-4_6-branch-backports/0330-PR-tree-optimization-44897.patch \
265 file://gcc-4_6-branch-backports/0331-PR-target-49128.patch \
266 file://gcc-4_6-branch-backports/0332-PR-c-48292.patch \
267 file://gcc-4_6-branch-backports/0333-PR-c-45080.patch \
268 file://gcc-4_6-branch-backports/0334-PR-c-45418.patch \
269 file://gcc-4_6-branch-backports/0335-PR-c-48935.patch \
270 file://gcc-4_6-branch-backports/0336-gcc.target-arm-fp16-compile-none-1.c-Update-expected.patch \
271 file://gcc-4_6-branch-backports/0337-PR-c-47184.patch \
272 file://gcc-4_6-branch-backports/0338-PR-c-46696.patch \
273 file://gcc-4_6-branch-backports/0339-PR-c-46245.patch \
274 file://gcc-4_6-branch-backports/0340-PR-c-46145.patch \
275 file://gcc-4_6-branch-backports/0341-PR-c-45698.patch \
276 file://gcc-4_6-branch-backports/0342-PR-c-44311.patch \
277 file://gcc-4_6-branch-backports/0343-gcc-cp-ChangeLog.patch \
278 file://gcc-4_6-branch-backports/0344-2011-05-25-Paolo-Carlini-paolo.carlini-oracle.com.patch \
279 file://gcc-4_6-branch-backports/0345-2011-05-25-Paolo-Carlini-paolo.carlini-oracle.com.patch \
280 file://gcc-4_6-branch-backports/0347-PR-c-45401.patch \
281 file://gcc-4_6-branch-backports/0348-PR-c-49156.patch \
282 file://gcc-4_6-branch-backports/0349-PR-tree-optimization-49161.patch \
283 file://gcc-4_6-branch-backports/0350-PR-c-49165.patch \
284 file://gcc-4_6-branch-backports/0351-PR-target-44643.patch \
285 file://gcc-4_6-branch-backports/0352-PR-c-48424.patch \
286 file://gcc-4_6-branch-backports/0354-config-rs6000-rs6000.c-rs6000_register_move_cost-Mak.patch \
287 file://gcc-4_6-branch-backports/0355-2011-05-26-Paul-Thomas-pault-gcc.gnu.org.patch \
288 file://gcc-4_6-branch-backports/0357-PR-c-48657.patch \
289 file://gcc-4_6-branch-backports/0358-PR-c-49165.patch \
290 file://gcc-4_6-branch-backports/0359-PR-c-48284.patch \
291 file://gcc-4_6-branch-backports/0360-PR-c-47277.patch \
292 file://gcc-4_6-branch-backports/0362-PR-c-47049.patch \
293 file://gcc-4_6-branch-backports/0364-2011-05-29-Richard-Guenther-rguenther-suse.de.patch \
294 file://gcc-4_6-branch-backports/0365-gcc.patch \
295 file://gcc-4_6-branch-backports/0366-gcc.patch \
296 file://gcc-4_6-branch-backports/0369-PR-target-45263.patch \
297 file://gcc-4_6-branch-backports/0370-2011-05-30-Richard-Guenther-rguenther-suse.de.patch \
298 file://gcc-4_6-branch-backports/0371-PR-c-49223.patch \
299 file://gcc-4_6-branch-backports/0373-2011-05-31-Richard-Guenther-rguenther-suse.de.patch \
300 file://gcc-4_6-branch-backports/0374-2011-05-31-Richard-Guenther-rguenther-suse.de.patch \
301 file://gcc-4_6-branch-backports/0375-Fix-fma4_fmsubadd-and-fma4_fmaddsub-mode-suffixes.patch \
302 file://gcc-4_6-branch-backports/0376-2011-05-31-Thomas-Koenig-tkoenig-gcc.gnu.org.patch \
303 file://gcc-4_6-branch-backports/0379-PR-tree-optimization-49093.patch \
304 file://gcc-4_6-branch-backports/0380-2011-06-02-Steven-G.-Kargl-kargl-gcc.gnu.org.patch \
305 file://gcc-4_6-branch-backports/0382-PR-c-49276.patch \
306 file://gcc-4_6-branch-backports/0384-PR-tree-optimization-49038.patch \
307 file://gcc-4_6-branch-backports/0385-PR-debug-47590.patch \
308 file://gcc-4_6-branch-backports/0386-2011-06-04-Jonathan-Wakely-jwakely.gcc-gmail.com.patch \
309 file://gcc-4_6-branch-backports/0388-PR-target-49186.patch \
310 file://gcc-4_6-branch-backports/0389-config-sparc-sparc.c-output_return-Fix-thinko-in-the.patch \
311 file://gcc-4_6-branch-backports/0391-PR-c-49134.patch \
312 file://gcc-4_6-branch-backports/0392-2011-06-06-Richard-Guenther-rguenther-suse.de.patch \
313 file://gcc-4_6-branch-backports/0393-2011-06-06-Mikael-Pettersson-mikpe-it.uu.se.patch \
314 file://gcc-4_6-branch-backports/0394-2011-06-06-Andreas-Krebbel-Andreas.Krebbel-de.ibm.co.patch \
315 file://gcc-4_6-branch-backports/0395-PR-c-49264.patch \
316 file://gcc-4_6-branch-backports/0396-PR-fortran-49268.patch \
317 file://gcc-4_6-branch-backports/0397-config-rs6000-rs6000.h-REG_CLASS_CONTENTS-Remove-vr0.patch \
318 file://gcc-4_6-branch-backports/0398-PR-c-49298.patch \
319 file://gcc-4_6-branch-backports/0400-PR-gcov-profile-49299.patch \
320 file://gcc-4_6-branch-backports/0401-PR-c-48780.patch \
321 file://gcc-4_6-branch-backports/0403-PR-target-49238.patch \
322 file://gcc-4_6-branch-backports/0404-Support-unknown-Intel-family-0x6-CPUs.patch \
323 file://gcc-4_6-branch-backports/0406-config-sparc-sparc.md-return_internal-Adjust-length-.patch \
324 file://gcc-4_6-branch-backports/0408-semantics.c-potential_constant_expression_1-Handle-d.patch \
325 file://gcc-4_6-branch-backports/0409-semantics.c-finish_compound_literal-Set-TREE_HAS_CON.patch \
326 file://gcc-4_6-branch-backports/0410-lib-target-supports.exp.patch \
327 file://gcc-4_6-branch-backports/0411-gcc-testsuite-gcc.target-arm-20090811-1.c-Skip-for-i.patch \
328 file://gcc-4_6-branch-backports/0413-config-i386-sse.md-vec_dupv4sf-Correct-mode-of-force.patch"