summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog18
-rw-r--r--ChangeLog.MELT5
-rw-r--r--Makefile.in7
-rw-r--r--Makefile.tpl7
-rw-r--r--config/ChangeLog5
-rw-r--r--config/stdint.m444
-rwxr-xr-xconfigure44
-rw-r--r--configure.ac22
-rw-r--r--contrib/ChangeLog4
-rwxr-xr-xcontrib/dg-extract-results.sh4
-rw-r--r--gcc/ChangeLog378
-rw-r--r--gcc/ChangeLog.MELT13
-rw-r--r--gcc/ChangeLog.graphite68
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/Makefile.in10
-rw-r--r--gcc/c-common.c2
-rw-r--r--gcc/cfgexpand.c10
-rw-r--r--gcc/cgraph.c11
-rw-r--r--gcc/cgraphunit.c19
-rw-r--r--gcc/collect2.c18
-rw-r--r--gcc/common.opt4
-rw-r--r--gcc/config/i386/i386.c38
-rw-r--r--gcc/config/i386/sse.md82
-rw-r--r--gcc/config/rx/rx-protos.h3
-rw-r--r--gcc/config/rx/rx.c188
-rw-r--r--gcc/config/rx/rx.h45
-rw-r--r--gcc/config/rx/rx.opt35
-rw-r--r--gcc/config/rx/t-rx10
-rw-r--r--gcc/config/sparc/sparc-protos.h3
-rw-r--r--gcc/config/sparc/sparc.c122
-rw-r--r--gcc/config/sparc/sparc.h3
-rw-r--r--gcc/cp/ChangeLog20
-rw-r--r--gcc/cp/call.c6
-rw-r--r--gcc/cp/pt.c30
-rw-r--r--gcc/cp/semantics.c9
-rw-r--r--gcc/doc/c-tree.texi10
-rw-r--r--gcc/doc/invoke.texi77
-rw-r--r--gcc/dominance.c2
-rw-r--r--gcc/flags.h29
-rw-r--r--gcc/fortran/ChangeLog61
-rw-r--r--gcc/fortran/error.c48
-rw-r--r--gcc/fortran/intrinsic.texi4
-rw-r--r--gcc/fortran/invoke.texi2
-rw-r--r--gcc/fortran/module.c6
-rw-r--r--gcc/fortran/options.c16
-rw-r--r--gcc/fortran/trans-decl.c79
-rw-r--r--gcc/fortran/trans-expr.c9
-rw-r--r--gcc/fortran/trans-stmt.c27
-rw-r--r--gcc/fortran/trans.c1
-rw-r--r--gcc/gcc.c23
-rw-r--r--gcc/gcse.c3
-rw-r--r--gcc/gimple.c4
-rw-r--r--gcc/gimple.h62
-rw-r--r--gcc/graphite-blocking.c14
-rw-r--r--gcc/graphite-clast-to-gimple.c123
-rw-r--r--gcc/graphite-interchange.c197
-rw-r--r--gcc/graphite-poly.h7
-rw-r--r--gcc/haifa-sched.c166
-rw-r--r--gcc/ifcvt.c10
-rw-r--r--gcc/ipa-cp.c11
-rw-r--r--gcc/ipa-inline.c9
-rw-r--r--gcc/ipa-prop.c3
-rw-r--r--gcc/lto-streamer-out.c7
-rw-r--r--gcc/melt-runtime.c39
-rw-r--r--gcc/melt/warmelt-infixsyntax.melt139
-rw-r--r--gcc/melt/warmelt-outobj.melt344
-rw-r--r--gcc/opts.c1
-rw-r--r--gcc/po/ChangeLog4
-rw-r--r--gcc/po/sv.po509
-rw-r--r--gcc/real.h28
-rw-r--r--gcc/sese.c2
-rw-r--r--gcc/store-motion.c1
-rw-r--r--gcc/testsuite/ChangeLog118
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/auto17.C10
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist30.C12
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic-unify-2.C14
-rw-r--r--gcc/testsuite/g++.dg/ext/attrib35.C19
-rw-r--r--gcc/testsuite/g++.dg/opt/dtor4-aux.cc6
-rw-r--r--gcc/testsuite/g++.dg/opt/dtor4.C13
-rw-r--r--gcc/testsuite/g++.dg/opt/dtor4.h8
-rw-r--r--gcc/testsuite/g++.dg/opt/pr42508.C33
-rw-r--r--gcc/testsuite/g++.dg/torture/pr42462.C47
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr42398.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr42632.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr42614.c68
-rw-r--r--gcc/testsuite/gcc.dg/20041231-1.c15
-rw-r--r--gcc/testsuite/gcc.dg/Wunreachable-1.c24
-rw-r--r--gcc/testsuite/gcc.dg/Wunreachable-2.c19
-rw-r--r--gcc/testsuite/gcc.dg/Wunreachable-3.c17
-rw-r--r--gcc/testsuite/gcc.dg/Wunreachable-4.c12
-rw-r--r--gcc/testsuite/gcc.dg/Wunreachable-5.c17
-rw-r--r--gcc/testsuite/gcc.dg/Wunreachable-6.c21
-rw-r--r--gcc/testsuite/gcc.dg/Wunreachable-7.c21
-rw-r--r--gcc/testsuite/gcc.dg/Wunreachable-8.c20
-rw-r--r--gcc/testsuite/gcc.dg/graphite/block-2.c29
-rw-r--r--gcc/testsuite/gcc.dg/graphite/block-3.c5
-rw-r--r--gcc/testsuite/gcc.dg/graphite/block-4.c1
-rw-r--r--gcc/testsuite/gcc.dg/graphite/block-5.c14
-rw-r--r--gcc/testsuite/gcc.dg/graphite/block-6.c16
-rw-r--r--gcc/testsuite/gcc.dg/lto/20100104_0.c8
-rw-r--r--gcc/testsuite/gcc.dg/pr12603.c2
-rw-r--r--gcc/testsuite/gcc.dg/pr42396.c7
-rw-r--r--gcc/testsuite/gcc.dg/pr42611.c19
-rw-r--r--gcc/testsuite/gcc.dg/tls/opt-15.c24
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-1.c77
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-1a.c8
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-1b.c10
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-2.c77
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-2a.c8
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-2b.c10
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-3.c85
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-3a.c7
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-4.c70
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-4a.c6
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-5.c66
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-5a.c6
-rw-r--r--gcc/testsuite/gfortran.dg/allocatable_scalar_5.f9062
-rw-r--r--gcc/testsuite/gfortran.dg/allocatable_scalar_6.f9026
-rw-r--r--gcc/testsuite/gfortran.dg/allocatable_scalar_7.f9026
-rw-r--r--gcc/testsuite/gfortran.dg/allocatable_scalar_8.f9017
-rw-r--r--gcc/testsuite/gfortran.dg/proc_ptr_26.f9031
-rw-r--r--gcc/tree-cfg.c59
-rw-r--r--gcc/tree-flow-inline.h33
-rw-r--r--gcc/tree-flow.h24
-rw-r--r--gcc/tree-sra.c44
-rw-r--r--gcc/tree-ssa-coalesce.c17
-rw-r--r--gcc/tree-ssa-dom.c35
-rw-r--r--gcc/tree-ssa-pre.c129
-rw-r--r--gcc/tree-ssa-reassoc.c3
-rw-r--r--gcc/tree-ssa-sccvn.c77
-rw-r--r--include/ChangeLog5
-rw-r--r--include/ansidecl.h4
-rw-r--r--libdecnumber/ChangeLog4
-rwxr-xr-xlibdecnumber/configure44
-rw-r--r--libffi/ChangeLog18
-rw-r--r--libffi/src/mips/n32.S8
-rw-r--r--libffi/testsuite/libffi.call/cls_align_sint64.c1
-rw-r--r--libffi/testsuite/libffi.call/cls_align_uint64.c1
-rw-r--r--libffi/testsuite/libffi.call/cls_ulonglong.c1
-rw-r--r--libffi/testsuite/libffi.call/ffitest.h12
-rw-r--r--libffi/testsuite/libffi.call/return_ll1.c1
-rw-r--r--libffi/testsuite/libffi.call/stret_medium2.c1
-rw-r--r--libffi/testsuite/libffi.special/ffitestcxx.h2
-rw-r--r--libgcc/ChangeLog7
-rw-r--r--libgcc/config.host4
-rw-r--r--libgcc/config/moxie/crti.asm40
-rw-r--r--libgcc/config/moxie/crtn.asm34
-rw-r--r--libgcc/config/moxie/sfp-machine.h57
-rw-r--r--libgcc/config/moxie/t-moxie9
-rw-r--r--libgcc/config/moxie/t-moxie-softfp9
-rw-r--r--libgfortran/ChangeLog10
-rw-r--r--libgfortran/ChangeLog-20027
-rw-r--r--libgfortran/ChangeLog-20037
-rw-r--r--libgfortran/ChangeLog-20047
-rw-r--r--libgfortran/ChangeLog-20057
-rw-r--r--libgfortran/ChangeLog-20067
-rw-r--r--libgfortran/ChangeLog-20077
-rw-r--r--libgfortran/ChangeLog-20087
-rw-r--r--libgfortran/ChangeLog-20096
-rwxr-xr-xlibgfortran/configure44
-rw-r--r--libgomp/ChangeLog9
-rwxr-xr-xlibgomp/configure44
-rw-r--r--libgomp/testsuite/libgomp.fortran/recursion1.f901
-rw-r--r--libiberty/ChangeLog6
-rwxr-xr-xlibiberty/configure1
-rw-r--r--libiberty/configure.ac1
-rw-r--r--libjava/ChangeLog515
-rw-r--r--libjava/ChangeLog-2009514
-rw-r--r--libjava/classpath/lib/gnu/CORBA/CDR/Vio.classbin21568 -> 21603 bytes
-rw-r--r--libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.classbin984 -> 984 bytes
-rw-r--r--libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime.classbin4852 -> 4823 bytes
-rw-r--r--libjava/classpath/lib/gnu/CORBA/GIOP/ContextHandler.classbin900 -> 900 bytes
-rw-r--r--libjava/classpath/lib/gnu/CORBA/Interceptor/Registrator.classbin9169 -> 9203 bytes
-rw-r--r--libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient$1.classbin701 -> 701 bytes
-rw-r--r--libjava/classpath/lib/gnu/CORBA/OrbFunctional$1.classbin635 -> 635 bytes
-rw-r--r--libjava/classpath/lib/gnu/CORBA/OrbFunctional$2.classbin1137 -> 1137 bytes
-rw-r--r--libjava/classpath/lib/gnu/CORBA/OrbFunctional.classbin24801 -> 25103 bytes
-rw-r--r--libjava/classpath/lib/gnu/CORBA/Poa/LocalDelegate.classbin8788 -> 8788 bytes
-rw-r--r--libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.classbin25978 -> 25994 bytes
-rw-r--r--libjava/classpath/lib/gnu/CORBA/gnuRequest$1.classbin567 -> 567 bytes
-rw-r--r--libjava/classpath/lib/gnu/CORBA/gnuRequest$2.classbin623 -> 623 bytes
-rw-r--r--libjava/classpath/lib/gnu/CORBA/gnuRequest.classbin23157 -> 23157 bytes
-rw-r--r--libjava/classpath/lib/gnu/classpath/jdwp/Jdwp$1.classbin804 -> 804 bytes
-rw-r--r--libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader$1.classbin896 -> 896 bytes
-rw-r--r--libjava/classpath/lib/gnu/gcj/runtime/SharedLibLoader.classbin2052 -> 2052 bytes
-rw-r--r--libjava/classpath/lib/gnu/gcj/util/Debug.classbin5432 -> 5396 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/awt/color/ColorLookUpTable.classbin6371 -> 6387 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/awt/font/OpenTypeFontPeer$XLineMetrics.classbin2787 -> 2787 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/awt/font/autofit/GlyphHints.classbin9490 -> 9490 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFont.classbin9042 -> 9042 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Zone.classbin5577 -> 5577 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/awt/image/ImageConverter.classbin8171 -> 8171 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/awt/java2d/AbstractGraphics2D.classbin31188 -> 31188 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoGraphics2D.classbin39120 -> 39120 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.classbin18754 -> 18754 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage$1.classbin716 -> 716 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer.classbin3657 -> 3584 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextAreaPeer$1.classbin829 -> 829 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/awt/print/PostScriptGraphics2D.classbin30318 -> 30318 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/lang/reflect/TypeSignature.classbin4039 -> 4039 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.classbin1892 -> 1889 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/locale/LocaleData.classbin7402 -> 7402 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/net/DefaultContentHandlerFactory.classbin1415 -> 1386 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/net/IndexListParser.classbin2845 -> 2845 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/net/loader/Load_gcjlib.classbin1645 -> 1645 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection$1.classbin976 -> 976 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$1.classbin909 -> 909 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$2.classbin909 -> 909 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$1.classbin677 -> 677 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$2.classbin682 -> 682 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/nio/charset/Provider$1.classbin748 -> 748 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$1.classbin669 -> 669 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$2.classbin671 -> 671 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/rmi/activation/BidiTable.classbin2027 -> 2024 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.classbin4240 -> 4244 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/rmi/server/ConnectionRunnerPool.classbin2650 -> 2621 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/rmi/server/RMIDefaultSocketFactory.classbin814 -> 818 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/rmi/server/RMIObjectInputStream.classbin3019 -> 3023 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/rmi/server/RMIObjectOutputStream.classbin2997 -> 3001 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/rmi/server/TripleKey.classbin1315 -> 1319 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/rmi/server/UnicastConnection.classbin4367 -> 4371 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager$1.classbin1917 -> 1917 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager.classbin7404 -> 7412 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/rmi/server/UnicastServerRef.classbin9293 -> 9293 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/security/PolicyFile$1.classbin2136 -> 2136 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/security/PolicyFile.classbin12910 -> 12910 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/security/Properties$1.classbin753 -> 753 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/security/der/BitString.classbin3776 -> 3776 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/security/key/dss/DSSPrivateKey.classbin3081 -> 3081 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/security/key/dss/DSSPublicKey.classbin3081 -> 3081 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAKey.classbin2365 -> 2365 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPrivateKey.classbin4669 -> 4669 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPublicKey.classbin2745 -> 2745 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/security/provider/Gnu$1.classbin12433 -> 12437 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/security/util/IntegerUtil$1.classbin749 -> 749 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/security/x509/X509CRLSelectorImpl.classbin2421 -> 2392 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/security/x509/X509CertSelectorImpl.classbin3382 -> 3350 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$1.classbin2992 -> 2992 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/util/ZoneInfo.classbin15436 -> 16582 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences$1.classbin924 -> 924 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/util/regex/RE.classbin31303 -> 31303 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$1.classbin849 -> 849 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty.classbin7043 -> 7043 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/crypto/assembly/Cascade.classbin5199 -> 5181 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto$1.classbin28598 -> 28606 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl$1.classbin2082 -> 2086 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPrivateKey.classbin2989 -> 2989 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPublicKey.classbin2990 -> 2990 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$1.classbin697 -> 697 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/crypto/prng/ICMGenerator.classbin4678 -> 4678 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/crypto/sasl/ClientFactory.classbin4064 -> 4035 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/crypto/sasl/ServerFactory.classbin3779 -> 3750 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPClient.classbin18687 -> 18687 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/imageio/png/PNGDecoder.classbin5300 -> 5300 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory$1.classbin908 -> 908 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$1.classbin1157 -> 1157 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake.classbin19668 -> 19668 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.classbin2502 -> 2494 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.classbin2588 -> 2588 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.classbin3790 -> 3790 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake.classbin31108 -> 31112 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.classbin3336 -> 3336 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/DelegatedTask.classbin1599 -> 1599 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.classbin3204 -> 3204 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/InputSecurityParameters.classbin6952 -> 6952 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie$1.classbin1944 -> 1944 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/OutputSecurityParameters.classbin6668 -> 6668 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl.classbin21827 -> 21827 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.classbin5048 -> 5048 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$1.classbin885 -> 885 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl.classbin15523 -> 15533 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.classbin3858 -> 3858 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.classbin3828 -> 3828 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake.classbin35303 -> 35307 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext$1.classbin1391 -> 1391 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$1.classbin692 -> 692 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$2.classbin725 -> 725 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.classbin9275 -> 9227 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$1.classbin863 -> 863 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$2.classbin822 -> 822 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks$1.classbin1268 -> 1268 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$1.classbin1388 -> 1388 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$2.classbin1802 -> 1802 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$3.classbin1869 -> 1869 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$4.classbin1692 -> 1692 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$5.classbin1727 -> 1727 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$6.classbin1714 -> 1714 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$7.classbin1255 -> 1255 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.classbin748 -> 748 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer.classbin5704 -> 5704 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser$1.classbin1508 -> 1508 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.classbin1076 -> 1076 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.classbin1332 -> 1332 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$1.classbin859 -> 859 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$2.classbin1742 -> 1742 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver.classbin20456 -> 20456 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/aelfred2/XmlParser.classbin52384 -> 52384 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/dom/ImplementationSource.classbin3312 -> 3283 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformer.classbin11424 -> 11424 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/pipeline/TeeConsumer.classbin7036 -> 7036 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.classbin5616 -> 5616 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/stream/XIncludeFilter.classbin17456 -> 17456 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/stream/XMLParser$Doctype.classbin5914 -> 5974 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/transform/DocumentFunction.classbin5846 -> 5843 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/transform/ElementAvailableFunction.classbin4430 -> 4427 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/transform/FunctionAvailableFunction.classbin4586 -> 4580 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/validation/datatype/BooleanType.classbin2029 -> 2000 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/validation/datatype/DoubleType.classbin2285 -> 2256 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/validation/datatype/FloatType.classbin2278 -> 2249 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/xpath/LocalNameFunction.classbin2069 -> 2066 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/xpath/NameFunction.classbin2036 -> 2033 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/xpath/NamespaceUriFunction.classbin2087 -> 2084 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/xpath/Root.classbin1818 -> 1789 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/xpath/Steps.classbin5062 -> 5059 bytes
-rw-r--r--libjava/classpath/lib/java/awt/AWTKeyStroke$1.classbin1061 -> 1061 bytes
-rw-r--r--libjava/classpath/lib/java/awt/AWTKeyStroke$2.classbin1451 -> 1451 bytes
-rw-r--r--libjava/classpath/lib/java/awt/AWTKeyStroke$3.classbin1217 -> 1217 bytes
-rw-r--r--libjava/classpath/lib/java/awt/AlphaComposite$1.classbin775 -> 775 bytes
-rw-r--r--libjava/classpath/lib/java/awt/Button.classbin4645 -> 4653 bytes
-rw-r--r--libjava/classpath/lib/java/awt/Checkbox.classbin5130 -> 5146 bytes
-rw-r--r--libjava/classpath/lib/java/awt/CheckboxMenuItem.classbin4664 -> 4676 bytes
-rw-r--r--libjava/classpath/lib/java/awt/Component.classbin58512 -> 58512 bytes
-rw-r--r--libjava/classpath/lib/java/awt/Container.classbin26149 -> 26149 bytes
-rw-r--r--libjava/classpath/lib/java/awt/FileDialog.classbin3706 -> 3718 bytes
-rw-r--r--libjava/classpath/lib/java/awt/GridBagLayout.classbin16064 -> 16080 bytes
-rw-r--r--libjava/classpath/lib/java/awt/KeyboardFocusManager.classbin14539 -> 14536 bytes
-rw-r--r--libjava/classpath/lib/java/awt/MenuItem.classbin5918 -> 5926 bytes
-rw-r--r--libjava/classpath/lib/java/awt/MenuShortcut.classbin5566 -> 5574 bytes
-rw-r--r--libjava/classpath/lib/java/awt/Polygon$1.classbin1484 -> 1484 bytes
-rw-r--r--libjava/classpath/lib/java/awt/PopupMenu.classbin2008 -> 2012 bytes
-rw-r--r--libjava/classpath/lib/java/awt/RenderingHints.classbin7886 -> 7927 bytes
-rw-r--r--libjava/classpath/lib/java/awt/Robot$1.classbin526 -> 526 bytes
-rw-r--r--libjava/classpath/lib/java/awt/Robot.classbin5749 -> 5749 bytes
-rw-r--r--libjava/classpath/lib/java/awt/ScrollPane.classbin8617 -> 8625 bytes
-rw-r--r--libjava/classpath/lib/java/awt/Scrollbar.classbin7765 -> 7765 bytes
-rw-r--r--libjava/classpath/lib/java/awt/TextArea.classbin6781 -> 6781 bytes
-rw-r--r--libjava/classpath/lib/java/awt/Toolkit$1.classbin616 -> 616 bytes
-rw-r--r--libjava/classpath/lib/java/awt/Toolkit$2.classbin3538 -> 3538 bytes
-rw-r--r--libjava/classpath/lib/java/awt/Window.classbin17703 -> 17703 bytes
-rw-r--r--libjava/classpath/lib/java/awt/color/ICC_Profile.classbin18837 -> 18841 bytes
-rw-r--r--libjava/classpath/lib/java/awt/datatransfer/DataFlavor.classbin12089 -> 12089 bytes
-rw-r--r--libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap$1.classbin2065 -> 2065 bytes
-rw-r--r--libjava/classpath/lib/java/awt/dnd/DragSource.classbin7238 -> 7238 bytes
-rw-r--r--libjava/classpath/lib/java/awt/event/KeyEvent.classbin15215 -> 15215 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/Area$QuadSegment.classbin6191 -> 6187 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/CubicCurve2D$1.classbin2038 -> 2038 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/Line2D$1.classbin1797 -> 1797 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/QuadCurve2D$1.classbin1927 -> 1927 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/Rectangle2D$1.classbin1986 -> 1986 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/RoundRectangle2D$1.classbin3111 -> 3111 bytes
-rw-r--r--libjava/classpath/lib/java/awt/image/AreaAveragingScaleFilter.classbin3621 -> 3621 bytes
-rw-r--r--libjava/classpath/lib/java/awt/image/BufferedImage$1.classbin2308 -> 2304 bytes
-rw-r--r--libjava/classpath/lib/java/awt/image/ColorConvertOp.classbin7999 -> 7929 bytes
-rw-r--r--libjava/classpath/lib/java/awt/image/ComponentSampleModel.classbin7959 -> 7959 bytes
-rw-r--r--libjava/classpath/lib/java/awt/image/PixelGrabber$1.classbin826 -> 826 bytes
-rw-r--r--libjava/classpath/lib/java/awt/image/RescaleOp.classbin5920 -> 5920 bytes
-rw-r--r--libjava/classpath/lib/java/beans/Encoder$1.classbin623 -> 623 bytes
-rw-r--r--libjava/classpath/lib/java/beans/PropertyChangeSupport.classbin7049 -> 7020 bytes
-rw-r--r--libjava/classpath/lib/java/beans/VetoableChangeSupport.classbin6823 -> 6794 bytes
-rw-r--r--libjava/classpath/lib/java/beans/beancontext/BeanContextMembershipEvent.classbin1426 -> 1423 bytes
-rw-r--r--libjava/classpath/lib/java/io/DeleteFileHelper$1.classbin739 -> 739 bytes
-rw-r--r--libjava/classpath/lib/java/io/FileOutputStream.classbin2903 -> 2903 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectInputStream$1.classbin1152 -> 1152 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectInputStream$2.classbin6167 -> 6167 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectOutputStream$1.classbin4718 -> 4718 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectStreamClass$1.classbin946 -> 946 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectStreamClass$2.classbin834 -> 834 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectStreamClass.classbin18007 -> 18007 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectStreamField$1.classbin810 -> 810 bytes
-rw-r--r--libjava/classpath/lib/java/lang/Class$1.classbin677 -> 677 bytes
-rw-r--r--libjava/classpath/lib/java/lang/Class.classbin15545 -> 15530 bytes
-rw-r--r--libjava/classpath/lib/java/lang/SecurityManager$1.classbin871 -> 871 bytes
-rw-r--r--libjava/classpath/lib/java/lang/System$EnvironmentMap.classbin3464 -> 3524 bytes
-rw-r--r--libjava/classpath/lib/java/lang/reflect/Proxy$ClassFactory.classbin11774 -> 11774 bytes
-rw-r--r--libjava/classpath/lib/java/lang/reflect/Proxy$ProxyData.classbin4144 -> 4144 bytes
-rw-r--r--libjava/classpath/lib/java/lang/reflect/Proxy$ProxySignature.classbin3655 -> 3655 bytes
-rw-r--r--libjava/classpath/lib/java/math/BigDecimal.classbin18075 -> 18083 bytes
-rw-r--r--libjava/classpath/lib/java/net/URL$1.classbin788 -> 788 bytes
-rw-r--r--libjava/classpath/lib/java/net/URLClassLoader$1.classbin1197 -> 1197 bytes
-rw-r--r--libjava/classpath/lib/java/net/URLClassLoader$2.classbin1099 -> 1099 bytes
-rw-r--r--libjava/classpath/lib/java/net/URLClassLoader.classbin14679 -> 14671 bytes
-rw-r--r--libjava/classpath/lib/java/nio/charset/Charset.classbin7948 -> 7948 bytes
-rw-r--r--libjava/classpath/lib/java/nio/charset/CoderResult$1.classbin577 -> 577 bytes
-rw-r--r--libjava/classpath/lib/java/nio/charset/CoderResult$2.classbin577 -> 577 bytes
-rw-r--r--libjava/classpath/lib/java/rmi/server/RemoteObject.classbin3766 -> 3774 bytes
-rw-r--r--libjava/classpath/lib/java/security/AccessControlContext.classbin3506 -> 3506 bytes
-rw-r--r--libjava/classpath/lib/java/security/AllPermission$AllPermissionCollection.classbin1510 -> 1481 bytes
-rw-r--r--libjava/classpath/lib/java/security/CodeSource.classbin5349 -> 5320 bytes
-rw-r--r--libjava/classpath/lib/java/security/Permissions$1.classbin1225 -> 1225 bytes
-rw-r--r--libjava/classpath/lib/java/security/UnresolvedPermissionCollection$1.classbin1294 -> 1294 bytes
-rw-r--r--libjava/classpath/lib/java/security/cert/CertPathValidator$1.classbin718 -> 718 bytes
-rw-r--r--libjava/classpath/lib/java/security/cert/CertStore$1.classbin678 -> 678 bytes
-rw-r--r--libjava/classpath/lib/java/security/cert/X509CRLSelector.classbin6655 -> 6652 bytes
-rw-r--r--libjava/classpath/lib/java/text/Annotation.classbin924 -> 928 bytes
-rw-r--r--libjava/classpath/lib/java/text/AttributedString.classbin5918 -> 5889 bytes
-rw-r--r--libjava/classpath/lib/java/text/DateFormatSymbols.classbin10132 -> 10132 bytes
-rw-r--r--libjava/classpath/lib/java/util/AbstractList$1.classbin2205 -> 2205 bytes
-rw-r--r--libjava/classpath/lib/java/util/AbstractList$2.classbin1499 -> 1499 bytes
-rw-r--r--libjava/classpath/lib/java/util/AbstractList$3.classbin2389 -> 2389 bytes
-rw-r--r--libjava/classpath/lib/java/util/AbstractList$SubList.classbin3945 -> 3918 bytes
-rw-r--r--libjava/classpath/lib/java/util/AbstractMap$1.classbin1129 -> 1129 bytes
-rw-r--r--libjava/classpath/lib/java/util/AbstractMap$2.classbin1304 -> 1304 bytes
-rw-r--r--libjava/classpath/lib/java/util/AbstractMap$3.classbin1154 -> 1154 bytes
-rw-r--r--libjava/classpath/lib/java/util/AbstractMap$4.classbin1306 -> 1306 bytes
-rw-r--r--libjava/classpath/lib/java/util/AbstractSequentialList.classbin2769 -> 2766 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$1.classbin1138 -> 1138 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$2.classbin1152 -> 1212 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$3.classbin1545 -> 1605 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$4.classbin1640 -> 1640 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$5.classbin1708 -> 1708 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$6.classbin1553 -> 1553 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$7.classbin1844 -> 1844 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$8.classbin889 -> 889 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$9.classbin930 -> 930 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$EmptyMap.classbin2143 -> 2184 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SingletonMap.classbin2981 -> 3012 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SynchronizedMap.classbin4779 -> 4820 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$UnmodifiableMap.classbin3757 -> 3798 bytes
-rw-r--r--libjava/classpath/lib/java/util/EnumMap$1.classbin1315 -> 1315 bytes
-rw-r--r--libjava/classpath/lib/java/util/EnumMap$2.classbin1460 -> 1460 bytes
-rw-r--r--libjava/classpath/lib/java/util/EnumMap$3.classbin1053 -> 1053 bytes
-rw-r--r--libjava/classpath/lib/java/util/EnumMap$4.classbin1233 -> 1233 bytes
-rw-r--r--libjava/classpath/lib/java/util/EnumMap$5.classbin1874 -> 1874 bytes
-rw-r--r--libjava/classpath/lib/java/util/EnumMap$6.classbin1821 -> 1821 bytes
-rw-r--r--libjava/classpath/lib/java/util/EnumMap$7.classbin1416 -> 1416 bytes
-rw-r--r--libjava/classpath/lib/java/util/EnumMap.classbin5947 -> 5988 bytes
-rw-r--r--libjava/classpath/lib/java/util/EnumSet$1.classbin3315 -> 3315 bytes
-rw-r--r--libjava/classpath/lib/java/util/EnumSet$2.classbin1403 -> 1403 bytes
-rw-r--r--libjava/classpath/lib/java/util/EnumSet.classbin5465 -> 5462 bytes
-rw-r--r--libjava/classpath/lib/java/util/Formatter.classbin17840 -> 17840 bytes
-rw-r--r--libjava/classpath/lib/java/util/GregorianCalendar.classbin14242 -> 14246 bytes
-rw-r--r--libjava/classpath/lib/java/util/HashMap$1.classbin1222 -> 1222 bytes
-rw-r--r--libjava/classpath/lib/java/util/HashMap$2.classbin898 -> 898 bytes
-rw-r--r--libjava/classpath/lib/java/util/HashMap$3.classbin1514 -> 1574 bytes
-rw-r--r--libjava/classpath/lib/java/util/HashSet.classbin4070 -> 3994 bytes
-rw-r--r--libjava/classpath/lib/java/util/Hashtable$1.classbin1239 -> 1239 bytes
-rw-r--r--libjava/classpath/lib/java/util/Hashtable$2.classbin950 -> 950 bytes
-rw-r--r--libjava/classpath/lib/java/util/Hashtable$3.classbin1574 -> 1634 bytes
-rw-r--r--libjava/classpath/lib/java/util/IdentityHashMap$1.classbin1977 -> 1977 bytes
-rw-r--r--libjava/classpath/lib/java/util/IdentityHashMap$2.classbin1813 -> 1813 bytes
-rw-r--r--libjava/classpath/lib/java/util/IdentityHashMap$3.classbin1439 -> 1439 bytes
-rw-r--r--libjava/classpath/lib/java/util/IdentityHashMap.classbin6772 -> 6813 bytes
-rw-r--r--libjava/classpath/lib/java/util/LinkedHashMap$1.classbin1547 -> 1547 bytes
-rw-r--r--libjava/classpath/lib/java/util/LinkedList$1.classbin1701 -> 1701 bytes
-rw-r--r--libjava/classpath/lib/java/util/PriorityQueue$1.classbin1094 -> 1094 bytes
-rw-r--r--libjava/classpath/lib/java/util/Properties.classbin12344 -> 12315 bytes
-rw-r--r--libjava/classpath/lib/java/util/ResourceBundle$1.classbin1040 -> 1100 bytes
-rw-r--r--libjava/classpath/lib/java/util/Scanner.classbin22985 -> 22993 bytes
-rw-r--r--libjava/classpath/lib/java/util/ServiceLoader$1.classbin1868 -> 1868 bytes
-rw-r--r--libjava/classpath/lib/java/util/TimeZone$1.classbin1026 -> 1026 bytes
-rw-r--r--libjava/classpath/lib/java/util/TreeMap$1.classbin1557 -> 1557 bytes
-rw-r--r--libjava/classpath/lib/java/util/TreeMap$2.classbin1383 -> 1383 bytes
-rw-r--r--libjava/classpath/lib/java/util/TreeMap$3.classbin1087 -> 1087 bytes
-rw-r--r--libjava/classpath/lib/java/util/TreeMap$4.classbin1612 -> 1612 bytes
-rw-r--r--libjava/classpath/lib/java/util/TreeMap$5.classbin1310 -> 1310 bytes
-rw-r--r--libjava/classpath/lib/java/util/TreeMap$6.classbin1401 -> 1401 bytes
-rw-r--r--libjava/classpath/lib/java/util/TreeMap$7.classbin961 -> 961 bytes
-rw-r--r--libjava/classpath/lib/java/util/TreeMap$DescendingMap.classbin8743 -> 8743 bytes
-rw-r--r--libjava/classpath/lib/java/util/TreeMap$DescendingSet.classbin6921 -> 6921 bytes
-rw-r--r--libjava/classpath/lib/java/util/TreeMap$NavigableEntrySet.classbin6005 -> 5970 bytes
-rw-r--r--libjava/classpath/lib/java/util/TreeMap$NavigableKeySet.classbin4003 -> 4011 bytes
-rw-r--r--libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableEntrySet.classbin6159 -> 6116 bytes
-rw-r--r--libjava/classpath/lib/java/util/TreeSet.classbin8019 -> 8019 bytes
-rw-r--r--libjava/classpath/lib/java/util/VMTimeZone.classbin3964 -> 4034 bytes
-rw-r--r--libjava/classpath/lib/java/util/Vector$1.classbin977 -> 977 bytes
-rw-r--r--libjava/classpath/lib/java/util/WeakHashMap$1.classbin584 -> 584 bytes
-rw-r--r--libjava/classpath/lib/java/util/WeakHashMap$2.classbin2760 -> 2760 bytes
-rw-r--r--libjava/classpath/lib/java/util/WeakHashMap.classbin6388 -> 6429 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/AbstractExecutorService.classbin8804 -> 8801 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeySet.classbin6742 -> 6708 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap.classbin18313 -> 18184 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap.classbin29644 -> 29592 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListSet.classbin9128 -> 9119 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$1.classbin2314 -> 2314 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$2.classbin1350 -> 1350 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$3.classbin2115 -> 2115 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$SubList.classbin4905 -> 4878 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/DelayQueue.classbin7987 -> 8003 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/Executors$1.classbin1313 -> 1313 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/Executors$2.classbin2023 -> 2023 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/Executors$3.classbin1445 -> 1445 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/Executors$4.classbin1349 -> 1349 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/Executors$5.classbin867 -> 867 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/Executors$6.classbin951 -> 951 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$1.classbin1597 -> 1597 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor.classbin9440 -> 9398 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.classbin2398 -> 2336 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue.classbin5234 -> 5172 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack$SNode.classbin2334 -> 2272 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack.classbin5032 -> 4970 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor.classbin14974 -> 15002 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/TimeUnit$1.classbin1382 -> 1382 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/TimeUnit$2.classbin1414 -> 1414 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/TimeUnit$3.classbin1417 -> 1417 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/TimeUnit$4.classbin1440 -> 1440 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/TimeUnit$5.classbin1445 -> 1445 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/TimeUnit$6.classbin1468 -> 1468 bytes
-rw-r--r--libjava/classpath/lib/java/util/concurrent/TimeUnit$7.classbin1482 -> 1482 bytes
-rw-r--r--libjava/classpath/lib/java/util/jar/Attributes.classbin3812 -> 3853 bytes
-rw-r--r--libjava/classpath/lib/java/util/jar/JarFile$EntryInputStream.classbin5779 -> 5779 bytes
-rw-r--r--libjava/classpath/lib/java/util/logging/FileHandler.classbin6273 -> 6273 bytes
-rw-r--r--libjava/classpath/lib/java/util/logging/LogManager$1.classbin2265 -> 2242 bytes
-rw-r--r--libjava/classpath/lib/java/util/logging/LogManager.classbin13528 -> 13525 bytes
-rw-r--r--libjava/classpath/lib/java/util/logging/Logger$1.classbin588 -> 588 bytes
-rw-r--r--libjava/classpath/lib/java/util/logging/StreamHandler.classbin5354 -> 5354 bytes
-rw-r--r--libjava/classpath/lib/java/util/prefs/AbstractPreferences$1.classbin1016 -> 1016 bytes
-rw-r--r--libjava/classpath/lib/java/util/prefs/AbstractPreferences$2.classbin1111 -> 1111 bytes
-rw-r--r--libjava/classpath/lib/java/util/prefs/AbstractPreferences.classbin16565 -> 16562 bytes
-rw-r--r--libjava/classpath/lib/java/util/prefs/Preferences$1.classbin1454 -> 1454 bytes
-rw-r--r--libjava/classpath/lib/java/util/regex/Matcher.classbin7085 -> 7093 bytes
-rw-r--r--libjava/classpath/lib/java/util/zip/ZipFile$1.classbin1024 -> 1024 bytes
-rw-r--r--libjava/classpath/lib/javax/activation/MailcapCommandMap.classbin14744 -> 14744 bytes
-rw-r--r--libjava/classpath/lib/javax/activation/MimetypesFileTypeMap.classbin7366 -> 7366 bytes
-rw-r--r--libjava/classpath/lib/javax/imageio/ImageIO$1.classbin1187 -> 1187 bytes
-rw-r--r--libjava/classpath/lib/javax/imageio/ImageReader.classbin20387 -> 20391 bytes
-rw-r--r--libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$1.classbin818 -> 818 bytes
-rw-r--r--libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$1.classbin1076 -> 1076 bytes
-rw-r--r--libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$2.classbin1225 -> 1225 bytes
-rw-r--r--libjava/classpath/lib/javax/management/NotificationBroadcasterSupport$DispatchTask.classbin1287 -> 1291 bytes
-rw-r--r--libjava/classpath/lib/javax/management/StandardMBean.classbin17250 -> 17250 bytes
-rw-r--r--libjava/classpath/lib/javax/management/openmbean/ArrayType.classbin9867 -> 9867 bytes
-rw-r--r--libjava/classpath/lib/javax/management/openmbean/CompositeType.classbin5233 -> 5233 bytes
-rw-r--r--libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfoSupport.classbin8111 -> 8111 bytes
-rw-r--r--libjava/classpath/lib/javax/management/openmbean/OpenMBeanConstructorInfoSupport.classbin2540 -> 2540 bytes
-rw-r--r--libjava/classpath/lib/javax/management/openmbean/OpenMBeanInfoSupport.classbin3351 -> 3313 bytes
-rw-r--r--libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfoSupport.classbin3841 -> 3841 bytes
-rw-r--r--libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfoSupport.classbin7528 -> 7528 bytes
-rw-r--r--libjava/classpath/lib/javax/management/openmbean/TabularDataSupport.classbin8207 -> 8271 bytes
-rw-r--r--libjava/classpath/lib/javax/management/openmbean/TabularType.classbin3850 -> 3850 bytes
-rw-r--r--libjava/classpath/lib/javax/naming/CompoundName.classbin9769 -> 9769 bytes
-rw-r--r--libjava/classpath/lib/javax/naming/directory/BasicAttributes$1.classbin1606 -> 1606 bytes
-rw-r--r--libjava/classpath/lib/javax/net/ssl/KeyManagerFactory$1.classbin717 -> 717 bytes
-rw-r--r--libjava/classpath/lib/javax/net/ssl/TrustManagerFactory$1.classbin727 -> 727 bytes
-rw-r--r--libjava/classpath/lib/javax/print/PrintServiceLookup.classbin3781 -> 3743 bytes
-rw-r--r--libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax$1.classbin745 -> 745 bytes
-rw-r--r--libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission$1.classbin1699 -> 1699 bytes
-rw-r--r--libjava/classpath/lib/javax/security/auth/kerberos/KerberosTicket.classbin4697 -> 4697 bytes
-rw-r--r--libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission$1.classbin1681 -> 1681 bytes
-rw-r--r--libjava/classpath/lib/javax/security/auth/login/Configuration$1.classbin747 -> 747 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/AbstractButton$1.classbin1793 -> 1793 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/ActionMap.classbin2209 -> 2177 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/DebugGraphics.classbin14084 -> 14084 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/DefaultComboBoxModel.classbin2973 -> 2944 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/DefaultDesktopManager.classbin7704 -> 7704 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/ImageIcon$1.classbin372 -> 372 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/InputMap.classbin2530 -> 2498 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JComboBox$1.classbin997 -> 997 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JComponent$1.classbin586 -> 586 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JEditorPane$1.classbin914 -> 914 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JEditorPane$2.classbin971 -> 971 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JEditorPane.classbin12028 -> 11999 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JFileChooser$1.classbin744 -> 744 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JLabel.classbin8564 -> 8564 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JList$1.classbin790 -> 790 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JList$2.classbin846 -> 846 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JList$3.classbin829 -> 829 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JMenuItem$1.classbin997 -> 997 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JOptionPane$1.classbin441 -> 441 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JOptionPane$2.classbin447 -> 447 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JPopupMenu$1.classbin592 -> 592 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JPopupMenu$2.classbin639 -> 639 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JProgressBar$1.classbin780 -> 780 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JScrollBar$ScrollBarChangeListener.classbin1222 -> 1222 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JSlider$1.classbin750 -> 750 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JTable.classbin37074 -> 37074 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JTextField$1.classbin791 -> 791 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/JTextField$2.classbin1275 -> 1275 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/KeyboardManager.classbin4267 -> 4271 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/LookAndFeel$1.classbin900 -> 900 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/ProgressMonitor$1.classbin742 -> 742 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/Spring$1.classbin1114 -> 1114 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/Spring$2.classbin1218 -> 1218 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/Spring$3.classbin1218 -> 1218 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/Timer$1.classbin557 -> 557 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/UIDefaults$1.classbin1231 -> 1231 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/UIDefaults$2.classbin1328 -> 1328 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/UIDefaults$3.classbin1399 -> 1399 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/UIDefaults$4.classbin1497 -> 1497 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$1.classbin1434 -> 1434 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$2.classbin1077 -> 1077 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$ImageScrollListener.classbin1825 -> 1825 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel.classbin9940 -> 9964 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$1.classbin1175 -> 1175 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$2.classbin1175 -> 1175 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$1.classbin924 -> 924 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$1.classbin1758 -> 1758 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$2.classbin814 -> 814 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$1.classbin856 -> 856 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest.classbin2209 -> 2209 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread.classbin4426 -> 4397 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel.classbin5555 -> 5555 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction.classbin1186 -> 1186 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction.classbin1269 -> 1269 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicGraphicsUtils.classbin8270 -> 8286 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$1.classbin1221 -> 1221 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$2.classbin1188 -> 1188 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener.classbin5434 -> 5446 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI$1.classbin1068 -> 1068 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI.classbin9591 -> 9607 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$1.classbin968 -> 968 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$2.classbin961 -> 961 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$3.classbin966 -> 966 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$4.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$5.classbin1679 -> 1679 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$6.classbin1044 -> 1044 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$7.classbin964 -> 964 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI.classbin17650 -> 17650 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$1.classbin1347 -> 1347 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$2.classbin1411 -> 1411 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$3.classbin1428 -> 1428 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$4.classbin1304 -> 1304 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.classbin2482 -> 2391 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$1.classbin1190 -> 1190 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$2.classbin1191 -> 1191 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$3.classbin1190 -> 1190 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$4.classbin1191 -> 1191 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$5.classbin1122 -> 1122 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$6.classbin1122 -> 1122 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.classbin2170 -> 2087 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI.classbin16908 -> 16908 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$1.classbin1344 -> 1344 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$10.classbin1345 -> 1345 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$2.classbin1359 -> 1359 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$3.classbin1341 -> 1341 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$4.classbin1343 -> 1343 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$5.classbin1342 -> 1342 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$6.classbin1344 -> 1344 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$7.classbin1359 -> 1359 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$8.classbin1342 -> 1342 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$9.classbin1341 -> 1341 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$1.classbin1165 -> 1165 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$2.classbin1165 -> 1165 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$3.classbin1166 -> 1166 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$4.classbin1166 -> 1166 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$5.classbin1142 -> 1142 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$6.classbin1142 -> 1142 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$1.classbin1216 -> 1216 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$2.classbin1703 -> 1703 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$3.classbin784 -> 784 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$4.classbin1711 -> 1711 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$5.classbin784 -> 784 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$1.classbin855 -> 855 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$2.classbin977 -> 977 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$3.classbin985 -> 985 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$4.classbin985 -> 985 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$5.classbin1182 -> 1182 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$6.classbin1182 -> 1182 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$7.classbin855 -> 855 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$8.classbin855 -> 855 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.classbin1436 -> 1350 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.classbin4304 -> 4218 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler.classbin1145 -> 1145 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout.classbin10750 -> 10726 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.classbin6498 -> 6494 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI.classbin32391 -> 32391 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$1.classbin1270 -> 1270 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$MouseInputHandler.classbin3833 -> 3837 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$TableAction.classbin10390 -> 10390 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI.classbin17826 -> 17826 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$1.classbin1001 -> 1001 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.classbin3700 -> 3692 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI.classbin37357 -> 37357 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonUI.classbin4883 -> 4883 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI.classbin5760 -> 5745 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener.classbin5158 -> 5158 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI.classbin19114 -> 19094 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$1.classbin1188 -> 1188 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$2.classbin1192 -> 1192 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$3.classbin1221 -> 1221 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane.classbin6716 -> 6686 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI$1.classbin1205 -> 1205 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel$1.classbin964 -> 964 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/plaf/metal/MetalTreeUI.classbin4661 -> 4661 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/AbstractDocument$AbstractElement.classbin7344 -> 7344 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/BoxView.classbin13294 -> 13294 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/ComponentView$1.classbin1200 -> 1200 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/DefaultCaret.classbin14460 -> 14342 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/DefaultFormatter.classbin3600 -> 3595 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.classbin2482 -> 2482 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer.classbin18222 -> 18122 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/EmptyAttributeSet$1.classbin891 -> 891 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/FieldView$1.classbin813 -> 813 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/FieldView.classbin6350 -> 6350 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/FlowView.classbin4208 -> 4208 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/InternationalFormatter.classbin4035 -> 4108 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/PlainDocument.classbin6434 -> 6434 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/PlainView.classbin11887 -> 11887 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/StyleContext$1.classbin995 -> 995 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/TableView.classbin3893 -> 3893 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/WrappedPlainView.classbin8489 -> 8489 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/html/FormView$1.classbin1669 -> 1669 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/html/FormView$SubmitThread.classbin5515 -> 5515 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/html/HTMLDocument$1.classbin1541 -> 1541 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/html/HTMLDocument.classbin14693 -> 14688 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/html/ImageView$1.classbin842 -> 842 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/html/TableView.classbin12636 -> 12606 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/html/parser/AttributeList$1.classbin944 -> 944 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/html/parser/Element$1.classbin653 -> 653 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/html/parser/Entity$1.classbin783 -> 783 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/text/html/parser/Parser$1.classbin2671 -> 2671 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor.classbin9406 -> 9410 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/tree/DefaultTreeCellRenderer.classbin7754 -> 7754 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache$NodeRecord.classbin2443 -> 2443 bytes
-rw-r--r--libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.classbin1248 -> 1248 bytes
-rw-r--r--libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.classbin842 -> 842 bytes
-rw-r--r--libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.classbin786 -> 786 bytes
-rw-r--r--libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.classbin1067 -> 1067 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/ClassReader.classbin22143 -> 22143 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/MethodWriter.classbin20587 -> 20587 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapTableAttribute.classbin10016 -> 9987 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/commons/GeneratorAdapter.classbin18390 -> 18394 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.classbin4468 -> 4492 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassOptimizer.classbin4248 -> 4264 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.classbin1547 -> 1555 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.classbin4239 -> 4251 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodOptimizer.classbin2621 -> 2637 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/optimizer/NameMapping.classbin2533 -> 2504 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/tree/ClassNode.classbin4574 -> 4545 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.classbin1655 -> 1626 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode$1.classbin803 -> 803 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode.classbin8683 -> 8654 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/tree/TableSwitchInsnNode.classbin1401 -> 1372 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.classbin5974 -> 5974 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicVerifier.classbin7836 -> 7836 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Frame.classbin10023 -> 10023 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.classbin4833 -> 4833 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/util/CheckClassAdapter.classbin9728 -> 9732 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/util/CheckMethodAdapter.classbin13225 -> 13225 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/util/TraceClassVisitor.classbin9174 -> 9174 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationParameterRule.classbin1864 -> 1864 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OpcodesRule.classbin3114 -> 3114 bytes
-rw-r--r--libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$Rule.classbin4962 -> 4970 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$1.classbin828 -> 828 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$10.classbin801 -> 801 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$2.classbin828 -> 828 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$3.classbin828 -> 828 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$4.classbin973 -> 973 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$5.classbin974 -> 974 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$6.classbin915 -> 915 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$7.classbin1067 -> 1067 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$8.classbin831 -> 831 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$9.classbin799 -> 799 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletWindow$1.classbin1119 -> 1119 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$1.classbin1028 -> 1028 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$2.classbin983 -> 983 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$1.classbin891 -> 891 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$2.classbin705 -> 705 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.classbin27211 -> 27182 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.classbin1205 -> 1205 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.classbin1207 -> 1207 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.classbin1401 -> 1401 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.classbin79930 -> 79930 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$1.classbin935 -> 935 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver.classbin51864 -> 52598 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.classbin14435 -> 14435 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$1.classbin1061 -> 1061 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$2.classbin1119 -> 1119 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$3.classbin904 -> 904 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/AbstractTagImpl.classbin2825 -> 2825 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.classbin25782 -> 25782 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ConstructorDocImpl.classbin753 -> 757 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.classbin19116 -> 19116 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.classbin8266 -> 8266 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.classbin825 -> 825 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.classbin1221 -> 1221 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.classbin1728 -> 1728 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.classbin1799 -> 1799 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.classbin1800 -> 1800 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.classbin1002 -> 1002 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.classbin924 -> 924 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.classbin1715 -> 1715 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.classbin828 -> 828 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.classbin767 -> 767 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.classbin1382 -> 1382 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.classbin1401 -> 1401 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.classbin767 -> 767 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.classbin767 -> 767 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.classbin767 -> 767 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.classbin806 -> 806 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.classbin825 -> 825 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.classbin825 -> 825 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.classbin806 -> 806 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.classbin29338 -> 29338 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.classbin5798 -> 5798 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.classbin1669 -> 1669 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.classbin13190 -> 13190 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet$1.classbin900 -> 900 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.classbin1711 -> 1711 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.classbin2769 -> 2769 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.classbin2071 -> 2071 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.classbin1593 -> 1593 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.classbin1928 -> 1928 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.classbin1691 -> 1691 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/JavaLexer.classbin27024 -> 27040 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/JavaRecognizer.classbin22370 -> 22390 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jar/Creator.classbin6001 -> 7270 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$1.classbin977 -> 977 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$2.classbin916 -> 916 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$3.classbin912 -> 912 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$4.classbin917 -> 917 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$5.classbin1027 -> 1027 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$6.classbin979 -> 979 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$7.classbin923 -> 923 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/JarVerifier.classbin9461 -> 9461 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$1.classbin1187 -> 1187 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$10.classbin1136 -> 1136 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$11.classbin1138 -> 1138 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$12.classbin1201 -> 1201 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$2.classbin1188 -> 1188 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$3.classbin1192 -> 1192 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$4.classbin1190 -> 1190 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$5.classbin1193 -> 1193 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$6.classbin1199 -> 1199 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$7.classbin1130 -> 1130 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$8.classbin1129 -> 1129 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$9.classbin1131 -> 1131 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/SFHelper.classbin11445 -> 11445 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml.classbin26685 -> 26673 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$1.classbin1195 -> 1195 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$2.classbin1195 -> 1195 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$3.classbin1195 -> 1195 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$4.classbin1195 -> 1195 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$5.classbin990 -> 990 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$6.classbin928 -> 928 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$7.classbin928 -> 928 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$8.classbin928 -> 928 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$9.classbin928 -> 928 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$1.classbin1002 -> 1002 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$10.classbin941 -> 941 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$2.classbin1119 -> 1119 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$3.classbin1124 -> 1124 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$4.classbin1007 -> 1007 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$5.classbin1069 -> 1069 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$6.classbin939 -> 939 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$7.classbin1064 -> 1064 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$8.classbin1064 -> 1064 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$9.classbin973 -> 973 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.classbin10936 -> 10907 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$1.classbin939 -> 939 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$2.classbin1104 -> 1104 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$3.classbin1104 -> 1104 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$4.classbin1103 -> 1103 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$5.classbin1108 -> 1108 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$6.classbin1107 -> 1107 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.classbin3382 -> 3353 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$1.classbin1036 -> 1036 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$2.classbin1030 -> 1030 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$3.classbin1029 -> 1029 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$4.classbin1034 -> 1034 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$5.classbin1041 -> 1041 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$6.classbin972 -> 972 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd.classbin6606 -> 6606 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$1.classbin1035 -> 1035 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$10.classbin987 -> 987 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$2.classbin1042 -> 1042 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$3.classbin1045 -> 1045 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$4.classbin1038 -> 1038 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$5.classbin1036 -> 1036 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$6.classbin1035 -> 1035 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$7.classbin1040 -> 1040 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$8.classbin1047 -> 1047 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$9.classbin978 -> 978 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd.classbin10372 -> 10372 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Command.classbin19742 -> 19742 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$1.classbin1029 -> 1029 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$2.classbin1030 -> 1030 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$3.classbin1029 -> 1029 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$4.classbin1034 -> 1034 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$5.classbin1041 -> 1041 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$6.classbin972 -> 972 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$1.classbin1029 -> 1029 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$2.classbin1036 -> 1036 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$3.classbin1030 -> 1030 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$4.classbin1029 -> 1029 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$5.classbin1034 -> 1034 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$6.classbin1041 -> 1041 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$7.classbin968 -> 968 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$8.classbin972 -> 972 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$1.classbin1029 -> 1029 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$10.classbin1036 -> 1036 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$11.classbin1043 -> 1043 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$12.classbin974 -> 974 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$2.classbin1036 -> 1036 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$3.classbin1034 -> 1034 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$4.classbin1036 -> 1036 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$5.classbin1029 -> 1029 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$6.classbin1032 -> 1032 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$7.classbin1035 -> 1035 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$8.classbin1030 -> 1030 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$9.classbin1029 -> 1029 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$1.classbin1059 -> 1059 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$2.classbin1054 -> 1054 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$3.classbin1053 -> 1053 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$4.classbin1058 -> 1058 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$5.classbin1065 -> 1065 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$6.classbin996 -> 996 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$1.classbin1029 -> 1029 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$10.classbin974 -> 974 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$2.classbin1036 -> 1036 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$3.classbin1032 -> 1032 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$4.classbin973 -> 973 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$5.classbin977 -> 977 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$6.classbin1030 -> 1030 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$7.classbin1029 -> 1029 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$8.classbin1034 -> 1034 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$9.classbin1041 -> 1041 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd.classbin17528 -> 17528 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$1.classbin1041 -> 1041 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$2.classbin1045 -> 1045 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$3.classbin1044 -> 1044 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$4.classbin1047 -> 1047 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$5.classbin1042 -> 1042 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$6.classbin1041 -> 1041 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$7.classbin1046 -> 1046 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$8.classbin1053 -> 1053 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$9.classbin984 -> 984 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$1.classbin1047 -> 1047 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$2.classbin1050 -> 1050 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$3.classbin1053 -> 1053 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$4.classbin1048 -> 1048 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$5.classbin1047 -> 1047 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$6.classbin1052 -> 1052 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$7.classbin1059 -> 1059 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$8.classbin990 -> 990 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$1.classbin1017 -> 1017 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$2.classbin1018 -> 1018 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$3.classbin1017 -> 1017 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$4.classbin1022 -> 1022 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$5.classbin1029 -> 1029 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$6.classbin960 -> 960 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$7.classbin956 -> 956 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd.classbin8706 -> 8706 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main.classbin8838 -> 8838 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$1.classbin1054 -> 1054 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$2.classbin990 -> 990 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$1.classbin1041 -> 1041 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$10.classbin986 -> 986 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$2.classbin1048 -> 1048 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$3.classbin1041 -> 1041 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$4.classbin1044 -> 1044 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$5.classbin1047 -> 1047 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$6.classbin1042 -> 1042 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$7.classbin1041 -> 1041 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$8.classbin1046 -> 1046 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$9.classbin1053 -> 1053 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$1.classbin1065 -> 1065 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$2.classbin1060 -> 1060 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$3.classbin1059 -> 1059 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$4.classbin1064 -> 1064 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$5.classbin1071 -> 1071 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$6.classbin1002 -> 1002 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$1.classbin1264 -> 1264 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$2.classbin1019 -> 1019 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$3.classbin1019 -> 1019 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.classbin1106 -> 1106 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.classbin1052 -> 1052 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.classbin1048 -> 1048 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.classbin721 -> 721 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.classbin30522 -> 30526 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.classbin2904 -> 2901 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.classbin971 -> 971 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.classbin900 -> 900 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.classbin971 -> 971 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.classbin971 -> 971 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.classbin971 -> 971 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.classbin1039 -> 1039 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.classbin972 -> 972 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.classbin1039 -> 1039 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.classbin900 -> 900 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.classbin1048 -> 1048 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.classbin1048 -> 1048 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.classbin960 -> 960 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.classbin960 -> 960 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$1.classbin1084 -> 1084 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$2.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$3.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$4.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$5.classbin1048 -> 1048 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$6.classbin983 -> 983 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$1.classbin1011 -> 1011 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$2.classbin1011 -> 1011 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$3.classbin1011 -> 1011 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$4.classbin1090 -> 1090 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$5.classbin965 -> 965 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$6.classbin883 -> 883 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl.classbin2984 -> 2955 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.classbin1171 -> 1171 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.classbin1197 -> 1197 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.classbin950 -> 950 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$1.classbin1136 -> 1136 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$2.classbin1082 -> 1082 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$1.classbin1109 -> 1109 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$2.classbin1109 -> 1109 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$3.classbin1073 -> 1073 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$4.classbin1086 -> 1086 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze.classbin10680 -> 10680 bytes
-rw-r--r--libstdc++-v3/ChangeLog65
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver22
-rwxr-xr-xlibstdc++-v3/configure44
-rw-r--r--libstdc++-v3/doc/html/api.html16
-rw-r--r--libstdc++-v3/doc/html/bk02.html2
-rw-r--r--libstdc++-v3/doc/html/bk03.html2
-rw-r--r--libstdc++-v3/doc/html/faq.html122
-rw-r--r--libstdc++-v3/doc/html/manual/abi.html90
-rw-r--r--libstdc++-v3/doc/html/manual/algorithms.html8
-rw-r--r--libstdc++-v3/doc/html/manual/api.html117
-rw-r--r--libstdc++-v3/doc/html/manual/appendix_contributing.html40
-rw-r--r--libstdc++-v3/doc/html/manual/appendix_free.html8
-rw-r--r--libstdc++-v3/doc/html/manual/appendix_gfdl.html34
-rw-r--r--libstdc++-v3/doc/html/manual/appendix_gpl.html40
-rw-r--r--libstdc++-v3/doc/html/manual/appendix_porting.html30
-rw-r--r--libstdc++-v3/doc/html/manual/associative.html28
-rw-r--r--libstdc++-v3/doc/html/manual/auto_ptr.html6
-rw-r--r--libstdc++-v3/doc/html/manual/backwards.html86
-rw-r--r--libstdc++-v3/doc/html/manual/bitmap_allocator.html64
-rw-r--r--libstdc++-v3/doc/html/manual/bitset.html20
-rw-r--r--libstdc++-v3/doc/html/manual/bk01ix01.html7
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt02ch04s02.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt02ch04s03.html4
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt02pr01.html4
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt03ch07s02.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt03ch08.html6
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt05ch13.html4
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt05ch13s02.html6
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt05ch13s03.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt05ch13s04.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt05ch13s05.html4
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt05ch13s06.html16
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt08ch19.html6
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt08ch19s02.html8
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt09ch20.html4
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt09pr02.html8
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt10ch23s02.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt11ch25s02.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt11ch27s02.html16
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt11ch28s02.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch30s02.html4
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch30s03.html10
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch30s04.html70
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch31s02.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch31s03.html8
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch31s04.html14
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch31s05.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch32s02.html26
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch32s03.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch32s04.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch32s05.html12
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch32s06.html18
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch32s07.html302
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch34s02.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch34s03.html4
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch41s02.html8
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12ch41s03.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt12pr03.html8
-rw-r--r--libstdc++-v3/doc/html/manual/bugs.html24
-rw-r--r--libstdc++-v3/doc/html/manual/codecvt.html70
-rw-r--r--libstdc++-v3/doc/html/manual/complex.html6
-rw-r--r--libstdc++-v3/doc/html/manual/configure.html2
-rw-r--r--libstdc++-v3/doc/html/manual/containers.html6
-rw-r--r--libstdc++-v3/doc/html/manual/containers_and_c.html6
-rw-r--r--libstdc++-v3/doc/html/manual/debug.html18
-rw-r--r--libstdc++-v3/doc/html/manual/debug_mode.html8
-rw-r--r--libstdc++-v3/doc/html/manual/diagnostics.html6
-rw-r--r--libstdc++-v3/doc/html/manual/documentation_style.html36
-rw-r--r--libstdc++-v3/doc/html/manual/dynamic_memory.html18
-rw-r--r--libstdc++-v3/doc/html/manual/exceptions.html4
-rw-r--r--libstdc++-v3/doc/html/manual/ext_algorithms.html6
-rw-r--r--libstdc++-v3/doc/html/manual/ext_allocators.html20
-rw-r--r--libstdc++-v3/doc/html/manual/ext_compile_checks.html6
-rw-r--r--libstdc++-v3/doc/html/manual/ext_concurrency.html20
-rw-r--r--libstdc++-v3/doc/html/manual/ext_containers.html6
-rw-r--r--libstdc++-v3/doc/html/manual/ext_demangling.html6
-rw-r--r--libstdc++-v3/doc/html/manual/ext_io.html18
-rw-r--r--libstdc++-v3/doc/html/manual/ext_iterators.html6
-rw-r--r--libstdc++-v3/doc/html/manual/ext_numerics.html4
-rw-r--r--libstdc++-v3/doc/html/manual/ext_utilities.html16
-rw-r--r--libstdc++-v3/doc/html/manual/extensions.html6
-rw-r--r--libstdc++-v3/doc/html/manual/facets.html34
-rw-r--r--libstdc++-v3/doc/html/manual/fstreams.html4
-rw-r--r--libstdc++-v3/doc/html/manual/functors.html4
-rw-r--r--libstdc++-v3/doc/html/manual/fundamental_types.html32
-rw-r--r--libstdc++-v3/doc/html/manual/generalized_numeric_operations.html6
-rw-r--r--libstdc++-v3/doc/html/manual/internals.html16
-rw-r--r--libstdc++-v3/doc/html/manual/intro.html8
-rw-r--r--libstdc++-v3/doc/html/manual/io.html6
-rw-r--r--libstdc++-v3/doc/html/manual/io_and_c.html4
-rw-r--r--libstdc++-v3/doc/html/manual/iostream_objects.html4
-rw-r--r--libstdc++-v3/doc/html/manual/iterators.html6
-rw-r--r--libstdc++-v3/doc/html/manual/license.html8
-rw-r--r--libstdc++-v3/doc/html/manual/locales.html38
-rw-r--r--libstdc++-v3/doc/html/manual/localization.html6
-rw-r--r--libstdc++-v3/doc/html/manual/make.html2
-rw-r--r--libstdc++-v3/doc/html/manual/memory.html68
-rw-r--r--libstdc++-v3/doc/html/manual/messages.html62
-rw-r--r--libstdc++-v3/doc/html/manual/numerics.html6
-rw-r--r--libstdc++-v3/doc/html/manual/numerics_and_c.html4
-rw-r--r--libstdc++-v3/doc/html/manual/pairs.html4
-rw-r--r--libstdc++-v3/doc/html/manual/parallel_mode.html12
-rw-r--r--libstdc++-v3/doc/html/manual/profile_mode.html44
-rw-r--r--libstdc++-v3/doc/html/manual/sequences.html10
-rw-r--r--libstdc++-v3/doc/html/manual/setup.html16
-rw-r--r--libstdc++-v3/doc/html/manual/shared_ptr.html36
-rw-r--r--libstdc++-v3/doc/html/manual/source_code_style.html12
-rw-r--r--libstdc++-v3/doc/html/manual/source_design_notes.html4
-rw-r--r--libstdc++-v3/doc/html/manual/source_organization.html4
-rw-r--r--libstdc++-v3/doc/html/manual/spine.html14
-rw-r--r--libstdc++-v3/doc/html/manual/status.html50
-rw-r--r--libstdc++-v3/doc/html/manual/streambufs.html4
-rw-r--r--libstdc++-v3/doc/html/manual/strings.html6
-rw-r--r--libstdc++-v3/doc/html/manual/stringstreams.html4
-rw-r--r--libstdc++-v3/doc/html/manual/support.html6
-rw-r--r--libstdc++-v3/doc/html/manual/termination.html12
-rw-r--r--libstdc++-v3/doc/html/manual/test.html254
-rw-r--r--libstdc++-v3/doc/html/manual/traits.html4
-rw-r--r--libstdc++-v3/doc/html/manual/using.html16
-rw-r--r--libstdc++-v3/doc/html/manual/using_concurrency.html28
-rw-r--r--libstdc++-v3/doc/html/manual/using_exceptions.html42
-rw-r--r--libstdc++-v3/doc/html/manual/using_headers.html24
-rw-r--r--libstdc++-v3/doc/html/manual/using_macros.html4
-rw-r--r--libstdc++-v3/doc/html/manual/using_namespaces.html16
-rw-r--r--libstdc++-v3/doc/html/manual/utilities.html6
-rw-r--r--libstdc++-v3/doc/html/manual/vector.html4
-rw-r--r--libstdc++-v3/doc/html/manual/verbose_termination.html6
-rw-r--r--libstdc++-v3/doc/html/spine.html10
-rw-r--r--libstdc++-v3/doc/xml/manual/evolution.xml156
-rw-r--r--libstdc++-v3/doc/xml/manual/prerequisites.xml3
-rw-r--r--libstdc++-v3/include/bits/locale_facets_nonio.h11
-rw-r--r--libstdc++-v3/include/bits/locale_facets_nonio.tcc171
-rwxr-xr-xlibstdc++-v3/scripts/check_performance2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc64
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc64
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/6.cc89
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc92
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc86
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc100
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/6.cc87
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc89
-rw-r--r--libstdc++-v3/testsuite/lib/libstdc++.exp5
-rw-r--r--libstdc++-v3/testsuite/performance/30_threads/future/polling.cc4
1151 files changed, 6701 insertions, 3559 deletions
diff --git a/ChangeLog b/ChangeLog
index b346eeb8b0b..b31cdaffad7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2010-01-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+ Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR bootstrap/42424
+ * configure.ac: Include libtool m4 files.
+ (_LT_CHECK_OBJDIR): Call it.
+ (extra_mpc_mpfr_configure_flags, extra_mpc_gmp_configure_flags,
+ gmplibs, ppllibs, clooglibs): Use $lt_cv_objdir.
+
+ * configure: Regenerate.
+
+2010-01-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR bootstrap/41818
+ * Makefile.tpl (BASE_TARGET_EXPORTS): Only add TARGET_LIB_PATH
+ to $(RPATH_ENVVAR) if bootstrapping. Fix typo in comment.
+ * Makefile.in: Regenerate.
+
2010-01-02 Richard Guenther <rguenther@suse.de>
PR lto/41529
diff --git a/ChangeLog.MELT b/ChangeLog.MELT
index 30d7bc8a052..5ade724895c 100644
--- a/ChangeLog.MELT
+++ b/ChangeLog.MELT
@@ -1,4 +1,9 @@
+2010-01-08 Basile Starynkevitch <basile@starynkevitch.net>
+
+ MELT branch merged with trunk rev 155725
+ {{also coded a bit the infix parser in gcc/melt/ etc..}}
+
2010-01-04 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 155603
diff --git a/Makefile.in b/Makefile.in
index 4f1288ccc4e..a86eb5db9f3 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -261,7 +261,7 @@ TARGET_SUBDIR = @target_subdir@
# directories built for the target.
TARGET_CONFIGARGS = @target_configargs@ --with-target-subdir="$(TARGET_SUBDIR)"
# This is the list of variables to export in the environment when
-# configuring subdirectories for the host system.
+# configuring subdirectories for the target system.
BASE_TARGET_EXPORTS = \
$(BASE_EXPORTS) \
AR="$(AR_FOR_TARGET)"; export AR; \
@@ -283,7 +283,10 @@ BASE_TARGET_EXPORTS = \
STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \
- $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
+@if gcc-bootstrap
+ $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
+@endif gcc-bootstrap
+ $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
RAW_CXX_TARGET_EXPORTS = \
$(BASE_TARGET_EXPORTS) \
diff --git a/Makefile.tpl b/Makefile.tpl
index 6449e8d30ce..c7f15f09463 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -264,7 +264,7 @@ TARGET_SUBDIR = @target_subdir@
# directories built for the target.
TARGET_CONFIGARGS = @target_configargs@ --with-target-subdir="$(TARGET_SUBDIR)"
# This is the list of variables to export in the environment when
-# configuring subdirectories for the host system.
+# configuring subdirectories for the target system.
BASE_TARGET_EXPORTS = \
$(BASE_EXPORTS) \
AR="$(AR_FOR_TARGET)"; export AR; \
@@ -286,7 +286,10 @@ BASE_TARGET_EXPORTS = \
STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \
- $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
+@if gcc-bootstrap
+ $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
+@endif gcc-bootstrap
+ $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
RAW_CXX_TARGET_EXPORTS = \
$(BASE_TARGET_EXPORTS) \
diff --git a/config/ChangeLog b/config/ChangeLog
index a881349ba84..b6f0c2dc324 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,8 @@
+2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * stdint.m4 (GCC_HEADER_STDINT): Don't typedef uint8_t etc. if
+ corresponding macros already exist.
+
2010-01-02 Richard Guenther <rguenther@suse.de>
PR lto/41529
diff --git a/config/stdint.m4 b/config/stdint.m4
index b26b4fc266d..d63081d07e2 100644
--- a/config/stdint.m4
+++ b/config/stdint.m4
@@ -234,49 +234,61 @@ if test "$acx_cv_header_stdint" = stddef.h; then
#define _UINT8_T
#ifndef __uint8_t_defined
#define __uint8_t_defined
+ #ifndef uint8_t
typedef unsigned $acx_cv_type_int8_t uint8_t;
#endif
#endif
+ #endif
#ifndef _UINT16_T
#define _UINT16_T
#ifndef __uint16_t_defined
#define __uint16_t_defined
+ #ifndef uint16_t
typedef unsigned $acx_cv_type_int16_t uint16_t;
#endif
#endif
+ #endif
#ifndef _UINT32_T
#define _UINT32_T
#ifndef __uint32_t_defined
#define __uint32_t_defined
+ #ifndef uint32_t
typedef unsigned $acx_cv_type_int32_t uint32_t;
#endif
#endif
+ #endif
#ifndef _INT8_T
#define _INT8_T
#ifndef __int8_t_defined
#define __int8_t_defined
+ #ifndef int8_t
typedef $acx_cv_type_int8_t int8_t;
#endif
#endif
+ #endif
#ifndef _INT16_T
#define _INT16_T
#ifndef __int16_t_defined
#define __int16_t_defined
+ #ifndef int16_t
typedef $acx_cv_type_int16_t int16_t;
#endif
#endif
+ #endif
#ifndef _INT32_T
#define _INT32_T
#ifndef __int32_t_defined
#define __int32_t_defined
+ #ifndef int32_t
typedef $acx_cv_type_int32_t int32_t;
#endif
#endif
+ #endif
EOF
elif test "$ac_cv_type_u_int32_t" = yes; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -296,25 +308,31 @@ elif test "$ac_cv_type_u_int32_t" = yes; then
#define _UINT8_T
#ifndef __uint8_t_defined
#define __uint8_t_defined
+ #ifndef uint8_t
typedef u_int8_t uint8_t;
#endif
#endif
+ #endif
#ifndef _UINT16_T
#define _UINT16_T
#ifndef __uint16_t_defined
#define __uint16_t_defined
+ #ifndef uint16_t
typedef u_int16_t uint16_t;
#endif
#endif
+ #endif
#ifndef _UINT32_T
#define _UINT32_T
#ifndef __uint32_t_defined
#define __uint32_t_defined
+ #ifndef uint32_t
typedef u_int32_t uint32_t;
#endif
#endif
+ #endif
EOF
else
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -364,9 +382,11 @@ elif test "$ac_cv_type_u_int64_t" = yes; then
#define _UINT64_T
#ifndef __uint64_t_defined
#define __uint64_t_defined
+ #ifndef uint64_t
typedef u_int64_t uint64_t;
#endif
#endif
+ #endif
EOF
elif test -n "$acx_cv_type_int64_t"; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -374,15 +394,19 @@ elif test -n "$acx_cv_type_int64_t"; then
/* architecture has a 64-bit type, $acx_cv_type_int64_t */
#ifndef _INT64_T
#define _INT64_T
+ #ifndef int64_t
typedef $acx_cv_type_int64_t int64_t;
#endif
+ #endif
#ifndef _UINT64_T
#define _UINT64_T
#ifndef __uint64_t_defined
#define __uint64_t_defined
+ #ifndef uint64_t
typedef unsigned $acx_cv_type_int64_t uint64_t;
#endif
#endif
+ #endif
EOF
else
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -392,13 +416,17 @@ else
#ifndef _INT64_T
#define _INT64_T
#ifndef __int64_t_defined
+ #ifndef int64_t
typedef long long int64_t;
#endif
#endif
+ #endif
#ifndef _UINT64_T
#define _UINT64_T
+ #ifndef uint64_t
typedef unsigned long long uint64_t;
#endif
+ #endif
#elif defined __GNUC__ && defined (__STDC__) && __STDC__-0
/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
@@ -410,24 +438,32 @@ else
# ifndef _INT64_T
# define _INT64_T
+ # ifndef int64_t
__extension__ typedef long long int64_t;
# endif
+ # endif
# ifndef _UINT64_T
# define _UINT64_T
+ # ifndef uint64_t
__extension__ typedef unsigned long long uint64_t;
# endif
+ # endif
#elif !defined __STRICT_ANSI__
# if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
# ifndef _INT64_T
# define _INT64_T
+ # ifndef int64_t
typedef __int64 int64_t;
# endif
+ # endif
# ifndef _UINT64_T
# define _UINT64_T
+ # ifndef uint64_t
typedef unsigned __int64 uint64_t;
# endif
+ # endif
# endif /* compiler */
#endif /* ANSI version */
@@ -440,11 +476,15 @@ if test "$ac_cv_type_uintptr_t" != yes; then
/* Define intptr_t based on sizeof(void*) = $ac_cv_sizeof_void_p */
#ifndef __uintptr_t_defined
+ #ifndef uintptr_t
typedef u$acx_cv_type_intptr_t uintptr_t;
#endif
+ #endif
#ifndef __intptr_t_defined
+ #ifndef intptr_t
typedef $acx_cv_type_intptr_t intptr_t;
#endif
+ #endif
EOF
fi
@@ -496,16 +536,20 @@ if test "$ac_cv_type_uintmax_t" != yes; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
/* Define intmax based on what we found */
+ #ifndef intmax_t
#ifdef _INT64_T
typedef int64_t intmax_t;
#else
typedef long intmax_t;
#endif
+ #endif
+ #ifndef uintmax_t
#ifdef _UINT64_T
typedef uint64_t uintmax_t;
#else
typedef unsigned long uintmax_t;
#endif
+ #endif
EOF
fi
diff --git a/configure b/configure
index cc9f3762515..896dc0d8d0b 100755
--- a/configure
+++ b/configure
@@ -5290,6 +5290,36 @@ else
fi
+# Used for setting $lt_cv_objdir
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if test "${lt_cv_objdir+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
# Check for GMP, MPFR and MPC
gmplibs="-lmpc -lmpfr -lgmp"
gmpinc=
@@ -5327,7 +5357,7 @@ if test "x$with_mpc_lib" != x; then
gmplibs="-L$with_mpc_lib $gmplibs"
fi
if test "x$with_mpc$with_mpc_include$with_mpc_lib" = x && test -d ${srcdir}/mpc; then
- gmplibs='-L$$r/$(HOST_SUBDIR)/mpc/src/.libs -L$$r/$(HOST_SUBDIR)/mpc/src/_libs '"$gmplibs"
+ gmplibs='-L$$r/$(HOST_SUBDIR)/mpc/src/'"$lt_cv_objdir $gmplibs"
gmpinc='-I$$s/mpc/src '"$gmpinc"
# Do not test the mpc version. Assume that it is sufficient, since
# it is in the source tree, and the library has not been built yet
@@ -5376,9 +5406,9 @@ if test "x$with_mpfr_lib" != x; then
gmplibs="-L$with_mpfr_lib $gmplibs"
fi
if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
- gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/.libs -L$$r/$(HOST_SUBDIR)/mpfr/_libs '"$gmplibs"
+ gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
- extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr'
+ extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
# Do not test the mpfr version. Assume that it is sufficient, since
# it is in the source tree, and the library has not been built yet
# but it would be included on the link line in the version check below
@@ -5426,10 +5456,10 @@ if test "x$with_gmp_lib" != x; then
gmplibs="-L$with_gmp_lib $gmplibs"
fi
if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
- gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/gmp/_libs '"$gmplibs"
+ gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir $gmplibs"
gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp'
- extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp'
+ extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
# Do not test the gmp version. Assume that it is sufficient, since
# it is in the source tree, and the library has not been built yet
# but it would be included on the link line in the version check below
@@ -5743,7 +5773,7 @@ if test "x$with_ppl_lib" != x; then
ppllibs="-L$with_ppl_lib -lppl_c -lppl -lgmpxx"
fi
if test "x$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
- ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/.libs -L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/_libs -L$$r/$(HOST_SUBDIR)/ppl/src/.libs -L$$r/$(HOST_SUBDIR)/ppl/src/_libs -lppl_c -lppl -lgmpxx '
+ ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"' -lppl_c -lppl -lgmpxx '
pplinc='-I$$r/$(HOST_SUBDIR)/ppl/src -I$$r/$(HOST_SUBDIR)/ppl/interfaces/C '
enable_ppl_version_check=no
fi
@@ -5839,7 +5869,7 @@ if test "x$with_cloog_lib" != x; then
clooglibs="-L$with_cloog_lib -lcloog"
fi
if test "x$with_cloog$with_cloog_include$with_cloog_lib" = x && test -d ${srcdir}/cloog; then
- clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/.libs -L$$r/$(HOST_SUBDIR)/cloog/_libs -lcloog '
+ clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' -lcloog '
clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include -DCLOOG_PPL_BACKEND '
enable_cloog_version_check=no
fi
diff --git a/configure.ac b/configure.ac
index 5e933d3041c..c70c96a200b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,6 +23,11 @@ m4_include(config/acx.m4)
m4_include(config/override.m4)
m4_include(config/proginstall.m4)
m4_include(config/elf.m4)
+m4_include([libtool.m4])
+m4_include([ltoptions.m4])
+m4_include([ltsugar.m4])
+m4_include([ltversion.m4])
+m4_include([lt~obsolete.m4])
AC_INIT(move-if-change)
AC_PREREQ(2.64)
@@ -1228,6 +1233,9 @@ AC_ARG_ENABLE(build-with-cxx,
ENABLE_BUILD_WITH_CXX=$enableval,
ENABLE_BUILD_WITH_CXX=no)
+# Used for setting $lt_cv_objdir
+_LT_CHECK_OBJDIR
+
# Check for GMP, MPFR and MPC
gmplibs="-lmpc -lmpfr -lgmp"
gmpinc=
@@ -1253,7 +1261,7 @@ if test "x$with_mpc_lib" != x; then
gmplibs="-L$with_mpc_lib $gmplibs"
fi
if test "x$with_mpc$with_mpc_include$with_mpc_lib" = x && test -d ${srcdir}/mpc; then
- gmplibs='-L$$r/$(HOST_SUBDIR)/mpc/src/.libs -L$$r/$(HOST_SUBDIR)/mpc/src/_libs '"$gmplibs"
+ gmplibs='-L$$r/$(HOST_SUBDIR)/mpc/src/'"$lt_cv_objdir $gmplibs"
gmpinc='-I$$s/mpc/src '"$gmpinc"
# Do not test the mpc version. Assume that it is sufficient, since
# it is in the source tree, and the library has not been built yet
@@ -1286,9 +1294,9 @@ if test "x$with_mpfr_lib" != x; then
gmplibs="-L$with_mpfr_lib $gmplibs"
fi
if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
- gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/.libs -L$$r/$(HOST_SUBDIR)/mpfr/_libs '"$gmplibs"
+ gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
- extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr'
+ extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
# Do not test the mpfr version. Assume that it is sufficient, since
# it is in the source tree, and the library has not been built yet
# but it would be included on the link line in the version check below
@@ -1319,10 +1327,10 @@ if test "x$with_gmp_lib" != x; then
gmplibs="-L$with_gmp_lib $gmplibs"
fi
if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
- gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/gmp/_libs '"$gmplibs"
+ gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir $gmplibs"
gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp'
- extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp'
+ extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
# Do not test the gmp version. Assume that it is sufficient, since
# it is in the source tree, and the library has not been built yet
# but it would be included on the link line in the version check below
@@ -1510,7 +1518,7 @@ if test "x$with_ppl_lib" != x; then
ppllibs="-L$with_ppl_lib -lppl_c -lppl -lgmpxx"
fi
if test "x$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
- ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/.libs -L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/_libs -L$$r/$(HOST_SUBDIR)/ppl/src/.libs -L$$r/$(HOST_SUBDIR)/ppl/src/_libs -lppl_c -lppl -lgmpxx '
+ ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"' -lppl_c -lppl -lgmpxx '
pplinc='-I$$r/$(HOST_SUBDIR)/ppl/src -I$$r/$(HOST_SUBDIR)/ppl/interfaces/C '
enable_ppl_version_check=no
fi
@@ -1571,7 +1579,7 @@ if test "x$with_cloog_lib" != x; then
clooglibs="-L$with_cloog_lib -lcloog"
fi
if test "x$with_cloog$with_cloog_include$with_cloog_lib" = x && test -d ${srcdir}/cloog; then
- clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/.libs -L$$r/$(HOST_SUBDIR)/cloog/_libs -lcloog '
+ clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' -lcloog '
clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include -DCLOOG_PPL_BACKEND '
enable_cloog_version_check=no
fi
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 2dc5d3af5ad..cd6fba61526 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,7 @@
+2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * dg-extract-results.sh: Don't use tail -n.
+
2009-10-03 H.J. Lu <hongjiu.lu@intel.com>
Richard Guenther <rguenther@suse.de>
diff --git a/contrib/dg-extract-results.sh b/contrib/dg-extract-results.sh
index 518c19f6bee..0014b436a78 100755
--- a/contrib/dg-extract-results.sh
+++ b/contrib/dg-extract-results.sh
@@ -6,7 +6,7 @@
# The resulting file can be used with test result comparison scripts for
# results from tests that were run in parallel. See usage() below.
-# Copyright (C) 2008, 2009 Free Software Foundation
+# Copyright (C) 2008, 2009, 2010 Free Software Foundation
# Contributed by Janis Johnson <janis187@us.ibm.com>
#
# This file is part of GCC.
@@ -418,6 +418,6 @@ cat ${TMP}/var-* | $AWK -f $TOTAL_AWK
# This is ugly, but if there's version output from the compiler under test
# at the end of the file, we want it. The other thing that might be there
# is the final summary counts.
-tail -n 2 $FIRST_SUM | grep -q '^#' || tail -n 2 $FIRST_SUM
+tail -2 $FIRST_SUM | grep -q '^#' || tail -2 $FIRST_SUM
exit 0
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c7e8c96348f..45f91b98cb2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,320 @@
+2010-01-07 Richard Guenther <rguenther@suse.de>
+
+ * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
+ (gimple_op): Likewise.
+ (gimple_op_ptr): Likewise.
+ (gimple_assign_set_lhs): Remove gcc_assert.
+ (gimple_assign_set_rhs1): Likewise.
+ (gimple_assign_set_rhs2): Likewise.
+ (gimple_call_set_lhs): Likewise.
+ (gimple_call_set_fn): Likewise.
+ (gimple_call_set_fndecl): Likewise.
+ (gimple_call_fndecl): Likewise.
+ (gimple_call_return_type): Likewise.
+ (gimple_call_set_chain): Likewise.
+ (gimple_call_num_args): Likewise.
+ (gimple_call_set_arg): Likewise.
+ (gimple_cond_set_code): Likewise.
+ (gimple_cond_set_lhs): Likewise.
+ (gimple_cond_set_rhs): Likewise.
+ (gimple_cond_set_true_label): Likewise.
+ (gimple_cond_set_false_label): Likewise.
+ (gimple_label_set_label): Likewise.
+ (gimple_goto_set_dest): Likewise.
+ (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
+ (gimple_debug_bind_get_value): Likewise.
+ (gimple_debug_bind_get_value_ptr): Likewise.
+ (gimple_debug_bind_set_var): Likewise.
+ (gimple_debug_bind_set_value): Likewise.
+ (gimple_debug_bind_reset_value): Likewise.
+ (gimple_debug_bind_has_value_p): Likewise.
+ (gimple_return_retval_ptr): Remove gcc_assert.
+ (gimple_return_retval): Likewise.
+ (gimple_return_set_retval): Likewise.
+ * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
+ (safe_referenced_var_iterator): Remove.
+ (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
+ * tree-flow-inline.h (gimple_nonlocal_all): Remove.
+ (fill_referenced_var_vec): Remove.
+ (first_readonly_imm_use): Remove redundant gcc_assert.
+ (phi_arg_index_from_use): Combine gcc_asserts.
+ (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
+ (first_imm_use_stmt): Remove redundant gcc_assert.
+ * tree-cfg.c (verify_gimple_call): Verify function and chain
+ operands. Verify arguments.
+ (verify_types_in_gimple_stmt): Verify condition code and labels.
+
+2010-01-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42641
+ * sese.c (rename_map_elt_info): Use the SSA name version, do
+ not hash pointers.
+
+2010-01-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/42625
+ * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
+ TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body
+ aliases.
+
+2010-01-07 Duncan Sands <baldrick@free.fr>
+
+ * Makefile.in (PLUGIN_HEADERS): Add version.h.
+
+2010-01-07 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/42511
+ * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
+ note itself is not function_invariant_p.
+
+2009-01-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
+ Do not add the DF_NOTE problem.
+ * store-motion.c (execute_rtl_store_motion): Likewise.
+
+2010-01-07 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42157
+ * tree-sra.c (compare_access_positions): Stabilize sort if both
+ accesses have integer types, return zero immediately if they are the
+ same.
+
+2010-01-06 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/41883
+ * haifa-sched.c (add_to_note_list): Merge into ...
+ (concat_note_lists): ... here, and ...
+ (unlink_other_notes, rm_other_notes): Merge into...
+ (remove_notes): ... here. Create REG_SAVE_NOTEs for
+ NOTE_INSN_EPILOGUE_BEG.
+
+2010-01-06 Richard Guenther <rguenther@suse.de>
+
+ * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
+ not inline regular functions into always-inline functions.
+
+2010-01-06 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.h (enum rx_cpu_type): Add RX200.
+ (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
+ used together.
+ (OVERRIDE_OPTIONS): Delete.
+ (OPTIMIZATION_OPTIONS): Define.
+ (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
+ * config/rx/rx.c (rx_handle_option): Issue an error message if
+ -mcpu=rx200 and -fpu are used together.
+ (rx_set_optimization_options): New function. Issue an error
+ message if an optimization attribute attempts to reset the FPU/
+ math optimization pairing.
+ * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
+ * config/rx/rx.opt: Set the default to 32-bit doubles.
+ * config/rx/t-rx: Add multilibs for -nofpu option.
+ * doc/invoke.texi: Update documentation of RX options.
+
+2010-01-06 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (name_to_id): New global.
+ (alloc_expression_id): Simplify SSA name handling.
+ (lookup_expression_id): Likewise.
+ (init_pre): Zero name_to_id.
+ (fini_pre): Free it.
+
+2010-01-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
+
+2010-01-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/42542
+ * config/i386/sse.md (smaxv2di3): New.
+ (umaxv2di3): Likewise.
+ (sminv2di3): Likewise.
+ (uminv2di3): Likewise.
+
+2010-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/42564
+ * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
+ * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
+ (legitimize_tls_address): Likewise.
+ (sparc_tls_referenced_p): Likewise.
+ * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
+ and adjust calls to legitimize_pic_address.
+ (legitimate_constant_p) Use sparc_tls_referenced_p.
+ (legitimate_pic_operand_p): Likewise.
+ (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
+ (sparc_tls_symbol_ref_1): Delete.
+ (sparc_tls_referenced_p): Make static, recognize specific patterns.
+ (legitimize_tls_address): Make static, handle CONST patterns.
+ (legitimize_pic_address): Make static, remove unused parameter and
+ adjust recursive calls.
+ (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
+ and adjust call to legitimize_pic_address.
+ (sparc_output_mi_thunk): Likewise.
+
+2010-01-05 Paolo Bonzini <bonzini@gnu.rg>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/42542
+ * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
+ for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
+ operands to make them signed.
+
+ Revert:
+ 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/42542
+ * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
+ GTU to GT for V4SI and V2DI.
+
+ * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
+ (umin<mode>3): Removed.
+ (uminv8hi3): New.
+ (uminv4si3): Likewise.
+
+2010-01-05 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42462
+ * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
+ current_function_decl to helper functions and macros.
+
+2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/41771
+ * flags.h: Don't include real.h.
+ (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
+ HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
+ * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
+ HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
+ * dominance.c: Update copyright.
+ * gimple.c (walk_gimple_op): Remove inline.
+ * tree-ssa-reassoc.c: Include real.h.
+ * Makefile.in (FLAGS_H): Remove $(REAL_H).
+ (tree-ssa-reassoc.o): Depend on $(REAL_H).
+
+2010-01-05 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
+ register to push into the stack frame when the accumulator has to
+ be saved during interrupts.
+
+2010-01-05 Eric Fisher <joefoxreal@gmail.com>
+
+ * doc/invoke.texi: Remove the documentation about option
+ -Wunreachable-code.
+ * common.opt (Wunreachable-code): Preserved for backward
+ compatibility.
+ * tree-cfg.c: Remove the implementation of -Wunreachable-code.
+ * opts.c (common_handle_option): Add OPT_Wunreachable_code to
+ the backward compatibility flag section.
+
+2010-01-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
+
+2010-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR other/42611
+ * cfgexpand.c (expand_one_var): Diagnose too large variables.
+
+ PR tree-optimization/42508
+ * tree-sra.c (convert_callers): Check for recursive call
+ by comparing cgraph nodes instead of decls.
+ (modify_function): Call ipa_modify_formal_parameters also
+ on all same_body aliases.
+
+ * cgraphunit.c (cgraph_materialize_all_clones): Compare
+ cgraph nodes when checking for same_body aliases.
+
+2010-01-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
+ allocation and lookup.
+ (get_or_alloc_expr_for_constant): Likewise.
+ (phi_translate): Sink allocation.
+
+2010-01-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
+ a new entry only if needed.
+ * tree-ssa-dom.c (lookup_avail_expr): Likewise.
+ * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
+ hashtable lookup.
+ * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
+ the result array.
+ (phi_translate): Handle CONSTANTs early.
+
+2010-01-04 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42398
+ * tree-sra.c (struct access): Removed flag grp_different_types.
+ (dump_access): Do not dump the removed flag.
+ (sort_and_splice_var_accesses): Do not set the removed flag.
+ (sra_modify_expr): Check for type compatibility directly.
+
+2010-01-04 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42366
+ * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
+ edges with variable number of parameters.
+ * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
+ flag instead of asserting it.
+ (ipa_read_node_info): Read uses_analysis_done flag.
+
+2010-01-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
+ iterative_hash_* as intended.
+ (vn_reference_compute_hash): Likewise. Simplify hashing
+ SSA names.
+ (vn_reference_lookup_2): Likewise.
+ (vn_nary_op_compute_hash): Likewise.
+ (vn_phi_compute_hash): Likewise.
+ (expressions_equal_p): Remove strange code.
+ * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
+ (pre_expr_hash): Likewise. Simplify hashing SSA names.
+ (bitmap_insert_into_set_1): Take value-id as parameter.
+ (add_to_value): Pass it.
+ (bitmap_insert_into_set): Likewise.
+ (bitmap_value_insert_into_set): Likewise. Remove redundant check.
+
+2010-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR driver/42442
+ * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
+ (do_self_spec): For switches with SWITCH_IGNORE set set also
+ SWITCH_IGNORE_PERMANENTLY.
+ (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
+ of SWITCH_IGNORE.
+
+2010-01-04 Rafael Avila de Espindola <espindola@google.com>
+
+ * lto-streamer-out.c (output_unreferenced_globals): Output the full
+ tree of an unreferenced global var.
+
+2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/42542
+ * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
+ GTU to GT for V4SI and V2DI.
+
+ * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
+ (umin<mode>3): Removed.
+ (uminv8hi3): New.
+ (uminv4si3): Likewise.
+
+2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR lto/42581
+ * collect2.c (main): Turn on trace in collect2 if -v is passed
+ to gcc with LTO.
+
+2010-01-03 Jerry Quinn <jlquinn@optonline.net>
+
+ * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
+ description of expression operand.
+
2010-01-03 Andrew Jenner <andrew@codesourcery.com>
* configure.ac: Add install-html to target_list for Make-hooks.
@@ -90,7 +407,7 @@
* config/sparc/sparc.c: Fix formatting nits.
2010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
- Alexander Monakov <amonakov@ispras.ru>
+ Alexander Monakov <amonakov@ispras.ru>
* doc/invoke.texi (Optimize Options): Reword introduction a bit.
@@ -167,62 +484,3 @@ Copyright (C) 2010 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
-2010-01-02 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/42448
- * config/alpha/predicates.md (aligned_memory_operand): Return false
- for CQImode.
- (unaligned_memory_operand): Return true for CQImode.
- * config/alpha/alpha.c (get_aligned_mem): Assert that location
- doesn not cross aligned SImode word boundary.
-
-2010-01-02 Anatoly Sokolov <aesok@post.ru>
-
- * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
- Remove.
- * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
- avr_change_section, avr_reg_class_from_letter) : Remove declaration.
-
-2010-01-02 Richard Guenther <rguenther@suse.de>
-
- PR lto/41597
- * toplev.c (compile_file): Emit LTO marker properly. Change
- it to __gnu_lto_v1.
- * collect2.c (scan_prog_file): Adjust for changed LTO marker.
-
-2010-01-01 Richard Guenther <rguenther@suse.de>
-
- PR debug/42455
- * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
-
-2010-01-01 Richard Guenther <rguenther@suse.de>
-
- PR c/42570
- * c-decl.c (grokdeclarator): For zero-size arrays force
- structural equality checks as layout_type does.
-
-2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
-
- * builtins.c: Update copyright to 2010.
-
-2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
-
- PR lto/42531
- * lto-streamer-out.c (produce_asm): Revert the last change.
- (copy_function): Likewise.
-
- * lto-streamer.c (lto_get_section_name): Skip any leading
- asterisk in name.
-
-2010-01-01 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/42559
- * builtins.c (get_object_alignment): Do not use DECL_ALIGN
- for LABEL_DECLs.
-
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.
diff --git a/gcc/ChangeLog.MELT b/gcc/ChangeLog.MELT
index 0ad241babe7..83131e5a8e2 100644
--- a/gcc/ChangeLog.MELT
+++ b/gcc/ChangeLog.MELT
@@ -1,3 +1,16 @@
+2010-01-08 Basile Starynkevitch <basile@starynkevitch.net>
+ {{merged with trunk rev 155725, and minor additions}}
+
+ * melt-runtime.c: removed useless trailing spaces.
+
+ * melt/warmelt-infixsyntax.melt: added more, notably
+ class_infix_parser, class_infix_delimiter some delimiters and our
+ backtrackable getlex & peeklex functions. Still very incomplete.
+
+ * melt/warmelt-outobj.melt: added the translate_macroexpanded_list
+ function to ease factoring out the common translation between
+ infix & lisp syntaxes.
+
2010-01-07 Basile Starynkevitch <basile@starynkevitch.net>
{{start adding alternative infix parser}}
* melt-predef.list: added CLASS_SEXPR_MACROSTRING, CLASS_INFIX_*
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite
index 09af72ba957..379e3516457 100644
--- a/gcc/ChangeLog.graphite
+++ b/gcc/ChangeLog.graphite
@@ -1,3 +1,71 @@
+2010-01-07 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-interchange.c (memory_stride_in_loop): Renamed
+ pdr_stride_in_loop.
+ (memory_strides_in_loop): Renamed memory_strides_in_loop_1.
+ (memory_strides_in_loop): Memoize the memory strides per loop.
+ (lst_interchange_profitable_p): Do not initialize to zero the memory
+ strides.
+ * graphite-poly.h (struct lst): Add a field memory_strides.
+ (LST_LOOP_MEMORY_STRIDES): New.
+ (new_lst_loop): Initialize LST_LOOP_MEMORY_STRIDES to -1.
+ (free_lst): Clear LST_LOOP_MEMORY_STRIDES.
+
+2010-01-07 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-interchange.c (memory_strides_in_loop_depth): Renamed
+ memory_strides_in_loop. Gather memory strides on a whole loop.
+ (pbb_interchange_profitable_p): Renamed lst_interchange_profitable_p.
+ (lst_interchange_profitable_p): Removed.
+ (lst_try_interchange_loops): Call lst_interchange_profitable_p.
+
+2010-01-07 Sebastian Pop <sebastian.pop@amd.com>
+
+ Revert patch 2009-11-23 Tobias Grosser <grosser@fim.uni-passau.de>
+ * graphite-clast-to-gimple.c (try_mark_loop_parallel): New.
+ (translate_clast_for, translate_clast_guard, translate_clast, gloog):
+ Remove context_loop and level.
+
+2010-01-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42641
+ * sese.c (rename_map_elt_info): Use the SSA name version, do
+ not hash pointers.
+
+2010-01-06 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-blocking.c (scop_do_block): Print "SCoP will be loop
+ blocked" only when both the strip mine and the interchange have
+ been applied.
+
+ * testsuite/gcc.dg/graphite/block-2.c: Removed.
+ * testsuite/gcc.dg/graphite/block-3.c: Add scan pattern.
+ * testsuite/gcc.dg/graphite/block-4.c: Same.
+ * testsuite/gcc.dg/graphite/block-5.c: Same.
+ * testsuite/gcc.dg/graphite/block-6.c: Same.
+
+2010-01-06 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (save_clast_name_index): Free slot
+ before allocating a new one.
+ (copy_renames): Check that slot is not NULL.
+ (mark_bb_with_pbb): Same.
+ (compute_cloog_iv_types_1): Same.
+ * graphite-interchange.c (lst_perfect_nestify): Free the before,
+ nest, and after LSTs.
+ (lst_try_interchange_loops): Same.
+
+2010-01-05 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/42178
+ * graphite-interchange.c (lst_try_interchange_loops): Do not return
+ the before, nest, and after LSTs.
+ (lst_try_interchange): Removed.
+ (lst_interchange_select_inner): Do not iterate over the LSTs if they
+ were modified.
+ (lst_interchange_select_outer): Apply interchange on the outer loop
+ until there are no more changes in the inner loops.
+
2009-12-18 Sebastian Pop <sebastian.pop@amd.com>
Revert patch fixing PR middle-end/42221.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 4b59e7320fa..4b95bc2d7c0 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20100104
+20100108
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 3709d6140ca..484fee8dbd4 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -3,7 +3,7 @@
# Copyright (C) 1987, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
# 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-# 2008, 2009 Free Software Foundation, Inc.
+# 2008, 2009, 2010 Free Software Foundation, Inc.
#This file is part of GCC.
@@ -886,7 +886,7 @@ DEMANGLE_H = $(srcdir)/../include/demangle.h
RECOG_H = recog.h
ALIAS_H = alias.h coretypes.h
EMIT_RTL_H = emit-rtl.h
-FLAGS_H = flags.h coretypes.h options.h $(REAL_H)
+FLAGS_H = flags.h coretypes.h options.h
FUNCTION_H = function.h $(TREE_H) $(HASHTAB_H) vecprim.h
EXPR_H = expr.h insn-config.h $(FUNCTION_H) $(RTL_H) $(FLAGS_H) $(TREE_H) $(MACHMODE_H) $(EMIT_RTL_H)
OPTABS_H = optabs.h insn-codes.h
@@ -2524,8 +2524,8 @@ tree-ssa-alias.o : tree-ssa-alias.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
tree-ssa-reassoc.o : tree-ssa-reassoc.c $(TREE_FLOW_H) $(CONFIG_H) \
$(SYSTEM_H) $(TREE_H) $(GGC_H) $(DIAGNOSTIC_H) $(TIMEVAR_H) \
$(TM_H) coretypes.h $(TREE_DUMP_H) $(TREE_PASS_H) $(FLAGS_H) \
- tree-iterator.h $(BASIC_BLOCK_H) $(GIMPLE_H) $(TREE_INLINE_H) vec.h \
- langhooks.h alloc-pool.h pointer-set.h $(CFGLOOP_H)
+ tree-iterator.h $(REAL_H) $(BASIC_BLOCK_H) $(GIMPLE_H) $(TREE_INLINE_H) \
+ vec.h langhooks.h alloc-pool.h pointer-set.h $(CFGLOOP_H)
tree-optimize.o : tree-optimize.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
$(RTL_H) $(TREE_H) $(TM_P_H) hard-reg-set.h $(EXPR_H) $(GGC_H) output.h \
$(DIAGNOSTIC_H) $(BASIC_BLOCK_H) $(FLAGS_H) $(TIMEVAR_H) $(TM_H) \
@@ -4345,7 +4345,7 @@ PLUGIN_HEADERS = $(TREE_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
tree-ssa-sccvn.h real.h output.h $(IPA_UTILS_H) \
$(C_PRAGMA_H) $(CPPLIB_H) $(FUNCTION_H) \
cppdefault.h flags.h $(MD5_H) params.def params.h prefix.h tree-inline.h \
- $(IPA_PROP_H) $(RTL_H) $(TM_P_H) $(CFGLOOP_H) $(EMIT_RTL_H)
+ $(IPA_PROP_H) $(RTL_H) $(TM_P_H) $(CFGLOOP_H) $(EMIT_RTL_H) version.h
## extra MELT required plugin headers!
MELT_PLUGIN_HEADERS= melt-runtime.h run-melt.h melt-predef.h
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 747e7051e3e..7552077d280 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -5658,7 +5658,7 @@ finish_label_address_expr (tree label, location_t loc)
{
TREE_USED (label) = 1;
result = build1 (ADDR_EXPR, ptr_type_node, label);
- /* The current function in not necessarily uninlinable.
+ /* The current function is not necessarily uninlinable.
Computed gotos are incompatible with inlining, but the value
here could be used only in a diagnostic, for example. */
protected_set_expr_location (result, loc);
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index b0921bfe8e9..7e542da3320 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -1,5 +1,5 @@
/* A pass for lowering trees to RTL.
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GCC.
@@ -1011,6 +1011,14 @@ expand_one_var (tree var, bool toplevel, bool really_expand)
if (really_expand)
expand_one_register_var (origvar);
}
+ else if (!host_integerp (DECL_SIZE_UNIT (var), 1))
+ {
+ if (really_expand)
+ {
+ error ("size of variable %q+D is too large", var);
+ expand_one_error_var (var);
+ }
+ }
else if (defer_stack_allocation (var, toplevel))
add_stack_var (origvar);
else
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index fc7ba1a50ba..baaf601c967 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -1,5 +1,5 @@
/* Callgraph handling code.
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by Jan Hubicka
@@ -2197,11 +2197,20 @@ cgraph_make_node_local (struct cgraph_node *node)
gcc_assert (cgraph_node_can_be_local_p (node));
if (DECL_COMDAT (node->decl) || DECL_EXTERNAL (node->decl))
{
+ struct cgraph_node *alias;
DECL_COMDAT (node->decl) = 0;
DECL_COMDAT_GROUP (node->decl) = 0;
TREE_PUBLIC (node->decl) = 0;
DECL_WEAK (node->decl) = 0;
DECL_EXTERNAL (node->decl) = 0;
+ for (alias = node->same_body; alias; alias = alias->next)
+ {
+ DECL_COMDAT (alias->decl) = 0;
+ DECL_COMDAT_GROUP (alias->decl) = 0;
+ TREE_PUBLIC (alias->decl) = 0;
+ DECL_WEAK (alias->decl) = 0;
+ DECL_EXTERNAL (alias->decl) = 0;
+ }
node->local.externally_visible = false;
node->local.local = true;
gcc_assert (cgraph_function_body_availability (node) == AVAIL_LOCAL);
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index cf1a0015472..ebe662ad639 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -1,5 +1,5 @@
/* Callgraph based interprocedural optimizations.
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by Jan Hubicka
@@ -2323,20 +2323,9 @@ cgraph_materialize_all_clones (void)
gimple new_stmt;
gimple_stmt_iterator gsi;
- if (e->callee->same_body)
- {
- struct cgraph_node *alias;
-
- for (alias = e->callee->same_body;
- alias;
- alias = alias->next)
- if (decl == alias->decl)
- break;
- /* Don't update call from same body alias to the real
- function. */
- if (alias)
- continue;
- }
+ if (cgraph_get_node (decl) == cgraph_get_node (e->callee->decl))
+ /* Don't update call from same body alias to the real function. */
+ continue;
if (cgraph_dump_file)
{
diff --git a/gcc/collect2.c b/gcc/collect2.c
index b9bed6be9e0..777510b4e40 100644
--- a/gcc/collect2.c
+++ b/gcc/collect2.c
@@ -1174,6 +1174,8 @@ main (int argc, char **argv)
int num_c_args;
char **old_argv;
+ bool use_verbose = false;
+
old_argv = argv;
expandargv (&argc, &argv);
if (argv != old_argv)
@@ -1228,12 +1230,19 @@ main (int argc, char **argv)
if (! strcmp (argv[i], "-debug"))
debug = 1;
else if (! strcmp (argv[i], "-flto") && ! use_plugin)
- lto_mode = LTO_MODE_LTO;
+ {
+ use_verbose = true;
+ lto_mode = LTO_MODE_LTO;
+ }
else if (! strcmp (argv[i], "-fwhopr") && ! use_plugin)
- lto_mode = LTO_MODE_WHOPR;
+ {
+ use_verbose = true;
+ lto_mode = LTO_MODE_WHOPR;
+ }
else if (! strcmp (argv[i], "-plugin"))
{
use_plugin = true;
+ use_verbose = true;
lto_mode = LTO_MODE_NONE;
}
#ifdef COLLECT_EXPORT_LIST
@@ -1446,6 +1455,11 @@ main (int argc, char **argv)
*c_ptr++ = xstrdup (q);
}
}
+ if (use_verbose && *q == '-' && q[1] == 'v' && q[2] == 0)
+ {
+ /* Turn on trace in collect2 if needed. */
+ vflag = 1;
+ }
}
obstack_free (&temporary_obstack, temporary_firstobj);
*c_ptr++ = "-fno-profile-arcs";
diff --git a/gcc/common.opt b/gcc/common.opt
index 0305959f002..9ed3e0bbb8b 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -201,8 +201,8 @@ Common Var(warn_uninitialized) Init(-1) Warning
Warn about uninitialized automatic variables
Wunreachable-code
-Common Var(warn_notreached) Warning
-Warn about code that will never be executed
+Common
+Does nothing. Preserved for backward compatibility.
Wunused
Common Var(warn_unused) Init(0) Warning
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 3e15b9dd0f5..f565ebf054e 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -1,6 +1,6 @@
/* Subroutines used for code generation on IA-32.
- Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GCC.
@@ -16256,29 +16256,22 @@ ix86_expand_int_vcond (rtx operands[])
case V2DImode:
{
rtx t1, t2, mask;
+ rtx (*gen_sub3) (rtx, rtx, rtx);
- /* Perform a parallel modulo subtraction. */
- t1 = gen_reg_rtx (mode);
- emit_insn ((mode == V4SImode
- ? gen_subv4si3
- : gen_subv2di3) (t1, cop0, cop1));
-
- /* Extract the original sign bit of op0. */
+ /* Subtract (-(INT MAX) - 1) from both operands to make
+ them signed. */
mask = ix86_build_signbit_mask (GET_MODE_INNER (mode),
true, false);
+ gen_sub3 = (mode == V4SImode
+ ? gen_subv4si3 : gen_subv2di3);
+ t1 = gen_reg_rtx (mode);
+ emit_insn (gen_sub3 (t1, cop0, mask));
+
t2 = gen_reg_rtx (mode);
- emit_insn ((mode == V4SImode
- ? gen_andv4si3
- : gen_andv2di3) (t2, cop0, mask));
-
- /* XOR it back into the result of the subtraction.
- This results in the sign bit set iff we saw
- unsigned underflow. */
- x = gen_reg_rtx (mode);
- emit_insn ((mode == V4SImode
- ? gen_xorv4si3
- : gen_xorv2di3) (x, t1, t2));
+ emit_insn (gen_sub3 (t2, cop1, mask));
+ cop0 = t1;
+ cop1 = t2;
code = GT;
}
break;
@@ -16290,6 +16283,8 @@ ix86_expand_int_vcond (rtx operands[])
emit_insn (gen_rtx_SET (VOIDmode, x,
gen_rtx_US_MINUS (mode, cop0, cop1)));
+ cop0 = x;
+ cop1 = CONST0_RTX (mode);
code = EQ;
negate = !negate;
break;
@@ -16297,9 +16292,6 @@ ix86_expand_int_vcond (rtx operands[])
default:
gcc_unreachable ();
}
-
- cop0 = x;
- cop1 = CONST0_RTX (mode);
}
}
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 9bbea8031a5..54befb4b139 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -1,5 +1,5 @@
;; GCC machine description for SSE instructions
-;; Copyright (C) 2005, 2006, 2007, 2008, 2009
+;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
@@ -6134,6 +6134,26 @@
(set_attr "prefix_extra" "1")
(set_attr "mode" "TI")])
+(define_expand "smaxv2di3"
+ [(set (match_operand:V2DI 0 "register_operand" "")
+ (smax:V2DI (match_operand:V2DI 1 "register_operand" "")
+ (match_operand:V2DI 2 "register_operand" "")))]
+ "TARGET_SSE4_2"
+{
+ rtx xops[6];
+ bool ok;
+
+ xops[0] = operands[0];
+ xops[1] = operands[1];
+ xops[2] = operands[2];
+ xops[3] = gen_rtx_GT (VOIDmode, operands[1], operands[2]);
+ xops[4] = operands[1];
+ xops[5] = operands[2];
+ ok = ix86_expand_int_vcond (xops);
+ gcc_assert (ok);
+ DONE;
+})
+
(define_expand "umaxv4si3"
[(set (match_operand:V4SI 0 "register_operand" "")
(umax:V4SI (match_operand:V4SI 1 "register_operand" "")
@@ -6170,6 +6190,26 @@
(set_attr "prefix_extra" "1")
(set_attr "mode" "TI")])
+(define_expand "umaxv2di3"
+ [(set (match_operand:V2DI 0 "register_operand" "")
+ (umax:V2DI (match_operand:V2DI 1 "register_operand" "")
+ (match_operand:V2DI 2 "register_operand" "")))]
+ "TARGET_SSE4_2"
+{
+ rtx xops[6];
+ bool ok;
+
+ xops[0] = operands[0];
+ xops[1] = operands[1];
+ xops[2] = operands[2];
+ xops[3] = gen_rtx_GTU (VOIDmode, operands[1], operands[2]);
+ xops[4] = operands[1];
+ xops[5] = operands[2];
+ ok = ix86_expand_int_vcond (xops);
+ gcc_assert (ok);
+ DONE;
+})
+
(define_expand "smin<mode>3"
[(set (match_operand:SSEMODE14 0 "register_operand" "")
(smin:SSEMODE14 (match_operand:SSEMODE14 1 "register_operand" "")
@@ -6195,6 +6235,26 @@
}
})
+(define_expand "sminv2di3"
+ [(set (match_operand:V2DI 0 "register_operand" "")
+ (smin:V2DI (match_operand:V2DI 1 "register_operand" "")
+ (match_operand:V2DI 2 "register_operand" "")))]
+ "TARGET_SSE4_2"
+{
+ rtx xops[6];
+ bool ok;
+
+ xops[0] = operands[0];
+ xops[1] = operands[2];
+ xops[2] = operands[1];
+ xops[3] = gen_rtx_GT (VOIDmode, operands[1], operands[2]);
+ xops[4] = operands[1];
+ xops[5] = operands[2];
+ ok = ix86_expand_int_vcond (xops);
+ gcc_assert (ok);
+ DONE;
+})
+
(define_expand "umin<mode>3"
[(set (match_operand:SSEMODE24 0 "register_operand" "")
(umin:SSEMODE24 (match_operand:SSEMODE24 1 "register_operand" "")
@@ -6220,6 +6280,26 @@
}
})
+(define_expand "uminv2di3"
+ [(set (match_operand:V2DI 0 "register_operand" "")
+ (umin:V2DI (match_operand:V2DI 1 "register_operand" "")
+ (match_operand:V2DI 2 "register_operand" "")))]
+ "TARGET_SSE4_2"
+{
+ rtx xops[6];
+ bool ok;
+
+ xops[0] = operands[0];
+ xops[1] = operands[2];
+ xops[2] = operands[1];
+ xops[3] = gen_rtx_GTU (VOIDmode, operands[1], operands[2]);
+ xops[4] = operands[1];
+ xops[5] = operands[2];
+ ok = ix86_expand_int_vcond (xops);
+ gcc_assert (ok);
+ DONE;
+})
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Parallel integral comparisons
diff --git a/gcc/config/rx/rx-protos.h b/gcc/config/rx/rx-protos.h
index 5c37fe0a83c..f5ef51108e1 100644
--- a/gcc/config/rx/rx-protos.h
+++ b/gcc/config/rx/rx-protos.h
@@ -1,5 +1,5 @@
/* Exported function prototypes from the Renesas RX backend.
- Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
@@ -28,6 +28,7 @@
extern void rx_conditional_register_usage (void);
extern void rx_expand_prologue (void);
extern int rx_initial_elimination_offset (int, int);
+extern void rx_set_optimization_options (void);
#ifdef RTX_CODE
extern void rx_emit_stack_popm (rtx *, bool);
diff --git a/gcc/config/rx/rx.c b/gcc/config/rx/rx.c
index 3fb8b320e52..b8d4619427b 100644
--- a/gcc/config/rx/rx.c
+++ b/gcc/config/rx/rx.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on Renesas RX processors.
- Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
@@ -422,7 +422,10 @@ rx_print_operand (FILE * file, rtx op, int letter)
case 0xb: fprintf (file, "fintv"); break;
case 0xc: fprintf (file, "intb"); break;
default:
- gcc_unreachable ();
+ warning (0, "unreocgnized control register number: %d - using 'psw'",
+ INTVAL (op));
+ fprintf (file, "psw");
+ break;
}
break;
@@ -1072,8 +1075,8 @@ rx_get_stack_layout (unsigned int * lowest,
save_mask |= (1 << 13) | (1 << 14);
if (low == 0)
low = 13;
- if (high == 0)
- high = 14;
+ if (high == 0 || low == high)
+ high = low + 1;
}
/* Decide if it would be faster fill in the call-saved area of the stack
@@ -2115,6 +2118,101 @@ const struct attribute_spec rx_attribute_table[] =
{ NULL, 0, 0, false, false, false, NULL }
};
+/* Extra processing for target specific command line options. */
+
+static bool
+rx_handle_option (size_t code, const char * arg ATTRIBUTE_UNUSED, int value)
+{
+ switch (code)
+ {
+ case OPT_mint_register_:
+ switch (value)
+ {
+ case 4:
+ fixed_regs[10] = call_used_regs [10] = 1;
+ /* Fall through. */
+ case 3:
+ fixed_regs[11] = call_used_regs [11] = 1;
+ /* Fall through. */
+ case 2:
+ fixed_regs[12] = call_used_regs [12] = 1;
+ /* Fall through. */
+ case 1:
+ fixed_regs[13] = call_used_regs [13] = 1;
+ /* Fall through. */
+ case 0:
+ return true;
+ default:
+ return false;
+ }
+ break;
+
+ case OPT_mmax_constant_size_:
+ /* Make sure that the -mmax-constant_size option is in range. */
+ return value >= 0 && value <= 4;
+
+ case OPT_mcpu_:
+ case OPT_patch_:
+ if (strcasecmp (arg, "RX610") == 0)
+ rx_cpu_type = RX610;
+ else if (strcasecmp (arg, "RX200") == 0)
+ {
+ target_flags |= MASK_NO_USE_FPU;
+ rx_cpu_type = RX200;
+ }
+ else if (strcasecmp (arg, "RX600") != 0)
+ warning (0, "unrecognized argument '%s' to -mcpu= option", arg);
+ break;
+
+ case OPT_fpu:
+ if (rx_cpu_type == RX200)
+ error ("The RX200 cpu does not have FPU hardware");
+ break;
+
+ default:
+ break;
+ }
+
+ return true;
+}
+
+void
+rx_set_optimization_options (void)
+{
+ static bool first_time = TRUE;
+ static bool saved_allow_rx_fpu = TRUE;
+
+ if (first_time)
+ {
+ /* If this is the first time through and the user has not disabled
+ the use of RX FPU hardware then enable unsafe math optimizations,
+ since the FPU instructions themselves are unsafe. */
+ if (TARGET_USE_FPU)
+ set_fast_math_flags (true);
+
+ /* FIXME: For some unknown reason LTO compression is not working,
+ at least on my local system. So set the default compression
+ level to none, for now. */
+ if (flag_lto_compression_level == -1)
+ flag_lto_compression_level = 0;
+
+ saved_allow_rx_fpu = ALLOW_RX_FPU_INSNS;
+ first_time = FALSE;
+ }
+ else
+ {
+ /* Alert the user if they are changing the optimization options
+ to use IEEE compliant floating point arithmetic with RX FPU insns. */
+ if (TARGET_USE_FPU
+ && ! fast_math_flags_set_p ())
+ warning (0, "RX FPU instructions are not IEEE compliant");
+
+ if (saved_allow_rx_fpu != ALLOW_RX_FPU_INSNS)
+ error ("Changing the FPU insns/math optimizations pairing is not supported");
+ }
+}
+
+
static bool
rx_allocate_stack_slots_for_args (void)
{
@@ -2268,88 +2366,6 @@ rx_is_legitimate_constant (rtx x)
( 1 << (rx_max_constant_size * 8)));
}
-/* This is a tri-state variable. The default value of 0 means that the user
- has specified neither -mfpu nor -mnofpu on the command line. In this case
- the selection of RX FPU instructions is entirely based upon the size of
- the floating point object and whether unsafe math optimizations were
- enabled. If 32-bit doubles have been enabled then both floats and doubles
- can make use of FPU instructions, otherwise only floats may do so.
-
- If the value is 1 then the user has specified -mfpu and the FPU
- instructions should be used. Unsafe math optimizations will automatically
- be enabled and doubles set to 32-bits. If the value is -1 then -mnofpu
- has been specified and FPU instructions will not be used, even if unsafe
- math optimizations have been enabled. */
-int rx_enable_fpu = 0;
-
-/* Extra processing for target specific command line options. */
-
-static bool
-rx_handle_option (size_t code, const char * arg ATTRIBUTE_UNUSED, int value)
-{
- switch (code)
- {
- /* -mfpu enables the use of RX FPU instructions. This implies the use
- of 32-bit doubles and also the enabling of fast math optimizations.
- (Since the RX FPU instructions are not IEEE compliant). The -mnofpu
- option disables the use of RX FPU instructions, but does not make
- place any constraints on the size of doubles or the use of fast math
- optimizations.
-
- The selection of 32-bit vs 64-bit doubles is handled by the setting
- of the 32BIT_DOUBLES mask in the rx.opt file. Enabling fast math
- optimizations is performed in OVERRIDE_OPTIONS since if it was done
- here it could be overridden by a -fno-fast-math option specified
- *earlier* on the command line. (Target specific options are
- processed before generic ones). */
- case OPT_fpu:
- rx_enable_fpu = 1;
- break;
-
- case OPT_nofpu:
- rx_enable_fpu = -1;
- break;
-
- case OPT_mint_register_:
- switch (value)
- {
- case 4:
- fixed_regs[10] = call_used_regs [10] = 1;
- /* Fall through. */
- case 3:
- fixed_regs[11] = call_used_regs [11] = 1;
- /* Fall through. */
- case 2:
- fixed_regs[12] = call_used_regs [12] = 1;
- /* Fall through. */
- case 1:
- fixed_regs[13] = call_used_regs [13] = 1;
- /* Fall through. */
- case 0:
- return true;
- default:
- return false;
- }
- break;
-
- case OPT_mmax_constant_size_:
- /* Make sure that the -mmax-constant_size option is in range. */
- return IN_RANGE (value, 0, 4);
-
- case OPT_mcpu_:
- case OPT_patch_:
- if (strcasecmp (arg, "RX610") == 0)
- rx_cpu_type = RX610;
- /* FIXME: Should we check for non-RX cpu names here ? */
- break;
-
- default:
- break;
- }
-
- return true;
-}
-
static int
rx_address_cost (rtx addr, bool speed)
{
diff --git a/gcc/config/rx/rx.h b/gcc/config/rx/rx.h
index bb7cf7f1e3e..a053340c48a 100644
--- a/gcc/config/rx/rx.h
+++ b/gcc/config/rx/rx.h
@@ -1,5 +1,5 @@
/* GCC backend definitions for the Renesas RX processor.
- Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
@@ -34,10 +34,10 @@
else \
builtin_define ("__RX_LITTLE_ENDIAN__");\
\
- if (TARGET_32BIT_DOUBLES) \
- builtin_define ("__RX_32BIT_DOUBLES__");\
- else \
+ if (TARGET_64BIT_DOUBLES) \
builtin_define ("__RX_64BIT_DOUBLES__");\
+ else \
+ builtin_define ("__RX_32BIT_DOUBLES__");\
\
if (ALLOW_RX_FPU_INSNS) \
builtin_define ("__RX_FPU_INSNS__"); \
@@ -52,13 +52,16 @@
enum rx_cpu_types
{
RX600,
- RX610
+ RX610,
+ RX200
};
extern enum rx_cpu_types rx_cpu_type;
#undef CC1_SPEC
-#define CC1_SPEC "%{mas100-syntax:%{gdwarf*:%e-mas100-syntax is incompatible with -gdwarf}}"
+#define CC1_SPEC "\
+ %{mas100-syntax:%{gdwarf*:%e-mas100-syntax is incompatible with -gdwarf}} \
+ %{mcpu=rx200:%{fpu:%erx200 cpu does not have FPU hardware}}"
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:crt0.o%s} crtbegin.o%s"
@@ -69,8 +72,8 @@ extern enum rx_cpu_types rx_cpu_type;
#undef ASM_SPEC
#define ASM_SPEC "\
%{mbig-endian-data:-mbig-endian-data} \
-%{m32bit-doubles:-m32bit-doubles} \
-%{!m32bit-doubles:-m64bit-doubles} \
+%{m64bit-doubles:-m64bit-doubles} \
+%{!m64bit-doubles:-m32bit-doubles} \
%{msmall-data-limit*:-msmall-data-limit} \
%{mrelax:-relax} \
"
@@ -106,7 +109,7 @@ extern enum rx_cpu_types rx_cpu_type;
#define LONG_LONG_TYPE_SIZE 64
#define FLOAT_TYPE_SIZE 32
-#define DOUBLE_TYPE_SIZE (TARGET_32BIT_DOUBLES ? 32 : 64)
+#define DOUBLE_TYPE_SIZE (TARGET_64BIT_DOUBLES ? 64 : 32)
#define LONG_DOUBLE_TYPE_SIZE DOUBLE_TYPE_SIZE
#ifdef __RX_32BIT_DOUBLES__
@@ -636,24 +639,14 @@ extern int rx_float_compare_mode;
#define ARG_POINTER_CFA_OFFSET(FNDECL) 4
#define FRAME_POINTER_CFA_OFFSET(FNDECL) 4
-extern int rx_enable_fpu;
+/* Translate -nofpu into -mnofpu so that it gets passed from gcc to cc1. */
+#define TARGET_OPTION_TRANSLATE_TABLE \
+ {"-nofpu", "-mnofpu" }
-/* For some unknown reason LTO compression is not working, at
- least on my local system. So set the default compression
- level to none, for now.
+#define OPTIMIZATION_OPTIONS(LEVEL,SIZE) \
+ rx_set_optimization_options ()
- For an explanation of rx_flag_no_fpu see rx_handle_option(). */
-#define OVERRIDE_OPTIONS \
- do \
- { \
- if (flag_lto_compression_level == -1) \
- flag_lto_compression_level = 0; \
- \
- if (rx_enable_fpu == 1) \
- set_fast_math_flags (true); \
- } \
- while (0)
+#define TARGET_USE_FPU (! TARGET_NO_USE_FPU)
/* This macro is used to decide when RX FPU instructions can be used. */
-#define ALLOW_RX_FPU_INSNS ((rx_enable_fpu != -1) \
- && flag_unsafe_math_optimizations)
+#define ALLOW_RX_FPU_INSNS (TARGET_USE_FPU)
diff --git a/gcc/config/rx/rx.opt b/gcc/config/rx/rx.opt
index 768d565b478..9615556576d 100644
--- a/gcc/config/rx/rx.opt
+++ b/gcc/config/rx/rx.opt
@@ -1,5 +1,5 @@
; Command line options for the Renesas RX port of GCC.
-; Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is part of GCC.
@@ -19,26 +19,31 @@
; <http://www.gnu.org/licenses/>.
;---------------------------------------------------
-m32bit-doubles
-Target RejectNegative Mask(32BIT_DOUBLES)
-Stores doubles in 32 bits.
+; The default is -fpu -m32bit-doubles.
m64bit-doubles
-Target RejectNegative InverseMask(32BIT_DOUBLES)
-Store doubles in 64 bits. This is the default.
+Target RejectNegative Mask(64BIT_DOUBLES) Report
+Store doubles in 64 bits.
-fpu
-Target RejectNegative Mask(32BIT_DOUBLES) MaskExists
-Enable the use of RX FPU instructions.
+m32bit-doubles
+Target RejectNegative InverseMask(64BIT_DOUBLES) Report
+Stores doubles in 32 bits. This is the default.
nofpu
-Target RejectNegative InverseMask(32BIT_DOUBLES) MaskExists
-Disable the use of RX FPU instructions.
+Target RejectNegative Mask(NO_USE_FPU) Report
+Disable the use of RX FPU instructions.
+
+mnofpu
+Target RejectNegative Mask(NO_USE_FPU) MaskExists Undocumented
+
+fpu
+Target RejectNegative InverseMask(NO_USE_FPU) Report
+Enable the use of RX FPU instructions. This is the default.
;---------------------------------------------------
mcpu=
-Target RejectNegative Joined Var(rx_cpu_name)
+Target RejectNegative Joined Var(rx_cpu_name) Report
Specify the target RX cpu type.
patch=
@@ -48,11 +53,11 @@ Alias for -mcpu.
;---------------------------------------------------
mbig-endian-data
-Target RejectNegative Mask(BIG_ENDIAN_DATA)
+Target RejectNegative Mask(BIG_ENDIAN_DATA) Report
Data is stored in big-endian format.
mlittle-endian-data
-Target RejectNegative InverseMask(BIG_ENDIAN_DATA)
+Target RejectNegative InverseMask(BIG_ENDIAN_DATA) Report
Data is stored in little-endian format. (Default).
;---------------------------------------------------
@@ -70,7 +75,7 @@ Use the simulator runtime.
;---------------------------------------------------
mas100-syntax
-Target Mask(AS100_SYNTAX)
+Target Mask(AS100_SYNTAX) Report
Generate assembler output that is compatible with the Renesas AS100 assembler. This may restrict some of the compiler's capabilities. The default is to generate GAS compatable syntax.
;---------------------------------------------------
diff --git a/gcc/config/rx/t-rx b/gcc/config/rx/t-rx
index eb1ca48d3a3..7990bcfaa47 100644
--- a/gcc/config/rx/t-rx
+++ b/gcc/config/rx/t-rx
@@ -1,5 +1,5 @@
# Makefile fragment for building GCC for the Renesas RX target.
-# Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
# Contributed by Red Hat.
#
# This file is part of GCC.
@@ -20,9 +20,11 @@
# Enable multilibs:
-MULTILIB_OPTIONS = m32bit-doubles mbig-endian-data
-MULTILIB_DIRNAMES = 32fp big-endian-data
-MULTILIB_MATCHES = m32bit-doubles=fpu
+MULTILIB_OPTIONS = m64bit-doubles nofpu mbig-endian-data
+MULTILIB_DIRNAMES = 64-bit-double no-fpu-libs big-endian-data
+
+MULTILIB_MATCHES = nofpu=mnofpu nofpu=mcpu?rx200 nofpu=mcpu?RX200
+
MULTILIB_EXCEPTIONS =
MULTILIB_EXTRA_OPTS =
diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h
index 097b709624b..b76e45b433a 100644
--- a/gcc/config/sparc/sparc-protos.h
+++ b/gcc/config/sparc/sparc-protos.h
@@ -64,8 +64,6 @@ extern void emit_tfmode_cvt (enum rtx_code, rtx *);
extern bool legitimate_constant_p (rtx);
extern bool constant_address_p (rtx);
extern bool legitimate_pic_operand_p (rtx);
-extern rtx legitimize_pic_address (rtx, enum machine_mode, rtx);
-extern rtx legitimize_tls_address (rtx);
extern void sparc_emit_call_insn (rtx, rtx);
extern void sparc_defer_case_vector (rtx, rtx, int);
extern bool sparc_expand_move (enum machine_mode, rtx *);
@@ -97,7 +95,6 @@ extern int emit_move_sequence (rtx, enum machine_mode);
extern int fp_sethi_p (rtx);
extern int fp_mov_p (rtx);
extern int fp_high_losum_p (rtx);
-extern bool sparc_tls_referenced_p (rtx);
extern int mem_min_alignment (rtx, int);
extern int pic_address_needs_scratch (rtx);
extern int reg_unused_after (rtx, rtx);
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 82bc7d51e40..4b904b45352 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -411,6 +411,9 @@ static bool sparc_strict_argument_naming (CUMULATIVE_ARGS *);
static void sparc_va_start (tree, rtx);
static tree sparc_gimplify_va_arg (tree, tree, gimple_seq *, gimple_seq *);
static bool sparc_vector_mode_supported_p (enum machine_mode);
+static bool sparc_tls_referenced_p (rtx);
+static rtx legitimize_tls_address (rtx);
+static rtx legitimize_pic_address (rtx, rtx);
static rtx sparc_legitimize_address (rtx, rtx, enum machine_mode);
static bool sparc_pass_by_reference (CUMULATIVE_ARGS *,
enum machine_mode, const_tree, bool);
@@ -992,34 +995,17 @@ sparc_expand_move (enum machine_mode mode, rtx *operands)
/* Fixup TLS cases. */
if (TARGET_HAVE_TLS
&& CONSTANT_P (operands[1])
- && GET_CODE (operands[1]) != HIGH
&& sparc_tls_referenced_p (operands [1]))
{
- rtx sym = operands[1];
- rtx addend = NULL;
-
- if (GET_CODE (sym) == CONST && GET_CODE (XEXP (sym, 0)) == PLUS)
- {
- addend = XEXP (XEXP (sym, 0), 1);
- sym = XEXP (XEXP (sym, 0), 0);
- }
-
- gcc_assert (SPARC_SYMBOL_REF_TLS_P (sym));
-
- sym = legitimize_tls_address (sym);
- if (addend)
- {
- sym = gen_rtx_PLUS (mode, sym, addend);
- sym = force_operand (sym, operands[0]);
- }
- operands[1] = sym;
+ operands[1] = legitimize_tls_address (operands[1]);
+ return false;
}
/* Fixup PIC cases. */
if (flag_pic && CONSTANT_P (operands[1]))
{
if (pic_address_needs_scratch (operands[1]))
- operands[1] = legitimize_pic_address (operands[1], mode, 0);
+ operands[1] = legitimize_pic_address (operands[1], NULL_RTX);
/* VxWorks does not impose a fixed gap between segments; the run-time
gap can be different from the object-file gap. We therefore can't
@@ -1047,10 +1033,8 @@ sparc_expand_move (enum machine_mode mode, rtx *operands)
if (symbolic_operand (operands[1], mode))
{
operands[1] = legitimize_pic_address (operands[1],
- mode,
- (reload_in_progress ?
- operands[0] :
- NULL_RTX));
+ reload_in_progress
+ ? operands[0] : NULL_RTX);
return false;
}
}
@@ -2979,23 +2963,11 @@ pic_address_needs_scratch (rtx x)
bool
legitimate_constant_p (rtx x)
{
- rtx inner;
-
switch (GET_CODE (x))
{
- case SYMBOL_REF:
- /* TLS symbols are not constant. */
- if (SYMBOL_REF_TLS_MODEL (x))
- return false;
- break;
-
case CONST:
- inner = XEXP (x, 0);
-
- /* Offsets of TLS symbols are never valid.
- Discourage CSE from creating them. */
- if (GET_CODE (inner) == PLUS
- && SPARC_SYMBOL_REF_TLS_P (XEXP (inner, 0)))
+ case SYMBOL_REF:
+ if (sparc_tls_referenced_p (x))
return false;
break;
@@ -3062,10 +3034,7 @@ legitimate_pic_operand_p (rtx x)
{
if (pic_address_needs_scratch (x))
return false;
- if (SPARC_SYMBOL_REF_TLS_P (x)
- || (GET_CODE (x) == CONST
- && GET_CODE (XEXP (x, 0)) == PLUS
- && SPARC_SYMBOL_REF_TLS_P (XEXP (XEXP (x, 0), 0))))
+ if (sparc_tls_referenced_p (x))
return false;
return true;
}
@@ -3103,7 +3072,7 @@ sparc_legitimate_address_p (enum machine_mode mode, rtx addr, bool strict)
&& GET_CODE (rs2) != SUBREG
&& GET_CODE (rs2) != LO_SUM
&& GET_CODE (rs2) != MEM
- && ! SPARC_SYMBOL_REF_TLS_P (rs2)
+ && !(GET_CODE (rs2) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (rs2))
&& (! symbolic_operand (rs2, VOIDmode) || mode == Pmode)
&& (GET_CODE (rs2) != CONST_INT || SMALL_INT (rs2)))
|| ((REG_P (rs1)
@@ -3143,7 +3112,8 @@ sparc_legitimate_address_p (enum machine_mode mode, rtx addr, bool strict)
rs2 = NULL;
imm1 = XEXP (rs1, 1);
rs1 = XEXP (rs1, 0);
- if (! CONSTANT_P (imm1) || SPARC_SYMBOL_REF_TLS_P (rs1))
+ if (!CONSTANT_P (imm1)
+ || (GET_CODE (rs1) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (rs1)))
return 0;
}
}
@@ -3152,7 +3122,8 @@ sparc_legitimate_address_p (enum machine_mode mode, rtx addr, bool strict)
rs1 = XEXP (addr, 0);
imm1 = XEXP (addr, 1);
- if (! CONSTANT_P (imm1) || SPARC_SYMBOL_REF_TLS_P (rs1))
+ if (!CONSTANT_P (imm1)
+ || (GET_CODE (rs1) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (rs1)))
return 0;
/* We can't allow TFmode in 32-bit mode, because an offset greater
@@ -3228,29 +3199,28 @@ sparc_tls_got (void)
return temp;
}
-/* Return 1 if *X is a thread-local symbol. */
-
-static int
-sparc_tls_symbol_ref_1 (rtx *x, void *data ATTRIBUTE_UNUSED)
-{
- return SPARC_SYMBOL_REF_TLS_P (*x);
-}
-
-/* Return 1 if X contains a thread-local symbol. */
+/* Return true if X contains a thread-local symbol. */
-bool
+static bool
sparc_tls_referenced_p (rtx x)
{
if (!TARGET_HAVE_TLS)
return false;
- return for_each_rtx (&x, &sparc_tls_symbol_ref_1, 0);
+ if (GET_CODE (x) == CONST && GET_CODE (XEXP (x, 0)) == PLUS)
+ x = XEXP (XEXP (x, 0), 0);
+
+ if (GET_CODE (x) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (x))
+ return true;
+
+ /* That's all we handle in legitimize_tls_address for now. */
+ return false;
}
/* ADDR contains a thread-local SYMBOL_REF. Generate code to compute
this (thread-local) address. */
-rtx
+static rtx
legitimize_tls_address (rtx addr)
{
rtx temp1, temp2, temp3, ret, o0, got, insn;
@@ -3374,21 +3344,34 @@ legitimize_tls_address (rtx addr)
gcc_unreachable ();
}
+ else if (GET_CODE (addr) == CONST)
+ {
+ rtx base, offset;
+
+ gcc_assert (GET_CODE (XEXP (addr, 0)) == PLUS);
+
+ base = legitimize_tls_address (XEXP (XEXP (addr, 0), 0));
+ offset = XEXP (XEXP (addr, 0), 1);
+
+ base = force_operand (base, NULL_RTX);
+ if (!(GET_CODE (offset) == CONST_INT && SMALL_INT (offset)))
+ offset = force_reg (Pmode, offset);
+ ret = gen_rtx_PLUS (Pmode, base, offset);
+ }
+
else
gcc_unreachable (); /* for now ... */
return ret;
}
-
/* Legitimize PIC addresses. If the address is already position-independent,
we return ORIG. Newly generated position-independent addresses go into a
reg. This is REG if nonzero, otherwise we allocate register(s) as
necessary. */
-rtx
-legitimize_pic_address (rtx orig, enum machine_mode mode ATTRIBUTE_UNUSED,
- rtx reg)
+static rtx
+legitimize_pic_address (rtx orig, rtx reg)
{
if (GET_CODE (orig) == SYMBOL_REF
/* See the comment in sparc_expand_move. */
@@ -3455,9 +3438,9 @@ legitimize_pic_address (rtx orig, enum machine_mode mode ATTRIBUTE_UNUSED,
}
gcc_assert (GET_CODE (XEXP (orig, 0)) == PLUS);
- base = legitimize_pic_address (XEXP (XEXP (orig, 0), 0), Pmode, reg);
- offset = legitimize_pic_address (XEXP (XEXP (orig, 0), 1), Pmode,
- base == reg ? 0 : reg);
+ base = legitimize_pic_address (XEXP (XEXP (orig, 0), 0), reg);
+ offset = legitimize_pic_address (XEXP (XEXP (orig, 0), 1),
+ base == reg ? NULL_RTX : reg);
if (GET_CODE (offset) == CONST_INT)
{
@@ -3490,7 +3473,7 @@ legitimize_pic_address (rtx orig, enum machine_mode mode ATTRIBUTE_UNUSED,
On SPARC, change REG+N into REG+REG, and REG+(X*Y) into REG+REG. */
-rtx
+static rtx
sparc_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
enum machine_mode mode)
{
@@ -3512,10 +3495,10 @@ sparc_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
if (x != orig_x && sparc_legitimate_address_p (mode, x, FALSE))
return x;
- if (SPARC_SYMBOL_REF_TLS_P (x))
+ if (sparc_tls_referenced_p (x))
x = legitimize_tls_address (x);
else if (flag_pic)
- x = legitimize_pic_address (x, mode, 0);
+ x = legitimize_pic_address (x, NULL_RTX);
else if (GET_CODE (x) == PLUS && CONSTANT_ADDRESS_P (XEXP (x, 1)))
x = gen_rtx_PLUS (Pmode, XEXP (x, 0),
copy_to_mode_reg (Pmode, XEXP (x, 1)));
@@ -3524,8 +3507,9 @@ sparc_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
copy_to_mode_reg (Pmode, XEXP (x, 0)));
else if (GET_CODE (x) == SYMBOL_REF
|| GET_CODE (x) == CONST
- || GET_CODE (x) == LABEL_REF)
+ || GET_CODE (x) == LABEL_REF)
x = copy_to_suggested_reg (x, NULL_RTX, Pmode);
+
return x;
}
@@ -8899,7 +8883,7 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
/* Delay emitting the PIC helper function because it needs to
change the section and we are emitting assembly code. */
load_pic_register (true); /* clobbers %o7 */
- scratch = legitimize_pic_address (funexp, Pmode, scratch);
+ scratch = legitimize_pic_address (funexp, scratch);
seq = get_insns ();
end_sequence ();
emit_and_preserve (seq, spill_reg, spill_reg2);
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index 58c584e6b30..344441e1bcb 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -2213,9 +2213,6 @@ extern int sparc_indent_opcode;
} \
} while (0)
-#define SPARC_SYMBOL_REF_TLS_P(RTX) \
- (GET_CODE (RTX) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (RTX) != 0)
-
#define PRINT_OPERAND_PUNCT_VALID_P(CHAR) \
((CHAR) == '#' || (CHAR) == '*' || (CHAR) == '(' \
|| (CHAR) == ')' || (CHAR) == '_' || (CHAR) == '&')
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index af2d0c6d653..07a3486a404 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,23 @@
+2010-01-07 Dodji Seketeli <dodji@redhat.com>
+
+ c++/40155
+ * pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
+ arguments that were previously deduced.
+
+2010-01-05 Jason Merrill <jason@redhat.com>
+
+ * pt.c (unify_pack_expansion): Handle deduction from init-list.
+ * call.c (build_over_call): Don't complain about it.
+
+2010-01-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/42555
+ * pt.c (tsubst_decl): Don't apply type attributes in place.
+
+ PR c++/42567
+ * semantics.c (describable_type): Remove decltype comment and
+ semantics.
+
Copyright (C) 2010 Free Software Foundation, Inc.
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 3fcbccf68a3..02fc4b36623 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -5665,8 +5665,12 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain)
tree tmpl = TI_TEMPLATE (cand->template_decl);
tree realparm = chain_index (j, DECL_ARGUMENTS (cand->fn));
tree patparm = get_pattern_parm (realparm, tmpl);
+ tree pattype = TREE_TYPE (patparm);
+ if (PACK_EXPANSION_P (pattype))
+ pattype = PACK_EXPANSION_PATTERN (pattype);
+ pattype = non_reference (pattype);
- if (!is_std_init_list (non_reference (TREE_TYPE (patparm))))
+ if (!is_std_init_list (pattype))
{
pedwarn (input_location, 0, "deducing %qT as %qT",
non_reference (TREE_TYPE (patparm)),
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index d5342a1653f..f27b931edd8 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -9400,7 +9400,7 @@ tsubst_decl (tree t, tree args, tsubst_flags_t complain)
TREE_CHAIN (r) = NULL_TREE;
apply_late_template_attributes (&r, DECL_ATTRIBUTES (r),
- (int) ATTR_FLAG_TYPE_IN_PLACE,
+ /*flags=*/0,
args, complain, in_decl);
/* Preserve a typedef that names a type. */
@@ -14047,6 +14047,9 @@ unify_pack_expansion (tree tparms, tree targs, tree packed_parms,
if (!skip_arg_p)
{
+ /* For deduction from an init-list we need the actual list. */
+ if (arg_expr && BRACE_ENCLOSED_INITIALIZER_P (arg_expr))
+ arg = arg_expr;
if (unify (tparms, targs, parm, arg, arg_strict))
return 1;
}
@@ -14071,8 +14074,15 @@ unify_pack_expansion (tree tparms, tree targs, tree packed_parms,
tree old_pack = TREE_VALUE (pack);
tree new_args = TREE_TYPE (pack);
int i, len = TREE_VEC_LENGTH (new_args);
+ int idx, level;
bool nondeduced_p = false;
+ /* By default keep the original deduced argument pack.
+ If necessary, more specific code is going to update the
+ resulting deduced argument later down in this function. */
+ template_parm_level_and_index (TREE_PURPOSE (pack), &level, &idx);
+ TMPL_ARG (targs, level, idx) = old_pack;
+
/* If NEW_ARGS contains any NULL_TREE entries, we didn't
actually deduce anything. */
for (i = 0; i < len && !nondeduced_p; ++i)
@@ -14103,10 +14113,6 @@ unify_pack_expansion (tree tparms, tree targs, tree packed_parms,
if (!old_pack)
{
tree result;
- int idx, level;
-
- template_parm_level_and_index (TREE_PURPOSE (pack), &level, &idx);
-
/* Build the deduced *_ARGUMENT_PACK. */
if (TREE_CODE (TREE_PURPOSE (pack)) == TEMPLATE_PARM_INDEX)
{
@@ -14130,12 +14136,7 @@ unify_pack_expansion (tree tparms, tree targs, tree packed_parms,
{
/* We only had the explicitly-provided arguments before, but
now we have a complete set of arguments. */
- int idx, level;
tree explicit_args = ARGUMENT_PACK_EXPLICIT_ARGS (old_pack);
- template_parm_level_and_index (TREE_PURPOSE (pack), &level, &idx);
-
- /* Keep the original deduced argument pack. */
- TMPL_ARG (targs, level, idx) = old_pack;
SET_ARGUMENT_PACK_ARGS (old_pack, new_args);
ARGUMENT_PACK_INCOMPLETE_P (old_pack) = 1;
@@ -14145,15 +14146,6 @@ unify_pack_expansion (tree tparms, tree targs, tree packed_parms,
new_args))
/* Inconsistent unification of this parameter pack. */
return 1;
- else
- {
- int idx, level;
-
- template_parm_level_and_index (TREE_PURPOSE (pack), &level, &idx);
-
- /* Keep the original deduced argument pack. */
- TMPL_ARG (targs, level, idx) = old_pack;
- }
}
return 0;
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index 547e89934c1..b2f9fd31f56 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -4690,10 +4690,8 @@ finish_static_assert (tree condition, tree message, location_t location,
}
}
-/* Returns decltype((EXPR)) for cases where we can drop the decltype and
- just return the type even though EXPR is a type-dependent expression.
- The ABI specifies which cases this applies to, which is a subset of the
- possible cases. */
+/* Returns the type of EXPR for cases where we can determine it even though
+ EXPR is a type-dependent expression. */
tree
describable_type (tree expr)
@@ -4717,8 +4715,7 @@ describable_type (tree expr)
case PARM_DECL:
case RESULT_DECL:
case FUNCTION_DECL:
- /* Named rvalue reference becomes lvalue. */
- type = build_reference_type (non_reference (TREE_TYPE (expr)));
+ return TREE_TYPE (expr);
break;
case NEW_EXPR:
diff --git a/gcc/doc/c-tree.texi b/gcc/doc/c-tree.texi
index b53f758828b..fd641025d0a 100644
--- a/gcc/doc/c-tree.texi
+++ b/gcc/doc/c-tree.texi
@@ -1802,11 +1802,13 @@ statement can be obtained with the @code{LABEL_EXPR_LABEL} macro. The
@code{IDENTIFIER_NODE} giving the name of the label can be obtained from
the @code{LABEL_DECL} with @code{DECL_NAME}.
-@item RETURN_STMT
+@item RETURN_EXPR
-Used to represent a @code{return} statement. The @code{RETURN_EXPR} is
-the expression returned; it will be @code{NULL_TREE} if the statement
-was just
+Used to represent a @code{return} statement. Operand 0 represents the
+value to return. It should either be the @code{RESULT_DECL} for the
+containing function, or a @code{MODIFY_EXPR} or @code{INIT_EXPR}
+setting the function's @code{RESULT_DECL}. It will be
+@code{NULL_TREE} if the statement was just
@smallexample
return;
@end smallexample
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index c7e23e6e0ae..e4438934489 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -259,7 +259,7 @@ Objective-C and Objective-C++ Dialects}.
-Wstrict-overflow -Wstrict-overflow=@var{n} @gol
-Wswitch -Wswitch-default -Wswitch-enum -Wsync-nand @gol
-Wsystem-headers -Wtrigraphs -Wtype-limits -Wundef -Wuninitialized @gol
--Wunknown-pragmas -Wno-pragmas -Wunreachable-code @gol
+-Wunknown-pragmas -Wno-pragmas @gol
-Wunsuffixed-float-constants -Wunused -Wunused-function @gol
-Wunused-label -Wunused-parameter -Wno-unused-result -Wunused-value -Wunused-variable @gol
-Wvariadic-macros -Wvla @gol
@@ -4197,29 +4197,6 @@ cases where multiple declaration is valid and changes nothing.
@opindex Wno-nested-externs
Warn if an @code{extern} declaration is encountered within a function.
-@item -Wunreachable-code
-@opindex Wunreachable-code
-@opindex Wno-unreachable-code
-Warn if the compiler detects that code will never be executed.
-
-This option is intended to warn when the compiler detects that at
-least a whole line of source code will never be executed, because
-some condition is never satisfied or because it is after a
-procedure that never returns.
-
-It is possible for this option to produce a warning even though there
-are circumstances under which part of the affected line can be executed,
-so care should be taken when removing apparently-unreachable code.
-
-For instance, when a function is inlined, a warning may mean that the
-line is unreachable in only one inlined copy of the function.
-
-This option is not made part of @option{-Wall} because in a debugging
-version of a program there is often substantial code which checks
-correct functioning of the program and is, hopefully, unreachable
-because the program does work. Another common use of unreachable
-code is to provide behavior which is selectable at compile-time.
-
@item -Winline
@opindex Winline
@opindex Wno-inline
@@ -15481,41 +15458,49 @@ This option sets flags for both the preprocessor and linker.
@subsection RX Options
@cindex RX Options
-These @option{-m} options are defined for RX implementations:
+These command line options are defined for RX targets:
@table @gcctabopt
@item -m64bit-doubles
@itemx -m32bit-doubles
-@itemx -fpu
-@itemx -nofpu
@opindex m64bit-doubles
@opindex m32bit-doubles
-@opindex fpu
-@opindex nofpu
Make the @code{double} data type be 64-bits (@option{-m64bit-doubles})
or 32-bits (@option{-m32bit-doubles}) in size. The default is
-@option{-m64bit-doubles}. @emph{Note} the RX's hardware floating
-point instructions are only used for 32-bit floating point values, and
-then only if @option{-ffast-math} has been specified on the command
-line. This is because the RX FPU instructions do not properly support
-denormal (or sub-normal) values.
-
-The options @option{-fpu} and @option{-nofpu} have been provided at
-the request of Rensas for compatibility with their toolchain. The
-@option{-mfpu} option enables the use of RX FPU instructions by
-selecting 32-bit doubles and enabling unsafe math optimizations. The
-@option{-mnofpu} option disables the use of RX FPU instructions, even
-if @option{-m32bit-doubles} is active and unsafe math optimizations
-have been enabled.
+@option{-m32bit-doubles}. @emph{Note} RX floating point hardware only
+works on 32-bit values, which is why the default is
+@option{-m32bit-doubles}.
+
+@item -fpu
+@itemx -nofpu
+@opindex fpu
+@opindex nofpu
+Enables (@option{-fpu}) or disables (@option{-nofpu}) the use of RX
+floating point hardware. The default is enabled for the @var{RX600}
+series and disabled for the @var{RX200} series.
+
+Floating point instructions will only be generated for 32-bit floating
+point values however, so if the @option{-m64bit-doubles} option is in
+use then the FPU hardware will not be used for doubles.
+
+@emph{Note} If the @option{-fpu} option is enabled then
+@option{-funsafe-math-optimizations} is also enabled automatically.
+This is because the RX FPU instructions are themselves unsafe.
@item -mcpu=@var{name}
@itemx -patch=@var{name}
@opindex -mcpu
@opindex -patch
-Selects the type of RX CPU to be targeted. Currently on two types are
-supported, the generic @var{RX600} and the specific @var{RX610}. The
-only difference between them is that the @var{RX610} does not support
-the @code{MVTIPL} instruction.
+Selects the type of RX CPU to be targeted. Currently three types are
+supported, the generic @var{RX600} and @var{RX200} series hardware and
+the specific @var{RX610} cpu. The default is @var{RX600}.
+
+The only difference between @var{RX600} and @var{RX610} is that the
+@var{RX610} does not support the @code{MVTIPL} instruction.
+
+The @var{RX200} series does not have a hardware floating point unit
+and so @option{-nofpu} is enabled by default when this type is
+selected.
@item -mbig-endian-data
@itemx -mlittle-endian-data
diff --git a/gcc/dominance.c b/gcc/dominance.c
index 245b2de1c21..6dd58a868a3 100644
--- a/gcc/dominance.c
+++ b/gcc/dominance.c
@@ -1,5 +1,5 @@
/* Calculate (post)dominators in slightly super-linear time.
- Copyright (C) 2000, 2003, 2004, 2005, 2006, 2007, 2008 Free
+ Copyright (C) 2000, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free
Software Foundation, Inc.
Contributed by Michael Matz (matz@ifh.de).
diff --git a/gcc/flags.h b/gcc/flags.h
index 519aa920cd8..d1634bd9e11 100644
--- a/gcc/flags.h
+++ b/gcc/flags.h
@@ -1,6 +1,6 @@
/* Compilation switch flag definitions for GCC.
Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GCC.
@@ -24,7 +24,6 @@ along with GCC; see the file COPYING3. If not see
#include "coretypes.h"
#include "options.h"
-#include "real.h"
enum debug_info_type
{
@@ -334,32 +333,6 @@ extern enum stack_check_type flag_stack_check;
instrumentation. */
extern bool flag_instrument_functions_exclude_p (tree fndecl);
-/* True if the given mode has a NaN representation and the treatment of
- NaN operands is important. Certain optimizations, such as folding
- x * 0 into 0, are not correct for NaN operands, and are normally
- disabled for modes with NaNs. The user can ask for them to be
- done anyway using the -funsafe-math-optimizations switch. */
-#define HONOR_NANS(MODE) \
- (MODE_HAS_NANS (MODE) && !flag_finite_math_only)
-
-/* Like HONOR_NANs, but true if we honor signaling NaNs (or sNaNs). */
-#define HONOR_SNANS(MODE) (flag_signaling_nans && HONOR_NANS (MODE))
-
-/* As for HONOR_NANS, but true if the mode can represent infinity and
- the treatment of infinite values is important. */
-#define HONOR_INFINITIES(MODE) \
- (MODE_HAS_INFINITIES (MODE) && !flag_finite_math_only)
-
-/* Like HONOR_NANS, but true if the given mode distinguishes between
- positive and negative zero, and the sign of zero is important. */
-#define HONOR_SIGNED_ZEROS(MODE) \
- (MODE_HAS_SIGNED_ZEROS (MODE) && flag_signed_zeros)
-
-/* Like HONOR_NANS, but true if given mode supports sign-dependent rounding,
- and the rounding mode is important. */
-#define HONOR_SIGN_DEPENDENT_ROUNDING(MODE) \
- (MODE_HAS_SIGN_DEPENDENT_ROUNDING (MODE) && flag_rounding_math)
-
/* True if overflow wraps around for the given integral type. That
is, TYPE_MAX + 1 == TYPE_MIN. */
#define TYPE_OVERFLOW_WRAPS(TYPE) \
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index af2d0c6d653..dc3aa9718b1 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,64 @@
+2010-01-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/42597
+ * trans-decl.c (get_proc_pointer_decl): Fix call to
+ gfc_conv_initializer for array-valued proc-pointer funcs.
+
+2010-01-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41872
+ * trans-decl.c (gfc_trans_deferred_vars): Don't initialize
+ allocatable scalars with SAVE attribute.
+
+2010-01-05 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/42517
+ * options.c (gfc_post_options): Set -frecursion
+ when -fopenmp is used.
+
+2010-01-05 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41872
+ * trans-expr.c (gfc_conv_procedure_call): Nullify
+ return value for allocatable-scalar character functions.
+
+2010-01-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/36161
+ * error.c (error_printf, gfc_warning, gfc_notify_std,
+ gfc_warning_now, gfc_error, gfc_error_now,
+ gfc_fatal_error): Change argument name from nocmsgid to
+ gmsgid to enable (x)gettext's % checking.
+
+2010-01-04 Tobias Burnus <burnus@net-b.de>
+
+ * trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
+
+2010-01-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41872
+ * trans-expr.c (gfc_conv_procedure_call): Add indirect ref
+ for functions returning allocatable scalars.
+ * trans-stmt.c (gfc_trans_allocate): Emmit error when
+ reallocating an allocatable scalar.
+ * trans.c (gfc_allocate_with_status): Fix pseudocode syntax
+ in comment.
+ * trans-decl.c (gfc_trans_deferred_vars): Nullify local
+ allocatable scalars.
+ (gfc_generate_function_code): Nullify result variable for
+ allocatable scalars.
+
+ PR fortran/40849
+ * module.c (gfc_use_module): Fix warning string to allow
+ for translation.
+
+ PR fortran/42517
+ * invoke.texi (-fcheck=recursion): Mention that the checking
+ is also disabled for -frecursive.
+ * trans-decl.c (gfc_generate_function_code): Disable
+ -fcheck=recursion when -frecursive is used.
+
+ * intrinsic.texi (iso_c_binding): Improve wording.
Copyright (C) 2010 Free Software Foundation, Inc.
diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c
index 88c2883946f..1cfa3e2aa4b 100644
--- a/gcc/fortran/error.c
+++ b/gcc/fortran/error.c
@@ -697,12 +697,12 @@ error_print (const char *type, const char *format0, va_list argp)
/* Wrapper for error_print(). */
static void
-error_printf (const char *nocmsgid, ...)
+error_printf (const char *gmsgid, ...)
{
va_list argp;
- va_start (argp, nocmsgid);
- error_print ("", _(nocmsgid), argp);
+ va_start (argp, gmsgid);
+ error_print ("", _(gmsgid), argp);
va_end (argp);
}
@@ -722,7 +722,7 @@ gfc_increment_error_count (void)
/* Issue a warning. */
void
-gfc_warning (const char *nocmsgid, ...)
+gfc_warning (const char *gmsgid, ...)
{
va_list argp;
@@ -733,8 +733,8 @@ gfc_warning (const char *nocmsgid, ...)
warning_buffer.index = 0;
cur_error_buffer = &warning_buffer;
- va_start (argp, nocmsgid);
- error_print (_("Warning:"), _(nocmsgid), argp);
+ va_start (argp, gmsgid);
+ error_print (_("Warning:"), _(gmsgid), argp);
va_end (argp);
error_char ('\0');
@@ -770,7 +770,7 @@ gfc_notification_std (int std)
an error is generated. */
gfc_try
-gfc_notify_std (int std, const char *nocmsgid, ...)
+gfc_notify_std (int std, const char *gmsgid, ...)
{
va_list argp;
bool warning;
@@ -786,11 +786,11 @@ gfc_notify_std (int std, const char *nocmsgid, ...)
cur_error_buffer->flag = 1;
cur_error_buffer->index = 0;
- va_start (argp, nocmsgid);
+ va_start (argp, gmsgid);
if (warning)
- error_print (_("Warning:"), _(nocmsgid), argp);
+ error_print (_("Warning:"), _(gmsgid), argp);
else
- error_print (_("Error:"), _(nocmsgid), argp);
+ error_print (_("Error:"), _(gmsgid), argp);
va_end (argp);
error_char ('\0');
@@ -810,7 +810,7 @@ gfc_notify_std (int std, const char *nocmsgid, ...)
/* Immediate warning (i.e. do not buffer the warning). */
void
-gfc_warning_now (const char *nocmsgid, ...)
+gfc_warning_now (const char *gmsgid, ...)
{
va_list argp;
int i;
@@ -822,8 +822,8 @@ gfc_warning_now (const char *nocmsgid, ...)
buffer_flag = 0;
warnings++;
- va_start (argp, nocmsgid);
- error_print (_("Warning:"), _(nocmsgid), argp);
+ va_start (argp, gmsgid);
+ error_print (_("Warning:"), _(gmsgid), argp);
va_end (argp);
error_char ('\0');
@@ -863,7 +863,7 @@ gfc_warning_check (void)
/* Issue an error. */
void
-gfc_error (const char *nocmsgid, ...)
+gfc_error (const char *gmsgid, ...)
{
va_list argp;
@@ -877,8 +877,8 @@ gfc_error (const char *nocmsgid, ...)
error_buffer.index = 0;
cur_error_buffer = &error_buffer;
- va_start (argp, nocmsgid);
- error_print (_("Error:"), _(nocmsgid), argp);
+ va_start (argp, gmsgid);
+ error_print (_("Error:"), _(gmsgid), argp);
va_end (argp);
error_char ('\0');
@@ -897,8 +897,8 @@ warning:
warning_buffer.index = 0;
cur_error_buffer = &warning_buffer;
- va_start (argp, nocmsgid);
- error_print (_("Warning:"), _(nocmsgid), argp);
+ va_start (argp, gmsgid);
+ error_print (_("Warning:"), _(gmsgid), argp);
va_end (argp);
error_char ('\0');
@@ -915,7 +915,7 @@ warning:
/* Immediate error. */
void
-gfc_error_now (const char *nocmsgid, ...)
+gfc_error_now (const char *gmsgid, ...)
{
va_list argp;
int i;
@@ -927,8 +927,8 @@ gfc_error_now (const char *nocmsgid, ...)
i = buffer_flag;
buffer_flag = 0;
- va_start (argp, nocmsgid);
- error_print (_("Error:"), _(nocmsgid), argp);
+ va_start (argp, gmsgid);
+ error_print (_("Error:"), _(gmsgid), argp);
va_end (argp);
error_char ('\0');
@@ -945,14 +945,14 @@ gfc_error_now (const char *nocmsgid, ...)
/* Fatal error, never returns. */
void
-gfc_fatal_error (const char *nocmsgid, ...)
+gfc_fatal_error (const char *gmsgid, ...)
{
va_list argp;
buffer_flag = 0;
- va_start (argp, nocmsgid);
- error_print (_("Fatal Error:"), _(nocmsgid), argp);
+ va_start (argp, gmsgid);
+ error_print (_("Fatal Error:"), _(gmsgid), argp);
va_end (argp);
exit (3);
diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi
index 753e6e14ab7..d37c807bdbf 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -11350,8 +11350,8 @@ C_INT_LEAST128_T, C_INT_FAST128_T}.
@item @code{CHARACTER}@tab @code{C_CHAR} @tab @code{char}
@end multitable
-Additionally, the following @code{(CHARACTER(KIND=C_CHAR))} are
-defined.
+Additionally, the following parameters of type @code{CHARACTER(KIND=C_CHAR)}
+are defined.
@multitable @columnfractions .20 .45 .15
@item Name @tab C definition @tab Value
diff --git a/gcc/fortran/invoke.texi b/gcc/fortran/invoke.texi
index b9ad170e0cf..21db29339bc 100644
--- a/gcc/fortran/invoke.texi
+++ b/gcc/fortran/invoke.texi
@@ -1258,7 +1258,7 @@ Enable generation of run-time checks for pointers and allocatables.
Enable generation of run-time checks for recursively called subroutines and
functions which are not marked as recursive. See also @option{-frecursive}.
Note: This check does not work for OpenMP programs and is disabled if used
-together with @option{-fopenmp}.
+together with @option{-frecursive} and @option{-fopenmp}.
@end table
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index 81a26130168..a07af9a813f 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -5491,9 +5491,9 @@ gfc_use_module (void)
if (strcmp (atom_string, MOD_VERSION))
{
- gfc_fatal_error ("Wrong module version '%s' (expected '"
- MOD_VERSION "') for file '%s' opened"
- " at %C", atom_string, filename);
+ gfc_fatal_error ("Wrong module version '%s' (expected '%s') "
+ "for file '%s' opened at %C", atom_string,
+ MOD_VERSION, filename);
}
}
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index 43c44db0911..9296a0be667 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -353,18 +353,22 @@ gfc_post_options (const char **pfilename)
"implied by -fopenmp",
gfc_option.flag_max_stack_var_size);
- /* Implied -frecursive; implemented as -fmax-stack-var-size=-1. */
- if (gfc_option.flag_max_stack_var_size == -2 && gfc_option.flag_openmp)
+ /* Implement -frecursive as -fmax-stack-var-size=-1. */
+ if (gfc_option.flag_recursive)
gfc_option.flag_max_stack_var_size = -1;
+ /* Implied -frecursive; implemented as -fmax-stack-var-size=-1. */
+ if (gfc_option.flag_max_stack_var_size == -2 && gfc_option.flag_openmp
+ && gfc_option.flag_automatic)
+ {
+ gfc_option.flag_recursive = 1;
+ gfc_option.flag_max_stack_var_size = -1;
+ }
+
/* Set default. */
if (gfc_option.flag_max_stack_var_size == -2)
gfc_option.flag_max_stack_var_size = 32768;
- /* Implement -frecursive as -fmax-stack-var-size=-1. */
- if (gfc_option.flag_recursive)
- gfc_option.flag_max_stack_var_size = -1;
-
/* Implement -fno-automatic as -fmax-stack-var-size=0. */
if (!gfc_option.flag_automatic)
gfc_option.flag_max_stack_var_size = 0;
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index 9a01dbab32c..612c6f61296 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -537,7 +537,7 @@ gfc_finish_var_decl (tree decl, gfc_symbol * sym)
gfortran would typically put them in either the BSS or
initialized data segments, and only mark them as common if
they were part of common blocks. However, if they are not put
- into common space, then C cannot initialize global fortran
+ into common space, then C cannot initialize global Fortran
variables that it interoperates with and the draft says that
either Fortran or C should be able to initialize it (but not
both, of course.) (J3/04-007, section 15.3). */
@@ -1349,7 +1349,9 @@ get_proc_pointer_decl (gfc_symbol *sym)
{
/* Add static initializer. */
DECL_INITIAL (decl) = gfc_conv_initializer (sym->value, &sym->ts,
- TREE_TYPE (decl), sym->attr.dimension, sym->attr.proc_pointer);
+ TREE_TYPE (decl),
+ sym->attr.proc_pointer ? false : sym->attr.dimension,
+ sym->attr.proc_pointer);
}
attributes = add_attributes_to_decl (sym->attr, NULL_TREE);
@@ -3188,28 +3190,38 @@ gfc_trans_deferred_vars (gfc_symbol * proc_sym, tree fnbody)
|| (sym->ts.type == BT_CLASS
&& sym->ts.u.derived->components->attr.allocatable))
{
- /* Automatic deallocatation of allocatable scalars. */
- tree tmp;
- gfc_expr *e;
- gfc_se se;
- stmtblock_t block;
-
- e = gfc_lval_expr_from_sym (sym);
- if (sym->ts.type == BT_CLASS)
- gfc_add_component_ref (e, "$data");
-
- gfc_init_se (&se, NULL);
- se.want_pointer = 1;
- gfc_conv_expr (&se, e);
- gfc_free_expr (e);
-
- gfc_start_block (&block);
- gfc_add_expr_to_block (&block, fnbody);
-
- /* Note: Nullifying is not needed. */
- tmp = gfc_deallocate_with_status (se.expr, NULL_TREE, true, NULL);
- gfc_add_expr_to_block (&block, tmp);
- fnbody = gfc_finish_block (&block);
+ if (!sym->attr.save)
+ {
+ /* Nullify and automatic deallocation of allocatable
+ scalars. */
+ tree tmp;
+ gfc_expr *e;
+ gfc_se se;
+ stmtblock_t block;
+
+ e = gfc_lval_expr_from_sym (sym);
+ if (sym->ts.type == BT_CLASS)
+ gfc_add_component_ref (e, "$data");
+
+ gfc_init_se (&se, NULL);
+ se.want_pointer = 1;
+ gfc_conv_expr (&se, e);
+ gfc_free_expr (e);
+
+ /* Nullify when entering the scope. */
+ gfc_start_block (&block);
+ gfc_add_modify (&block, se.expr,
+ fold_convert (TREE_TYPE (se.expr),
+ null_pointer_node));
+ gfc_add_expr_to_block (&block, fnbody);
+
+ /* Deallocate when leaving the scope. Nullifying is not
+ needed. */
+ tmp = gfc_deallocate_with_status (se.expr, NULL_TREE, true,
+ NULL);
+ gfc_add_expr_to_block (&block, tmp);
+ fnbody = gfc_finish_block (&block);
+ }
}
else if (sym->ts.type == BT_CHARACTER)
{
@@ -4319,7 +4331,7 @@ gfc_generate_function_code (gfc_namespace * ns)
|| (sym->attr.entry_master
&& sym->ns->entries->sym->attr.recursive);
if ((gfc_option.rtcheck & GFC_RTCHECK_RECURSION) && !is_recursive
- && !gfc_option.flag_openmp)
+ && !gfc_option.flag_recursive)
{
char * msg;
@@ -4384,13 +4396,18 @@ gfc_generate_function_code (gfc_namespace * ns)
result = sym->result->backend_decl;
if (result != NULL_TREE && sym->attr.function
- && sym->ts.type == BT_DERIVED
- && sym->ts.u.derived->attr.alloc_comp
- && !sym->attr.pointer)
+ && !sym->attr.pointer)
{
- rank = sym->as ? sym->as->rank : 0;
- tmp2 = gfc_nullify_alloc_comp (sym->ts.u.derived, result, rank);
- gfc_add_expr_to_block (&block, tmp2);
+ if (sym->ts.type == BT_DERIVED
+ && sym->ts.u.derived->attr.alloc_comp)
+ {
+ rank = sym->as ? sym->as->rank : 0;
+ tmp2 = gfc_nullify_alloc_comp (sym->ts.u.derived, result, rank);
+ gfc_add_expr_to_block (&block, tmp2);
+ }
+ else if (sym->attr.allocatable && sym->attr.dimension == 0)
+ gfc_add_modify (&block, result, fold_convert (TREE_TYPE (result),
+ null_pointer_node));
}
gfc_add_expr_to_block (&block, tmp);
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index b0c19c9627c..e5fce02c6c7 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -3351,6 +3351,12 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
{
var = gfc_create_var (type, "pstr");
+ if ((!comp && sym->attr.allocatable)
+ || (comp && comp->attr.allocatable))
+ gfc_add_modify (&se->pre, var,
+ fold_convert (TREE_TYPE (var),
+ null_pointer_node));
+
/* Provide an address expression for the function arguments. */
var = gfc_build_addr_expr (NULL_TREE, var);
}
@@ -3413,7 +3419,8 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
something like
x = f()
where f is pointer valued, we have to dereference the result. */
- if (!se->want_pointer && !byref && sym->attr.pointer
+ if (!se->want_pointer && !byref
+ && (sym->attr.pointer || sym->attr.allocatable)
&& !gfc_is_proc_ptr_comp (expr, NULL))
se->expr = build_fold_indirect_ref_loc (input_location,
se->expr);
diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c
index 32c6efc0c3c..5159f429d02 100644
--- a/gcc/fortran/trans-stmt.c
+++ b/gcc/fortran/trans-stmt.c
@@ -4059,7 +4059,32 @@ gfc_trans_allocate (gfc_code * code)
if (expr->ts.type == BT_CHARACTER && memsz == NULL_TREE)
memsz = se.string_length;
- tmp = gfc_allocate_with_status (&se.pre, memsz, pstat);
+ /* Allocate - for non-pointers with re-alloc checking. */
+ {
+ gfc_ref *ref;
+ bool allocatable;
+
+ ref = expr->ref;
+
+ /* Find the last reference in the chain. */
+ while (ref && ref->next != NULL)
+ {
+ gcc_assert (ref->type != REF_ARRAY || ref->u.ar.type == AR_ELEMENT);
+ ref = ref->next;
+ }
+
+ if (!ref)
+ allocatable = expr->symtree->n.sym->attr.allocatable;
+ else
+ allocatable = ref->u.c.component->attr.allocatable;
+
+ if (allocatable)
+ tmp = gfc_allocate_array_with_status (&se.pre, se.expr, memsz,
+ pstat, expr);
+ else
+ tmp = gfc_allocate_with_status (&se.pre, memsz, pstat);
+ }
+
tmp = fold_build2 (MODIFY_EXPR, void_type_node, se.expr,
fold_convert (TREE_TYPE (se.expr), tmp));
gfc_add_expr_to_block (&se.pre, tmp);
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c
index 42d22388105..a107392e094 100644
--- a/gcc/fortran/trans.c
+++ b/gcc/fortran/trans.c
@@ -711,6 +711,7 @@ gfc_allocate_with_status (stmtblock_t * block, tree size, tree status)
}
else
runtime_error ("Attempting to allocate already allocated array");
+ }
}
expr must be set to the original expression being allocated for its locus
diff --git a/gcc/gcc.c b/gcc/gcc.c
index a9a10fe7ef0..d001273da70 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -3233,12 +3233,15 @@ See %s for instructions.",
SWITCH_LIVE to indicate this switch is true in a conditional spec.
SWITCH_FALSE to indicate this switch is overridden by a later switch.
SWITCH_IGNORE to indicate this switch should be ignored (used in %<S).
+ SWITCH_IGNORE_PERMANENTLY to indicate this switch should be ignored
+ in all do_spec calls afterwards. Used for %<S from self specs.
The `validated' field is nonzero if any spec has looked at this switch;
if it remains zero at the end of the run, it must be meaningless. */
-#define SWITCH_LIVE 0x1
-#define SWITCH_FALSE 0x2
-#define SWITCH_IGNORE 0x4
+#define SWITCH_LIVE 0x1
+#define SWITCH_FALSE 0x2
+#define SWITCH_IGNORE 0x4
+#define SWITCH_IGNORE_PERMANENTLY 0x8
struct switchstr
{
@@ -4928,13 +4931,20 @@ do_option_spec (const char *name, const char *spec)
static void
do_self_spec (const char *spec)
{
+ int i;
+
do_spec_2 (spec);
do_spec_1 (" ", 0, NULL);
+ /* Mark %<S switches processed by do_self_spec to be ignored permanently.
+ do_self_specs adds the replacements to switches array, so it shouldn't
+ be processed afterwards. */
+ for (i = 0; i < n_switches; i++)
+ if ((switches[i].live_cond & SWITCH_IGNORE))
+ switches[i].live_cond |= SWITCH_IGNORE_PERMANENTLY;
+
if (argbuf_index > 0)
{
- int i;
-
switches = XRESIZEVEC (struct switchstr, switches,
n_switches + argbuf_index + 1);
@@ -6448,7 +6458,8 @@ check_live_switch (int switchnum, int prefix_length)
if (switches[switchnum].live_cond != 0)
return ((switches[switchnum].live_cond & SWITCH_LIVE) != 0
&& (switches[switchnum].live_cond & SWITCH_FALSE) == 0
- && (switches[switchnum].live_cond & SWITCH_IGNORE) == 0);
+ && (switches[switchnum].live_cond & SWITCH_IGNORE_PERMANENTLY)
+ == 0);
/* In the common case of {<at-most-one-letter>*}, a negating
switch would always match, so ignore that case. We will just
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 77ac28e58d1..6c7cc6b2640 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -5078,7 +5078,6 @@ static unsigned int
execute_rtl_cprop (void)
{
delete_unreachable_blocks ();
- df_note_add_problem ();
df_set_flags (DF_LR_RUN_DCE);
df_analyze ();
flag_rerun_cse_after_global_opts |= one_cprop_pass ();
@@ -5098,7 +5097,6 @@ static unsigned int
execute_rtl_pre (void)
{
delete_unreachable_blocks ();
- df_note_add_problem ();
df_analyze ();
flag_rerun_cse_after_global_opts |= one_pre_gcse_pass ();
return 0;
@@ -5120,7 +5118,6 @@ static unsigned int
execute_rtl_hoist (void)
{
delete_unreachable_blocks ();
- df_note_add_problem ();
df_analyze ();
flag_rerun_cse_after_global_opts |= one_code_hoisting_pass ();
return 0;
diff --git a/gcc/gimple.c b/gcc/gimple.c
index 02d8cc4a5df..3ee15b56989 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -1,6 +1,6 @@
/* Gimple IR support functions.
- Copyright 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldyh@redhat.com>
This file is part of GCC.
@@ -1297,7 +1297,7 @@ walk_gimple_asm (gimple stmt, walk_tree_fn callback_op,
The return value is that returned by the last call to walk_tree, or
NULL_TREE if no CALLBACK_OP is specified. */
-inline tree
+tree
walk_gimple_op (gimple stmt, walk_tree_fn callback_op,
struct walk_stmt_info *wi)
{
diff --git a/gcc/gimple.h b/gcc/gimple.h
index 8bddb2a38b7..63779389636 100644
--- a/gcc/gimple.h
+++ b/gcc/gimple.h
@@ -1061,7 +1061,9 @@ gimple_code (const_gimple g)
static inline enum gimple_statement_structure_enum
gss_for_code (enum gimple_code code)
{
+#ifdef ENABLE_CHECKING
gcc_assert ((unsigned int)code < LAST_AND_UNUSED_GIMPLE_CODE);
+#endif
return gss_for_code_[code];
}
@@ -1628,7 +1630,9 @@ gimple_op (const_gimple gs, unsigned i)
{
if (gimple_has_ops (gs))
{
+#ifdef ENABLE_CHECKING
gcc_assert (i < gimple_num_ops (gs));
+#endif
return gimple_ops (CONST_CAST_GIMPLE (gs))[i];
}
else
@@ -1642,7 +1646,9 @@ gimple_op_ptr (const_gimple gs, unsigned i)
{
if (gimple_has_ops (gs))
{
+#ifdef ENABLE_CHECKING
gcc_assert (i < gimple_num_ops (gs));
+#endif
return gimple_ops (CONST_CAST_GIMPLE (gs)) + i;
}
else
@@ -1706,7 +1712,6 @@ static inline void
gimple_assign_set_lhs (gimple gs, tree lhs)
{
GIMPLE_CHECK (gs, GIMPLE_ASSIGN);
- gcc_assert (is_gimple_operand (lhs));
gimple_set_op (gs, 0, lhs);
if (lhs && TREE_CODE (lhs) == SSA_NAME)
@@ -1741,13 +1746,6 @@ gimple_assign_set_rhs1 (gimple gs, tree rhs)
{
GIMPLE_CHECK (gs, GIMPLE_ASSIGN);
- /* If there are 3 or more operands, the 2 operands on the RHS must be
- GIMPLE values. */
- if (gimple_num_ops (gs) >= 3)
- gcc_assert (is_gimple_val (rhs));
- else
- gcc_assert (is_gimple_operand (rhs));
-
gimple_set_op (gs, 1, rhs);
}
@@ -1785,9 +1783,6 @@ gimple_assign_set_rhs2 (gimple gs, tree rhs)
{
GIMPLE_CHECK (gs, GIMPLE_ASSIGN);
- /* The 2 operands on the RHS must be GIMPLE values. */
- gcc_assert (is_gimple_val (rhs));
-
gimple_set_op (gs, 2, rhs);
}
@@ -1901,7 +1896,6 @@ static inline void
gimple_call_set_lhs (gimple gs, tree lhs)
{
GIMPLE_CHECK (gs, GIMPLE_CALL);
- gcc_assert (!lhs || is_gimple_operand (lhs));
gimple_set_op (gs, 0, lhs);
if (lhs && TREE_CODE (lhs) == SSA_NAME)
SSA_NAME_DEF_STMT (lhs) = gs;
@@ -1936,7 +1930,6 @@ static inline void
gimple_call_set_fn (gimple gs, tree fn)
{
GIMPLE_CHECK (gs, GIMPLE_CALL);
- gcc_assert (is_gimple_operand (fn));
gimple_set_op (gs, 1, fn);
}
@@ -1947,7 +1940,6 @@ static inline void
gimple_call_set_fndecl (gimple gs, tree decl)
{
GIMPLE_CHECK (gs, GIMPLE_CALL);
- gcc_assert (TREE_CODE (decl) == FUNCTION_DECL);
gimple_set_op (gs, 1, build_fold_addr_expr_loc (gimple_location (gs), decl));
}
@@ -1961,10 +1953,7 @@ gimple_call_fndecl (const_gimple gs)
{
tree addr = gimple_call_fn (gs);
if (TREE_CODE (addr) == ADDR_EXPR)
- {
- gcc_assert (TREE_CODE (TREE_OPERAND (addr, 0)) == FUNCTION_DECL);
- return TREE_OPERAND (addr, 0);
- }
+ return TREE_OPERAND (addr, 0);
return NULL_TREE;
}
@@ -1978,12 +1967,8 @@ gimple_call_return_type (const_gimple gs)
tree type = TREE_TYPE (fn);
/* See through the pointer. */
- gcc_assert (POINTER_TYPE_P (type));
type = TREE_TYPE (type);
- gcc_assert (TREE_CODE (type) == FUNCTION_TYPE
- || TREE_CODE (type) == METHOD_TYPE);
-
/* The type returned by a FUNCTION_DECL is the type of its
function type. */
return TREE_TYPE (type);
@@ -2015,9 +2000,7 @@ static inline void
gimple_call_set_chain (gimple gs, tree chain)
{
GIMPLE_CHECK (gs, GIMPLE_CALL);
- gcc_assert (chain == NULL
- || TREE_CODE (chain) == ADDR_EXPR
- || SSA_VAR_P (chain));
+
gimple_set_op (gs, 2, chain);
}
@@ -2030,7 +2013,6 @@ gimple_call_num_args (const_gimple gs)
unsigned num_ops;
GIMPLE_CHECK (gs, GIMPLE_CALL);
num_ops = gimple_num_ops (gs);
- gcc_assert (num_ops >= 3);
return num_ops - 3;
}
@@ -2062,7 +2044,6 @@ static inline void
gimple_call_set_arg (gimple gs, unsigned index, tree arg)
{
GIMPLE_CHECK (gs, GIMPLE_CALL);
- gcc_assert (is_gimple_operand (arg));
gimple_set_op (gs, index + 3, arg);
}
@@ -2248,7 +2229,6 @@ static inline void
gimple_cond_set_code (gimple gs, enum tree_code code)
{
GIMPLE_CHECK (gs, GIMPLE_COND);
- gcc_assert (TREE_CODE_CLASS (code) == tcc_comparison);
gs->gsbase.subcode = code;
}
@@ -2279,7 +2259,6 @@ static inline void
gimple_cond_set_lhs (gimple gs, tree lhs)
{
GIMPLE_CHECK (gs, GIMPLE_COND);
- gcc_assert (is_gimple_operand (lhs));
gimple_set_op (gs, 0, lhs);
}
@@ -2311,7 +2290,6 @@ static inline void
gimple_cond_set_rhs (gimple gs, tree rhs)
{
GIMPLE_CHECK (gs, GIMPLE_COND);
- gcc_assert (is_gimple_operand (rhs));
gimple_set_op (gs, 1, rhs);
}
@@ -2334,7 +2312,6 @@ static inline void
gimple_cond_set_true_label (gimple gs, tree label)
{
GIMPLE_CHECK (gs, GIMPLE_COND);
- gcc_assert (!label || TREE_CODE (label) == LABEL_DECL);
gimple_set_op (gs, 2, label);
}
@@ -2346,7 +2323,6 @@ static inline void
gimple_cond_set_false_label (gimple gs, tree label)
{
GIMPLE_CHECK (gs, GIMPLE_COND);
- gcc_assert (!label || TREE_CODE (label) == LABEL_DECL);
gimple_set_op (gs, 3, label);
}
@@ -2477,7 +2453,6 @@ static inline void
gimple_label_set_label (gimple gs, tree label)
{
GIMPLE_CHECK (gs, GIMPLE_LABEL);
- gcc_assert (TREE_CODE (label) == LABEL_DECL);
gimple_set_op (gs, 0, label);
}
@@ -2498,7 +2473,6 @@ static inline void
gimple_goto_set_dest (gimple gs, tree dest)
{
GIMPLE_CHECK (gs, GIMPLE_GOTO);
- gcc_assert (is_gimple_operand (dest));
gimple_set_op (gs, 0, dest);
}
@@ -3292,7 +3266,9 @@ static inline tree
gimple_debug_bind_get_var (gimple dbg)
{
GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
+#ifdef ENABLE_CHECKING
gcc_assert (gimple_debug_bind_p (dbg));
+#endif
return gimple_op (dbg, 0);
}
@@ -3303,7 +3279,9 @@ static inline tree
gimple_debug_bind_get_value (gimple dbg)
{
GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
+#ifdef ENABLE_CHECKING
gcc_assert (gimple_debug_bind_p (dbg));
+#endif
return gimple_op (dbg, 1);
}
@@ -3314,7 +3292,9 @@ static inline tree *
gimple_debug_bind_get_value_ptr (gimple dbg)
{
GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
+#ifdef ENABLE_CHECKING
gcc_assert (gimple_debug_bind_p (dbg));
+#endif
return gimple_op_ptr (dbg, 1);
}
@@ -3324,7 +3304,9 @@ static inline void
gimple_debug_bind_set_var (gimple dbg, tree var)
{
GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
+#ifdef ENABLE_CHECKING
gcc_assert (gimple_debug_bind_p (dbg));
+#endif
gimple_set_op (dbg, 0, var);
}
@@ -3335,7 +3317,9 @@ static inline void
gimple_debug_bind_set_value (gimple dbg, tree value)
{
GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
+#ifdef ENABLE_CHECKING
gcc_assert (gimple_debug_bind_p (dbg));
+#endif
gimple_set_op (dbg, 1, value);
}
@@ -3350,7 +3334,9 @@ static inline void
gimple_debug_bind_reset_value (gimple dbg)
{
GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
+#ifdef ENABLE_CHECKING
gcc_assert (gimple_debug_bind_p (dbg));
+#endif
gimple_set_op (dbg, 1, GIMPLE_DEBUG_BIND_NOVALUE);
}
@@ -3361,7 +3347,9 @@ static inline bool
gimple_debug_bind_has_value_p (gimple dbg)
{
GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
+#ifdef ENABLE_CHECKING
gcc_assert (gimple_debug_bind_p (dbg));
+#endif
return gimple_op (dbg, 1) != GIMPLE_DEBUG_BIND_NOVALUE;
}
@@ -4254,7 +4242,6 @@ static inline tree *
gimple_return_retval_ptr (const_gimple gs)
{
GIMPLE_CHECK (gs, GIMPLE_RETURN);
- gcc_assert (gimple_num_ops (gs) == 1);
return gimple_op_ptr (gs, 0);
}
@@ -4264,7 +4251,6 @@ static inline tree
gimple_return_retval (const_gimple gs)
{
GIMPLE_CHECK (gs, GIMPLE_RETURN);
- gcc_assert (gimple_num_ops (gs) == 1);
return gimple_op (gs, 0);
}
@@ -4275,10 +4261,6 @@ static inline void
gimple_return_set_retval (gimple gs, tree retval)
{
GIMPLE_CHECK (gs, GIMPLE_RETURN);
- gcc_assert (gimple_num_ops (gs) == 1);
- gcc_assert (retval == NULL_TREE
- || TREE_CODE (retval) == RESULT_DECL
- || is_gimple_val (retval));
gimple_set_op (gs, 0, retval);
}
diff --git a/gcc/graphite-blocking.c b/gcc/graphite-blocking.c
index 3cf60e92001..f7ddae2ee91 100644
--- a/gcc/graphite-blocking.c
+++ b/gcc/graphite-blocking.c
@@ -285,25 +285,27 @@ scop_do_strip_mine (scop_p scop)
bool
scop_do_block (scop_p scop)
{
- bool transform_done = false;
+ bool strip_mined = false;
+ bool interchanged = false;
store_scattering (scop);
- lst_do_strip_mine (SCOP_TRANSFORMED_SCHEDULE (scop));
- transform_done = scop_do_interchange (scop);
+ strip_mined = lst_do_strip_mine (SCOP_TRANSFORMED_SCHEDULE (scop));
+ interchanged = scop_do_interchange (scop);
/* If we don't interchange loops, then the strip mine is not
profitable, and the transform is not a loop blocking. */
- if (!transform_done
+ if (!interchanged
|| !graphite_legal_transform (scop))
{
restore_scattering (scop);
return false;
}
- else if (dump_file && (dump_flags & TDF_DETAILS))
+ else if (strip_mined && interchanged
+ && dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file, "SCoP will be loop blocked.\n");
- return transform_done;
+ return strip_mined || interchanged;
}
#endif
diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c
index 93138b6bd89..827a93460b5 100644
--- a/gcc/graphite-clast-to-gimple.c
+++ b/gcc/graphite-clast-to-gimple.c
@@ -117,7 +117,12 @@ save_clast_name_index (htab_t index_table, const char *name, int index)
slot = htab_find_slot (index_table, &tmp, INSERT);
if (slot)
- *slot = new_clast_name_index (name, index);
+ {
+ if (*slot)
+ free (*slot);
+
+ *slot = new_clast_name_index (name, index);
+ }
}
/* Print to stderr the element ELT. */
@@ -629,7 +634,7 @@ copy_renames (void **slot, void *s)
tmp.old_name = old_name;
x = htab_find_slot (res, &tmp, INSERT);
- if (!*x)
+ if (x && !*x)
*x = new_rename_map_elt (old_name, expr);
return 1;
@@ -660,7 +665,7 @@ mark_bb_with_pbb (poly_bb_p pbb, basic_block bb, htab_t bb_pbb_mapping)
tmp.bb = bb;
x = htab_find_slot (bb_pbb_mapping, &tmp, INSERT);
- if (!*x)
+ if (x && !*x)
*x = new_bb_pbb_def (bb, pbb);
}
@@ -719,13 +724,14 @@ dependency_in_loop_p (loop_p loop, htab_t bb_pbb_mapping, int level)
}
static edge
-translate_clast (sese, struct clast_stmt *, edge, htab_t, VEC (tree, heap) **,
- htab_t, htab_t, htab_t);
+translate_clast (sese, loop_p, struct clast_stmt *, edge, htab_t,
+ VEC (tree, heap) **, htab_t, htab_t, int, htab_t);
/* Translates a clast user statement STMT to gimple.
- REGION is the sese region we used to generate the scop.
- NEXT_E is the edge where new generated code should be attached.
+ - CONTEXT_LOOP is the loop in which the generated code will be placed
- RENAME_MAP contains a set of tuples of new names associated to
the original variables names.
- BB_PBB_MAPPING is is a basic_block and it's related poly_bb_p mapping.
@@ -737,8 +743,10 @@ translate_clast_user (sese region, struct clast_user_stmt *stmt, edge next_e,
htab_t newivs_index, htab_t bb_pbb_mapping,
htab_t params_index)
{
+ gimple_bb_p gbb;
+ basic_block new_bb;
poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (stmt->statement);
- gimple_bb_p gbb = PBB_BLACK_BOX (pbb);
+ gbb = PBB_BLACK_BOX (pbb);
if (GBB_BB (gbb) == ENTRY_BLOCK_PTR)
return next_e;
@@ -747,27 +755,13 @@ translate_clast_user (sese region, struct clast_user_stmt *stmt, edge next_e,
params_index);
next_e = copy_bb_and_scalar_dependences (GBB_BB (gbb), region,
next_e, rename_map);
- mark_bb_with_pbb (pbb, next_e->src, bb_pbb_mapping);
+ new_bb = next_e->src;
+ mark_bb_with_pbb (pbb, new_bb, bb_pbb_mapping);
update_ssa (TODO_update_ssa);
return next_e;
}
-/* Mark a loop parallel, if the graphite dependency check cannot find any
- dependencies. This triggers parallel code generation in the autopar pass.
- */
-static void
-try_mark_loop_parallel (sese region, loop_p loop, htab_t bb_pbb_mapping)
-{
- loop_p outermost_loop = SESE_ENTRY (region)->src->loop_father;
- int level = loop_depth (loop) - loop_depth (outermost_loop);
-
- if (flag_loop_parallelize_all
- && !dependency_in_loop_p (loop, bb_pbb_mapping,
- get_scattering_level (level)))
- loop->can_be_parallel = true;
-}
-
static tree gcc_type_for_iv_of_clast_loop (struct clast_for *);
@@ -818,25 +812,36 @@ graphite_create_new_loop_guard (sese region, edge entry_edge,
- PARAMS_INDEX connects the cloog parameters with the gimple parameters in
the sese region. */
static edge
-translate_clast_for_loop (sese region, struct clast_for *stmt, edge next_e,
+translate_clast_for_loop (sese region, loop_p context_loop, struct clast_for *stmt, edge next_e,
htab_t rename_map, VEC (tree, heap) **newivs,
- htab_t newivs_index, htab_t bb_pbb_mapping,
+ htab_t newivs_index, htab_t bb_pbb_mapping, int level,
htab_t params_index)
{
- loop_p context_loop = next_e->dest->loop_father;
- loop_p loop = graphite_create_new_loop (region, next_e, stmt, context_loop,
- newivs, newivs_index, params_index);
+ struct loop *loop = graphite_create_new_loop (region, next_e, stmt,
+ context_loop, newivs,
+ newivs_index, params_index);
edge last_e = single_exit (loop);
- edge body = single_succ_edge (loop->header);
-
- next_e = translate_clast (region, stmt->body, body, rename_map, newivs,
- newivs_index, bb_pbb_mapping, params_index);
+ edge to_body = single_succ_edge (loop->header);
+ basic_block after = to_body->dest;
/* Create a basic block for loop close phi nodes. */
last_e = single_succ_edge (split_edge (last_e));
+
+ /* Translate the body of the loop. */
+ next_e = translate_clast (region, loop, stmt->body, to_body, rename_map,
+ newivs, newivs_index, bb_pbb_mapping, level + 1,
+ params_index);
+ redirect_edge_succ_nodup (next_e, after);
+ set_immediate_dominator (CDI_DOMINATORS, next_e->dest, next_e->src);
+
+ /* Remove from rename_map all the tuples containing variables
+ defined in loop's body. */
insert_loop_close_phis (rename_map, loop);
- try_mark_loop_parallel (region, loop, bb_pbb_mapping);
+ if (flag_loop_parallelize_all
+ && !dependency_in_loop_p (loop, bb_pbb_mapping,
+ get_scattering_level (level)))
+ loop->can_be_parallel = true;
return last_e;
}
@@ -853,9 +858,9 @@ translate_clast_for_loop (sese region, struct clast_for *stmt, edge next_e,
- PARAMS_INDEX connects the cloog parameters with the gimple parameters in
the sese region. */
static edge
-translate_clast_for (sese region, struct clast_for *stmt, edge next_e,
+translate_clast_for (sese region, loop_p context_loop, struct clast_for *stmt, edge next_e,
htab_t rename_map, VEC (tree, heap) **newivs,
- htab_t newivs_index, htab_t bb_pbb_mapping,
+ htab_t newivs_index, htab_t bb_pbb_mapping, int level,
htab_t params_index)
{
edge last_e = graphite_create_new_loop_guard (region, next_e, stmt, *newivs,
@@ -870,8 +875,8 @@ translate_clast_for (sese region, struct clast_for *stmt, edge next_e,
eq_rename_map_elts, free);
htab_traverse (rename_map, copy_renames, before_guard);
- next_e = translate_clast_for_loop (region, stmt, true_e, rename_map, newivs,
- newivs_index, bb_pbb_mapping,
+ next_e = translate_clast_for_loop (region, context_loop, stmt, true_e, rename_map, newivs,
+ newivs_index, bb_pbb_mapping, level,
params_index);
insert_guard_phis (last_e->src, exit_true_e, exit_false_e,
@@ -886,15 +891,17 @@ translate_clast_for (sese region, struct clast_for *stmt, edge next_e,
- REGION is the sese region we used to generate the scop.
- NEXT_E is the edge where new generated code should be attached.
+ - CONTEXT_LOOP is the loop in which the generated code will be placed
- RENAME_MAP contains a set of tuples of new names associated to
the original variables names.
- BB_PBB_MAPPING is is a basic_block and it's related poly_bb_p mapping.
- PARAMS_INDEX connects the cloog parameters with the gimple parameters in
the sese region. */
static edge
-translate_clast_guard (sese region, struct clast_guard *stmt, edge next_e,
+translate_clast_guard (sese region, loop_p context_loop,
+ struct clast_guard *stmt, edge next_e,
htab_t rename_map, VEC (tree, heap) **newivs,
- htab_t newivs_index, htab_t bb_pbb_mapping,
+ htab_t newivs_index, htab_t bb_pbb_mapping, int level,
htab_t params_index)
{
edge last_e = graphite_create_new_guard (region, next_e, stmt, *newivs,
@@ -909,9 +916,9 @@ translate_clast_guard (sese region, struct clast_guard *stmt, edge next_e,
eq_rename_map_elts, free);
htab_traverse (rename_map, copy_renames, before_guard);
- next_e = translate_clast (region, stmt->then, true_e,
+ next_e = translate_clast (region, context_loop, stmt->then, true_e,
rename_map, newivs, newivs_index, bb_pbb_mapping,
- params_index);
+ level, params_index);
insert_guard_phis (last_e->src, exit_true_e, exit_false_e,
before_guard, rename_map);
@@ -925,13 +932,14 @@ translate_clast_guard (sese region, struct clast_guard *stmt, edge next_e,
context of a SESE.
- NEXT_E is the edge where new generated code should be attached.
+ - CONTEXT_LOOP is the loop in which the generated code will be placed
- RENAME_MAP contains a set of tuples of new names associated to
the original variables names.
- BB_PBB_MAPPING is is a basic_block and it's related poly_bb_p mapping. */
static edge
-translate_clast (sese region, struct clast_stmt *stmt,
+translate_clast (sese region, loop_p context_loop, struct clast_stmt *stmt,
edge next_e, htab_t rename_map, VEC (tree, heap) **newivs,
- htab_t newivs_index, htab_t bb_pbb_mapping,
+ htab_t newivs_index, htab_t bb_pbb_mapping, int level,
htab_t params_index)
{
if (!stmt)
@@ -946,28 +954,31 @@ translate_clast (sese region, struct clast_stmt *stmt,
bb_pbb_mapping, params_index);
else if (CLAST_STMT_IS_A (stmt, stmt_for))
- next_e = translate_clast_for (region,
- (struct clast_for *) stmt, next_e, rename_map,
- newivs, newivs_index, bb_pbb_mapping,
- params_index);
+ next_e = translate_clast_for (region, context_loop,
+ (struct clast_for *) stmt, next_e,
+ rename_map, newivs, newivs_index,
+ bb_pbb_mapping, level, params_index);
else if (CLAST_STMT_IS_A (stmt, stmt_guard))
- next_e = translate_clast_guard (region, (struct clast_guard *) stmt, next_e,
+ next_e = translate_clast_guard (region, context_loop,
+ (struct clast_guard *) stmt, next_e,
rename_map, newivs, newivs_index,
- bb_pbb_mapping, params_index);
+ bb_pbb_mapping, level, params_index);
else if (CLAST_STMT_IS_A (stmt, stmt_block))
- next_e = translate_clast (region, ((struct clast_block *) stmt)->body,
+ next_e = translate_clast (region, context_loop,
+ ((struct clast_block *) stmt)->body,
next_e, rename_map, newivs, newivs_index,
- bb_pbb_mapping, params_index);
+ bb_pbb_mapping, level, params_index);
else
gcc_unreachable();
recompute_all_dominators ();
graphite_verify ();
- return translate_clast (region, stmt->next, next_e, rename_map, newivs,
- newivs_index, bb_pbb_mapping, params_index);
+ return translate_clast (region, context_loop, stmt->next, next_e,
+ rename_map, newivs, newivs_index,
+ bb_pbb_mapping, level, params_index);
}
/* Returns the first cloog name used in EXPR. */
@@ -1026,7 +1037,7 @@ compute_cloog_iv_types_1 (poly_bb_p pbb, struct clast_user_stmt *user_stmt)
slot = htab_find_slot (GBB_CLOOG_IV_TYPES (gbb), &tmp, INSERT);
- if (!*slot)
+ if (slot && !*slot)
{
tree oldiv = pbb_to_depth_to_oldiv (pbb, index);
tree type = oldiv ? TREE_TYPE (oldiv) : integer_type_node;
@@ -1411,6 +1422,7 @@ gloog (scop_p scop, htab_t bb_pbb_mapping)
{
edge new_scop_exit_edge = NULL;
VEC (tree, heap) *newivs = VEC_alloc (tree, heap, 10);
+ loop_p context_loop;
sese region = SCOP_REGION (scop);
ifsese if_region = NULL;
htab_t rename_map, newivs_index, params_index;
@@ -1438,6 +1450,7 @@ gloog (scop_p scop, htab_t bb_pbb_mapping)
recompute_all_dominators ();
graphite_verify ();
+ context_loop = SESE_ENTRY (region)->src->loop_father;
compute_cloog_iv_types (pc.stmt);
rename_map = htab_create (10, rename_map_elt_info, eq_rename_map_elts, free);
newivs_index = htab_create (10, clast_name_index_elt_info,
@@ -1447,10 +1460,10 @@ gloog (scop_p scop, htab_t bb_pbb_mapping)
create_params_index (params_index, pc.prog);
- new_scop_exit_edge = translate_clast (region, pc.stmt,
+ new_scop_exit_edge = translate_clast (region, context_loop, pc.stmt,
if_region->true_region->entry,
rename_map, &newivs, newivs_index,
- bb_pbb_mapping, params_index);
+ bb_pbb_mapping, 1, params_index);
graphite_verify ();
sese_adjust_liveout_phis (region, rename_map,
if_region->region->exit->src,
diff --git a/gcc/graphite-interchange.c b/gcc/graphite-interchange.c
index d4bc232ed16..918e334e367 100644
--- a/gcc/graphite-interchange.c
+++ b/gcc/graphite-interchange.c
@@ -196,7 +196,7 @@ build_partial_difference (ppl_Pointset_Powerset_C_Polyhedron_t *p,
the loop at DEPTH. */
static void
-memory_stride_in_loop (Value stride, graphite_dim_t depth, poly_dr_p pdr)
+pdr_stride_in_loop (Value stride, graphite_dim_t depth, poly_dr_p pdr)
{
ppl_dimension_type time_depth;
ppl_Linear_Expression_t le, lma;
@@ -329,34 +329,54 @@ memory_stride_in_loop (Value stride, graphite_dim_t depth, poly_dr_p pdr)
ppl_delete_Linear_Expression (le);
}
-/* Sets STRIDES to the sum of all the strides of the data references accessed */
+
+/* Sets STRIDES to the sum of all the strides of the data references
+ accessed in LOOP at DEPTH. */
static void
-memory_strides_in_loop_depth (poly_bb_p pbb, graphite_dim_t depth, Value strides)
+memory_strides_in_loop_1 (lst_p loop, graphite_dim_t depth, Value strides)
{
- int i;
+ int i, j;
+ lst_p l;
poly_dr_p pdr;
Value s, n;
- value_set_si (strides, 0);
value_init (s);
value_init (n);
- for (i = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb), i, pdr); i++)
- {
- value_set_si (n, PDR_NB_REFS (pdr));
-
- memory_stride_in_loop (s, depth, pdr);
- value_multiply (s, s, n);
- value_addto (strides, strides, s);
- }
+ for (j = 0; VEC_iterate (lst_p, LST_SEQ (loop), j, l); j++)
+ if (LST_LOOP_P (l))
+ memory_strides_in_loop_1 (l, depth, strides);
+ else
+ for (i = 0; VEC_iterate (poly_dr_p, PBB_DRS (LST_PBB (l)), i, pdr); i++)
+ {
+ pdr_stride_in_loop (s, depth, pdr);
+ value_set_si (n, PDR_NB_REFS (pdr));
+ value_multiply (s, s, n);
+ value_addto (strides, strides, s);
+ }
value_clear (s);
value_clear (n);
}
-/* Returns true when it is profitable to interchange time dimensions DEPTH1
- and DEPTH2 with DEPTH1 < DEPTH2 for PBB.
+/* Sets STRIDES to the sum of all the strides of the data references
+ accessed in LOOP at DEPTH. */
+
+static void
+memory_strides_in_loop (lst_p loop, graphite_dim_t depth, Value strides)
+{
+ if (value_mone_p (loop->memory_strides))
+ {
+ value_set_si (strides, 0);
+ memory_strides_in_loop_1 (loop, depth, strides);
+ }
+ else
+ value_assign (strides, loop->memory_strides);
+}
+
+/* Return true when the interchange of loops LOOP1 and LOOP2 is
+ profitable.
Example:
@@ -437,19 +457,20 @@ memory_strides_in_loop_depth (poly_bb_p pbb, graphite_dim_t depth, Value strides
profitable to interchange the loops at DEPTH1 and DEPTH2. */
static bool
-pbb_interchange_profitable_p (graphite_dim_t depth1, graphite_dim_t depth2,
- poly_bb_p pbb)
+lst_interchange_profitable_p (lst_p loop1, lst_p loop2)
{
Value d1, d2;
bool res;
- gcc_assert (depth1 < depth2);
+ gcc_assert (loop1 && loop2
+ && LST_LOOP_P (loop1) && LST_LOOP_P (loop2)
+ && lst_depth (loop1) < lst_depth (loop2));
value_init (d1);
value_init (d2);
- memory_strides_in_loop_depth (pbb, depth1, d1);
- memory_strides_in_loop_depth (pbb, depth2, d2);
+ memory_strides_in_loop (loop1, lst_depth (loop1), d1);
+ memory_strides_in_loop (loop2, lst_depth (loop2), d2);
res = value_lt (d1, d2);
@@ -507,40 +528,6 @@ lst_apply_interchange (lst_p lst, int depth1, int depth2)
pbb_interchange_loop_depths (depth1, depth2, LST_PBB (lst));
}
-/* Return true when the interchange of loops at depths DEPTH1 and
- DEPTH2 to all the statements below LST is profitable. */
-
-static bool
-lst_interchange_profitable_p (lst_p lst, int depth1, int depth2)
-{
- if (!lst)
- return false;
-
- if (LST_LOOP_P (lst))
- {
- int i;
- lst_p l;
- bool res = false;
-
- for (i = 0; VEC_iterate (lst_p, LST_SEQ (lst), i, l); i++)
- {
- bool profitable = lst_interchange_profitable_p (l, depth1, depth2);
-
- if (profitable && !LST_LOOP_P (lst)
- && dump_file && (dump_flags & TDF_DETAILS))
- fprintf (dump_file,
- "Interchanging loops at depths %d and %d is profitable for stmt_%d.\n",
- depth1, depth2, pbb_index (LST_PBB (lst)));
-
- res |= profitable;
- }
-
- return res;
- }
- else
- return pbb_interchange_profitable_p (depth1, depth2, LST_PBB (lst));
-}
-
/* Return true when the nest starting at LOOP1 and ending on LOOP2 is
perfect: i.e. there are no sequence of statements. */
@@ -587,44 +574,49 @@ lst_perfect_nestify (lst_p loop1, lst_p loop2, lst_p *before,
lst_remove_all_before_excluding_pbb (*nest, last, false);
if (lst_empty_p (*before))
- *before = NULL;
+ {
+ free_lst (*before);
+ *before = NULL;
+ }
if (lst_empty_p (*after))
- *after = NULL;
+ {
+ free_lst (*after);
+ *after = NULL;
+ }
if (lst_empty_p (*nest))
- *nest = NULL;
+ {
+ free_lst (*nest);
+ *nest = NULL;
+ }
}
/* Try to interchange LOOP1 with LOOP2 for all the statements of the
body of LOOP2. LOOP1 contains LOOP2. Return true if it did the
- interchange. CREATED_LOOP_BEFORE/CREATED_LOOP_AFTER are set to
- true if the loop distribution created a loop before/after LOOP1. */
+ interchange. */
static bool
-lst_try_interchange_loops (scop_p scop, lst_p loop1, lst_p loop2,
- lst_p *before, lst_p *nest, lst_p *after)
+lst_try_interchange_loops (scop_p scop, lst_p loop1, lst_p loop2)
{
int depth1 = lst_depth (loop1);
int depth2 = lst_depth (loop2);
lst_p transformed;
- *before = NULL;
- *after = NULL;
- *nest = NULL;
+ lst_p before = NULL, nest = NULL, after = NULL;
- if (!lst_interchange_profitable_p (loop2, depth1, depth2))
+ if (!lst_interchange_profitable_p (loop1, loop2))
return false;
if (!lst_perfectly_nested_p (loop1, loop2))
- lst_perfect_nestify (loop1, loop2, before, nest, after);
+ lst_perfect_nestify (loop1, loop2, &before, &nest, &after);
lst_apply_interchange (loop2, depth1, depth2);
/* Sync the transformed LST information and the PBB scatterings
before using the scatterings in the data dependence analysis. */
- if (*before || *nest || *after)
+ if (before || nest || after)
{
transformed = lst_substitute_3 (SCOP_TRANSFORMED_SCHEDULE (scop), loop1,
- *before, *nest, *after);
+ before, nest, after);
lst_update_scattering (transformed);
free_lst (transformed);
}
@@ -637,12 +629,12 @@ lst_try_interchange_loops (scop_p scop, lst_p loop1, lst_p loop2,
depth1, depth2);
/* Transform the SCOP_TRANSFORMED_SCHEDULE of the SCOP. */
- lst_insert_in_sequence (*before, loop1, true);
- lst_insert_in_sequence (*after, loop1, false);
+ lst_insert_in_sequence (before, loop1, true);
+ lst_insert_in_sequence (after, loop1, false);
- if (*nest)
+ if (nest)
{
- lst_replace (loop1, *nest);
+ lst_replace (loop1, nest);
free_lst (loop1);
}
@@ -650,42 +642,13 @@ lst_try_interchange_loops (scop_p scop, lst_p loop1, lst_p loop2,
}
/* Undo the transform. */
+ free_lst (before);
+ free_lst (nest);
+ free_lst (after);
lst_apply_interchange (loop2, depth2, depth1);
- *before = NULL;
- *after = NULL;
- *nest = NULL;
return false;
}
-static bool lst_interchange_select_inner (scop_p, lst_p, int, lst_p);
-
-/* Try to interchange loop OUTER of LST_SEQ (OUTER_FATHER) with all
- the loop INNER and with all the loops contained in the body of
- INNER. Return true if it did interchanged some loops. */
-
-static bool
-lst_try_interchange (scop_p scop, lst_p outer_father, int outer, lst_p inner)
-{
- lst_p before, nest, after;
- bool res;
- lst_p loop1 = VEC_index (lst_p, LST_SEQ (outer_father), outer);
- lst_p loop2 = inner;
-
- gcc_assert (LST_LOOP_P (loop1)
- && LST_LOOP_P (loop2));
-
- res = lst_try_interchange_loops (scop, loop1, loop2, &before, &nest, &after);
-
- if (before)
- res |= lst_interchange_select_inner (scop, outer_father, outer, before);
- else if (nest)
- res |= lst_interchange_select_inner (scop, outer_father, outer, nest);
- else
- res |= lst_interchange_select_inner (scop, outer_father, outer, loop2);
-
- return res;
-}
-
/* Selects the inner loop in LST_SEQ (INNER_FATHER) to be interchanged
with the loop OUTER in LST_SEQ (OUTER_FATHER). */
@@ -693,9 +656,8 @@ static bool
lst_interchange_select_inner (scop_p scop, lst_p outer_father, int outer,
lst_p inner_father)
{
- lst_p l;
- bool res = false;
int inner;
+ lst_p loop1, loop2;
gcc_assert (outer_father
&& LST_LOOP_P (outer_father)
@@ -703,11 +665,15 @@ lst_interchange_select_inner (scop_p scop, lst_p outer_father, int outer,
&& inner_father
&& LST_LOOP_P (inner_father));
- for (inner = 0; VEC_iterate (lst_p, LST_SEQ (inner_father), inner, l); inner++)
- if (LST_LOOP_P (l))
- res |= lst_try_interchange (scop, outer_father, outer, l);
+ loop1 = VEC_index (lst_p, LST_SEQ (outer_father), outer);
- return res;
+ for (inner = 0; VEC_iterate (lst_p, LST_SEQ (inner_father), inner, loop2); inner++)
+ if (LST_LOOP_P (loop2)
+ && (lst_try_interchange_loops (scop, loop1, loop2)
+ || lst_interchange_select_inner (scop, outer_father, outer, loop2)))
+ return true;
+
+ return false;
}
/* Interchanges all the loops of LOOP and the loops of its body that
@@ -729,12 +695,11 @@ lst_interchange_select_outer (scop_p scop, lst_p loop, int outer)
father = LST_LOOP_FATHER (loop);
if (father)
{
- res = lst_interchange_select_inner (scop, father, outer, loop);
-
- if (VEC_length (lst_p, LST_SEQ (father)) <= (unsigned) outer)
- return res;
-
- loop = VEC_index (lst_p, LST_SEQ (father), outer);
+ while (lst_interchange_select_inner (scop, father, outer, loop))
+ {
+ res = true;
+ loop = VEC_index (lst_p, LST_SEQ (father), outer);
+ }
}
if (LST_LOOP_P (loop))
diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h
index 4912801c7a1..a2969c77216 100644
--- a/gcc/graphite-poly.h
+++ b/gcc/graphite-poly.h
@@ -632,6 +632,9 @@ struct lst {
/* A pointer to the loop that contains this node. */
lst_p loop_father;
+ /* The sum of all the memory strides for an LST loop. */
+ Value memory_strides;
+
/* Loop nodes contain a sequence SEQ of LST nodes, statements
contain a pointer to their polyhedral representation PBB. */
union {
@@ -644,6 +647,7 @@ struct lst {
#define LST_LOOP_FATHER(LST) ((LST)->loop_father)
#define LST_PBB(LST) ((LST)->node.pbb)
#define LST_SEQ(LST) ((LST)->node.seq)
+#define LST_LOOP_MEMORY_STRIDES(LST) ((LST)->memory_strides)
void scop_to_lst (scop_p);
void print_lst (FILE *, lst_p, int);
@@ -662,6 +666,8 @@ new_lst_loop (VEC (lst_p, heap) *seq)
LST_LOOP_P (lst) = true;
LST_SEQ (lst) = seq;
LST_LOOP_FATHER (lst) = NULL;
+ value_init (LST_LOOP_MEMORY_STRIDES (lst));
+ value_set_si (LST_LOOP_MEMORY_STRIDES (lst), -1);
for (i = 0; VEC_iterate (lst_p, seq, i, l); i++)
LST_LOOP_FATHER (l) = lst;
@@ -698,6 +704,7 @@ free_lst (lst_p lst)
for (i = 0; VEC_iterate (lst_p, LST_SEQ (lst), i, l); i++)
free_lst (l);
+ value_clear (LST_LOOP_MEMORY_STRIDES (lst));
VEC_free (lst_p, heap, LST_SEQ (lst));
}
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index 204fab6aff9..de75286ef28 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -1,6 +1,6 @@
/* Instruction scheduling pass.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) Enhanced by,
and currently maintained by, Jim Wilson (wilson@cygnus.com)
@@ -1803,89 +1803,87 @@ schedule_insn (rtx insn)
/* Functions for handling of notes. */
-/* Insert the INSN note at the end of the notes list. */
-static void
-add_to_note_list (rtx insn, rtx *note_list_end_p)
-{
- PREV_INSN (insn) = *note_list_end_p;
- if (*note_list_end_p)
- NEXT_INSN (*note_list_end_p) = insn;
- *note_list_end_p = insn;
-}
-
/* Add note list that ends on FROM_END to the end of TO_ENDP. */
void
concat_note_lists (rtx from_end, rtx *to_endp)
{
rtx from_start;
+ /* It's easy when have nothing to concat. */
if (from_end == NULL)
- /* It's easy when have nothing to concat. */
return;
+ /* It's also easy when destination is empty. */
if (*to_endp == NULL)
- /* It's also easy when destination is empty. */
{
*to_endp = from_end;
return;
}
from_start = from_end;
- /* A note list should be traversed via PREV_INSN. */
while (PREV_INSN (from_start) != NULL)
from_start = PREV_INSN (from_start);
- add_to_note_list (from_start, to_endp);
+ PREV_INSN (from_start) = *to_endp;
+ NEXT_INSN (*to_endp) = from_start;
*to_endp = from_end;
}
-/* Delete notes beginning with INSN and put them in the chain
- of notes ended by NOTE_LIST.
- Returns the insn following the notes. */
-static rtx
-unlink_other_notes (rtx insn, rtx tail)
+/* Delete notes between HEAD and TAIL and put them in the chain
+ of notes ended by NOTE_LIST. */
+void
+remove_notes (rtx head, rtx tail)
{
- rtx prev = PREV_INSN (insn);
+ rtx next_tail, prev, insn, next;
- while (insn != tail && NOTE_NOT_BB_P (insn))
- {
- rtx next = NEXT_INSN (insn);
- basic_block bb = BLOCK_FOR_INSN (insn);
-
- /* Delete the note from its current position. */
- if (prev)
- NEXT_INSN (prev) = next;
- if (next)
- PREV_INSN (next) = prev;
+ note_list = 0;
+ if (head == tail && !INSN_P (head))
+ return;
- if (bb)
- {
- /* Basic block can begin with either LABEL or
- NOTE_INSN_BASIC_BLOCK. */
- gcc_assert (BB_HEAD (bb) != insn);
+ next_tail = NEXT_INSN (tail);
+ prev = PREV_INSN (head);
+ for (insn = head; insn != next_tail; insn = next)
+ {
+ next = NEXT_INSN (insn);
+ if (!NOTE_P (insn))
+ {
+ prev = insn;
+ continue;
+ }
- /* Check if we are removing last insn in the BB. */
- if (BB_END (bb) == insn)
- BB_END (bb) = prev;
- }
+ switch (NOTE_KIND (insn))
+ {
+ case NOTE_INSN_BASIC_BLOCK:
+ prev = insn;
+ continue;
- /* See sched_analyze to see how these are handled. */
- if (NOTE_KIND (insn) != NOTE_INSN_EH_REGION_BEG
- && NOTE_KIND (insn) != NOTE_INSN_EH_REGION_END)
- add_to_note_list (insn, &note_list);
+ case NOTE_INSN_EPILOGUE_BEG:
+ if (insn != tail)
+ {
+ remove_insn (insn);
+ add_reg_note (next, REG_SAVE_NOTE,
+ GEN_INT (NOTE_INSN_EPILOGUE_BEG));
+ break;
+ }
+ /* FALLTHRU */
- insn = next;
- }
+ default:
+ remove_insn (insn);
+
+ /* Add the note to list that ends at NOTE_LIST. */
+ PREV_INSN (insn) = note_list;
+ NEXT_INSN (insn) = NULL_RTX;
+ if (note_list)
+ NEXT_INSN (note_list) = insn;
+ note_list = insn;
+ break;
+ }
- if (insn == tail)
- {
- gcc_assert (sel_sched_p ());
- return prev;
+ gcc_assert ((sel_sched_p () || insn != tail) && insn != head);
}
-
- return insn;
}
+
/* Return the head and tail pointers of ebb starting at BEG and ending
at END. */
void
@@ -1939,62 +1937,6 @@ no_real_insns_p (const_rtx head, const_rtx tail)
return 1;
}
-/* Delete notes between HEAD and TAIL and put them in the chain
- of notes ended by NOTE_LIST. */
-static void
-rm_other_notes (rtx head, rtx tail)
-{
- rtx next_tail;
- rtx insn;
-
- note_list = 0;
- if (head == tail && (! INSN_P (head)))
- return;
-
- next_tail = NEXT_INSN (tail);
- for (insn = head; insn != next_tail; insn = NEXT_INSN (insn))
- {
- rtx prev;
-
- /* Farm out notes, and maybe save them in NOTE_LIST.
- This is needed to keep the debugger from
- getting completely deranged. */
- if (NOTE_NOT_BB_P (insn))
- {
- prev = insn;
- insn = unlink_other_notes (insn, next_tail);
-
- gcc_assert ((sel_sched_p ()
- || prev != tail) && prev != head && insn != next_tail);
- }
- }
-}
-
-/* Same as above, but also process REG_SAVE_NOTEs of HEAD. */
-void
-remove_notes (rtx head, rtx tail)
-{
- /* rm_other_notes only removes notes which are _inside_ the
- block---that is, it won't remove notes before the first real insn
- or after the last real insn of the block. So if the first insn
- has a REG_SAVE_NOTE which would otherwise be emitted before the
- insn, it is redundant with the note before the start of the
- block, and so we have to take it out. */
- if (INSN_P (head))
- {
- rtx note;
-
- for (note = REG_NOTES (head); note; note = XEXP (note, 1))
- if (REG_NOTE_KIND (note) == REG_SAVE_NOTE)
- remove_note (head, note);
- }
-
- /* Remove remaining note insns from the block, save them in
- note_list. These notes are restored at the end of
- schedule_block (). */
- rm_other_notes (head, tail);
-}
-
/* Restore-other-notes: NOTE_LIST is the end of a chain of notes
previously found among the insns. Insert them just before HEAD. */
rtx
@@ -2315,11 +2257,9 @@ debug_ready_list (struct ready_list *ready)
fprintf (sched_dump, "\n");
}
-/* Search INSN for REG_SAVE_NOTE note pairs for
- NOTE_INSN_EHREGION_{BEG,END}; and convert them back into
- NOTEs. The REG_SAVE_NOTE note following first one is contains the
- saved value for NOTE_BLOCK_NUMBER which is useful for
- NOTE_INSN_EH_REGION_{BEG,END} NOTEs. */
+/* Search INSN for REG_SAVE_NOTE notes and convert them back into insn
+ NOTEs. This is used for NOTE_INSN_EPILOGUE_BEG, so that sched-ebb
+ replaces the epilogue note in the correct basic block. */
void
reemit_notes (rtx insn)
{
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index 9efd27d999f..c30b8049332 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -4087,7 +4087,8 @@ dead_or_predicable (basic_block test_bb, basic_block merge_bb,
if (! note)
continue;
set = single_set (insn);
- if (!set || !function_invariant_p (SET_SRC (set)))
+ if (!set || !function_invariant_p (SET_SRC (set))
+ || !function_invariant_p (XEXP (note, 0)))
remove_note (insn, note);
} while (insn != end && (insn = NEXT_INSN (insn)));
@@ -4165,7 +4166,12 @@ if_convert (void)
#ifdef IFCVT_MULTIPLE_DUMPS
if (dump_file && cond_exec_changed_p)
- print_rtl_with_bb (dump_file, get_insns ());
+ {
+ if (dump_flags & TDF_SLIM)
+ print_rtl_slim_with_bb (dump_file, get_insns (), dump_flags);
+ else
+ print_rtl_with_bb (dump_file, get_insns ());
+ }
#endif
}
while (cond_exec_changed_p);
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index b6e471230fa..66de8db7c0a 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -633,15 +633,8 @@ ipcp_init_stage (void)
ipa_count_arguments (cs);
if (ipa_get_cs_argument_count (IPA_EDGE_REF (cs))
!= ipa_get_param_count (IPA_NODE_REF (cs->callee)))
- {
- /* Handle cases of functions with
- a variable number of parameters. */
- ipa_set_called_with_variable_arg (IPA_NODE_REF (cs->callee));
- if (flag_indirect_inlining)
- ipa_compute_jump_functions (cs);
- }
- else
- ipa_compute_jump_functions (cs);
+ ipa_set_called_with_variable_arg (IPA_NODE_REF (cs->callee));
+ ipa_compute_jump_functions (cs);
}
}
}
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index b146d0b13e2..c6c84f99572 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -1506,7 +1506,10 @@ cgraph_decide_inlining_incrementally (struct cgraph_node *node,
}
/* Now do the automatic inlining. */
- if (mode != INLINE_ALL && mode != INLINE_ALWAYS_INLINE)
+ if (mode != INLINE_ALL && mode != INLINE_ALWAYS_INLINE
+ /* Never inline regular functions into always-inline functions
+ during incremental inlining. */
+ && !node->local.disregard_inline_limits)
for (e = node->callees; e; e = e->next_callee)
{
int allowed_growth = 0;
@@ -1859,10 +1862,10 @@ compute_inline_parameters (struct cgraph_node *node)
node->global.stack_frame_offset = 0;
/* Can this function be inlined at all? */
- node->local.inlinable = tree_inlinable_function_p (current_function_decl);
+ node->local.inlinable = tree_inlinable_function_p (node->decl);
if (node->local.inlinable && !node->local.disregard_inline_limits)
node->local.disregard_inline_limits
- = DECL_DISREGARD_INLINE_LIMITS (current_function_decl);
+ = DECL_DISREGARD_INLINE_LIMITS (node->decl);
estimate_function_body_sizes (node);
/* Inlining characteristics are maintained by the cgraph_mark_inline. */
node->global.time = inline_summary (node)->self_time;
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index 9387f0e0779..9fbd9d804e9 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -2018,9 +2018,9 @@ ipa_write_node_info (struct output_block *ob, struct cgraph_node *node)
bp = bitpack_create ();
bp_pack_value (bp, info->called_with_var_arguments, 1);
+ bp_pack_value (bp, info->uses_analysis_done, 1);
gcc_assert (info->modification_analysis_done
|| ipa_get_param_count (info) == 0);
- gcc_assert (info->uses_analysis_done || ipa_get_param_count (info) == 0);
gcc_assert (!info->node_enqueued);
gcc_assert (!info->ipcp_orig_node);
for (j = 0; j < ipa_get_param_count (info); j++)
@@ -2063,6 +2063,7 @@ ipa_read_node_info (struct lto_input_block *ib, struct cgraph_node *node,
bp = lto_input_bitpack (ib);
info->called_with_var_arguments = bp_unpack_value (bp, 1);
+ info->uses_analysis_done = bp_unpack_value (bp, 1);
if (ipa_get_param_count (info) != 0)
{
info->modification_analysis_done = true;
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 6d1337378bb..b27bbdd0704 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -1974,7 +1974,12 @@ output_unreferenced_globals (cgraph_node_set set)
tree var = vnode->decl;
if (TREE_CODE (var) == VAR_DECL && TREE_PUBLIC (var))
- lto_output_tree_ref (ob, var);
+ {
+ /* Outputting just the reference will not output the object itself
+ or references it might have.*/
+ lto_output_tree (ob, var, true);
+ lto_output_tree_ref (ob, var);
+ }
}
output_zero (ob);
diff --git a/gcc/melt-runtime.c b/gcc/melt-runtime.c
index cd54ebe05d7..252f43de19f 100644
--- a/gcc/melt-runtime.c
+++ b/gcc/melt-runtime.c
@@ -1,8 +1,8 @@
-/* Basile's static analysis (should have a better name) melt-runtime.c
+/*** file melt-runtime.c
Middle End Lisp Translator = MELT
Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Basile Starynkevitch <basile@starynkevitch.net>
- Indented with GNU indent
+ Indented with GNU indent.
This file is part of GCC.
@@ -18,8 +18,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
-<http://www.gnu.org/licenses/>.
- */
+<http://www.gnu.org/licenses/>.
+***/
/* for debugging -fmelt-debug is useful */
@@ -53,17 +53,17 @@ along with GCC; see the file COPYING3. If not see
#include "ggc.h"
-#include "cgraph.h"
-#include "diagnostic.h"
-#include "flags.h"
+#include "cgraph.h"
+#include "diagnostic.h"
+#include "flags.h"
#include "toplev.h"
#include "options.h"
-#include "params.h"
-#include "real.h"
-#include "prefix.h"
-#include "md5.h"
-#include "plugin.h"
-#include "cppdefault.h"
+#include "params.h"
+#include "real.h"
+#include "prefix.h"
+#include "md5.h"
+#include "plugin.h"
+#include "cppdefault.h"
/* some system or library headers needed to MELT */
#include <dirent.h>
@@ -161,14 +161,13 @@ DEF_VEC_ALLOC_O (melt_module_info_t, heap);
static VEC (melt_module_info_t, heap) *modinfvec = 0;
-struct callframe_melt_st* melt_topframe;
+struct callframe_melt_st* melt_topframe;
struct meltlocalsptr_st* melt_localtab;
/** special values are linked in a list to permit their explicit deletion */
struct meltspecial_st* melt_newspeclist;
struct meltspecial_st* melt_oldspeclist;
-
unsigned long melt_kilowords_sincefull;
/* number of full & any melt garbage collections */
unsigned long melt_nb_full_garbcoll;
@@ -180,11 +179,9 @@ long melt_dbgcounter;
long melt_debugskipcount;
long melt_error_counter;
-
/* an strdup-ed version string of gcc */
char* melt_gccversionstr;
-
int melt_last_global_ix = MELTGLOB__LASTGLOB;
@@ -192,7 +189,6 @@ int melt_last_global_ix = MELTGLOB__LASTGLOB;
scan, a la Cheney. */
static GTY(()) VEC(melt_ptr_t,gc) *bscanvec;
-
static void* proghandle;
@@ -202,14 +198,13 @@ typedef char *char_p;
DEF_VEC_P (char_p);
DEF_VEC_ALLOC_P (char_p, heap);
static VEC (char_p, heap)* parsedmeltfilevect;
-
/* *INDENT-ON* */
/* to code case ALL_OBMAG_SPECIAL_CASES: */
#define ALL_OBMAG_SPECIAL_CASES \
OBMAG_SPEC_FILE: \
case OBMAG_SPEC_RAWFILE: \
- case OBMAG_SPECPPL_COEFFICIENT: \
+ case OBMAG_SPECPPL_COEFFICIENT: \
case OBMAG_SPECPPL_LINEAR_EXPRESSION: \
case OBMAG_SPECPPL_CONSTRAINT: \
case OBMAG_SPECPPL_CONSTRAINT_SYSTEM: \
@@ -233,9 +228,9 @@ melt_argument(const char* argname)
int argix=0;
if (!argname || !argname[0])
return NULL;
- for (argix = 0; argix < melt_plugin_argc; argix ++)
+ for (argix = 0; argix < melt_plugin_argc; argix ++)
{
- if (!strcmp(argname, melt_plugin_argv[argix].key))
+ if (!strcmp(argname, melt_plugin_argv[argix].key))
{
char* val = melt_plugin_argv[argix].value;
/* never return NULL if the argument is found; return an
diff --git a/gcc/melt/warmelt-infixsyntax.melt b/gcc/melt/warmelt-infixsyntax.melt
index a0278cb8dee..be78a67107c 100644
--- a/gcc/melt/warmelt-infixsyntax.melt
+++ b/gcc/melt/warmelt-infixsyntax.melt
@@ -42,9 +42,146 @@
(defprimitive infix_lexeme (locnam delimap) :value
#{meltgc_infix_lexeme((melt_ptr_t)($locnam), (melt_ptr_t)($delimap))}#)
-(defun parse_infix_file (filnam)
+(defclass class_infix_parser
+ :super class_named
+ :doc #{The $CLASS_INFIX_PARSER is an internal class for infix
+ parsing. $IFXP_FILNAM is the parsed file name, $IFXP_ENV is the topmost
+ parsing environment, $IFXP_DELIMAP is the delimiter string map,
+ $IFXP_TOKENLIST is the lexical token list.}#
+ :fields (ifxp_filnam
+ ifxp_env
+ ifxp_delimap
+ ifxp_tokenlist
+ ))
+
+
+;; peek the next (or (N+1)-th next) lexeme but don't consume it
+(defun peeklex (ipars :long n)
+ (assert_msg "check ipars" (is_a ipars class_infix_parser))
+ (assert_msg "check n" (>=i n 0))
+ (let ( (toklist (unsafe_get_field :ifxp_tokenlist ipars))
+ (:long nbtok (list_length toklist))
+ )
+ (assert_msg "check toklist" (is_list toklist))
+ (forever getlexloop
+ (if (>=i nbtok n)
+ (exit getlexloop))
+ (let ( (newtok
+ (infix_lexeme (unsafe_get_field :ifxp_filnam ipars)
+ (unsafe_get_field :ifxp_delimap ipars)))
+ )
+ (list_append toklist newtok)
+ (setq nbtok (+i nbtok 1))
+ ))
+ (cond ( (==i n 0)
+ (pair_head (list_first toklist)))
+ ( (==i n 1)
+ (pair_head (pair_tail (list_first toklist))))
+ (:else
+ (let ( (:long cnt 0) )
+ (foreach_in_list
+ (toklist)
+ (curpair curtok)
+ (if (>=i cnt n)
+ (return curtok))
+ (setq cnt (+i cnt 1))
+ ))))))
+
+
+;; return the next lexeme and consume it
+(defun getlex (ipars)
+ (assert_msg "check ipars" (is_a ipars class_infix_parser))
+ (let ( (toklist (unsafe_get_field :ifxp_tokenlist ipars))
+ (token (list_popfirst toklist))
+ )
+ (if (null token)
+ (let ( (peektok (peeklex ipars 0))
+ (poptok (list_popfirst toklist))
+ )
+ (assert_msg "check peektop=potok" (== peektok poptok))
+ (setq token poptok)
+ (debug_msg token "getlex returns parsed token")
+ )
+ (debug_msg token "getlex returns buffered token")
+ )
+ (return token)
+ ))
+
+(defclass class_infix_delimiter
+ :super class_named
+ :fields (idelim_string)
+ :doc #{The $CLASS_INFIX_DELIMITER is an internal class for infix delimiters.
+ $IDELIM_STRING is the delimiter.}#
)
+(definstance idelim_leftparen class_infix_delimiter
+ :named_name '"idelim_LEFTPAREN"
+ :idelim_string '"(")
+
+(definstance idelim_rightparen class_infix_delimiter
+ :named_name '"idelim_RIGHTPAREN"
+ :idelim_string '")")
+
+(definstance idelim_leftbrace class_infix_delimiter
+ :named_name '"idelim_LEFTBRACE"
+ :idelim_string '"{")
+
+(definstance idelim_rightbrace class_infix_delimiter
+ :named_name '"idelim_RIGHTBRACE"
+ :idelim_string '"}")
+
+
+(definstance idelim_comma class_infix_delimiter
+ :named_name '"idelim_COMMA"
+ :idelim_string '",")
+
+(definstance idelim_semicolon class_infix_delimiter
+ :named_name '"idelim_SEMICOLON"
+ :idelim_string '";")
+
+(definstance idelim_equal class_infix_delimiter
+ :named_name '"idelim_EQUAL"
+ :idelim_string '"=")
+
+(defun parse_infix_file (filnam env)
+ (debug_msg filnam "parse_infix_file start filnam")
+ (assert_msg "check filnam" (is_string filnam))
+ (assert_msg "check env" (is_a env class_environment))
+ (let (
+ (iparsnam (let ( (buf (make_strbuf discr_strbuf)) )
+ (add2sbuf_strconst buf "infpars.")
+ (add2sbuf_string buf filnam)
+ (strbuf2string discr_string buf)))
+ (delimap (make_mapstring discr_map_strings 31))
+ (toklist (make_list discr_list))
+ (iparser (instance class_named
+ :named_name iparsnam
+ :ifxp_filnam filnam
+ :ifxp_env env
+ :ifxp_delimap delimap
+ :ifxp_tokenlist toklist))
+ )
+ ;; install all our delimiters
+ (foreach_in_multiple
+ ((tuple idelim_leftparen idelim_rightparen
+ idelim_leftbrace idelim_rightbrace
+ idelim_comma idelim_semicolon
+ idelim_equal
+ ))
+ (idel :long dix)
+ (assert_msg "check idel" (is_a idel class_infix_delimiter))
+ (let ( (idelstr (unsafe_get_field :idelim_string idel))
+ (:long idelstrlen (string_length idelstr))
+ )
+ (assert_msg "check idelstr" (is_string idelstr))
+ (assert_msg "check idelstrlen" (and
+ (>i idelstrlen 0)
+ (<=i idelstrlen 2)))
+ (mapstring_putstr delimap idelstr idel)))
+ ;;
+ (assert_msg "@$@unimplemented parse_infix_file" ())
+))
+
(compile_warning "warmelt-infixsyntax.melt is incomplete")
;; eof warmelt-infixsyntax.melt \ No newline at end of file
diff --git a/gcc/melt/warmelt-outobj.melt b/gcc/melt/warmelt-outobj.melt
index 3aa99d3a470..f1d60c0831c 100644
--- a/gcc/melt/warmelt-outobj.melt
+++ b/gcc/melt/warmelt-outobj.melt
@@ -3313,6 +3313,182 @@
(return newfile)
)))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; utility function to translate a macroexpanded list
+(defun translate_macroexpanded_list (xlist modnamstr modctx ncx)
+ (assert_msg "check xlist" (is_list xlist))
+ (assert_msg "check modnamstr" (is_string modnamstr))
+ (assert_msg "check modctx" (is_a modctx class_module_context))
+ (assert_msg "check ncx" (is_a ncx class_normalization_context))
+ (let (
+ (inienv (unsafe_get_field :mocx_initialenv modctx))
+ (firstx (pair_head (list_first xlist)))
+ (firstloc (if (is_a firstx class_source) (unsafe_get_field :loca_location firstx)))
+ (iniproc (unsafe_get_field :nctx_initproc ncx))
+ (declbuf (make_strbuf discr_strbuf))
+ (implbuf (make_strbuf discr_strbuf))
+ ;; make an update_current_module_environment at the very beginning
+ (ucmeb1 (instance class_source_update_current_module_environment_container
+ :loca_location firstloc
+ :sucme_comment '"at very start"
+ ))
+ )
+ (if (== inienv initial_environment)
+ (add2sbuf_strconst declbuf "#define MELT_HAS_INITIAL_ENVIRONMENT 0")
+ (add2sbuf_strconst declbuf "#define MELT_HAS_INITIAL_ENVIRONMENT 1")
+ )
+ (add2sbuf_indentnl declbuf 0)
+ (list_prepend xlist ucmeb1)
+ (debug_msg xlist "after macroexpansion compile_list_sexpr seq")
+ (debug_msg inienv "after macroexpansion compile_list_sexpr inienv")
+ (assert_msg "check iniproc" (is_a iniproc class_nrep_initproc))
+ (assert_msg "check xlist" (is_list xlist))
+ ;;
+ (list_every
+ xlist
+ (lambda (sexp :long ix)
+ (debug_msg sexp "compile_list_sexpr sexp")
+ (let (
+ (psloc (if (is_a sexp class_located) (unsafe_get_field :loca_location sexp)))
+ )
+ ;; special hack to handle toplevel comment specially; the generated comment goes into the declbuf
+ ;; practically useful to copy a copyright notice into the generated C code
+ (if (is_a sexp class_source_comment)
+ (let ( (sloc (unsafe_get_field :loca_location sexp))
+ (scomm (unsafe_get_field :scomm_str sexp))
+ )
+ (add2sbuf_indentnl declbuf 0)
+ (add2sbuf_strconst declbuf "/**!!** ")
+ (add2sbuf_ccomstring declbuf scomm)
+ (add2sbuf_strconst declbuf "**!!**/")
+ (add2sbuf_indentnl declbuf 0)
+ )
+;;; otherwise, normalize etc.
+ (multicall
+ (nexp nbind)
+ (normal_exp sexp inienv ncx psloc)
+ (debug_msg nexp "compile_list_sexpr nexp")
+ (debug_msg nbind "compile_list_sexpr nbind")
+ (if (and (is_a nexp class_nrep)
+ (not (is_a nexp class_nrep_anyproc)))
+ (let ( (wnexp (wrap_normal_let1 nexp nbind psloc)) )
+ (debug_msg wnexp "compile_list_sexpr wnexp")
+ (list_append (unsafe_get_field :ninit_topl iniproc)
+ wnexp)
+ )))))))
+ ;;
+ (code_chunk
+ check_errors_after_normalization
+ #{
+ if (melt_error_counter>0)
+ fatal_error ("MELT translation of %s halted after normalization: got %ld MELT errors", melt_string_str($modnamstr), melt_error_counter) ;
+ }#)
+ (let ( (prolist (unsafe_get_field :nctx_proclist ncx))
+ (objlist (make_list discr_list))
+ (compicache (make_mapobject discr_map_objects (+i 10 (*i 20 (list_length xlist)))))
+ (countbox (make_integerbox discr_integer 0))
+ )
+ (debug_msg prolist "compile_list_sexpr prolist")
+ (assert_msg "check prolist" (is_list prolist))
+ (list_every
+ prolist
+ (lambda (pro)
+ (assert_msg "check pro" (is_a pro class_nrep_anyproc))
+ (debug_msg pro "compile_list_sexpr pro")
+ (put_int countbox (+i (get_int countbox) 1))
+ (let ( (objpro (compile2obj_procedure pro modctx compicache (get_int countbox))) )
+ (debug_msg objpro "compile_list_sexpr objpro")
+ (debug_msg pro "compile_list_sexpr done pro")
+ (list_append objlist objpro)
+ ;;(debug_msg compicache "compile_list_sexpr compicache")
+ )))
+ ;;
+ (code_chunk
+ check_errors_after_compilation
+ #{
+ if (melt_error_counter>0)
+ fatal_error ("MELT translation of %s halted after MELT compilation: got %ld MELT errors", melt_string_str($modnamstr), melt_error_counter) ;
+ }#)
+ ;;
+ (debug_msg objlist "compile_list_sexpr objlist")
+ (assert_msg "check objlist" (is_list objlist))
+ (let ( (inipro (unsafe_get_field :nctx_initproc ncx))
+ (inidata (unsafe_get_field :nctx_datalist ncx))
+ (importvalues (unsafe_get_field :nctx_valuelist ncx))
+ (procurmodenvlist (unsafe_get_field :nctx_procurmodenvlist ncx))
+ )
+ (assert_msg "check inipro" (is_a inipro class_nrep_initproc))
+ (debug_msg procurmodenvlist "compile_list_sexpr procurmodenvlist")
+ (let ( (iniobj (compile2obj_initproc inipro modctx inidata compicache procurmodenvlist importvalues)) )
+ (debug_msg iniobj "compile_list_sexpr iniobj")
+ (outnum_err "** warmelt generated " (list_length objlist) " routines into ")
+ (outstr_err modnamstr)
+ (outnewline_err)
+ (outcstring_err "** from ")
+ (out_cplugin_compiled_timestamp_err)
+ (outnewline_err)
+ (outcstring_err "** of checksum ")
+ (out_cplugin_md5_checksum_err)
+ (outnewline_err)
+;;;
+ (foreach_in_list
+ (objlist)
+ (pairel obel)
+ (debug_msg obel "compile_list_sexpr obel")
+ ;; we may want to generate several C files...
+ (compile_warning "the generation of secondary files don't work yet")
+ (let ( (:long filnum
+ (if (is_a obel class_procroutineobj)
+ (get_int (get_field :oprout_filenum obel))))
+ (secfil
+ (if filnum (nth_secundary_file modctx modnamstr declbuf filnum)))
+ (outimplbuf
+ (if secfil (get_field :secfil_implbuf secfil) implbuf))
+ )
+ (output_c_code obel declbuf outimplbuf 0)))
+;;;
+ (debug_msg modnamstr "compile_list_sexpr final modnamstr")
+ (debug_msg iniobj "compile_list_sexpr outputting iniobj")
+ (output_c_code iniobj declbuf implbuf 0)
+ (output_exported_offsets modctx declbuf implbuf)
+ (code_chunk outputcfile
+ #{ /* $outputcfile: */
+ melt_output_cfile_decl_impl((melt_ptr_t)($modnamstr),
+ (melt_ptr_t)($declbuf),
+ (melt_ptr_t)($implbuf)) ;
+ }#)
+ ;(informsg_strv "warmelt generated module C file" modnamstr)
+ (if (not (wants_single_c_file))
+ (let ( (secfiles (get_field :mocx_filetuple modctx)) )
+ (debug_msg secfiles "compile_list_sexpr secfiles")
+ (foreach_in_multiple
+ (secfiles)
+ (curfil :long filix)
+ (debug_msg curfil "compile_list_sexpr curfil")
+ (if curfil
+ (progn
+ (assert_msg "check curfil"
+ (is_a curfil class_secondary_c_file))
+ (assert_msg "check curfil index"
+ (==i (get_int curfil) filix))
+ (let ( (secfilpath (get_field :secfil_path curfil))
+ (secdeclbuf (get_field :secfil_declbuf curfil))
+ (secimplbuf (get_field :secfil_implbuf curfil))
+ )
+ (code_chunk
+ secfilout
+ #{ /* $secfilout */
+ melt_output_cfile_decl_impl_secondary((melt_ptr_t)($secfilpath),
+ (melt_ptr_t)($secdeclbuf),
+ (melt_ptr_t)($secimplbuf),
+ $filix) ;
+ }#)
+ ;(informsg_strv "warmelt generated secondary C file" secfilpath)
+ ))
+ ))))))))
+ )
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; compile a list of sexpressions as a module starting from a given environment
(defun compile_list_sexpr (lsexp inienv modnamstr)
@@ -3332,174 +3508,14 @@
:mocx_funcount (make_integerbox discr_integer 0)
:mocx_filetuple ()
))
- (ncx (create_normcontext modctx)) )
+ (ncx (create_normcontext modctx))
+ )
(debug_msg ncx "compile_list_sexpr initial ncx")
(assert_msg "check ncx" (is_a ncx class_normalization_context))
(let ( (xlist (macroexpand_toplevel_list lsexp inienv))
- (firstx (pair_head (list_first xlist)))
- (firstloc (if (is_a firstx class_source) (unsafe_get_field :loca_location firstx)))
- (iniproc (unsafe_get_field :nctx_initproc ncx))
- (declbuf (make_strbuf discr_strbuf))
- (implbuf (make_strbuf discr_strbuf))
- ;; make an update_current_module_environment at the very beginning
- (ucmeb1 (instance class_source_update_current_module_environment_container
- :loca_location firstloc
- :sucme_comment '"at very start"
- ))
)
- (if (== inienv initial_environment)
- (add2sbuf_strconst declbuf "#define MELT_HAS_INITIAL_ENVIRONMENT 0")
- (add2sbuf_strconst declbuf "#define MELT_HAS_INITIAL_ENVIRONMENT 1")
- )
- (add2sbuf_indentnl declbuf 0)
- (list_prepend xlist ucmeb1)
- (debug_msg xlist "after macroexpansion compile_list_sexpr seq")
- (debug_msg inienv "after macroexpansion compile_list_sexpr inienv")
- (assert_msg "check iniproc" (is_a iniproc class_nrep_initproc))
- (assert_msg "check xlist" (is_list xlist))
- ;;
- (list_every
- xlist
- (lambda (sexp :long ix)
- (debug_msg sexp "compile_list_sexpr sexp")
- (let (
- (psloc (if (is_a sexp class_located) (unsafe_get_field :loca_location sexp)))
- )
- ;; special hack to handle toplevel comment specially; the generated comment goes into the declbuf
- ;; practically useful to copy a copyright notice into the generated C code
- (if (is_a sexp class_source_comment)
- (let ( (sloc (unsafe_get_field :loca_location sexp))
- (scomm (unsafe_get_field :scomm_str sexp))
- )
- (add2sbuf_indentnl declbuf 0)
- (add2sbuf_strconst declbuf "/**!!** ")
- (add2sbuf_ccomstring declbuf scomm)
- (add2sbuf_strconst declbuf "**!!**/")
- (add2sbuf_indentnl declbuf 0)
- )
-;;; otherwise, normalize etc.
- (multicall
- (nexp nbind)
- (normal_exp sexp inienv ncx psloc)
- (debug_msg nexp "compile_list_sexpr nexp")
- (debug_msg nbind "compile_list_sexpr nbind")
- (if (and (is_a nexp class_nrep)
- (not (is_a nexp class_nrep_anyproc)))
- (let ( (wnexp (wrap_normal_let1 nexp nbind psloc)) )
- (debug_msg wnexp "compile_list_sexpr wnexp")
- (list_append (unsafe_get_field :ninit_topl iniproc)
- wnexp)
- )))))))
- ;;
- (code_chunk
- check_errors_after_normalization
- #{
- if (melt_error_counter>0)
- fatal_error ("MELT translation of %s halted after normalization: got %ld MELT errors", melt_string_str($modnamstr), melt_error_counter);
- }#)
- (let ( (prolist (unsafe_get_field :nctx_proclist ncx))
- (objlist (make_list discr_list))
- (compicache (make_mapobject discr_map_objects (+i 10 (*i 20 (list_length xlist)))))
- (countbox (make_integerbox discr_integer 0))
- )
- (debug_msg prolist "compile_list_sexpr prolist")
- (assert_msg "check prolist" (is_list prolist))
- (list_every
- prolist
- (lambda (pro)
- (assert_msg "check pro" (is_a pro class_nrep_anyproc))
- (debug_msg pro "compile_list_sexpr pro")
- (put_int countbox (+i (get_int countbox) 1))
- (let ( (objpro (compile2obj_procedure pro modctx compicache (get_int countbox))) )
- (debug_msg objpro "compile_list_sexpr objpro")
- (debug_msg pro "compile_list_sexpr done pro")
- (list_append objlist objpro)
- ;;(debug_msg compicache "compile_list_sexpr compicache")
- )))
- ;;
- (code_chunk
- check_errors_after_compilation
- #{
- if (melt_error_counter>0)
- fatal_error ("MELT translation of %s halted after MELT compilation: got %ld MELT errors", melt_string_str($modnamstr), melt_error_counter);
- }#)
- ;;
- (debug_msg objlist "compile_list_sexpr objlist")
- (assert_msg "check objlist" (is_list objlist))
- (let ( (inipro (unsafe_get_field :nctx_initproc ncx))
- (inidata (unsafe_get_field :nctx_datalist ncx))
- (importvalues (unsafe_get_field :nctx_valuelist ncx))
- (procurmodenvlist (unsafe_get_field :nctx_procurmodenvlist ncx))
- )
- (assert_msg "check inipro" (is_a inipro class_nrep_initproc))
- (debug_msg procurmodenvlist "compile_list_sexpr procurmodenvlist")
- (let ( (iniobj (compile2obj_initproc inipro modctx inidata compicache procurmodenvlist importvalues)) )
- (debug_msg iniobj "compile_list_sexpr iniobj")
- (outnum_err "** warmelt generated " (list_length objlist) " routines into ")
- (outstr_err modnamstr)
- (outnewline_err)
- (outcstring_err "** from ")
- (out_cplugin_compiled_timestamp_err)
- (outnewline_err)
- (outcstring_err "** of checksum ")
- (out_cplugin_md5_checksum_err)
- (outnewline_err)
-;;;
- (foreach_in_list
- (objlist)
- (pairel obel)
- (debug_msg obel "compile_list_sexpr obel")
- ;; we may want to generate several C files...
- (compile_warning "the generation of secondary files don't work yet")
- (let ( (:long filnum
- (if (is_a obel class_procroutineobj)
- (get_int (get_field :oprout_filenum obel))))
- (secfil
- (if filnum (nth_secundary_file modctx modnamstr declbuf filnum)))
- (outimplbuf
- (if secfil (get_field :secfil_implbuf secfil) implbuf))
- )
- (output_c_code obel declbuf outimplbuf 0)))
-;;;
- (debug_msg modnamstr "compile_list_sexpr final modnamstr")
- (debug_msg iniobj "compile_list_sexpr outputting iniobj")
- (output_c_code iniobj declbuf implbuf 0)
- (output_exported_offsets modctx declbuf implbuf)
- (code_chunk outputcfile
- #{ /* $outputcfile: */
- melt_output_cfile_decl_impl((melt_ptr_t)($modnamstr),
- (melt_ptr_t)($declbuf),
- (melt_ptr_t)($implbuf)) ;
- }#)
- ;(informsg_strv "warmelt generated module C file" modnamstr)
- (if (not (wants_single_c_file))
- (let ( (secfiles (get_field :mocx_filetuple modctx)) )
- (debug_msg secfiles "compile_list_sexpr secfiles")
- (foreach_in_multiple
- (secfiles)
- (curfil :long filix)
- (debug_msg curfil "compile_list_sexpr curfil")
- (if curfil
- (progn
- (assert_msg "check curfil"
- (is_a curfil class_secondary_c_file))
- (assert_msg "check curfil index"
- (==i (get_int curfil) filix))
- (let ( (secfilpath (get_field :secfil_path curfil))
- (secdeclbuf (get_field :secfil_declbuf curfil))
- (secimplbuf (get_field :secfil_implbuf curfil))
- )
- (code_chunk
- secfilout
- #{ /* $secfilout */
- melt_output_cfile_decl_impl_secondary((melt_ptr_t)($secfilpath),
- (melt_ptr_t)($secdeclbuf),
- (melt_ptr_t)($secimplbuf),
- $filix) ;
- }#)
- ;(informsg_strv "warmelt generated secondary C file" secfilpath)
- ))
- )))))))))
+ (translate_macroexpanded_list xlist modnamstr modctx ncx)
+))
;;
(code_chunk
check_errors_after_generation
diff --git a/gcc/opts.c b/gcc/opts.c
index 4ba0d7fd0bf..501deae6ea7 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -2131,6 +2131,7 @@ common_handle_option (size_t scode, const char *arg, int value,
case OPT_fforce_addr:
case OPT_ftree_salias:
case OPT_ftree_store_ccp:
+ case OPT_Wunreachable_code:
/* These are no-ops, preserved for backward compatibility. */
break;
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index 4a3d5b217c0..6e50eca6945 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,3 +1,7 @@
+2010-01-04 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
2009-12-29 Joseph Myers <joseph@codesourcery.com>
* zh_CN.po: Update.
diff --git a/gcc/po/sv.po b/gcc/po/sv.po
index 199aadfa77f..fc8e20eaa88 100644
--- a/gcc/po/sv.po
+++ b/gcc/po/sv.po
@@ -1,8 +1,8 @@
# Swedish messages for GCC.
-# Copyright © 2000, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# Copyright © 2000, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
# Dennis Björklund <db@zigo.dhs.org>, 2000, 2001, 2002.
-# Göran Uddeborg <goeran@uddeborg.se>, 2005, 2006, 2007, 2008, 2009.
+# Göran Uddeborg <goeran@uddeborg.se>, 2005, 2006, 2007, 2008, 2009, 2010.
#
# Remember: GCC team does not want RCS keywords in the header!
#
@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: gcc 4.5-b20091203\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
"POT-Creation-Date: 2009-12-03 21:28+0000\n"
-"PO-Revision-Date: 2009-12-27 14:11+0100\n"
+"PO-Revision-Date: 2010-01-03 11:14+0100\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"MIME-Version: 1.0\n"
@@ -6812,33 +6812,32 @@ msgid "Positive width required in format specifier %s at %L"
msgstr "Positiv bredd krävs i formatspecificerare %s vid %L"
#: fortran/io.c:869 fortran/io.c:876
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Period required in format specifier %s at %L"
-msgstr "Period krävs i formatangivelse vid %C"
+msgstr "Period krävs i formatangivelse %s vid %L"
#: fortran/io.c:913
msgid "Positive exponent width required"
msgstr "Positiv exponentbredd krävs"
#: fortran/io.c:943
-#, fuzzy
msgid "Period required in format specifier"
-msgstr "Period krävs i formatangivelse vid %C"
+msgstr "Period krävs i formatangivelse"
#: fortran/io.c:948
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Period required in format specifier at %L"
-msgstr "Period krävs i formatangivelse vid %C"
+msgstr "Period krävs i formatangivelse vid %L"
#: fortran/io.c:970
-#, fuzzy, no-c-format
+#, no-c-format
msgid "The H format specifier at %L is a Fortran 95 deleted feature"
-msgstr "Formatspecificeraren H vid %C är en funktion borttagen i Fortran 95"
+msgstr "Formatspecificeraren H vid %L är en funktion borttagen i Fortran 95"
#: fortran/io.c:1058 fortran/io.c:1121
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Extension: Missing comma at %L"
-msgstr "Utökning: Komma saknas vid %C"
+msgstr "Utökning: Komma saknas vid %L"
#: fortran/io.c:1140
#, no-c-format
@@ -6911,19 +6910,19 @@ msgid "Extension: Non-character in FORMAT tag at %L"
msgstr "Utökning: Icke-tecken i FORMAT-tagg vid %L"
#: fortran/io.c:1423
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Non-character assumed shape array element in FORMAT tag at %L"
-msgstr "Utökning: Teckenvektor i FORMAT-tagg vid %L"
+msgstr "Icke-teckens vektorelement med förmodad form i FORMAT-tagg vid %L"
#: fortran/io.c:1430
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Non-character assumed size array element in FORMAT tag at %L"
-msgstr "Utökning: Teckenvektor i FORMAT-tagg vid %L"
+msgstr "Icke-teckens vektorelement med förmodad storlek i FORMAT-tagg vid %L"
#: fortran/io.c:1437
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Non-character pointer array element in FORMAT tag at %L"
-msgstr "Utökning: Teckenvektor i FORMAT-tagg vid %L"
+msgstr "Icke-teckens pekarvektorelement i FORMAT-tagg vid %L"
#: fortran/io.c:1463
#, no-c-format
@@ -6971,9 +6970,9 @@ msgid "OPEN statement not allowed in PURE procedure at %C"
msgstr "OPEN-sats är inte tillåten i en PURE-procedur vid %C"
#: fortran/io.c:1800
-#, fuzzy, no-c-format
+#, no-c-format
msgid "UNIT specifier not allowed with NEWUNIT at %C"
-msgstr "Specificeraren E är inte tillåten vid g0-deskriptor"
+msgstr "UNIT-specificerare är inte tillåten med NEWUNIT vid %C"
#: fortran/io.c:1808
#, no-c-format
@@ -7006,9 +7005,9 @@ msgid "Fortran 2003: ENCODING= at %C not allowed in Fortran 95"
msgstr "Fortran 2003: ENCODING= vid %C är inte tillåtet i Fortran 95"
#: fortran/io.c:1965
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Fortran F2003: ROUND= at %C not allowed in Fortran 95"
-msgstr "Fortran 2003: PAD= vid %C är inte tillåtet i Fortran 95"
+msgstr "Fortran F2003: ROUND= vid %C är inte tillåtet i Fortran 95"
#: fortran/io.c:1985
#, no-c-format
@@ -7021,9 +7020,9 @@ msgid "CLOSE statement not allowed in PURE procedure at %C"
msgstr "CLOSE-sats inte tillåten i PURE-procedur vid %C"
#: fortran/io.c:2245
-#, fuzzy, no-c-format
+#, no-c-format
msgid "UNIT number in CLOSE statement at %L must be non-negative"
-msgstr "uttryck i CASE-sats vid %L måste vara av typ %s"
+msgstr "UNIT-tal i CLOSE-sats vid %L måste vara ickenegativt"
#: fortran/io.c:2343 fortran/match.c:1976
#, no-c-format
@@ -7031,9 +7030,9 @@ msgid "%s statement not allowed in PURE procedure at %C"
msgstr "%s-sats är inte tillåtet i PURE-procedur vid %C"
#: fortran/io.c:2375 fortran/io.c:2783
-#, fuzzy, no-c-format
+#, no-c-format
msgid "UNIT number in statement at %L must be non-negative"
-msgstr "STAT-tagg i %s-sats vid %L måste ha typen INTEGER"
+msgstr "UNIT-tal i sats vid %L måste vara ickenegativt"
#: fortran/io.c:2407
#, no-c-format
@@ -7071,9 +7070,9 @@ msgid "END tag at %C not allowed in output statement"
msgstr "END-tagg vid %C är inte tillåten i utmatningssats"
#: fortran/io.c:2721
-#, fuzzy, no-c-format
+#, no-c-format
msgid "UNIT not specified at %L"
-msgstr "-I- angiven två gånger"
+msgstr "UNIT inte angivet vid %L"
#: fortran/io.c:2733
#, no-c-format
@@ -7172,9 +7171,9 @@ msgid "Fortran 2003: PAD= at %C not allowed in Fortran 95"
msgstr "Fortran 2003: PAD= vid %C är inte tillåtet i Fortran 95"
#: fortran/io.c:3316
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Fortran 2003: ROUND= at %C not allowed in Fortran 95"
-msgstr "Fortran 2003: PAD= vid %C är inte tillåtet i Fortran 95"
+msgstr "Fortran 2003: ROUND= vid %C är inte tillåtet i Fortran 95"
#: fortran/io.c:3510
#, no-c-format
@@ -7312,9 +7311,9 @@ msgid "Invalid form of PROGRAM statement at %C"
msgstr "Ogiltig form på PROGRAM-sats vid %C"
#: fortran/match.c:1389 fortran/match.c:1470
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Obsolescent feature: Arithmetic IF statement at %C"
-msgstr "Förlegat: aritmetisk IF-sats vid %C"
+msgstr "Förlegad funktion: Aritmetisk IF-sats vid %C"
#: fortran/match.c:1445
#, no-c-format
@@ -7412,40 +7411,40 @@ msgid "Statement label list in GOTO at %C cannot be empty"
msgstr "Satsetikettlistan i GOTO vid %C får inte vara tom"
#: fortran/match.c:2210
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Obsolescent feature: Computed GOTO at %C"
-msgstr "Borttagen funktion: Tilldelad GOTO-sats vid %C"
+msgstr "Förlegad funktion: Beräknat GOTO vid %C"
#. Enforce F03:C476.
#: fortran/match.c:2273
-#, fuzzy, no-c-format
+#, no-c-format
msgid "'%s' at %L is not an accessible derived type"
-msgstr "\"%s\" vid %L är inte en modulprocedur"
+msgstr "\"%s\" vid %L är inte en tillgänglig härledd typ"
#: fortran/match.c:2351
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Derived type '%s' at %L may not be ABSTRACT"
-msgstr "Ej utvidgningsbar härledd typ \"%s\" vid %L får inte vara ABSTRACT"
+msgstr "Härledd typ \"%s\" vid %L får inte vara ABSTRACT"
#: fortran/match.c:2369
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Invalid type-spec at %C"
-msgstr "ogiltigt typargument"
+msgstr "Ogiltig typspecifikation vid %C"
#: fortran/match.c:2422
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Fortran 2003: typespec in ALLOCATE at %L"
-msgstr "Fortran 2003: EXTENDS vid %L"
+msgstr "Fortran 2003: typspecifikation i ALLOCATE vid %L"
#: fortran/match.c:2454
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Bad allocate-object at %C for a PURE procedure"
-msgstr "Felaktigt allokeringsobjekt i ALLOCATE-sats vid %C för en PURE-procedur"
+msgstr "Felaktigt allokeringsobjekt vid %C för en PURE-procedur"
#: fortran/match.c:2465
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Type of entity at %L is type incompatible with typespec"
-msgstr "pekare-på-medlemstyp %qT är inkompatibel med objekttyp %qT"
+msgstr "Entitetens typ vid %L är typinkompatibel med typspecifikationen"
#: fortran/match.c:2473
#, no-c-format
@@ -7463,9 +7462,9 @@ msgid "Redundant STAT tag found at %L "
msgstr "Överflödig STAT-tagg funnen vid %L "
#: fortran/match.c:2537
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Fortran 2003: ERRMSG tag at %L"
-msgstr "Fortran 2003: IOMSG-tagg vid %L"
+msgstr "Fortran 2003: ERRMSG-tagg vid %L"
#: fortran/match.c:2544 fortran/match.c:2798
#, no-c-format
@@ -7473,9 +7472,9 @@ msgid "Redundant ERRMSG tag found at %L "
msgstr "Överflödig ERRMSG-tagg funnen vid %L "
#: fortran/match.c:2560
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Fortran 2003: SOURCE tag at %L"
-msgstr "Fortran 2003: IOMSG-tagg vid %L"
+msgstr "Fortran 2003: SOURCE-tagg vid %L"
#: fortran/match.c:2567
#, no-c-format
@@ -7498,14 +7497,14 @@ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
msgstr "Otillåten variabel i NULLIFY vid %C för en PURE-procedur"
#: fortran/match.c:2739
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Illegal allocate-object at %C for a PURE procedure"
-msgstr "Otillåten variabel i NULLIFY vid %C för en PURE-procedur"
+msgstr "Otillåtet allokeringsobjekt vid %C för en PURE-procedur"
#: fortran/match.c:2792
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Fortran 2003: ERRMSG at %L"
-msgstr "Fortran 2003: IOMSG-tagg vid %L"
+msgstr "Fortran 2003: ERRMSG vid %L"
#: fortran/match.c:2852
#, no-c-format
@@ -7513,9 +7512,9 @@ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
msgstr "Alternativ RETURN-sats vid %C är bara tillåten inuti en SUBROUTINE"
#: fortran/match.c:2857
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Obsolescent feature: Alternate RETURN at %C"
-msgstr "Förlegat: aritmetisk IF-sats vid %C"
+msgstr "Förlegad funktion: Alternativt RETURN vid %C"
#: fortran/match.c:2887
#, no-c-format
@@ -7533,9 +7532,9 @@ msgid "Junk after CALL at %C"
msgstr "Skräp efter CALL vid %C"
#: fortran/match.c:2931
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Expected type-bound procedure or procedure pointer component at %C"
-msgstr "Typbunden procedurreferens förväntades vid %C"
+msgstr "Typbunden procedurreferens eller procedurpekarkomponent förväntades vid %C"
#: fortran/match.c:3150
#, no-c-format
@@ -7626,9 +7625,9 @@ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %
msgstr "Försök att indirekt överlappa COMMON-block %s och %s med EQUIVALENCE vid %C"
#: fortran/match.c:3678
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Expecting a comma in EQUIVALENCE at %C"
-msgstr "Komma förväntades i I/O-lista vid %C"
+msgstr "Komma förväntades i EQUIVALENCE vid %C"
#: fortran/match.c:3794
#, no-c-format
@@ -7636,9 +7635,9 @@ msgid "Statement function at %L is recursive"
msgstr "Satsfunktion vid %L är rekursiv"
#: fortran/match.c:3800
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Obsolescent feature: Statement function at %C"
-msgstr "Förlegat: aritmetisk IF-sats vid %C"
+msgstr "Förlegad funktion: Satsfunktion vid %C"
#: fortran/match.c:3886
#, no-c-format
@@ -7646,9 +7645,9 @@ msgid "Expected initialization expression in CASE at %C"
msgstr "Initieringsuttryck förväntades i CASE vid %C"
#: fortran/match.c:3918
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Expected block name '%s' of SELECT construct at %C"
-msgstr "Förväntade namnet på SELECT CASE-konstruktionen vid %C"
+msgstr "Blocknamnet \"%s\" förväntades av SELECT-konstruktionen vid %C"
#: fortran/match.c:4039
#, no-c-format
@@ -7656,9 +7655,9 @@ msgid "Selector in SELECT TYPE at %C is not a named variable; use associate-name
msgstr "Väljare i SELECT TYPE vid %C är inte en namngiven variabel, använd associationsnamn =>"
#: fortran/match.c:4047
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Selector shall be polymorphic in SELECT TYPE statement at %C"
-msgstr "Syntaxfel i PROTECTED-sats vid %C"
+msgstr "Selektorer skall vara polymorfiska i SELECT TYPE-sats vid %C"
#: fortran/match.c:4075
#, no-c-format
@@ -7666,24 +7665,24 @@ msgid "Unexpected CASE statement at %C"
msgstr "Oväntad CASE-sats vid %C"
#: fortran/match.c:4127
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Syntax error in CASE specification at %C"
msgstr "Syntaxfel i CASE-specifikation vid %C"
#: fortran/match.c:4145
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Unexpected TYPE IS statement at %C"
-msgstr "Oväntad END-sats vid %C"
+msgstr "Oväntad TYPE IS-sats vid %C"
#: fortran/match.c:4178
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Syntax error in TYPE IS specification at %C"
-msgstr "Syntaxfel i CASE-specifikation vid %C"
+msgstr "Syntaxfel i TYPE IS-specifikation vid %C"
#: fortran/match.c:4250
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Syntax error in CLASS IS specification at %C"
-msgstr "Syntaxfel i CASE-specifikation vid %C"
+msgstr "Syntaxfel i CLASS IS-specifikation vid %C"
#: fortran/match.c:4372
#, no-c-format
@@ -8285,9 +8284,9 @@ msgid "Argument to -ffpe-trap is not valid: %s"
msgstr "Argumentet till -ffpe-trap är inte giltigt: %s"
#: fortran/options.c:509
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Argument to -fcheck is not valid: %s"
-msgstr "Argumentet till -ffpe-trap är inte giltigt: %s"
+msgstr "Argumentet till -fcheck är inte giltigt: %s"
#: fortran/options.c:662
#, no-c-format
@@ -8345,9 +8344,9 @@ msgid "Unclassifiable OpenMP directive at %C"
msgstr "Oklassificerbart OpenMP-direktiv vid %C"
#: fortran/parse.c:592
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Unclassifiable GCC directive at %C"
-msgstr "Oklassificerbart OpenMP-direktiv vid %C"
+msgstr "Oklassificerbart GCC-direktiv vid %C"
#: fortran/parse.c:634 fortran/parse.c:803
#, no-c-format
@@ -8365,9 +8364,9 @@ msgid "Semicolon at %C needs to be preceded by statement"
msgstr "Semikolon vid %C måste föregås av en sats"
#: fortran/parse.c:661 fortran/parse.c:855
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Ignoring statement label in empty statement at %L"
-msgstr "Ignorerar satsetikett i tom sats vid %C"
+msgstr "Ignorerar satsetikett i tom sats vid %L"
#: fortran/parse.c:782 fortran/parse.c:822
#, no-c-format
@@ -8561,9 +8560,9 @@ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedu
msgstr "INTERFACE-procedur \"%s\" vid %L har samma namn som den inneslutande proceduren"
#: fortran/parse.c:2431
-#, fuzzy, no-c-format
+#, no-c-format
msgid "%s statement is not allowed inside of BLOCK at %C"
-msgstr "%s-sats är inte tillåtet i PURE-procedur vid %C"
+msgstr "%s-sats är inte tillåten inuti BLOCK vid %C"
#: fortran/parse.c:2517
#, no-c-format
@@ -8616,9 +8615,9 @@ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
msgstr "En CASE- eller END SELECT-sats förväntades följa efter SELECT CASE vid %C"
#: fortran/parse.c:2929
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Expected TYPE IS, CLASS IS or END SELECT statement following SELECT TYPE at %C"
-msgstr "En CASE- eller END SELECT-sats förväntades följa efter SELECT CASE vid %C"
+msgstr "En TYPE IS-, CLASS IS- eller END SELECT-sats förväntades följa efter SELECT TYPE vid %C"
#: fortran/parse.c:2991
#, no-c-format
@@ -8636,9 +8635,9 @@ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
msgstr "Slut på DO-sats utan block vid %C är sammanvävt med en annan DO-slinga"
#: fortran/parse.c:3089
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Fortran 2008: BLOCK construct at %C"
-msgstr "Fortran 2003: VALUE-attribut vid %C"
+msgstr "Fortran 2008: BLOCK-konstruktion vid %C"
#: fortran/parse.c:3147
#, no-c-format
@@ -8646,9 +8645,9 @@ msgid "Statement label in ENDDO at %C doesn't match DO label"
msgstr "Satsetikett i ENDDO vid %C stämmer inte med DO-etikett"
#: fortran/parse.c:3163
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Named block DO at %L requires matching ENDDO name"
-msgstr "namngivet DO-block vid %L kräver matchande ENDDO-namn"
+msgstr "Namngivet DO-block vid %L kräver matchande ENDDO-namn"
#: fortran/parse.c:3422
#, no-c-format
@@ -9064,19 +9063,17 @@ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
msgstr "Resultatet \"%s\" av innesluten funktion \"%s\" vid %L har ingen IMPLICIT-typ"
#: fortran/resolve.c:386
-#, fuzzy
msgid "module procedure"
-msgstr "elementär procedur"
+msgstr "modulprocedur"
#: fortran/resolve.c:387
-#, fuzzy
msgid "internal function"
-msgstr "funktion som returnerar en funktion"
+msgstr "intern funktion"
#: fortran/resolve.c:384
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Character-valued %s '%s' at %L must not be assumed length"
-msgstr "Teckenvärd intern funktion \"%s\" vid %L får inte ha antagen längd"
+msgstr "Teckenvärd %s \"%s\" vid %L får inte ha antagen längd"
#: fortran/resolve.c:559
#, no-c-format
@@ -9652,9 +9649,9 @@ msgid "Substring end index at %L exceeds the string length"
msgstr "Slutindex för delsträng vid %L överstiger strängens längd"
#: fortran/resolve.c:4149
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Substring end index at %L is too large"
-msgstr "Slutsträng för delsträng vid %L måste vara skalärt"
+msgstr "Slutindex för delsträng vid %L är för stort"
#: fortran/resolve.c:4285
#, no-c-format
@@ -9710,9 +9707,9 @@ msgid "'%s' at %L should be a FUNCTION"
msgstr "\"%s\" vid %L skulle vara en SUBROUTINE"
#: fortran/resolve.c:5137
-#, fuzzy, no-c-format
+#, no-c-format
msgid "no typebound available procedure named '%s' at %L"
-msgstr "Förväntade en procedur som argument \"%s\" vid %L"
+msgstr "ingen typbegränsad tillgänglig procedur med namnet \"%s\" vid %L"
#: fortran/resolve.c:5598
#, no-c-format
@@ -9775,9 +9772,9 @@ msgid "FORALL index '%s' may not appear in triplet specification at %L"
msgstr "FORALL-index \"%s\" får inte förekomma i triplettspecifikation vid %L"
#: fortran/resolve.c:5900 fortran/resolve.c:6115
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
-msgstr "Uttryck i ALLOCATE-sats vid %L måste vara ALLOCATABLE eller en POINTER"
+msgstr "Allokeringsojbekt vid %L måste vara ALLOCATABLE eller en POINTER"
#: fortran/resolve.c:5906
#, no-c-format
@@ -9830,24 +9827,24 @@ msgid "'%s' must not appear in the array specification at %L in the same ALLOCAT
msgstr "\"%s\" får inte förekomma i vektorspecifikationen vid %L i samma ALLOCATE-sats där den själv allokeras"
#: fortran/resolve.c:6242
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Stat-variable '%s' at %L cannot be INTENT(IN)"
-msgstr "Slingvariabeln \"%s\" vid %C får inte vara INTENT(IN)"
+msgstr "Statvariabeln \"%s\" vid %L får inte vara INTENT(IN)"
#: fortran/resolve.c:6246
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Illegal stat-variable at %L for a PURE procedure"
-msgstr "Otillåten variabel i NULLIFY vid %C för en PURE-procedur"
+msgstr "Otillåten statvariabel vid %L för en PURE-procedur"
#: fortran/resolve.c:6253
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Stat-variable at %L must be a scalar INTEGER variable"
-msgstr "ASSIGN-sats vid %L kräver en skalär standard-INTEGER-variabel"
+msgstr "Statvariabel vid %L måste vara en INTEGER-variabel"
#: fortran/resolve.c:6258
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Stat-variable at %L shall not be %sd within the same %s statement"
-msgstr "Etiketten vid %L är inte i samma block som GOTO-satsen vid %L"
+msgstr "Statvariabel vid %L skall inte %s:as i samma %s-sats"
#: fortran/resolve.c:6266
#, no-c-format
@@ -9855,19 +9852,19 @@ msgid "ERRMSG at %L is useless without a STAT tag"
msgstr "ERRMSG vid %L är oanvändbart utan en STAT-tagg"
#: fortran/resolve.c:6270
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Errmsg-variable '%s' at %L cannot be INTENT(IN)"
-msgstr "Slingvariabeln \"%s\" vid %C får inte vara INTENT(IN)"
+msgstr "Errmsg-variabeln \"%s\" vid %L får inte vara INTENT(IN)"
#: fortran/resolve.c:6274
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Illegal errmsg-variable at %L for a PURE procedure"
-msgstr "Otillåten variabel i NULLIFY vid %C för en PURE-procedur"
+msgstr "Otillåten errmsg-variabel vid %L för en PURE-procedur"
#: fortran/resolve.c:6282
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
-msgstr "UNIT-specifikation vid %L måste vara ett INTEGER-uttryck eller en CHARACTER-variabel"
+msgstr "Errmsg-variabeln vid %L måste vara en skalär CHARACTER-variabel"
#: fortran/resolve.c:6287
#, no-c-format
@@ -9944,14 +9941,14 @@ msgid "Logical SELECT CASE block at %L has more that two cases"
msgstr "Logiskt SELECT CASE-block vid %L har mer än två fall"
#: fortran/resolve.c:6884
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Derived type '%s' at %L must be extensible"
-msgstr "Härledd typ \"%s\" vid %L är tom"
+msgstr "Härledd typ \"%s\" vid %L måste vara utökningsbar"
#: fortran/resolve.c:6894
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Derived type '%s' at %L must be an extension of '%s'"
-msgstr "Härledd typ \"%s\" vid %L är tom"
+msgstr "Härledd typ \"%s\" vid %L måste vara en utökning av \"%s\""
#: fortran/resolve.c:7040
#, no-c-format
@@ -10052,9 +10049,9 @@ msgid "The impure variable at %L is assigned to a derived type variable with a P
msgstr "Den orena variabeln vid %L är tilldelad till en härledd typvariabel med en POINTER-komponent i en PURE-procedur (12.6)"
#: fortran/resolve.c:7854
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Variable must not be polymorphic in assignment at %L"
-msgstr "Variabeltypen är OKÄND i tilldelning vid %L"
+msgstr "Variabeln får inte vara polymorfisk i tilldelningen vid %L"
#: fortran/resolve.c:7964
#, no-c-format
@@ -10130,9 +10127,9 @@ msgid "CHARACTER variable has zero length at %L"
msgstr "CHARACTER-variabel har längd noll vid %L"
#: fortran/resolve.c:8475
-#, fuzzy, no-c-format
+#, no-c-format
msgid "String length at %L is too large"
-msgstr "storleken på vektorn %qs är för stor"
+msgstr "Stränglängden vid %L är för stor"
#: fortran/resolve.c:8777
#, no-c-format
@@ -10165,9 +10162,9 @@ msgid "Object '%s' at %L must have the SAVE attribute for default initialization
msgstr "Objekt \"%s\" vid %L måste ha attributet SAVE för standardinitiering av en komponent"
#: fortran/resolve.c:8862
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
-msgstr "Typen på funktionen \"%s\" vid %L är inte tillgänglig"
+msgstr "Typen \"%s\" på CLASS-variabeln \"%s\" vid %L är inte utvidgningsbar"
#: fortran/resolve.c:8872
#, no-c-format
@@ -10282,9 +10279,9 @@ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
msgstr "CHARACTER(*)-funktion \"%s\" vid %L kan inte vara rekursiv"
#: fortran/resolve.c:9203
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
-msgstr "CHARACTER(*)-funktion \"%s\" vid %L kan inte vara pure"
+msgstr "Förlegad funktion: CHARACTER(*)-funktion \"%s\" vid %L"
#: fortran/resolve.c:9258
#, no-c-format
@@ -10297,14 +10294,14 @@ msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
msgstr "PROCEDURE-attribut i konflikt med INTENT-attribut i \"%s\" vid %L"
#: fortran/resolve.c:9270
-#, fuzzy, no-c-format
+#, no-c-format
msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
-msgstr "PROCEDURE-attribut i konflikt med NAMELIST-attribut i \"%s\" vid %L"
+msgstr "PROCEDURE-attribut i konflikt med RESULT-attribut i \"%s\" vid %L"
#: fortran/resolve.c:9278
-#, fuzzy, no-c-format
+#, no-c-format
msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
-msgstr "PROCEDURE-attribut i konflikt med INTENT-attribut i \"%s\" vid %L"
+msgstr "EXTERNAL-attribut i konflikt med FUNCTION-attribut i \"%s\" vid %L"
#: fortran/resolve.c:9284
#, no-c-format
@@ -10349,7 +10346,7 @@ msgstr "Argument till FINAL-procedur vid %L får inte vara INTENT(OUT)"
#: fortran/resolve.c:9383
#, no-c-format
msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
-msgstr "Ickeskalär FINAL-procedur vid %L skulle argument med förmodar form"
+msgstr "Ickeskalär FINAL-procedur vid %L skulle ha argument med förmodad form"
#: fortran/resolve.c:9402
#, no-c-format
@@ -10423,7 +10420,7 @@ msgid "Dummy argument '%s' of '%s' at %L should be named '%s' as to match the co
msgstr "Attrappargument \"%s\" till \"%s\" vid %L skulle ha namnet \"%s\" för att stämma med motsvarande argument i den åsidosatta proceduren"
#: fortran/resolve.c:9593
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Types mismatch for dummy argument '%s' of '%s' %L in respect to the overridden procedure"
msgstr "Typer stämmer inte överens för attrappargument \"%s\" till \"%s\" %L med hänsyn till den åsidosatta proceduren"
@@ -10493,9 +10490,9 @@ msgid "Procedure '%s' with PASS at %L must have at least one argument"
msgstr "Procedur \"%s\" med PASS vid %L måste ha åtminstone ett argument"
#: fortran/resolve.c:10055 fortran/resolve.c:10424
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
-msgstr "Polymorfa enheter är inte implementerade ännu, ickepolymorfa attrappargument för pass-objekt till \"%s\" vid %L accepteras"
+msgstr "Ickepolymorfa attrappargument för pass-objekt till \"%s\" vid %L"
#: fortran/resolve.c:10063
#, no-c-format
@@ -10513,9 +10510,9 @@ msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
msgstr "Proceduren \"%s\" vid %L har samma namn som den ärvd komponent i \"%s\""
#: fortran/resolve.c:10187
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
-msgstr "Härledd typ \"%s\" deklarerad vid %L måste ha attributet BIND för att vara ett C-interoperativ"
+msgstr "Härledd typ \"%s\" deklarerad vid %L måste vara ABSTRACT för att \"%s\" är DEFERRED och inte åsidosatt"
#: fortran/resolve.c:10248
#, no-c-format
@@ -10523,44 +10520,44 @@ msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
msgstr "Ej utvidgningsbar härledd typ \"%s\" vid %L får inte vara ABSTRACT"
#: fortran/resolve.c:10258
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
-msgstr "Gränssnitt \"%s\", använd av proceduren \"%s\" vid %L, är deklarerad i en senare PROCEDURE-sats"
+msgstr "Gränssnitt \"%s\", använt av procedurpekarkomponenten \"%s\" vid %L, är deklarerat i en senare PROCEDURE-sats"
#: fortran/resolve.c:10319
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
-msgstr "Gränssnitt \"%s\" till procedur \"%s\" vid %L måste vara explicit"
+msgstr "Gränssnitt \"%s\" till procedurpekarkomponent \"%s\" vid %L måste vara explicit"
#: fortran/resolve.c:10358
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
-msgstr "Proceduren \"%s\" med PASS(%s) vid %L har inget argument \"%s\""
+msgstr "Procedurpekarkomponent \"%s\" med PASS(%s) vid %L har inget argument \"%s\""
#: fortran/resolve.c:10372
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
-msgstr "Procedur \"%s\" med PASS vid %L måste ha åtminstone ett argument"
+msgstr "Procedurpekarkomponent \"%s\" med PASS vid %L måste ha åtminstone ett argument"
#: fortran/resolve.c:10388
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
msgstr "Argument \"%s\" till \"%s\" med PASS(%s) vid %L måste ha den härledda typen \"%s\""
#: fortran/resolve.c:10398
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
-msgstr "Argument \"%s\" till \"%s\" med PASS(%s) vid %L måste ha den härledda typen \"%s\""
+msgstr "Argument \"%s\" till \"%s\" med PASS(%s) vid %L måste vara skalärt"
#: fortran/resolve.c:10407
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
-msgstr "Argumentet \"%s\" av elementär procedur vid %L får inte ha attributet POINTER"
+msgstr "Argumentet \"%s\" till \"%s\" med PASS(%s) vid %L får inte ha attributet POINTER"
#: fortran/resolve.c:10416
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
-msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara ALLOCATABLE"
+msgstr "Argumentet \"%s\" till \"%s\" med PASS(%s) vid %L får inte vara ALLOCATABLE"
#: fortran/resolve.c:10439
#, no-c-format
@@ -10588,9 +10585,9 @@ msgid "The pointer component '%s' of '%s' at %L is a type that has not been decl
msgstr "Pekarkomponenten \"%s\" av \"%s\" vid %L är en typen som inte har deklarerats"
#: fortran/resolve.c:10498
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
-msgstr "Procedur \"%s\" med PASS vid %L måste ha åtminstone ett argument"
+msgstr "Procedur \"%s\" med CLASS vid %L måste vara allokerbar eller en pekare"
#: fortran/resolve.c:10526
#, no-c-format
@@ -10653,9 +10650,9 @@ msgid "Incompatible derived type in PARAMETER at %L"
msgstr "Inkompatibel härledd typ i PARAMETER vid %L"
#: fortran/resolve.c:10766
-#, fuzzy, no-c-format
+#, no-c-format
msgid "PROCEDURE '%s' at %L may not be used as its own interface"
-msgstr "PROCEDURE vid %C måste vara i ett generiskt gränssnitt"
+msgstr "PROCEDURE \"%s\" vid %L får inte användas som sitt eget gränssnitt"
#: fortran/resolve.c:10772
#, no-c-format
@@ -10888,9 +10885,9 @@ msgid "Limit of %d continuations exceeded in statement at %C"
msgstr "Gränsen på %d fortsättningar överskrids i sats vid %C"
#: fortran/scanner.c:1090 fortran/scanner.c:1177
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Line truncated at %L"
-msgstr "Rad avhuggen vid %C"
+msgstr "Rad avhuggen vid %L"
#: fortran/scanner.c:1137
#, no-c-format
@@ -11226,9 +11223,9 @@ msgid "%s attribute not allowed in BLOCK DATA program unit at %L"
msgstr "%s-attribut är inte tillåtet i programenheten BLOCK DATA vid %L"
#: fortran/symbol.c:467
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Fortran 2003: Procedure pointer at %C"
-msgstr "Fortran 2003: FINAL-procedurdeklaration vid %C"
+msgstr "Fortran 2003: Procedurpekare vid %C"
#: fortran/symbol.c:617
#, no-c-format
@@ -11366,14 +11363,14 @@ msgid "'%s' at %L has attributes specified outside its INTERFACE body"
msgstr "\"%s\" vid %L har attribut angivna utanför dess INTERFACE-kropp"
#: fortran/symbol.c:1583
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Symbol '%s' at %L already has basic type of %s"
-msgstr "Funktionen \"%s\" vid %C har redan typen %s"
+msgstr "Symbolen \"%s\" vid %L har redan grundtypen %s"
#: fortran/symbol.c:1590
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Procedure '%s' at %L may not have basic type of %s"
-msgstr "Procedur \"%s\" vid %L har samma namn som en komponent i \"%s\""
+msgstr "Procedur \"%s\" vid %L får inte ha grundtypen %s"
#: fortran/symbol.c:1602
#, no-c-format
@@ -11473,9 +11470,9 @@ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a me
msgstr "Komponent \"%s\" vid %L får inte ha attributet POINTER eftersom det är en medlem av den BIND(C)-härledda typen \"%s\" vid %L"
#: fortran/symbol.c:3497
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Procedure pointer component '%s' at %L cannot be a member of the BIND(C) derived type '%s' at %L"
-msgstr "Komponent \"%s\" vid %L får inte ha attributet POINTER eftersom det är en medlem av den BIND(C)-härledda typen \"%s\" vid %L"
+msgstr "Procedurpekarkomponenten \"%s\" vid %L kan inte vara en medlem av den BIND(C)-härledda typen \"%s\" vid %L"
#: fortran/symbol.c:3508
#, no-c-format
@@ -11518,9 +11515,9 @@ msgid "Extension: Symbol '%s' is used before it is typed at %L"
msgstr "Utökning: Symbolen \"%s\" används före den fått sin typ vid %L"
#: fortran/symbol.c:4852 fortran/symbol.c:4926
-#, fuzzy, no-c-format
+#, no-c-format
msgid "'%s' of '%s' is PRIVATE at %L"
-msgstr "\"%s\" av \"%s\" är PRIVATE vid %C"
+msgstr "\"%s\" av \"%s\" är PRIVATE vid %L"
#: fortran/target-memory.c:659
#, no-c-format
@@ -11617,9 +11614,9 @@ msgid "Assigning value other than 0 or 1 to LOGICAL has undefined result at %L"
msgstr "Tilldelning annat värde än 0 eller 1 till LOGICAL har odefinierat resultat vid %L"
#: fortran/trans-const.c:358
-#, fuzzy, no-c-format
+#, no-c-format
msgid "non-constant initialization expression at %L"
-msgstr "Ett initieringsuttryck förväntades vid %C"
+msgstr "ej konstant initieringsuttryck vid %L"
#: fortran/trans-decl.c:3085 fortran/trans-decl.c:4408
#, no-c-format
@@ -11652,14 +11649,14 @@ msgid "Return value '%s' of function '%s' declared at %L not set"
msgstr "Returvärdet \"%s\" för funktionen \"%s\" deklarerad vid %L är inte satt"
#: fortran/trans-decl.c:3963
-#, fuzzy, c-format
+#, c-format
msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)"
-msgstr "Aktuellt argument innehåller för få element för attrappargument \"%s\" (%lu/%lu) vid %L"
+msgstr "Aktuellt stränglängd matchare inte den deklarerade för attrappargument \"%s\" (%ld/%ld)"
#: fortran/trans-decl.c:3971
-#, fuzzy, c-format
+#, c-format
msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)"
-msgstr "Aktuellt argument innehåller för få element för attrappargument \"%s\" (%lu/%lu) vid %L"
+msgstr "Aktuellt stränglängd är kortaren än den deklarerade för attrappargument \"%s\" (%ld/%ld)"
#: fortran/trans-expr.c:1616
msgid "internal error: bad hash value in dynamic dispatch"
@@ -12020,9 +12017,8 @@ msgid " conflicting code gen style switches are used"
msgstr " kodgenereringsflaggor som står i konflikt används"
#: config/rx/rx.h:61
-#, fuzzy
msgid "-mas100-syntax is incompatible with -gdwarf"
-msgstr "försäkran: %s är tilldelningskompatibel med %s"
+msgstr "-mas100-syntax är inkompatibel med -gdwarf"
#: config/arm/arm.h:154
msgid "-msoft-float and -mhard_float may not be used together"
@@ -12173,9 +12169,8 @@ msgid "Call a library routine to do integer divisions"
msgstr "Anropa en biblioteksrutin för att göra heltalsdivisioner"
#: java/lang.opt:197
-#, fuzzy
msgid "Generate code for built-in atomic operations"
-msgstr "Generera kod för operativsystemet Android."
+msgstr "Generera kod för inbyggda atomiska operationer"
#: java/lang.opt:201
msgid "Generated should be loaded by bootstrap loader"
@@ -12446,9 +12441,8 @@ msgid "Copy array sections into a contiguous block on procedure entry"
msgstr "Kopiera vektorsektioner till sammanhängande block vid procedurstart"
#: fortran/lang.opt:345
-#, fuzzy
msgid "Specify which runtime checks are to be performed"
-msgstr "Ange när r10k-cache-barriärer skall skjutas in"
+msgstr "Ange vilka körtidskontroller som skall utföras"
#: fortran/lang.opt:349
msgid "Append a second underscore if the name already contains an underscore"
@@ -13025,9 +13019,8 @@ msgid "Don't generate checks for control speculation in selective scheduling"
msgstr "Generera inte kontroller av styrningsspekulation i selektiv schemaläggning"
#: config/ia64/ia64.opt:183
-#, fuzzy
msgid "Enable fused multiply/add and multiply/subtract instructions"
-msgstr "Aktivera sammanslagna multiplikations/additions- och multiplikations/subtraktions-FP-instruktioner"
+msgstr "Aktivera sammanslagna multiplikations/additions- och multiplikations/subtraktions-instruktioner"
# Detta är inget riktigt meddelande. Extraktionsskriptet blir
# uppenbarligen lurat på något sätt.
@@ -13601,19 +13594,16 @@ msgid "Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code genera
msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3- och SSE4A-funktioner och -kodgenerering"
#: config/i386/i386.opt:315
-#, fuzzy
msgid "Support FMA4 built-in functions and code generation "
-msgstr "Stöd inbyggda AES-funktioner och -kodgenerering"
+msgstr "Stöd inbyggda FMA4-funktioner och -kodgenerering "
#: config/i386/i386.opt:319
-#, fuzzy
msgid "Support XOP built-in functions and code generation "
-msgstr "Stöd inbyggda AES-funktioner och -kodgenerering"
+msgstr "Stöd inbyggda XOP-funktioner och -kodgenerering "
#: config/i386/i386.opt:323
-#, fuzzy
msgid "Support LWP built-in functions and code generation "
-msgstr "Stöd inbyggda AES-funktioner och -kodgenerering"
+msgstr "Stöd inbyggda LWP-funktioner och -kodgenerering "
#: config/i386/i386.opt:327
msgid "Support code generation of Advanced Bit Manipulation (ABM) instructions."
@@ -13632,14 +13622,12 @@ msgid "Support code generation of sahf instruction in 64bit x86-64 code."
msgstr "Stöd kodgenerering av sahf-instruktioner i 64-bitars x86-64-kod."
#: config/i386/i386.opt:343
-#, fuzzy
msgid "Support code generation of movbe instruction."
-msgstr "Stöd kodgenerering av popcnt-instruktioner."
+msgstr "Stöd kodgenerering av movbe-instruktioner."
#: config/i386/i386.opt:347
-#, fuzzy
msgid "Support code generation of crc32 instruction."
-msgstr "Stöd kodgenerering av popcnt-instruktioner."
+msgstr "Stöd kodgenerering av crc32-instruktioner."
#: config/i386/i386.opt:351
msgid "Support AES built-in functions and code generation"
@@ -13798,14 +13786,12 @@ msgid "Do not use hardware floating point"
msgstr "Använd inte hårdvaruflyttal"
#: config/rs6000/rs6000.opt:116
-#, fuzzy
msgid "Use PowerPC V2.06 popcntd instruction"
-msgstr "Använd PowerPC V2.02:s popcntb-instruktion"
+msgstr "Använd PowerPC V2.06:s popcntd-instruktion"
#: config/rs6000/rs6000.opt:120
-#, fuzzy
msgid "Use vector/scalar (VSX) instructions"
-msgstr "Använd mediainstruktioner"
+msgstr "Använd vektor-/skalärinstruktioner (VSX)"
#: config/rs6000/rs6000.opt:160
msgid "Do not generate load/store with update instructions"
@@ -13824,9 +13810,8 @@ msgid "Generate fused multiply/add instructions"
msgstr "Generera sammansmälta multiplikations/additions-instruktioner"
#: config/rs6000/rs6000.opt:176
-#, fuzzy
msgid "Mark __tls_get_addr calls with argument info"
-msgstr "%<__builtin_next_arg%> anropad utan argument"
+msgstr "Märk __tls_get_addr-anrop med argumentinformation"
#: config/rs6000/rs6000.opt:183
msgid "Schedule the start and end of the procedure"
@@ -14031,9 +14016,8 @@ msgid "Use alternate register names"
msgstr "Använd alternativa registernamn"
#: config/rs6000/sysv4.opt:101
-#, fuzzy
msgid "Use default method for sdata handling"
-msgstr "Välj metod för hantering av sdata"
+msgstr "Använd standardmetod för hantering av sdata"
#: config/rs6000/sysv4.opt:105
msgid "Link with libsim.a, libc.a and sim-crt0.o"
@@ -14216,23 +14200,20 @@ msgid "Generate SH2 code"
msgstr "Generera SH2-kod"
#: config/sh/sh.opt:52
-#, fuzzy
msgid "Generate default double-precision SH2a-FPU code"
-msgstr "Generera normal enkelprecisions SH2a-kod"
+msgstr "Generera normal dubbelprecisions SH2a-FPU-kod"
#: config/sh/sh.opt:56
msgid "Generate SH2a FPU-less code"
msgstr "Generera SH2a-kod utan FPU"
#: config/sh/sh.opt:60
-#, fuzzy
msgid "Generate default single-precision SH2a-FPU code"
-msgstr "Generera normal enkelprecisions SH2a-kod"
+msgstr "Generera normal enkelprecisions SH2a-FPU-kod"
#: config/sh/sh.opt:64
-#, fuzzy
msgid "Generate only single-precision SH2a-FPU code"
-msgstr "Generera endast enkelprecisions SH2a-kod"
+msgstr "Generera endast enkelprecisions SH2a-FPU-kod"
#: config/sh/sh.opt:68
msgid "Generate SH2e code"
@@ -14391,9 +14372,8 @@ msgid "Enable cbranchdi4 pattern"
msgstr "Aktivera cbranchdi4-mönster"
#: config/sh/sh.opt:229
-#, fuzzy
msgid "Emit cmpeqdi_t pattern even when -mcbranchdi is in effect."
-msgstr "Mata ut cmpeqdi_t-mönster även när -mcbranchdi och -mexpand-cbranchdi är aktiva."
+msgstr "Mata ut cmpeqdi_t-mönster även när -mcbranchdi är aktivt."
#: config/sh/sh.opt:233
msgid "Enable SH5 cut2 workaround"
@@ -14472,9 +14452,8 @@ msgid "Shorten address references during linking"
msgstr "Förkorta adressreferenser vid länkning"
#: config/sh/sh.opt:319
-#, fuzzy
msgid "Deprecated. Use -Os instead"
-msgstr "Undanbedes. Använd -Os istället."
+msgstr "Undanbedes. Använd -Os istället"
#: config/sh/sh.opt:323
msgid "Cost to assume for a multiply insn"
@@ -14545,9 +14524,8 @@ msgid "Specify if floating point hardware should be used"
msgstr "Ange om flyttalshårdvara skall användas"
#: config/arm/arm.opt:83
-#, fuzzy
msgid "Specify the __fp16 floating-point format"
-msgstr "Ange namnet på målets flyttalshårdvara/-format"
+msgstr "Ange flyttalsformatet __fp16"
#: config/arm/arm.opt:94
msgid "Specify the name of the target floating point hardware/format"
@@ -15211,9 +15189,8 @@ msgid "Use VAXC structure conventions"
msgstr "Använd VAXC:s konventioner för struct"
#: config/vax/vax.opt:51
-#, fuzzy
msgid "Use new adddi3/subdi3 patterns"
-msgstr "Använd 16-bitars abs-mönster"
+msgstr "Använd nya adddi3/subdi3-mönster"
#: config/cris/linux.opt:27
msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
@@ -15611,7 +15588,7 @@ msgstr "Använd inte instruktionen bcnz"
#: config/score/score.opt:35
msgid "Enable unaligned load/store instruction"
-msgstr "Aktivera ojusterade load/store-instruktioner"
+msgstr "Använd ojusterade load/store-instruktioner"
#: config/score/score.opt:39
msgid "Support SCORE 5 ISA"
@@ -15646,69 +15623,60 @@ msgid "Use uClibc instead of GNU libc"
msgstr "Använd uClibc istället för GNU libc"
#: config/mep/mep.opt:21
-#, fuzzy
msgid "Enable absolute difference instructions"
-msgstr "Aktivera ojusterade load/store-instruktioner"
+msgstr "Använd instruktioner för absoluta skillnad"
#: config/mep/mep.opt:25
-#, fuzzy
msgid "Enable all optional instructions"
-msgstr "Aktivera valbar diagnostik"
+msgstr "Använd alla valbara instruktioner"
#: config/mep/mep.opt:29
-#, fuzzy
msgid "Enable average instructions"
-msgstr "Aktivera ojusterade load/store-instruktioner"
+msgstr "Använd genomsnittsinstruktioner"
#: config/mep/mep.opt:33
msgid "Variables this size and smaller go in the based section. (default 0)"
msgstr "Variabler av denna storlek och mindra placeras i based-sektionen. (standard 0)"
#: config/mep/mep.opt:37
-#, fuzzy
msgid "Enable bit manipulation instructions"
-msgstr "Använd sammansmälta multiplikations/additions-instruktioner"
+msgstr "Använd bithanteringsinstruktioner"
#: config/mep/mep.opt:41
msgid "Section to put all const variables in (tiny, near, far) (no default)"
msgstr "Sektion att lägga alla const-variabler i (tiny, near, far) (ingen standard)"
#: config/mep/mep.opt:45
-#, fuzzy
msgid "Enable clip instructions"
-msgstr "Använd inte instruktionen bcnz"
+msgstr "Använd clip-instruktionener"
#: config/mep/mep.opt:49
msgid "Configuration name"
msgstr "Konfigurationsnamn"
#: config/mep/mep.opt:53
-#, fuzzy
msgid "Enable MeP Coprocessor"
-msgstr "Aktivera preprocessning"
+msgstr "Använd MeP-hjälpprocessor"
#: config/mep/mep.opt:57
msgid "Enable MeP Coprocessor with 32-bit registers"
-msgstr "Aktivera MeP-koprocessor med 32-bitars register"
+msgstr "Använd MeP-koprocessor med 32-bitars register"
#: config/mep/mep.opt:61
msgid "Enable MeP Coprocessor with 64-bit registers"
-msgstr "Aktivera MeP-koprocessor med 64-bitars register"
+msgstr "Använd MeP-koprocessor med 64-bitars register"
#: config/mep/mep.opt:65
-#, fuzzy
msgid "Enable IVC2 scheduling"
-msgstr "Aktivera bakändefelsökning"
+msgstr "Använd IVC2-schemaläggning"
#: config/mep/mep.opt:69
-#, fuzzy
msgid "Const variables default to the near section"
-msgstr "inte tillräckligt med variabla argument för att få plats med en vaktpost"
+msgstr "Const-variabler till near-sektionen som standard"
#: config/mep/mep.opt:76
-#, fuzzy
msgid "Enable 32-bit divide instructions"
-msgstr "Använd divisionsinstruktionen"
+msgstr "Använd 32-bitars divisionsinstruktioner"
#: config/mep/mep.opt:88
msgid "__io vars are volatile by default"
@@ -15719,59 +15687,48 @@ msgid "All variables default to the far section"
msgstr "Alla variabler läggs som standard i far-sektionen"
#: config/mep/mep.opt:96
-#, fuzzy
msgid "Enable leading zero instructions"
-msgstr "ogiltig operand i instruktionen"
+msgstr "Använd instruktioner för inledande nollor"
#: config/mep/mep.opt:103
-#, fuzzy
msgid "All variables default to the near section"
-msgstr "Placera dataobjekt i sin egen sektion"
+msgstr "Alla variabler till near-sektionen som standard"
#: config/mep/mep.opt:107
-#, fuzzy
msgid "Enable min/max instructions"
-msgstr "Använd sammansmälta multiplikations/additions-instruktioner"
+msgstr "Använd min/max-instruktioner"
#: config/mep/mep.opt:111
-#, fuzzy
msgid "Enable 32-bit multiply instructions"
-msgstr "Använd sammansmälta multiplikations/additions-instruktioner"
+msgstr "Använd 32-bitars multiplikationsinstruktioner"
#: config/mep/mep.opt:115
-#, fuzzy
msgid "Disable all optional instructions"
-msgstr "Använd inte instruktionen bcnz"
+msgstr "Använd inte några valbara instruktionener"
#: config/mep/mep.opt:122
-#, fuzzy
msgid "Allow gcc to use the repeat/erepeat instructions"
-msgstr "Använd inte callt-instruktionen"
+msgstr "Tillåt gcc att använd repeat/erepeat-instruktionerna"
#: config/mep/mep.opt:126
-#, fuzzy
msgid "All variables default to the tiny section"
-msgstr "Placera dataobjekt i sin egen sektion"
+msgstr "Alla variabler till tiny-sektionen som standard"
#: config/mep/mep.opt:130
-#, fuzzy
msgid "Enable saturation instructions"
-msgstr "Använd sammansmälta multiplikations/additions-instruktioner"
+msgstr "Använd mättnads-instruktioner"
#: config/mep/mep.opt:134
-#, fuzzy
msgid "Use sdram version of runtime"
-msgstr "Använd simulatorkörtider"
+msgstr "Använd sdram-version av körtidskod"
#: config/mep/mep.opt:142
-#, fuzzy
msgid "Use simulator runtime without vectors"
-msgstr "Använd simulatorkörtider"
+msgstr "Använd simulatorkörtider utan vektorer"
#: config/mep/mep.opt:146
-#, fuzzy
msgid "All functions default to the far section"
-msgstr "Placera varje funktion i sin egen sektion"
+msgstr "Alla funktioner till far-sektion som standard"
#: config/mep/mep.opt:150
msgid "Variables this size and smaller go in the tiny section. (default 4)"
@@ -15794,24 +15751,20 @@ msgid "Store doubles in 64 bits. This is the default."
msgstr "Lagrar dubbla i 64 bitar. Detta är standard."
#: config/rx/rx.opt:32
-#, fuzzy
msgid "Enable the use of RX FPU instructions."
-msgstr "Möjliggör användning av de korta load-instruktionerna"
+msgstr "Möjliggör användning av RX FPU-instruktionerna."
#: config/rx/rx.opt:36
-#, fuzzy
msgid "Disable the use of RX FPU instructions."
-msgstr "Tillåt användningen av MDMX-instruktioner"
+msgstr "Tillåt inte användningen av RX FPU-instruktionerna."
#: config/rx/rx.opt:42
-#, fuzzy
msgid "Specify the target RX cpu type."
-msgstr "Ange mål-CPU:n"
+msgstr "Ange mål-RX-cpu-typen"
#: config/rx/rx.opt:46
-#, fuzzy
msgid "Alias for -mcpu."
-msgstr "Alias för --help=target"
+msgstr "Alias för --mcpu."
#: config/rx/rx.opt:52
msgid "Data is stored in big-endian format."
@@ -15826,56 +15779,48 @@ msgid "Maximum size of global and static variables which can be placed into the
msgstr "Maximal storlek på globala och statiska variabler som kan placeras i den lilla dataarean."
#: config/rx/rx.opt:68
-#, fuzzy
msgid "Use the simulator runtime."
-msgstr "Använd simulatorkörtider"
+msgstr "Använd simulatorkörtidskod."
#: config/rx/rx.opt:74
msgid "Generate assembler output that is compatible with the Renesas AS100 assembler. This may restrict some of the compiler's capabilities. The default is to generate GAS compatable syntax."
msgstr "Genereara assemblerutdatat som är kompatibel med Renesas AS100-assembler. Detta kan begränsa några av kompilatorns egenskaper. Standard är att generera GAS-kopatibel sysntax."
#: config/rx/rx.opt:80
-#, fuzzy
msgid "Enable linker relaxation."
-msgstr "Aktivera länkaravslappningar"
+msgstr "Aktivera länkaravslappningar."
#: config/rx/rx.opt:86
msgid "Maximum size in bytes of constant values allowed as operands."
msgstr "Maximal storlek i byta på konstanta värden som tillåts som operander."
#: config/rx/rx.opt:92
-#, fuzzy
msgid "Specifies the number of registers to reserve for interrupt handlers."
-msgstr "Ange registret som skall användas för PIC-adressering"
+msgstr "Anger antalet register som skall reserveras för avbrottshanterare."
#: config/rx/rx.opt:98
msgid "Specifies whether interrupt functions should save and restore the accumulator register."
msgstr "Anger om avbrottsfunktioner skall spara och återställa ackumulatorregistret."
#: config/lm32/lm32.opt:24
-#, fuzzy
msgid "Enable multiply instructions"
-msgstr "Använd sammansmälta multiplikations/additions-instruktioner"
+msgstr "Använd multiplikationsinstruktioner"
#: config/lm32/lm32.opt:28
-#, fuzzy
msgid "Enable divide and modulus instructions"
-msgstr "Använd sammansmälta multiplikations/additions-instruktioner"
+msgstr "Använd divisions- och modulusinstruktioner"
#: config/lm32/lm32.opt:32
-#, fuzzy
msgid "Enable barrel shift instructions"
-msgstr "Generera bitinstruktioner"
+msgstr "Använd barrel-shift-instruktioner"
#: config/lm32/lm32.opt:36
-#, fuzzy
msgid "Enable sign extend instructions"
-msgstr "Aktivera ojusterade load/store-instruktioner"
+msgstr "Aktivera teckenutökningsinstruktioner"
#: config/lm32/lm32.opt:40
-#, fuzzy
msgid "Enable user-defined instructions"
-msgstr "Använd sammansmälta multiplikations/additions-instruktioner"
+msgstr "Använd användardefinierade instruktioner"
#: c.opt:42
msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
@@ -16106,12 +16051,10 @@ msgid "Warn about PCH files that are found but not used"
msgstr "Varna för PCH-filer som hittas men inte används"
#: c.opt:289
-#, fuzzy
msgid "Warn when a jump misses a variable initialization"
-msgstr "Varna när en registervariabel är deklarerad volatile"
+msgstr "Varna när ett hopp missare en variabelinitiering"
#: c.opt:293
-#, fuzzy
msgid "Warn when a logical operator is suspiciously always evaluating to true or false"
msgstr "Varna när en logisk operator misstänkt nog alltid beräknas till sant eller falskt"
diff --git a/gcc/real.h b/gcc/real.h
index e6fa0d2d859..980bf960f5f 100644
--- a/gcc/real.h
+++ b/gcc/real.h
@@ -1,6 +1,7 @@
/* Definitions of floating-point access for GNU compiler.
Copyright (C) 1989, 1991, 1994, 1996, 1997, 1998, 1999,
- 2000, 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+ 2000, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
+ Free Software Foundation, Inc.
This file is part of GCC.
@@ -199,6 +200,31 @@ extern const struct real_format *
(FLOAT_MODE_P (MODE) \
&& FLOAT_MODE_FORMAT (MODE)->has_sign_dependent_rounding)
+/* True if the given mode has a NaN representation and the treatment of
+ NaN operands is important. Certain optimizations, such as folding
+ x * 0 into 0, are not correct for NaN operands, and are normally
+ disabled for modes with NaNs. The user can ask for them to be
+ done anyway using the -funsafe-math-optimizations switch. */
+#define HONOR_NANS(MODE) \
+ (MODE_HAS_NANS (MODE) && !flag_finite_math_only)
+
+/* Like HONOR_NANs, but true if we honor signaling NaNs (or sNaNs). */
+#define HONOR_SNANS(MODE) (flag_signaling_nans && HONOR_NANS (MODE))
+
+/* As for HONOR_NANS, but true if the mode can represent infinity and
+ the treatment of infinite values is important. */
+#define HONOR_INFINITIES(MODE) \
+ (MODE_HAS_INFINITIES (MODE) && !flag_finite_math_only)
+
+/* Like HONOR_NANS, but true if the given mode distinguishes between
+ positive and negative zero, and the sign of zero is important. */
+#define HONOR_SIGNED_ZEROS(MODE) \
+ (MODE_HAS_SIGNED_ZEROS (MODE) && flag_signed_zeros)
+
+/* Like HONOR_NANS, but true if given mode supports sign-dependent rounding,
+ and the rounding mode is important. */
+#define HONOR_SIGN_DEPENDENT_ROUNDING(MODE) \
+ (MODE_HAS_SIGN_DEPENDENT_ROUNDING (MODE) && flag_rounding_math)
/* Declare functions in real.c. */
diff --git a/gcc/sese.c b/gcc/sese.c
index 2c033939b7f..e59fdf667d0 100644
--- a/gcc/sese.c
+++ b/gcc/sese.c
@@ -78,7 +78,7 @@ debug_rename_map (htab_t map)
hashval_t
rename_map_elt_info (const void *elt)
{
- return htab_hash_pointer (((const struct rename_map_elt_s *) elt)->old_name);
+ return SSA_NAME_VERSION (((const struct rename_map_elt_s *) elt)->old_name);
}
/* Compares database elements E1 and E2. */
diff --git a/gcc/store-motion.c b/gcc/store-motion.c
index 8cb75d7ac27..97638619bb4 100644
--- a/gcc/store-motion.c
+++ b/gcc/store-motion.c
@@ -1237,7 +1237,6 @@ static unsigned int
execute_rtl_store_motion (void)
{
delete_unreachable_blocks ();
- df_note_add_problem ();
df_analyze ();
flag_rerun_cse_after_global_opts |= one_store_motion_pass ();
return 0;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c2b04d8a6dd..410b6dcf7fa 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,121 @@
+2010-01-07 Dodji Seketeli <dodji@redhat.com>
+
+ c++/40155
+ * g++.dg/cpp0x/variadic-unify-2.C: New test.
+
+2010-01-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/42625
+ * g++.dg/opt/dtor4.C: New test.
+ * g++.dg/opt/dtor4.h: New.
+ * g++.dg/opt/dtor4-aux.cc: New.
+
+2010-01-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/42597
+ * gfortran.dg/proc_ptr_26.f90: New test.
+
+2010-01-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41872
+ * gfortran.dg/allocatable_scalar_7.f90: New test.
+
+2010-01-06 Richard Guenther <rguenther@suse.de>
+
+ * gcc.c-torture/compile/pr42632.c: New testcase.
+
+2010-01-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/42542
+ * gcc.target/i386/pr42542-4.c: New.
+ * gcc.target/i386/pr42542-4a.c: Likewise.
+ * gcc.target/i386/pr42542-5.c: Likewise.
+ * gcc.target/i386/pr42542-5a.c: Likewise.
+
+2010-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/tls/opt-15.c: New test.
+
+2010-01-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pr42542-1.c (res): Make it 8 elements.
+
+2010-01-05 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42462
+ * g++.dg/torture/pr42462.C: New test.
+
+2010-01-05 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/initlist30.C: New test.
+
+2010-01-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42614
+ * gcc.c-torture/execute/pr42614.c: New testcase.
+
+2010-01-05 Eric Fisher <joefoxreal@gmail.com>
+
+ * gcc.dg/pr12603.c: Remove -Wunreachable-code from dg-options.
+ * gcc.dg/Wunreachable-1.c: Remove the testcase of
+ -Wunreachable-code.
+ * gcc.dg/Wunreachable-2.c: Likewise.
+ * gcc.dg/Wunreachable-3.c: Likewise.
+ * gcc.dg/Wunreachable-4.c: Likewise.
+ * gcc.dg/Wunreachable-5.c: Likewise.
+ * gcc.dg/Wunreachable-6.c: Likewise.
+ * gcc.dg/Wunreachable-7.c: Likewise.
+ * gcc.dg/Wunreachable-8.c: Likewise.
+ * gcc.dg/20041231-1.c: Likewise.
+
+2010-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR other/42611
+ * gcc.dg/pr42611.c: New test.
+
+ PR tree-optimization/42508
+ * g++.dg/opt/pr42508.C: New test.
+
+2010-01-05 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41872
+ * gfortran.dg/allocatable_scalar_8.f90: New.
+
+2010-01-04 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42398
+ * gcc.c-torture/compile/pr42398.c: New test.
+
+2010-01-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/42555
+ * g++.dg/ext/attrib35.C: New.
+
+ PR c++/42567
+ * g++.dg/cpp0x/auto17.C: New.
+
+2010-01-04 Rafael Avila de Espindola <espindola@google.com>
+
+ * gcc.dg/lto/20100104_0.c: New.
+
+2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/42542
+ * gcc.target/i386/pr42542-1.c: New.
+ * gcc.target/i386/pr42542-1a.c: Likewise.
+ * gcc.target/i386/pr42542-1b.c: Likewise.
+ * gcc.target/i386/pr42542-2.c: Likewise.
+ * gcc.target/i386/pr42542-2a.c: Likewise.
+ * gcc.target/i386/pr42542-2b.c: Likewise.
+ * gcc.target/i386/pr42542-3.c: Likewise.
+ * gcc.target/i386/pr42542-3a.c: Likewise.
+
+2009-01-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41872
+ * gfortran.dg/allocatable_scalar_5.f90: New test.
+ * gfortran.dg/allocatable_scalar_6.f90: New test.
+
2010-01-03 Richard Guenther <rguenther@suse.de>
PR testsuite/42583
diff --git a/gcc/testsuite/g++.dg/cpp0x/auto17.C b/gcc/testsuite/g++.dg/cpp0x/auto17.C
new file mode 100644
index 00000000000..03608d33ac6
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/auto17.C
@@ -0,0 +1,10 @@
+// PR c++/42567
+// { dg-options "-std=c++0x" }
+
+template<typename B>
+struct A {
+ template<typename C>
+ void fn(C c) {
+ auto& key = *c;
+ }
+};
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist30.C b/gcc/testsuite/g++.dg/cpp0x/initlist30.C
new file mode 100644
index 00000000000..a5bdb2eda91
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/initlist30.C
@@ -0,0 +1,12 @@
+// Testcase for variadic init list deduction.
+// { dg-options "-std=c++0x" }
+
+#include <initializer_list>
+
+template <class... Ts>
+void f (std::initializer_list<Ts>... ls);
+
+int main()
+{
+ f({1},{2.0});
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic-unify-2.C b/gcc/testsuite/g++.dg/cpp0x/variadic-unify-2.C
new file mode 100644
index 00000000000..80c9f5d2c3a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/variadic-unify-2.C
@@ -0,0 +1,14 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin: PR c++/40155
+// { dg-options "-std=c++0x" }
+// { dg-do compile }
+
+template <typename T> struct identity
+{ typedef T type; };
+
+template <typename RT, typename... A>
+int forward_call(RT (*) (A...), typename identity<A>::type...);
+
+int g (double);
+
+int i = forward_call(&g, 0);
diff --git a/gcc/testsuite/g++.dg/ext/attrib35.C b/gcc/testsuite/g++.dg/ext/attrib35.C
new file mode 100644
index 00000000000..60c48403e25
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/attrib35.C
@@ -0,0 +1,19 @@
+// { dg-do compile { target i*86-*-* x86_64-*-* } }
+// { dg-options "-O3 -msse2" }
+
+// You can make NON-template typedefs with a large alignment.
+typedef double AlignedDoubleType __attribute__((aligned(16)));
+
+template <typename RealType>
+RealType f(const RealType* p)
+{
+ // But if you use a template parameter it complains.
+ typedef RealType AlignedRealType __attribute__((aligned(16)));
+
+ return p[0];
+}
+
+double f2(const double* p)
+{
+ return f<double>(p);
+}
diff --git a/gcc/testsuite/g++.dg/opt/dtor4-aux.cc b/gcc/testsuite/g++.dg/opt/dtor4-aux.cc
new file mode 100644
index 00000000000..e3ca43b7430
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/dtor4-aux.cc
@@ -0,0 +1,6 @@
+// { dg-do compile }
+// { dg-options "" }
+
+#include "dtor4.h"
+
+S s;
diff --git a/gcc/testsuite/g++.dg/opt/dtor4.C b/gcc/testsuite/g++.dg/opt/dtor4.C
new file mode 100644
index 00000000000..c58fadfa18d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/dtor4.C
@@ -0,0 +1,13 @@
+// PR tree-optimization/42625
+// { dg-do run }
+// { dg-options "-O1 -fipa-sra" }
+// { dg-additional-sources "dtor4-aux.cc" }
+
+#include "dtor4.h"
+
+int
+main ()
+{
+ S s;
+ return 0;
+}
diff --git a/gcc/testsuite/g++.dg/opt/dtor4.h b/gcc/testsuite/g++.dg/opt/dtor4.h
new file mode 100644
index 00000000000..d3b43beabd7
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/dtor4.h
@@ -0,0 +1,8 @@
+#include <cassert>
+
+struct S
+{
+ int a, i;
+ S () : i(1) {}
+ __attribute__((noinline)) ~S () { assert (i == 1); }
+};
diff --git a/gcc/testsuite/g++.dg/opt/pr42508.C b/gcc/testsuite/g++.dg/opt/pr42508.C
new file mode 100644
index 00000000000..68dd4c69397
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/pr42508.C
@@ -0,0 +1,33 @@
+// PR tree-optimization/42508
+// { dg-do run }
+// { dg-options "-O1 -fipa-sra" }
+
+extern "C" void abort ();
+
+int v[10], vidx;
+
+struct A
+{
+ A *prev;
+ int i;
+ ~A()
+ {
+ v[vidx++] = i;
+ delete prev;
+ }
+};
+
+int
+main ()
+{
+ A *a1 = new A ();
+ A *a2 = new A ();
+ a1->prev = 0;
+ a1->i = 1;
+ a2->prev = a1;
+ a2->i = 2;
+ delete a2;
+ if (vidx != 2 || v[0] != 2 || v[1] != 1)
+ abort ();
+ return 0;
+}
diff --git a/gcc/testsuite/g++.dg/torture/pr42462.C b/gcc/testsuite/g++.dg/torture/pr42462.C
new file mode 100644
index 00000000000..947fa388fec
--- /dev/null
+++ b/gcc/testsuite/g++.dg/torture/pr42462.C
@@ -0,0 +1,47 @@
+/* { dg-do run } */
+
+#define INLINE inline __attribute__((always_inline))
+extern "C" void abort (void);
+
+template<class> struct Foo {
+ inline bool isFalse() { return false; }
+ template <bool> void f1() {}
+ template <bool> INLINE void f2() { f1<false>(); }
+ template <bool> void f3() { f2<false>(); }
+ template <bool> INLINE void f4() { f3<false>(); }
+ int exec2();
+ void execute();
+ inline void unused();
+};
+
+template<class T> inline void Foo<T>::unused() {
+ f4<true>();
+}
+
+static int counter = 0;
+
+template<class T> int Foo<T>::exec2() {
+ static void* table[2] = { &&begin, &&end };
+ if (counter++ > 10)
+ return 0;
+ goto *(table[0]);
+begin:
+ if (isFalse()) f1<false>();
+end:
+ return 1;
+}
+
+template<class T> void Foo<T>::execute() {
+ int r = 1;
+ while (r) { r = exec2(); }
+}
+
+template class Foo<int>;
+
+int main() {
+ Foo<int> c;
+ c.execute();
+ if (counter < 10)
+ abort ();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr42398.c b/gcc/testsuite/gcc.c-torture/compile/pr42398.c
new file mode 100644
index 00000000000..a33bebf7929
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr42398.c
@@ -0,0 +1,6 @@
+int ptrace_setregs(void)
+{
+ union { unsigned int l; int t; } __gu_tmp;
+ __asm__ __volatile__("" : "=r" (__gu_tmp.l));
+ return __gu_tmp.t;
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr42632.c b/gcc/testsuite/gcc.c-torture/compile/pr42632.c
new file mode 100644
index 00000000000..a6778537ae2
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr42632.c
@@ -0,0 +1,16 @@
+static inline __attribute__((always_inline)) int
+__pskb_trim(void)
+{
+ return ___pskb_trim();
+}
+static inline __attribute__((always_inline))
+int pskb_trim(void)
+{
+ return __pskb_trim();
+}
+int ___pskb_trim(void)
+{
+ pskb_trim();
+ return 0;
+}
+
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr42614.c b/gcc/testsuite/gcc.c-torture/execute/pr42614.c
new file mode 100644
index 00000000000..d3680539bdc
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr42614.c
@@ -0,0 +1,68 @@
+extern void *malloc(__SIZE_TYPE__);
+extern void abort(void);
+extern void free(void *);
+
+typedef struct SEntry
+{
+ unsigned char num;
+} TEntry;
+
+typedef struct STable
+{
+ TEntry data[2];
+} TTable;
+
+TTable *init ()
+{
+ return malloc(sizeof(TTable));
+}
+
+void
+expect_func (int a, unsigned char *b) __attribute__ ((noinline));
+
+static inline void
+inlined_wrong (TEntry *entry_p, int flag);
+
+void
+inlined_wrong (TEntry *entry_p, int flag)
+{
+ unsigned char index;
+ entry_p->num = 0;
+
+ if (flag == 0)
+ abort();
+
+ for (index = 0; index < 1; index++)
+ entry_p->num++;
+
+ if (!entry_p->num)
+ {
+ abort();
+ }
+}
+
+void
+expect_func (int a, unsigned char *b)
+{
+ if (abs ((a == 0)))
+ abort ();
+ if (abs ((b == 0)))
+ abort ();
+}
+
+int
+main ()
+{
+ unsigned char index = 0;
+ TTable *table_p = init();
+ TEntry work;
+
+ inlined_wrong (&(table_p->data[1]), 1);
+ expect_func (1, &index);
+ inlined_wrong (&work, 1);
+
+ free (table_p);
+
+ return 0;
+}
+
diff --git a/gcc/testsuite/gcc.dg/20041231-1.c b/gcc/testsuite/gcc.dg/20041231-1.c
deleted file mode 100644
index 37c9fe04a1f..00000000000
--- a/gcc/testsuite/gcc.dg/20041231-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* PR17544 Incorrect -Wunreachable-code warning
- Origin: Giovanni Bajo
-
- In C99 we append a "return 0;" when finishing a function, but it was
- not given a source location. The gimplifier thinks a return statement
- needs a locus so it would add one, making the compiler generated code
- visible to the unreachable code warning. */
-
-/* { dg-do compile } */
-/* { dg-options "-std=c99 -O -Wunreachable-code" } */
-
-int main (void) // 1
-{ // 2
- return 0; // 3
-} // 4
diff --git a/gcc/testsuite/gcc.dg/Wunreachable-1.c b/gcc/testsuite/gcc.dg/Wunreachable-1.c
deleted file mode 100644
index d6d59b481aa..00000000000
--- a/gcc/testsuite/gcc.dg/Wunreachable-1.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -Wunreachable-code" } */
-
-extern void foo (void);
-extern void baz (void);
-
-void bar (int i)
-{
- if (i < 2)
- {
- baz ();
- return;
- }
- else
- {
- if (i >= 4 && i <= 5)
- foo ();
- return;
- }
-
- baz (); /* { dg-warning "will never be executed" "" } */
- baz ();
- baz ();
-}
diff --git a/gcc/testsuite/gcc.dg/Wunreachable-2.c b/gcc/testsuite/gcc.dg/Wunreachable-2.c
deleted file mode 100644
index 55a8f9cca01..00000000000
--- a/gcc/testsuite/gcc.dg/Wunreachable-2.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -Wunreachable-code" } */
-
-extern int foo (const char *);
-extern void baz (void);
-const char *a[] = { "one", "two" };
-
-void bar (void)
-{
- int i;
-
- for (i = 0; i < 2; i++) /* { dg-bogus "will never be executed" "" { xfail *-*-* } } */
- if (! foo (a[i])) /* { dg-bogus "will never be executed" "" { xfail *-*-* } } */
- return;
-
- baz (); /* { dg-bogus "will never be executed" } */
- baz ();
- baz ();
-}
diff --git a/gcc/testsuite/gcc.dg/Wunreachable-3.c b/gcc/testsuite/gcc.dg/Wunreachable-3.c
deleted file mode 100644
index 966d89e3abc..00000000000
--- a/gcc/testsuite/gcc.dg/Wunreachable-3.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* PR c/10175 */
-/* { dg-do compile } */
-/* { dg-options "-Wunreachable-code" } */
-
-int i,j;
-int main(void)
-{
- if (0) {
- i = 0; /* { dg-warning "will never be executed" "" } */
- j = 0;
- } else {
- i = 1;
- j = 1;
- }
-
- return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/Wunreachable-4.c b/gcc/testsuite/gcc.dg/Wunreachable-4.c
deleted file mode 100644
index 38ae6f808c9..00000000000
--- a/gcc/testsuite/gcc.dg/Wunreachable-4.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* PR middle-end/10336 */
-/* { dg-options "-Wunreachable-code" } */
-
-void foo(int i)
-{
- switch(i) {
- case 0:
- break;
- case 1:
- break;
- }
-}
diff --git a/gcc/testsuite/gcc.dg/Wunreachable-5.c b/gcc/testsuite/gcc.dg/Wunreachable-5.c
deleted file mode 100644
index 11dc3204da1..00000000000
--- a/gcc/testsuite/gcc.dg/Wunreachable-5.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* PR c/10175 */
-
-/* { dg-do compile } */
-/* { dg-options "-Wunreachable-code" } */
-
-int value;
-
-int main(void)
-{
- if (0)
- value = 0; /* { dg-warning "will never be executed" "" } */
- else
- value = 1;
-
- return 0;
-}
-
diff --git a/gcc/testsuite/gcc.dg/Wunreachable-6.c b/gcc/testsuite/gcc.dg/Wunreachable-6.c
deleted file mode 100644
index 6aac7aab205..00000000000
--- a/gcc/testsuite/gcc.dg/Wunreachable-6.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* PR c/11370 */
-/* { dg-do compile } */
-/* { dg-options "-Wunreachable-code" } */
-
-extern int printf (const char *, ...);
-extern void exit (int);
-
-int main(int argc, char *argv[])
-{
- if (argc != 1)
- exit(1);
-
- {
- int ix; /* { dg-bogus "will never be executed" } */
- ix = printf("hello\n");
- printf("%d\n", ix);
- }
-
- return 0;
-}
-
diff --git a/gcc/testsuite/gcc.dg/Wunreachable-7.c b/gcc/testsuite/gcc.dg/Wunreachable-7.c
deleted file mode 100644
index 9a4d411be22..00000000000
--- a/gcc/testsuite/gcc.dg/Wunreachable-7.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* PR c/11370 */
-/* { dg-do compile } */
-/* { dg-options "-O2 -Wunreachable-code" } */
-
-extern int printf (const char *, ...);
-extern void exit (int);
-
-int main(int argc, char *argv[])
-{
- if (argc != 1)
- exit(1);
-
- {
- int ix; /* { dg-bogus "will never be executed" } */
- ix = printf("hello\n");
- printf("%d\n", ix);
- }
-
- return 0;
-}
-
diff --git a/gcc/testsuite/gcc.dg/Wunreachable-8.c b/gcc/testsuite/gcc.dg/Wunreachable-8.c
deleted file mode 100644
index 1a13d64243e..00000000000
--- a/gcc/testsuite/gcc.dg/Wunreachable-8.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -Wunreachable-code" } */
-float Factorial(float X)
-{
- float val = 1.0;
- int k,j;
- for (k=1; k < 5; k++) /* { dg-bogus "will never be executed" "" { xfail *-*-* } } */
- {
- val += 1.0; /* { dg-bogus "will never be executed" "" { xfail *-*-* } } */
- }
- return (val); /* { dg-bogus "will never be executed" } */
-}
-
-int main (void)
-{
- float result;
- result=Factorial(2.1);
- return (0);
-}
-
diff --git a/gcc/testsuite/gcc.dg/graphite/block-2.c b/gcc/testsuite/gcc.dg/graphite/block-2.c
deleted file mode 100644
index 210ea342776..00000000000
--- a/gcc/testsuite/gcc.dg/graphite/block-2.c
+++ /dev/null
@@ -1,29 +0,0 @@
-typedef unsigned char UChar;
-typedef int Int32;
-typedef unsigned int UInt32;
-
-void fallbackSort ( UInt32* fmap,
- UInt32* eclass,
- Int32 nblock,
- Int32 verb )
-{
- Int32 ftab[257];
- Int32 ftabCopy[256];
- Int32 H, i, j, k, l, r, cc, cc1;
- Int32 nNotDone;
- Int32 nBhtab;
- UChar* eclass8 = (UChar*)eclass;
-
- if (verb >= 4)
- VPrintf0 ( " bucket sorting ...\n" );
- for (i = 0; i < 257; i++) ftab[i] = 0;
- for (i = 0; i < nblock; i++) ftab[eclass8[i]]++;
- for (i = 0; i < 256; i++) ftabCopy[i] = ftab[i];
- for (i = 1; i < 257; i++) ftab[i] += ftab[i-1];
-
- for (i = 0; i < nblock; i++) {
- j = eclass8[i] + ftab [i];
- }
- AssertH ( j < 256, 1005 );
-}
-/* { dg-final { cleanup-tree-dump "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/block-3.c b/gcc/testsuite/gcc.dg/graphite/block-3.c
index 06eecfb0ae9..75356161334 100644
--- a/gcc/testsuite/gcc.dg/graphite/block-3.c
+++ b/gcc/testsuite/gcc.dg/graphite/block-3.c
@@ -9,17 +9,18 @@ void test (void)
{
int i, j, k;
- /* These loops contain too few iterations for being strip-mined by 64. */
+ /* These loops contain too few iterations to be blocked by 64. */
for (i = 0; i < 24; i++)
for (j = 0; j < 24; j++)
for (k = 0; k < 24; k++)
A[i][j][k] = B[i][k] * C[k][j];
- /* These loops should still be strip mined. */
+ /* These loops should still be loop blocked. */
for (i = 0; i < M; i++)
for (j = 0; j < M; j++)
for (k = 0; k < M; k++)
A[i][j][k] = B[i][k] * C[k][j];
}
+/* { dg-final { scan-tree-dump-times "will be loop blocked" 1 "graphite" } } */
/* { dg-final { cleanup-tree-dump "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/block-4.c b/gcc/testsuite/gcc.dg/graphite/block-4.c
index 26b088ec7b4..d752a4d95e6 100644
--- a/gcc/testsuite/gcc.dg/graphite/block-4.c
+++ b/gcc/testsuite/gcc.dg/graphite/block-4.c
@@ -20,4 +20,5 @@ void test (void)
A[i][j] = B[i][k] * C[k][j];
}
+/* { dg-final { scan-tree-dump-times "will be loop blocked" 1 "graphite" } } */
/* { dg-final { cleanup-tree-dump "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/block-5.c b/gcc/testsuite/gcc.dg/graphite/block-5.c
index 5b2263051b9..a8f3817e67e 100644
--- a/gcc/testsuite/gcc.dg/graphite/block-5.c
+++ b/gcc/testsuite/gcc.dg/graphite/block-5.c
@@ -8,19 +8,19 @@ int test ()
int b[N][N];
unsigned i, j;
- for (i = 0; i < N; i++)
+ for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
a[i][j] = i*j;
- for (j = 1; j < N; j++)
+ /* This loop nest should be blocked. */
+ for (j = 1; j < N; j++)
for (i = 0; i < N; i++)
a[i][j] = a[i][j-1] + b[i][j];
- for (i = 0; i < N; i++)
- for (j = 0; j < N; j++)
- foo (a[i][j]);
+ for (i = 0; i < N; i++)
+ for (j = 0; j < N; j++)
+ foo (a[i][j]);
}
-/* Interchange is legal for loops 0 and 1 of the first two SCoPs */
-/* { dg-final { scan-tree-dump-times "Interchange valid for loops 0 and 1:" 2 "graphite" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "will be loop blocked" 1 "graphite" } } */
/* { dg-final { cleanup-tree-dump "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/block-6.c b/gcc/testsuite/gcc.dg/graphite/block-6.c
index 1c92e395026..6905e3635f7 100644
--- a/gcc/testsuite/gcc.dg/graphite/block-6.c
+++ b/gcc/testsuite/gcc.dg/graphite/block-6.c
@@ -7,19 +7,19 @@ int test ()
int a[N][N];
unsigned i, j;
- for (i = 0; i < N; i++)
+ for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
- a[i][j] = i*j;
+ a[i][j] = i*j;
- for (i = 1; i < N; i++)
+ /* Interchange is not legal for loops 0 and 1. */
+ for (i = 1; i < N; i++)
for (j = 1; j < (N-1) ; j++)
- a[i][j] = a[i-1][j+1] * a[i-1][j+1]/2;
+ a[i][j] = a[i-1][j+1] * a[i-1][j+1]/2;
- for (i = 0; i < N; i++)
+ for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
- foo (a[i][j]);
+ foo (a[i][j]);
}
-/* Interchange is not legal for loops 0 and 1 of SCoP 2. */
-/* { dg-final { scan-tree-dump-times "Interchange not valid for loops 0 and 1:" 1 "graphite" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "will be loop blocked" 0 "graphite" } } */
/* { dg-final { cleanup-tree-dump "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/lto/20100104_0.c b/gcc/testsuite/gcc.dg/lto/20100104_0.c
new file mode 100644
index 00000000000..c17e7682f73
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/20100104_0.c
@@ -0,0 +1,8 @@
+/* { dg-lto-do assemble } */
+/* The problem with this testcase is that we were missing an undefined
+ reference to c_common_attribute_table. This can be tested with
+ GNUTARGET=plugin nm --plugin liblto_plugin.so 20100104_0.o
+ but we don't have support in the testsuite for doing it. */
+
+extern int c_common_attribute_table[];
+void *foobar = c_common_attribute_table;
diff --git a/gcc/testsuite/gcc.dg/pr12603.c b/gcc/testsuite/gcc.dg/pr12603.c
index d0a4835cb1e..f7caef28416 100644
--- a/gcc/testsuite/gcc.dg/pr12603.c
+++ b/gcc/testsuite/gcc.dg/pr12603.c
@@ -1,6 +1,6 @@
/* PR 12603: No return statement warning on function that never returns with -O3. */
/* { dg-do compile } */
-/* { dg-options "-O3 -Wall -Wextra -Wreturn-type -Wunreachable-code" } */
+/* { dg-options "-O3 -Wall -Wextra -Wreturn-type" } */
int
this_function_never_returns ()
{
diff --git a/gcc/testsuite/gcc.dg/pr42396.c b/gcc/testsuite/gcc.dg/pr42396.c
new file mode 100644
index 00000000000..b3b7e4e2c00
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr42396.c
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -g -ftracer -fsched2-use-superblocks" } */
+
+static int i;
+extern void baz(int);
+void foo() { i = 3; }
+void bar() { baz(i ? 2 : 1); }
diff --git a/gcc/testsuite/gcc.dg/pr42611.c b/gcc/testsuite/gcc.dg/pr42611.c
new file mode 100644
index 00000000000..c33e248caf5
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr42611.c
@@ -0,0 +1,19 @@
+/* PR other/42611 */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+#define L \
+ (sizeof (__SIZE_TYPE__) == 1 ? __SCHAR_MAX__ \
+ : sizeof (__SIZE_TYPE__) == sizeof (short) ? __SHRT_MAX__ \
+ : sizeof (__SIZE_TYPE__) == sizeof (int) ? __INT_MAX__ \
+ : sizeof (__SIZE_TYPE__) == sizeof (long) ? __LONG_MAX__ \
+ : sizeof (__SIZE_TYPE__) == sizeof (long long) ? __LONG_LONG_MAX__ \
+ : __INTMAX_MAX__)
+struct S { int a; char b[L]; };
+
+void
+foo (void)
+{
+ struct S s; /* { dg-error "is too large" } */
+ asm volatile ("" : : "r" (&s));
+}
diff --git a/gcc/testsuite/gcc.dg/tls/opt-15.c b/gcc/testsuite/gcc.dg/tls/opt-15.c
new file mode 100644
index 00000000000..bebee8a499f
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tls/opt-15.c
@@ -0,0 +1,24 @@
+/* PR target/42564 */
+/* This used to ICE on the SPARC because of an unrecognized TLS pattern. */
+
+/* { dg-do compile } */
+/* { dg-options "-O -fPIC" } */
+/* { dg-require-effective-target tls_native } */
+/* { dg-require-effective-target fpic } */
+
+extern void *memset(void *s, int c, __SIZE_TYPE__ n);
+
+struct S1 { int i; };
+
+struct S2
+{
+ int ver;
+ struct S1 s;
+};
+
+static __thread struct S2 m;
+
+void init(void)
+{
+ memset(&m.s, 0, sizeof(m.s));
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr42542-1.c b/gcc/testsuite/gcc.target/i386/pr42542-1.c
new file mode 100644
index 00000000000..60da8ee1501
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr42542-1.c
@@ -0,0 +1,77 @@
+/* { dg-do run } */
+/* { dg-options "-O1 -msse2 -ftree-vectorize" } */
+
+#ifndef CHECK_H
+#define CHECK_H "sse2-check.h"
+#endif
+
+#ifndef TEST
+#define TEST sse2_test
+#endif
+
+#include CHECK_H
+
+unsigned int v1[] __attribute__ ((aligned(16))) =
+{
+ 0x80000000, 1, 0xa0000000, 2,
+ 3, 0xd0000000, 0xf0000000, 0xe0000000
+};
+unsigned int v2[] __attribute__ ((aligned(16))) =
+{
+ 4, 0xb0000000, 5, 0xc0000000,
+ 0xd0000000, 6, 7, 8
+};
+
+unsigned int max[] =
+{
+ 0x80000000, 0xb0000000, 0xa0000000, 0xc0000000,
+ 0xd0000000, 0xd0000000, 0xf0000000, 0xe0000000
+};
+
+unsigned int min[] =
+{
+ 4, 1, 5, 2,
+ 3, 6, 7, 8
+};
+
+unsigned int res[8] __attribute__ ((aligned(16)));
+
+extern void abort (void);
+
+void
+find_max (void)
+{
+ int i;
+
+ for (i = 0; i < 8; i++)
+ res[i] = v1[i] < v2[i] ? v2[i] : v1[i];
+}
+
+void
+find_min (void)
+{
+ int i;
+
+ for (i = 0; i < 8; i++)
+ res[i] = v1[i] > v2[i] ? v2[i] : v1[i];
+}
+
+static void
+TEST (void)
+{
+ int i;
+ int err = 0;
+
+ find_max ();
+ for (i = 0; i < 8; i++)
+ if (res[i] != max[i])
+ err++;
+
+ find_min ();
+ for (i = 0; i < 8; i++)
+ if (res[i] != min[i])
+ err++;
+
+ if (err)
+ abort ();
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr42542-1a.c b/gcc/testsuite/gcc.target/i386/pr42542-1a.c
new file mode 100644
index 00000000000..cd77175f6e5
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr42542-1a.c
@@ -0,0 +1,8 @@
+/* { dg-do run } */
+/* { dg-require-effective-target sse4 } */
+/* { dg-options "-O1 -msse4.1 -ftree-vectorize" } */
+
+#define CHECK_H "sse4_1-check.h"
+#define TEST sse4_1_test
+
+#include "pr42542-1.c"
diff --git a/gcc/testsuite/gcc.target/i386/pr42542-1b.c b/gcc/testsuite/gcc.target/i386/pr42542-1b.c
new file mode 100644
index 00000000000..7651f07a649
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr42542-1b.c
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+/* { dg-options "-O1 -msse4.1 -ftree-vectorize" } */
+
+#define CHECK_H "sse4_1-check.h"
+#define TEST sse4_1_test
+
+#include "pr42542-1.c"
+
+/* { dg-final { scan-assembler "pmaxud" } } */
+/* { dg-final { scan-assembler "pminud" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr42542-2.c b/gcc/testsuite/gcc.target/i386/pr42542-2.c
new file mode 100644
index 00000000000..fc59534d906
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr42542-2.c
@@ -0,0 +1,77 @@
+/* { dg-do run } */
+/* { dg-options "-O1 -msse2 -ftree-vectorize" } */
+
+#ifndef CHECK_H
+#define CHECK_H "sse2-check.h"
+#endif
+
+#ifndef TEST
+#define TEST sse2_test
+#endif
+
+#include CHECK_H
+
+unsigned short v1[] __attribute__ ((aligned(16))) =
+{
+ 0x8000, 0x9000, 1, 10, 0xa000, 0xb000, 2, 20,
+ 3, 30, 0xd000, 0xe000, 0xf000, 0xe000, 25, 30
+};
+unsigned short v2[] __attribute__ ((aligned(16))) =
+{
+ 4, 40, 0xb000, 0x8000, 5, 50, 0xc000, 0xf000,
+ 0xd000, 0xa000, 6, 65, 7, 75, 0xe000, 0xc000
+};
+
+unsigned short max[] =
+{
+ 0x8000, 0x9000, 0xb000, 0x8000, 0xa000, 0xb000, 0xc000, 0xf000,
+ 0xd000, 0xa000, 0xd000, 0xe000, 0xf000, 0xe000, 0xe000, 0xc000
+};
+
+unsigned short min[] =
+{
+ 4, 40, 1, 10, 5, 50, 2, 20,
+ 3, 30, 6, 65, 7, 75, 25, 30
+};
+
+unsigned short res[16] __attribute__ ((aligned(16)));
+
+extern void abort (void);
+
+void
+find_max (void)
+{
+ int i;
+
+ for (i = 0; i < 16; i++)
+ res[i] = v1[i] < v2[i] ? v2[i] : v1[i];
+}
+
+void
+find_min (void)
+{
+ int i;
+
+ for (i = 0; i < 16; i++)
+ res[i] = v1[i] > v2[i] ? v2[i] : v1[i];
+}
+
+static void
+TEST (void)
+{
+ int i;
+ int err = 0;
+
+ find_max ();
+ for (i = 0; i < 16; i++)
+ if (res[i] != max[i])
+ err++;
+
+ find_min ();
+ for (i = 0; i < 16; i++)
+ if (res[i] != min[i])
+ err++;
+
+ if (err)
+ abort ();
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr42542-2a.c b/gcc/testsuite/gcc.target/i386/pr42542-2a.c
new file mode 100644
index 00000000000..bcefa9cfe8d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr42542-2a.c
@@ -0,0 +1,8 @@
+/* { dg-do run } */
+/* { dg-require-effective-target sse4 } */
+/* { dg-options "-O1 -msse4.1 -ftree-vectorize" } */
+
+#define CHECK_H "sse4_1-check.h"
+#define TEST sse4_1_test
+
+#include "pr42542-2.c"
diff --git a/gcc/testsuite/gcc.target/i386/pr42542-2b.c b/gcc/testsuite/gcc.target/i386/pr42542-2b.c
new file mode 100644
index 00000000000..ddb539bf7a6
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr42542-2b.c
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+/* { dg-options "-O1 -msse4.1 -ftree-vectorize" } */
+
+#define CHECK_H "sse4_1-check.h"
+#define TEST sse4_1_test
+
+#include "pr42542-2.c"
+
+/* { dg-final { scan-assembler "pmaxuw" } } */
+/* { dg-final { scan-assembler "pminuw" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr42542-3.c b/gcc/testsuite/gcc.target/i386/pr42542-3.c
new file mode 100644
index 00000000000..028d2f89964
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr42542-3.c
@@ -0,0 +1,85 @@
+/* { dg-do run } */
+/* { dg-options "-O1 -msse2 -ftree-vectorize" } */
+
+#ifndef CHECK_H
+#define CHECK_H "sse2-check.h"
+#endif
+
+#ifndef TEST
+#define TEST sse2_test
+#endif
+
+#include CHECK_H
+
+unsigned char v1[] __attribute__ ((aligned(16))) =
+{
+ 0x80, 0xd0, 0x90, 0xa0, 1, 15, 10, 15,
+ 0xa0, 0xc0, 0xb0, 0xf0, 2, 25, 20, 35,
+ 3, 34, 30, 36, 0xd0, 0x80, 0xe0, 0xb0,
+ 0xf0, 0xe0, 0xe0, 0x80, 25, 34, 30, 40
+};
+unsigned char v2[] __attribute__ ((aligned(16))) =
+{
+ 4, 44, 40, 48, 0xb0, 0x80, 0x80, 0x90,
+ 5, 55, 50, 51, 0xc0, 0xb0, 0xf0, 0xd0,
+ 0xd0, 0x80, 0xa0, 0xf0, 6, 61, 65, 68,
+ 7, 76, 75, 81, 0xe0, 0xf0, 0xc0, 0x90
+};
+
+unsigned char max[] =
+{
+ 0x80, 0xd0, 0x90, 0xa0, 0xb0, 0x80, 0x80, 0x90,
+ 0xa0, 0xc0, 0xb0, 0xf0, 0xc0, 0xb0, 0xf0, 0xd0,
+ 0xd0, 0x80, 0xa0, 0xf0, 0xd0, 0x80, 0xe0, 0xb0,
+ 0xf0, 0xe0, 0xe0, 0x80, 0xe0, 0xf0, 0xc0, 0x90
+};
+
+unsigned char min[] =
+{
+ 4, 44, 40, 48, 1, 15, 10, 15,
+ 5, 55, 50, 51, 2, 25, 20, 35,
+ 3, 34, 30, 36, 6, 61, 65, 68,
+ 7, 76, 75, 81, 25, 34, 30, 40
+};
+
+unsigned char res[32] __attribute__ ((aligned(16)));
+
+extern void abort (void);
+
+void
+find_max (void)
+{
+ int i;
+
+ for (i = 0; i < 32; i++)
+ res[i] = v1[i] < v2[i] ? v2[i] : v1[i];
+}
+
+void
+find_min (void)
+{
+ int i;
+
+ for (i = 0; i < 32; i++)
+ res[i] = v1[i] > v2[i] ? v2[i] : v1[i];
+}
+
+static void
+TEST (void)
+{
+ int i;
+ int err = 0;
+
+ find_max ();
+ for (i = 0; i < 32; i++)
+ if (res[i] != max[i])
+ err++;
+
+ find_min ();
+ for (i = 0; i < 32; i++)
+ if (res[i] != min[i])
+ err++;
+
+ if (err)
+ abort ();
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr42542-3a.c b/gcc/testsuite/gcc.target/i386/pr42542-3a.c
new file mode 100644
index 00000000000..754e59e8487
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr42542-3a.c
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+/* { dg-options "-O1 -msse2 -ftree-vectorize" } */
+
+#include "pr42542-3.c"
+
+/* { dg-final { scan-assembler "pmaxub" } } */
+/* { dg-final { scan-assembler "pminub" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr42542-4.c b/gcc/testsuite/gcc.target/i386/pr42542-4.c
new file mode 100644
index 00000000000..afb298989c9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr42542-4.c
@@ -0,0 +1,70 @@
+/* { dg-do run } */
+/* { dg-require-effective-target sse4 } */
+/* { dg-options "-O1 -msse4.2 -ftree-vectorize" } */
+
+#include "sse4_2-check.h"
+
+unsigned long long v1[] __attribute__ ((aligned(16))) =
+{
+ 0x8000000000000000ULL, 2,
+ 3, 0xd000000000000000ULL
+};
+unsigned long long v2[] __attribute__ ((aligned(16))) =
+{
+ 4, 0xb000000000000000ULL,
+ 0xf000000000000000ULL, 6
+};
+
+unsigned long long max[] =
+{
+ 0x8000000000000000ULL, 0xb000000000000000ULL,
+ 0xf000000000000000ULL, 0xd000000000000000ULL
+};
+
+unsigned long long min[] =
+{
+ 4, 2,
+ 3, 6
+};
+
+unsigned long long res[4] __attribute__ ((aligned(16)));
+
+extern void abort (void);
+
+void
+find_max (void)
+{
+ int i;
+
+ for (i = 0; i < 4; i++)
+ res[i] = v1[i] < v2[i] ? v2[i] : v1[i];
+}
+
+void
+find_min (void)
+{
+ int i;
+
+ for (i = 0; i < 4; i++)
+ res[i] = v1[i] > v2[i] ? v2[i] : v1[i];
+}
+
+static void
+sse4_2_test (void)
+{
+ int i;
+ int err = 0;
+
+ find_max ();
+ for (i = 0; i < 4; i++)
+ if (res[i] != max[i])
+ err++;
+
+ find_min ();
+ for (i = 0; i < 4; i++)
+ if (res[i] != min[i])
+ err++;
+
+ if (err)
+ abort ();
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr42542-4a.c b/gcc/testsuite/gcc.target/i386/pr42542-4a.c
new file mode 100644
index 00000000000..bea6c1f5043
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr42542-4a.c
@@ -0,0 +1,6 @@
+/* { dg-do compile } */
+/* { dg-options "-O1 -msse4.2 -ftree-vectorize" } */
+
+#include "pr42542-4.c"
+
+/* { dg-final { scan-assembler "pcmpgtq" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr42542-5.c b/gcc/testsuite/gcc.target/i386/pr42542-5.c
new file mode 100644
index 00000000000..7d77a18ae37
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr42542-5.c
@@ -0,0 +1,66 @@
+/* { dg-do run } */
+/* { dg-require-effective-target sse4 } */
+/* { dg-options "-O1 -msse4.2 -ftree-vectorize" } */
+
+#include "sse4_2-check.h"
+
+long long v1[] __attribute__ ((aligned(16))) =
+{
+ -3, 2, 3, -4
+};
+long long v2[] __attribute__ ((aligned(16))) =
+{
+ 4, -10, -20, 6
+};
+
+long long max[] =
+{
+ 4, 2, 3, 6
+};
+
+long long min[] =
+{
+ -3, -10, -20, -4
+};
+
+long long res[4] __attribute__ ((aligned(16)));
+
+extern void abort (void);
+
+void
+find_max (void)
+{
+ int i;
+
+ for (i = 0; i < 4; i++)
+ res[i] = v1[i] < v2[i] ? v2[i] : v1[i];
+}
+
+void
+find_min (void)
+{
+ int i;
+
+ for (i = 0; i < 4; i++)
+ res[i] = v1[i] > v2[i] ? v2[i] : v1[i];
+}
+
+static void
+sse4_2_test (void)
+{
+ int i;
+ int err = 0;
+
+ find_max ();
+ for (i = 0; i < 4; i++)
+ if (res[i] != max[i])
+ err++;
+
+ find_min ();
+ for (i = 0; i < 4; i++)
+ if (res[i] != min[i])
+ err++;
+
+ if (err)
+ abort ();
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr42542-5a.c b/gcc/testsuite/gcc.target/i386/pr42542-5a.c
new file mode 100644
index 00000000000..bba0a118ed5
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr42542-5a.c
@@ -0,0 +1,6 @@
+/* { dg-do compile } */
+/* { dg-options "-O1 -msse4.2 -ftree-vectorize" } */
+
+#include "pr42542-5.c"
+
+/* { dg-final { scan-assembler "pcmpgtq" } } */
diff --git a/gcc/testsuite/gfortran.dg/allocatable_scalar_5.f90 b/gcc/testsuite/gfortran.dg/allocatable_scalar_5.f90
new file mode 100644
index 00000000000..cee95a17ab3
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/allocatable_scalar_5.f90
@@ -0,0 +1,62 @@
+! { dg-do run }
+! { dg-options "-Wall -pedantic" }
+!
+! PR fortran/41872
+!
+! More tests for allocatable scalars
+!
+program test
+ implicit none
+ integer, allocatable :: a
+ integer :: b
+
+ if (allocated (a)) call abort ()
+ if (allocated (func (.false.))) call abort ()
+ if (.not.allocated (func (.true.))) call abort ()
+ b = 7
+ b = func(.true.)
+ if (b /= 5332) call abort ()
+ b = 7
+ b = func(.true.) + 1
+ if (b /= 5333) call abort ()
+
+ call intout (a, .false.)
+ if (allocated (a)) call abort ()
+ call intout (a, .true.)
+ if (.not.allocated (a)) call abort ()
+ if (a /= 764) call abort ()
+ call intout2 (a)
+ if (allocated (a)) call abort ()
+
+ if (allocated (func2 ())) call abort ()
+contains
+
+ function func (alloc)
+ integer, allocatable :: func
+ logical :: alloc
+ if (allocated (func)) call abort ()
+ if (alloc) then
+ allocate(func)
+ func = 5332
+ end if
+ end function func
+
+ function func2 ()
+ integer, allocatable :: func2
+ end function func2
+
+ subroutine intout (dum, alloc)
+ implicit none
+ integer, allocatable,intent(out) :: dum
+ logical :: alloc
+ if (allocated (dum)) call abort()
+ if (alloc) then
+ allocate (dum)
+ dum = 764
+ end if
+ end subroutine intout
+
+ subroutine intout2 (dum) ! { dg-warning "declared INTENT.OUT. but was not set" }
+ integer, allocatable,intent(out) :: dum
+ end subroutine intout2
+end program test
diff --git a/gcc/testsuite/gfortran.dg/allocatable_scalar_6.f90 b/gcc/testsuite/gfortran.dg/allocatable_scalar_6.f90
new file mode 100644
index 00000000000..33daee4b848
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/allocatable_scalar_6.f90
@@ -0,0 +1,26 @@
+! { dg-do run }
+! { dg-options "-Wall -pedantic" }
+!
+! PR fortran/41872
+!
+! (De)allocate tests
+!
+program test
+ implicit none
+ integer, allocatable :: a, b, c
+ integer :: stat
+ stat=99
+ allocate(a, stat=stat)
+ if (stat /= 0) call abort ()
+ allocate(a, stat=stat)
+ if (stat == 0) call abort ()
+
+ allocate (b)
+ deallocate (b, stat=stat)
+ if (stat /= 0) call abort ()
+ deallocate (b, stat=stat)
+ if (stat == 0) call abort ()
+
+ deallocate (c, stat=stat)
+ if (stat == 0) call abort ()
+end program test
diff --git a/gcc/testsuite/gfortran.dg/allocatable_scalar_7.f90 b/gcc/testsuite/gfortran.dg/allocatable_scalar_7.f90
new file mode 100644
index 00000000000..001dd241b94
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/allocatable_scalar_7.f90
@@ -0,0 +1,26 @@
+! { dg-do run }
+!
+! PR fortran/41872
+!
+! Allocatable scalars with SAVE
+!
+program test
+ implicit none
+ call sub (0)
+ call sub (1)
+ call sub (2)
+contains
+ subroutine sub (no)
+ integer, intent(in) :: no
+ integer, allocatable, save :: a
+ if (no == 0) then
+ if (allocated (a)) call abort ()
+ allocate (a)
+ else if (no == 1) then
+ if (.not. allocated (a)) call abort ()
+ deallocate (a)
+ else
+ if (allocated (a)) call abort ()
+ end if
+ end subroutine sub
+end program test
diff --git a/gcc/testsuite/gfortran.dg/allocatable_scalar_8.f90 b/gcc/testsuite/gfortran.dg/allocatable_scalar_8.f90
new file mode 100644
index 00000000000..f7940ede575
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/allocatable_scalar_8.f90
@@ -0,0 +1,17 @@
+! { dg-do run }
+!
+! PR fortran/41872
+!
+! Character functions returning allocatable scalars
+!
+program test
+ implicit none
+ if (func () /= 'abc') call abort ()
+contains
+ function func() result (str)
+ character(len=3), allocatable :: str
+ if (allocated (str)) call abort ()
+ allocate (str)
+ str = 'abc'
+ end function func
+end program test
diff --git a/gcc/testsuite/gfortran.dg/proc_ptr_26.f90 b/gcc/testsuite/gfortran.dg/proc_ptr_26.f90
new file mode 100644
index 00000000000..044f0a403bd
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/proc_ptr_26.f90
@@ -0,0 +1,31 @@
+! { dg-do run }
+!
+! PR fortran/42597
+!
+! Contributed by mrestelli@gmail.com
+!
+
+module mod_a
+ implicit none
+
+ abstract interface
+ pure function intf(x) result(y)
+ real, intent(in) :: x(:,:)
+ real :: y(size(x,1),size(x,1),size(x,2))
+ end function intf
+ end interface
+
+ procedure(intf), pointer :: p_fun => null()
+end module mod_a
+
+program main
+ use mod_a
+ implicit none
+
+ procedure(intf), pointer :: p_fun2 => null()
+
+ if (associated(p_fun) .or. associated(p_fun2)) &
+ call abort ()
+end program main
+
+! { dg-final { cleanup-modules "mod_a" } }
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 3a086898147..36e518c9882 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -1760,7 +1760,6 @@ static void
remove_bb (basic_block bb)
{
gimple_stmt_iterator i;
- source_location loc = UNKNOWN_LOCATION;
if (dump_file)
{
@@ -1830,24 +1829,9 @@ remove_bb (basic_block bb)
i = gsi_last_bb (bb);
else
gsi_prev (&i);
-
- /* Don't warn for removed gotos. Gotos are often removed due to
- jump threading, thus resulting in bogus warnings. Not great,
- since this way we lose warnings for gotos in the original
- program that are indeed unreachable. */
- if (gimple_code (stmt) != GIMPLE_GOTO
- && gimple_has_location (stmt))
- loc = gimple_location (stmt);
}
}
- /* If requested, give a warning that the first statement in the
- block is unreachable. We walk statements backwards in the
- loop above, so the last statement we process is the first statement
- in the block. */
- if (loc > BUILTINS_LOCATION && LOCATION_LINE (loc) > 0)
- warning_at (loc, OPT_Wunreachable_code, "will never be executed");
-
remove_phi_nodes_and_edges_for_unreachable_block (bb);
bb->il.gimple = NULL;
}
@@ -2953,6 +2937,15 @@ verify_gimple_call (gimple stmt)
{
tree fn = gimple_call_fn (stmt);
tree fntype;
+ unsigned i;
+
+ if (TREE_CODE (fn) != OBJ_TYPE_REF
+ && !is_gimple_val (fn))
+ {
+ error ("invalid function in gimple call");
+ debug_generic_stmt (fn);
+ return true;
+ }
if (!POINTER_TYPE_P (TREE_TYPE (fn))
|| (TREE_CODE (TREE_TYPE (TREE_TYPE (fn))) != FUNCTION_TYPE
@@ -2988,6 +2981,14 @@ verify_gimple_call (gimple stmt)
return true;
}
+ if (gimple_call_chain (stmt)
+ && !is_gimple_val (gimple_call_chain (stmt)))
+ {
+ error ("invalid static chain in gimple call");
+ debug_generic_stmt (gimple_call_chain (stmt));
+ return true;
+ }
+
/* If there is a static chain argument, this should not be an indirect
call, and the decl should have DECL_STATIC_CHAIN set. */
if (gimple_call_chain (stmt))
@@ -3009,9 +3010,19 @@ verify_gimple_call (gimple stmt)
/* ??? The C frontend passes unpromoted arguments in case it
didn't see a function declaration before the call. So for now
- leave the call arguments unverified. Once we gimplify
+ leave the call arguments mostly unverified. Once we gimplify
unit-at-a-time we have a chance to fix this. */
+ for (i = 0; i < gimple_call_num_args (stmt); ++i)
+ {
+ tree arg = gimple_call_arg (stmt, i);
+ if (!is_gimple_operand (arg))
+ {
+ error ("invalid argument to gimple call");
+ debug_generic_expr (arg);
+ }
+ }
+
return false;
}
@@ -3760,6 +3771,20 @@ verify_types_in_gimple_stmt (gimple stmt)
return verify_gimple_call (stmt);
case GIMPLE_COND:
+ if (TREE_CODE_CLASS (gimple_cond_code (stmt)) != tcc_comparison)
+ {
+ error ("invalid comparison code in gimple cond");
+ return true;
+ }
+ if (!(!gimple_cond_true_label (stmt)
+ || TREE_CODE (gimple_cond_true_label (stmt)) == LABEL_DECL)
+ || !(!gimple_cond_false_label (stmt)
+ || TREE_CODE (gimple_cond_false_label (stmt)) == LABEL_DECL))
+ {
+ error ("invalid labels in gimple cond");
+ return true;
+ }
+
return verify_gimple_comparison (boolean_type_node,
gimple_cond_lhs (stmt),
gimple_cond_rhs (stmt));
diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h
index 3446790fa7a..bb9cc7d5b84 100644
--- a/gcc/tree-flow-inline.h
+++ b/gcc/tree-flow-inline.h
@@ -44,15 +44,6 @@ gimple_referenced_vars (const struct function *fun)
return fun->gimple_df->referenced_vars;
}
-/* Artificial variable used to model the effects of nonlocal
- variables. */
-static inline tree
-gimple_nonlocal_all (const struct function *fun)
-{
- gcc_assert (fun && fun->gimple_df);
- return fun->gimple_df->nonlocal_all;
-}
-
/* Artificial variable used for the virtual operand FUD chain. */
static inline tree
gimple_vop (const struct function *fun)
@@ -135,18 +126,6 @@ next_referenced_var (referenced_var_iterator *iter)
return (tree) next_htab_element (&iter->hti);
}
-/* Fill up VEC with the variables in the referenced vars hashtable. */
-
-static inline void
-fill_referenced_var_vec (VEC (tree, heap) **vec)
-{
- referenced_var_iterator rvi;
- tree var;
- *vec = NULL;
- FOR_EACH_REFERENCED_VAR (var, rvi)
- VEC_safe_push (tree, heap, *vec, var);
-}
-
/* Return the variable annotation for T, which must be a _DECL node.
Return NULL if the variable annotation doesn't already exist. */
static inline var_ann_t
@@ -312,8 +291,6 @@ end_readonly_imm_use_p (const imm_use_iterator *imm)
static inline use_operand_p
first_readonly_imm_use (imm_use_iterator *imm, tree var)
{
- gcc_assert (TREE_CODE (var) == SSA_NAME);
-
imm->end_p = &(SSA_NAME_IMM_USE_NODE (var));
imm->imm_use = imm->end_p->next;
#ifdef ENABLE_CHECKING
@@ -573,9 +550,9 @@ phi_arg_index_from_use (use_operand_p use)
#ifdef ENABLE_CHECKING
/* Make sure the calculation doesn't have any leftover bytes. If it does,
then imm_use is likely not the first element in phi_arg_d. */
- gcc_assert (
- (((char *)element - (char *)root) % sizeof (struct phi_arg_d)) == 0);
- gcc_assert (index < gimple_phi_capacity (phi));
+ gcc_assert ((((char *)element - (char *)root)
+ % sizeof (struct phi_arg_d)) == 0
+ && index < gimple_phi_capacity (phi));
#endif
return index;
@@ -1013,7 +990,9 @@ static inline use_operand_p
move_use_after_head (use_operand_p use_p, use_operand_p head,
use_operand_p last_p)
{
+#ifdef ENABLE_CHECKING
gcc_assert (USE_FROM_PTR (use_p) == USE_FROM_PTR (head));
+#endif
/* Skip head when we find it. */
if (use_p != head)
{
@@ -1078,8 +1057,6 @@ link_use_stmts_after (use_operand_p head, imm_use_iterator *imm)
static inline gimple
first_imm_use_stmt (imm_use_iterator *imm, tree var)
{
- gcc_assert (TREE_CODE (var) == SSA_NAME);
-
imm->end_p = &(SSA_NAME_IMM_USE_NODE (var));
imm->imm_use = imm->end_p->next;
imm->next_imm_name = NULL_USE_OPERAND_P;
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h
index cde7792cb4a..e39658a78fb 100644
--- a/gcc/tree-flow.h
+++ b/gcc/tree-flow.h
@@ -53,10 +53,6 @@ struct GTY(()) gimple_df {
/* Artificial variable used for the virtual operand FUD chain. */
tree vop;
- /* Artificial variable used to model the effects of nonlocal
- variables. */
- tree nonlocal_all;
-
/* The PTA solution for the ESCAPED artificial variable. */
struct pt_solution escaped;
@@ -339,7 +335,6 @@ typedef struct
htab_iterator hti;
} referenced_var_iterator;
-
/* This macro loops over all the referenced vars, one at a time, putting the
current var in VAR. Note: You are not allowed to add referenced variables
to the hashtable while using this macro. Doing so may cause it to behave
@@ -350,25 +345,6 @@ typedef struct
!end_referenced_vars_p (&(ITER)); \
(VAR) = next_referenced_var (&(ITER)))
-
-typedef struct
-{
- int i;
-} safe_referenced_var_iterator;
-
-/* This macro loops over all the referenced vars, one at a time, putting the
- current var in VAR. You are allowed to add referenced variables during the
- execution of this macro, however, the macro will not iterate over them. It
- requires a temporary vector of trees, VEC, whose lifetime is controlled by
- the caller. The purpose of the vector is to temporarily store the
- referenced_variables hashtable so that adding referenced variables does not
- affect the hashtable. */
-
-#define FOR_EACH_REFERENCED_VAR_SAFE(VAR, VEC, ITER) \
- for ((ITER).i = 0, fill_referenced_var_vec (&(VEC)); \
- VEC_iterate (tree, (VEC), (ITER).i, (VAR)); \
- (ITER).i++)
-
extern tree referenced_var_lookup (unsigned int);
extern bool referenced_var_check_and_insert (tree);
#define num_referenced_vars htab_elements (gimple_referenced_vars (cfun))
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index 65d270ff2d1..ebb40c4aa1a 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -199,10 +199,6 @@ struct access
BIT_FIELD_REF? */
unsigned grp_partial_lhs : 1;
- /* Does this group contain accesses to different types? (I.e. through a union
- or a similar mechanism). */
- unsigned grp_different_types : 1;
-
/* Set when a scalar replacement should be created for this variable. We do
the decision and creation at different places because create_tmp_var
cannot be called from within FOR_EACH_REFERENCED_VAR. */
@@ -343,14 +339,12 @@ dump_access (FILE *f, struct access *access, bool grp)
fprintf (f, ", grp_write = %d, grp_read = %d, grp_hint = %d, "
"grp_covered = %d, grp_unscalarizable_region = %d, "
"grp_unscalarized_data = %d, grp_partial_lhs = %d, "
- "grp_different_types = %d, grp_to_be_replaced = %d, "
- "grp_maybe_modified = %d, "
+ "grp_to_be_replaced = %d, grp_maybe_modified = %d, "
"grp_not_necessarilly_dereferenced = %d\n",
access->grp_write, access->grp_read, access->grp_hint,
access->grp_covered, access->grp_unscalarizable_region,
access->grp_unscalarized_data, access->grp_partial_lhs,
- access->grp_different_types, access->grp_to_be_replaced,
- access->grp_maybe_modified,
+ access->grp_to_be_replaced, access->grp_maybe_modified,
access->grp_not_necessarilly_dereferenced);
else
fprintf (f, ", write = %d, grp_partial_lhs = %d\n", access->write,
@@ -1116,8 +1110,10 @@ compare_access_positions (const void *a, const void *b)
if (f1->size == f2->size)
{
+ if (f1->type == f2->type)
+ return 0;
/* Put any non-aggregate type before any aggregate type. */
- if (!is_gimple_reg_type (f1->type)
+ else if (!is_gimple_reg_type (f1->type)
&& is_gimple_reg_type (f2->type))
return 1;
else if (is_gimple_reg_type (f1->type)
@@ -1137,7 +1133,7 @@ compare_access_positions (const void *a, const void *b)
/* Put the integral type with the bigger precision first. */
else if (INTEGRAL_TYPE_P (f1->type)
&& INTEGRAL_TYPE_P (f2->type))
- return TYPE_PRECISION (f1->type) > TYPE_PRECISION (f2->type) ? -1 : 1;
+ return TYPE_PRECISION (f2->type) - TYPE_PRECISION (f1->type);
/* Put any integral type with non-full precision last. */
else if (INTEGRAL_TYPE_P (f1->type)
&& (TREE_INT_CST_LOW (TYPE_SIZE (f1->type))
@@ -1434,7 +1430,6 @@ sort_and_splice_var_accesses (tree var)
bool grp_read = !access->write;
bool multiple_reads = false;
bool grp_partial_lhs = access->grp_partial_lhs;
- bool grp_different_types = false;
bool first_scalar = is_gimple_reg_type (access->type);
bool unscalarizable_region = access->grp_unscalarizable_region;
@@ -1466,7 +1461,6 @@ sort_and_splice_var_accesses (tree var)
grp_read = true;
}
grp_partial_lhs |= ac2->grp_partial_lhs;
- grp_different_types |= !types_compatible_p (access->type, ac2->type);
unscalarizable_region |= ac2->grp_unscalarizable_region;
relink_to_new_repr (access, ac2);
@@ -1485,7 +1479,6 @@ sort_and_splice_var_accesses (tree var)
access->grp_read = grp_read;
access->grp_hint = multiple_reads;
access->grp_partial_lhs = grp_partial_lhs;
- access->grp_different_types = grp_different_types;
access->grp_unscalarizable_region = unscalarizable_region;
if (access->first_link)
add_access_to_work_queue (access);
@@ -2141,11 +2134,9 @@ sra_modify_expr (tree *expr, gimple_stmt_iterator *gsi, bool write,
We also want to use this when accessing a complex or vector which can
be accessed as a different type too, potentially creating a need for
- type conversion (see PR42196). */
- if (!is_gimple_reg_type (type)
- || (access->grp_different_types
- && (TREE_CODE (type) == COMPLEX_TYPE
- || TREE_CODE (type) == VECTOR_TYPE)))
+ type conversion (see PR42196) and when scalarized unions are involved
+ in assembler statements (see PR42398). */
+ if (!useless_type_conversion_p (type, access->type))
{
tree ref = access->base;
bool ok;
@@ -2176,10 +2167,7 @@ sra_modify_expr (tree *expr, gimple_stmt_iterator *gsi, bool write,
}
}
else
- {
- gcc_assert (useless_type_conversion_p (type, access->type));
- *expr = repl;
- }
+ *expr = repl;
sra_stats.exprs++;
}
@@ -3814,8 +3802,11 @@ convert_callers (struct cgraph_node *node, ipa_parm_adjustment_vec adjustments)
for (gsi = gsi_start_bb (this_block); !gsi_end_p (gsi); gsi_next (&gsi))
{
gimple stmt = gsi_stmt (gsi);
- if (gimple_code (stmt) == GIMPLE_CALL
- && gimple_call_fndecl (stmt) == node->decl)
+ tree call_fndecl;
+ if (gimple_code (stmt) != GIMPLE_CALL)
+ continue;
+ call_fndecl = gimple_call_fndecl (stmt);
+ if (call_fndecl && cgraph_get_node (call_fndecl) == node)
{
if (dump_file)
fprintf (dump_file, "Adjusting recursive call");
@@ -3833,6 +3824,11 @@ convert_callers (struct cgraph_node *node, ipa_parm_adjustment_vec adjustments)
static void
modify_function (struct cgraph_node *node, ipa_parm_adjustment_vec adjustments)
{
+ struct cgraph_node *alias;
+ for (alias = node->same_body; alias; alias = alias->next)
+ ipa_modify_formal_parameters (alias->decl, adjustments, "ISRA");
+ /* current_function_decl must be handled last, after same_body aliases,
+ as following functions will use what it computed. */
ipa_modify_formal_parameters (current_function_decl, adjustments, "ISRA");
scan_function (sra_ipa_modify_expr, sra_ipa_modify_assign,
replace_removed_params_ssa_names, false, adjustments);
diff --git a/gcc/tree-ssa-coalesce.c b/gcc/tree-ssa-coalesce.c
index 867e15c06e0..b96d0913f07 100644
--- a/gcc/tree-ssa-coalesce.c
+++ b/gcc/tree-ssa-coalesce.c
@@ -256,7 +256,7 @@ delete_coalesce_list (coalesce_list_p cl)
static coalesce_pair_p
find_coalesce_pair (coalesce_list_p cl, int p1, int p2, bool create)
{
- struct coalesce_pair p, *pair;
+ struct coalesce_pair p;
void **slot;
unsigned int hash;
@@ -272,22 +272,23 @@ find_coalesce_pair (coalesce_list_p cl, int p1, int p2, bool create)
p.second_element = p2;
}
-
hash = coalesce_pair_map_hash (&p);
- pair = (struct coalesce_pair *) htab_find_with_hash (cl->list, &p, hash);
+ slot = htab_find_slot_with_hash (cl->list, &p, hash,
+ create ? INSERT : NO_INSERT);
+ if (!slot)
+ return NULL;
- if (create && !pair)
+ if (!*slot)
{
+ struct coalesce_pair * pair = XNEW (struct coalesce_pair);
gcc_assert (cl->sorted == NULL);
- pair = XNEW (struct coalesce_pair);
pair->first_element = p.first_element;
pair->second_element = p.second_element;
pair->cost = 0;
- slot = htab_find_slot_with_hash (cl->list, pair, hash, INSERT);
- *(struct coalesce_pair **)slot = pair;
+ *slot = (void *)pair;
}
- return pair;
+ return (struct coalesce_pair *) *slot;
}
static inline void
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index 48f423bec61..bbe453963b7 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -2229,50 +2229,47 @@ lookup_avail_expr (gimple stmt, bool insert)
void **slot;
tree lhs;
tree temp;
- struct expr_hash_elt *element = XNEW (struct expr_hash_elt);
+ struct expr_hash_elt element;
/* Get LHS of assignment or call, else NULL_TREE. */
lhs = gimple_get_lhs (stmt);
- initialize_hash_element (stmt, lhs, element);
+ initialize_hash_element (stmt, lhs, &element);
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "LKUP ");
- print_expr_hash_elt (dump_file, element);
+ print_expr_hash_elt (dump_file, &element);
}
/* Don't bother remembering constant assignments and copy operations.
Constants and copy operations are handled by the constant/copy propagator
in optimize_stmt. */
- if (element->expr.kind == EXPR_SINGLE
- && (TREE_CODE (element->expr.ops.single.rhs) == SSA_NAME
- || is_gimple_min_invariant (element->expr.ops.single.rhs)))
- {
- free (element);
- return NULL_TREE;
- }
+ if (element.expr.kind == EXPR_SINGLE
+ && (TREE_CODE (element.expr.ops.single.rhs) == SSA_NAME
+ || is_gimple_min_invariant (element.expr.ops.single.rhs)))
+ return NULL_TREE;
/* Finally try to find the expression in the main expression hash table. */
- slot = htab_find_slot_with_hash (avail_exprs, element, element->hash,
+ slot = htab_find_slot_with_hash (avail_exprs, &element, element.hash,
(insert ? INSERT : NO_INSERT));
if (slot == NULL)
- {
- free (element);
- return NULL_TREE;
- }
+ return NULL_TREE;
if (*slot == NULL)
{
- *slot = (void *) element;
+ struct expr_hash_elt *element2 = XNEW (struct expr_hash_elt);
+ *element2 = element;
+ element2->stamp = element2;
+ *slot = (void *) element2;
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "2>>> ");
- print_expr_hash_elt (dump_file, element);
+ print_expr_hash_elt (dump_file, element2);
}
- VEC_safe_push (expr_hash_elt_t, heap, avail_exprs_stack, element);
+ VEC_safe_push (expr_hash_elt_t, heap, avail_exprs_stack, element2);
return NULL_TREE;
}
@@ -2289,8 +2286,6 @@ lookup_avail_expr (gimple stmt, bool insert)
lhs = temp;
}
- free (element);
-
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "FIND: ");
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 7d9b9bf32d0..cafebe67770 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -204,7 +204,7 @@ pre_expr_eq (const void *p1, const void *p2)
return vn_reference_eq (PRE_EXPR_REFERENCE (e1),
PRE_EXPR_REFERENCE (e2));
default:
- abort();
+ gcc_unreachable ();
}
}
@@ -217,13 +217,13 @@ pre_expr_hash (const void *p1)
case CONSTANT:
return vn_hash_constant_with_type (PRE_EXPR_CONSTANT (e));
case NAME:
- return iterative_hash_hashval_t (SSA_NAME_VERSION (PRE_EXPR_NAME (e)), 0);
+ return SSA_NAME_VERSION (PRE_EXPR_NAME (e));
case NARY:
return PRE_EXPR_NARY (e)->hashcode;
case REFERENCE:
return PRE_EXPR_REFERENCE (e)->hashcode;
default:
- abort ();
+ gcc_unreachable ();
}
}
@@ -236,6 +236,7 @@ DEF_VEC_P (pre_expr);
DEF_VEC_ALLOC_P (pre_expr, heap);
static VEC(pre_expr, heap) *expressions;
static htab_t expression_to_id;
+static VEC(unsigned, heap) *name_to_id;
/* Allocate an expression id for EXPR. */
@@ -247,9 +248,23 @@ alloc_expression_id (pre_expr expr)
gcc_assert (next_expression_id + 1 > next_expression_id);
expr->id = next_expression_id++;
VEC_safe_push (pre_expr, heap, expressions, expr);
- slot = htab_find_slot (expression_to_id, expr, INSERT);
- gcc_assert (!*slot);
- *slot = expr;
+ if (expr->kind == NAME)
+ {
+ unsigned version = SSA_NAME_VERSION (PRE_EXPR_NAME (expr));
+ /* VEC_safe_grow_cleared allocates no headroom. Avoid frequent
+ re-allocations by using VEC_reserve upfront. There is no
+ VEC_quick_grow_cleared unfortunately. */
+ VEC_reserve (unsigned, heap, name_to_id, num_ssa_names);
+ VEC_safe_grow_cleared (unsigned, heap, name_to_id, num_ssa_names);
+ gcc_assert (VEC_index (unsigned, name_to_id, version) == 0);
+ VEC_replace (unsigned, name_to_id, version, expr->id);
+ }
+ else
+ {
+ slot = htab_find_slot (expression_to_id, expr, INSERT);
+ gcc_assert (!*slot);
+ *slot = expr;
+ }
return next_expression_id - 1;
}
@@ -266,10 +281,20 @@ lookup_expression_id (const pre_expr expr)
{
void **slot;
- slot = htab_find_slot (expression_to_id, expr, NO_INSERT);
- if (!slot)
- return 0;
- return ((pre_expr)*slot)->id;
+ if (expr->kind == NAME)
+ {
+ unsigned version = SSA_NAME_VERSION (PRE_EXPR_NAME (expr));
+ if (VEC_length (unsigned, name_to_id) <= version)
+ return 0;
+ return VEC_index (unsigned, name_to_id, version);
+ }
+ else
+ {
+ slot = htab_find_slot (expression_to_id, expr, NO_INSERT);
+ if (!slot)
+ return 0;
+ return ((pre_expr)*slot)->id;
+ }
}
/* Return the existing expression id for EXPR, or create one if one
@@ -308,20 +333,21 @@ static alloc_pool pre_expr_pool;
static pre_expr
get_or_alloc_expr_for_name (tree name)
{
- pre_expr result = (pre_expr) pool_alloc (pre_expr_pool);
+ struct pre_expr_d expr;
+ pre_expr result;
unsigned int result_id;
+ expr.kind = NAME;
+ expr.id = 0;
+ PRE_EXPR_NAME (&expr) = name;
+ result_id = lookup_expression_id (&expr);
+ if (result_id != 0)
+ return expression_for_id (result_id);
+
+ result = (pre_expr) pool_alloc (pre_expr_pool);
result->kind = NAME;
- result->id = 0;
PRE_EXPR_NAME (result) = name;
- result_id = lookup_expression_id (result);
- if (result_id != 0)
- {
- pool_free (pre_expr_pool, result);
- result = expression_for_id (result_id);
- return result;
- }
- get_or_alloc_expression_id (result);
+ alloc_expression_id (result);
return result;
}
@@ -436,7 +462,8 @@ static void bitmap_value_replace_in_set (bitmap_set_t, pre_expr);
static void bitmap_set_copy (bitmap_set_t, bitmap_set_t);
static bool bitmap_set_contains_value (bitmap_set_t, unsigned int);
static void bitmap_insert_into_set (bitmap_set_t, pre_expr);
-static void bitmap_insert_into_set_1 (bitmap_set_t, pre_expr, bool);
+static void bitmap_insert_into_set_1 (bitmap_set_t, pre_expr,
+ unsigned int, bool);
static bitmap_set_t bitmap_set_new (void);
static tree create_expression_by_pieces (basic_block, pre_expr, gimple_seq *,
gimple, tree);
@@ -580,7 +607,7 @@ add_to_value (unsigned int v, pre_expr e)
VEC_replace (bitmap_set_t, value_expressions, v, set);
}
- bitmap_insert_into_set_1 (set, e, true);
+ bitmap_insert_into_set_1 (set, e, v, true);
}
/* Create a new bitmap set and return it. */
@@ -638,9 +665,8 @@ bitmap_remove_from_set (bitmap_set_t set, pre_expr expr)
static void
bitmap_insert_into_set_1 (bitmap_set_t set, pre_expr expr,
- bool allow_constants)
+ unsigned int val, bool allow_constants)
{
- unsigned int val = get_expr_value_id (expr);
if (allow_constants || !value_id_constant_p (val))
{
/* We specifically expect this and only this function to be able to
@@ -655,7 +681,7 @@ bitmap_insert_into_set_1 (bitmap_set_t set, pre_expr expr,
static void
bitmap_insert_into_set (bitmap_set_t set, pre_expr expr)
{
- bitmap_insert_into_set_1 (set, expr, false);
+ bitmap_insert_into_set_1 (set, expr, get_expr_value_id (expr), false);
}
/* Copy a bitmapped set ORIG, into bitmapped set DEST. */
@@ -684,7 +710,10 @@ sorted_array_from_bitmap_set (bitmap_set_t set)
{
unsigned int i, j;
bitmap_iterator bi, bj;
- VEC(pre_expr, heap) *result = NULL;
+ VEC(pre_expr, heap) *result;
+
+ /* Pre-allocate roughly enough space for the array. */
+ result = VEC_alloc (pre_expr, heap, bitmap_count_bits (set->values));
FOR_EACH_VALUE_ID_IN_SET (set, i, bi)
{
@@ -863,11 +892,17 @@ bitmap_value_insert_into_set (bitmap_set_t set, pre_expr expr)
{
unsigned int val = get_expr_value_id (expr);
+#ifdef ENABLE_CHECKING
+ gcc_assert (expr->id == get_or_alloc_expression_id (expr));
+#endif
+
+ /* Constant values are always considered to be part of the set. */
if (value_id_constant_p (val))
return;
- if (!bitmap_set_contains_value (set, val))
- bitmap_insert_into_set (set, expr);
+ /* If the value membership changed, add the expression. */
+ if (bitmap_set_bit (set->values, val))
+ bitmap_set_bit (set->expressions, expr->id);
}
/* Print out EXPR to outfile. */
@@ -1023,18 +1058,20 @@ get_or_alloc_expr_for_constant (tree constant)
{
unsigned int result_id;
unsigned int value_id;
- pre_expr newexpr = (pre_expr) pool_alloc (pre_expr_pool);
+ struct pre_expr_d expr;
+ pre_expr newexpr;
+
+ expr.kind = CONSTANT;
+ PRE_EXPR_CONSTANT (&expr) = constant;
+ result_id = lookup_expression_id (&expr);
+ if (result_id != 0)
+ return expression_for_id (result_id);
+
+ newexpr = (pre_expr) pool_alloc (pre_expr_pool);
newexpr->kind = CONSTANT;
PRE_EXPR_CONSTANT (newexpr) = constant;
- result_id = lookup_expression_id (newexpr);
- if (result_id != 0)
- {
- pool_free (pre_expr_pool, newexpr);
- newexpr = expression_for_id (result_id);
- return newexpr;
- }
+ alloc_expression_id (newexpr);
value_id = get_or_alloc_constant_value_id (constant);
- get_or_alloc_expression_id (newexpr);
add_to_value (value_id, newexpr);
return newexpr;
}
@@ -1449,6 +1486,10 @@ phi_translate (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2,
if (!expr)
return NULL;
+ /* Constants contain no values that need translation. */
+ if (expr->kind == CONSTANT)
+ return expr;
+
if (value_id_constant_p (get_expr_value_id (expr)))
return expr;
@@ -1458,10 +1499,6 @@ phi_translate (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2,
switch (expr->kind)
{
- /* Constants contain no values that need translation. */
- case CONSTANT:
- return expr;
-
case NARY:
{
unsigned int i;
@@ -1499,6 +1536,7 @@ phi_translate (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2,
if (changed)
{
pre_expr constant;
+ unsigned int new_val_id;
tree result = vn_nary_op_lookup_pieces (newnary.length,
newnary.opcode,
@@ -1508,15 +1546,12 @@ phi_translate (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2,
newnary.op[2],
newnary.op[3],
&nary);
- unsigned int new_val_id;
+ if (result && is_gimple_min_invariant (result))
+ return get_or_alloc_expr_for_constant (result);
expr = (pre_expr) pool_alloc (pre_expr_pool);
expr->kind = NARY;
expr->id = 0;
- if (result && is_gimple_min_invariant (result))
- return get_or_alloc_expr_for_constant (result);
-
-
if (nary)
{
PRE_EXPR_NARY (expr) = nary;
@@ -4473,6 +4508,7 @@ init_pre (bool do_fre)
value_expressions = VEC_alloc (bitmap_set_t, heap, get_max_value_id () + 1);
VEC_safe_grow_cleared (bitmap_set_t, heap, value_expressions,
get_max_value_id() + 1);
+ name_to_id = NULL;
in_fre = do_fre;
@@ -4534,6 +4570,7 @@ fini_pre (bool do_fre)
free_alloc_pool (pre_expr_pool);
htab_delete (phi_translate_table);
htab_delete (expression_to_id);
+ VEC_free (unsigned, heap, name_to_id);
FOR_ALL_BB (bb)
{
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index 5fd5967121d..f428008a18e 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -1,5 +1,5 @@
/* Reassociation for trees.
- Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@dberlin.org>
This file is part of GCC.
@@ -32,6 +32,7 @@ along with GCC; see the file COPYING3. If not see
#include "tree-dump.h"
#include "timevar.h"
#include "tree-iterator.h"
+#include "real.h"
#include "tree-pass.h"
#include "alloc-pool.h"
#include "vec.h"
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c
index e91408775bb..79ce3c20a25 100644
--- a/gcc/tree-ssa-sccvn.c
+++ b/gcc/tree-ssa-sccvn.c
@@ -357,21 +357,23 @@ unsigned int
get_or_alloc_constant_value_id (tree constant)
{
void **slot;
- vn_constant_t vc = XNEW (struct vn_constant_s);
+ struct vn_constant_s vc;
+ vn_constant_t vcp;
- vc->hashcode = vn_hash_constant_with_type (constant);
- vc->constant = constant;
- slot = htab_find_slot_with_hash (constant_to_value_id, vc,
- vc->hashcode, INSERT);
+ vc.hashcode = vn_hash_constant_with_type (constant);
+ vc.constant = constant;
+ slot = htab_find_slot_with_hash (constant_to_value_id, &vc,
+ vc.hashcode, INSERT);
if (*slot)
- {
- free (vc);
- return ((vn_constant_t)*slot)->value_id;
- }
- vc->value_id = get_next_value_id ();
- *slot = vc;
- bitmap_set_bit (constant_value_ids, vc->value_id);
- return vc->value_id;
+ return ((vn_constant_t)*slot)->value_id;
+
+ vcp = XNEW (struct vn_constant_s);
+ vcp->hashcode = vc.hashcode;
+ vcp->constant = constant;
+ vcp->value_id = get_next_value_id ();
+ *slot = (void *) vcp;
+ bitmap_set_bit (constant_value_ids, vcp->value_id);
+ return vcp->value_id;
}
/* Return true if V is a value id for a constant. */
@@ -401,15 +403,15 @@ vn_reference_op_eq (const void *p1, const void *p2)
/* Compute the hash for a reference operand VRO1. */
static hashval_t
-vn_reference_op_compute_hash (const vn_reference_op_t vro1)
+vn_reference_op_compute_hash (const vn_reference_op_t vro1, hashval_t result)
{
- hashval_t result = 0;
+ result = iterative_hash_hashval_t (vro1->opcode, result);
if (vro1->op0)
- result += iterative_hash_expr (vro1->op0, vro1->opcode);
+ result = iterative_hash_expr (vro1->op0, result);
if (vro1->op1)
- result += iterative_hash_expr (vro1->op1, vro1->opcode);
+ result = iterative_hash_expr (vro1->op1, result);
if (vro1->op2)
- result += iterative_hash_expr (vro1->op2, vro1->opcode);
+ result = iterative_hash_expr (vro1->op2, result);
return result;
}
@@ -427,13 +429,14 @@ vn_reference_hash (const void *p1)
hashval_t
vn_reference_compute_hash (const vn_reference_t vr1)
{
- hashval_t result;
+ hashval_t result = 0;
int i;
vn_reference_op_t vro;
- result = iterative_hash_expr (vr1->vuse, 0);
for (i = 0; VEC_iterate (vn_reference_op_s, vr1->operands, i, vro); i++)
- result += vn_reference_op_compute_hash (vro);
+ result = vn_reference_op_compute_hash (vro, result);
+ if (vr1->vuse)
+ result += SSA_NAME_VERSION (vr1->vuse);
return result;
}
@@ -1000,9 +1003,11 @@ vn_reference_lookup_2 (ao_ref *op ATTRIBUTE_UNUSED, tree vuse, void *vr_)
*last_vuse_ptr = vuse;
/* Fixup vuse and hash. */
- vr->hashcode = vr->hashcode - iterative_hash_expr (vr->vuse, 0);
+ if (vr->vuse)
+ vr->hashcode = vr->hashcode - SSA_NAME_VERSION (vr->vuse);
vr->vuse = SSA_VAL (vuse);
- vr->hashcode = vr->hashcode + iterative_hash_expr (vr->vuse, 0);
+ if (vr->vuse)
+ vr->hashcode = vr->hashcode + SSA_NAME_VERSION (vr->vuse);
hash = vr->hashcode;
slot = htab_find_slot_with_hash (current_info->references, vr,
@@ -1360,7 +1365,7 @@ vn_reference_insert_pieces (tree vuse, alias_set_type set, tree type,
hashval_t
vn_nary_op_compute_hash (const vn_nary_op_t vno1)
{
- hashval_t hash = 0;
+ hashval_t hash;
unsigned i;
for (i = 0; i < vno1->length; ++i)
@@ -1376,8 +1381,9 @@ vn_nary_op_compute_hash (const vn_nary_op_t vno1)
vno1->op[1] = temp;
}
+ hash = iterative_hash_hashval_t (vno1->opcode, 0);
for (i = 0; i < vno1->length; ++i)
- hash += iterative_hash_expr (vno1->op[i], vno1->opcode);
+ hash = iterative_hash_expr (vno1->op[i], hash);
return hash;
}
@@ -1629,7 +1635,7 @@ vn_nary_op_insert_stmt (gimple stmt, tree result)
static inline hashval_t
vn_phi_compute_hash (vn_phi_t vp1)
{
- hashval_t result = 0;
+ hashval_t result;
int i;
tree phi1op;
tree type;
@@ -1647,7 +1653,7 @@ vn_phi_compute_hash (vn_phi_t vp1)
{
if (phi1op == VN_TOP)
continue;
- result += iterative_hash_expr (phi1op, result);
+ result = iterative_hash_expr (phi1op, result);
}
return result;
@@ -3310,23 +3316,6 @@ expressions_equal_p (tree e1, tree e2)
if (!e1 || !e2)
return false;
- /* Recurse on elements of lists. */
- if (TREE_CODE (e1) == TREE_LIST && TREE_CODE (e2) == TREE_LIST)
- {
- tree lop1 = e1;
- tree lop2 = e2;
- for (lop1 = e1, lop2 = e2;
- lop1 || lop2;
- lop1 = TREE_CHAIN (lop1), lop2 = TREE_CHAIN (lop2))
- {
- if (!lop1 || !lop2)
- return false;
- if (!expressions_equal_p (TREE_VALUE (lop1), TREE_VALUE (lop2)))
- return false;
- }
- return true;
- }
-
/* Now perform the actual comparison. */
if (TREE_CODE (e1) == TREE_CODE (e2)
&& operand_equal_p (e1, e2, OEP_PURE_SAME))
diff --git a/include/ChangeLog b/include/ChangeLog
index 69ebb834e8e..59fbbdad265 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/41771
+ * ansidecl.h: Fix inline test for C99 and Sun Studio cc.
+
2009-12-29 Joel Brobecker <brobecker@adacore.com>
* dwarf2.h (enum dwarf_attribute): Add DW_AT_GNAT_descriptive_type.
diff --git a/include/ansidecl.h b/include/ansidecl.h
index 86b09447482..8b76647426b 100644
--- a/include/ansidecl.h
+++ b/include/ansidecl.h
@@ -1,6 +1,6 @@
/* ANSI and traditional C compatability macros
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2009
+ 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -178,7 +178,7 @@ So instead we use the macro below and test it against specific values. */
/* inline requires special treatment; it's in C99, and GCC >=2.7 supports
it too, but it's not in C89. */
#undef inline
-#if __STDC_VERSION__ > 199901L || defined(__cplusplus)
+#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) || (defined(__SUNPRO_C) && defined(__C99FEATURES__))
/* it's a keyword */
#else
# if GCC_VERSION >= 2007
diff --git a/libdecnumber/ChangeLog b/libdecnumber/ChangeLog
index 88df3a4d84b..b218e422918 100644
--- a/libdecnumber/ChangeLog
+++ b/libdecnumber/ChangeLog
@@ -1,3 +1,7 @@
+2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure: Regenerate.
+
2009-11-28 Jakub Jelinek <jakub@redhat.com>
* decContext.c (decContextTestEndian): Move adj definition into
diff --git a/libdecnumber/configure b/libdecnumber/configure
index 75a7b90570f..f621fc7ccae 100755
--- a/libdecnumber/configure
+++ b/libdecnumber/configure
@@ -6162,49 +6162,61 @@ if test "$acx_cv_header_stdint" = stddef.h; then
#define _UINT8_T
#ifndef __uint8_t_defined
#define __uint8_t_defined
+ #ifndef uint8_t
typedef unsigned $acx_cv_type_int8_t uint8_t;
#endif
#endif
+ #endif
#ifndef _UINT16_T
#define _UINT16_T
#ifndef __uint16_t_defined
#define __uint16_t_defined
+ #ifndef uint16_t
typedef unsigned $acx_cv_type_int16_t uint16_t;
#endif
#endif
+ #endif
#ifndef _UINT32_T
#define _UINT32_T
#ifndef __uint32_t_defined
#define __uint32_t_defined
+ #ifndef uint32_t
typedef unsigned $acx_cv_type_int32_t uint32_t;
#endif
#endif
+ #endif
#ifndef _INT8_T
#define _INT8_T
#ifndef __int8_t_defined
#define __int8_t_defined
+ #ifndef int8_t
typedef $acx_cv_type_int8_t int8_t;
#endif
#endif
+ #endif
#ifndef _INT16_T
#define _INT16_T
#ifndef __int16_t_defined
#define __int16_t_defined
+ #ifndef int16_t
typedef $acx_cv_type_int16_t int16_t;
#endif
#endif
+ #endif
#ifndef _INT32_T
#define _INT32_T
#ifndef __int32_t_defined
#define __int32_t_defined
+ #ifndef int32_t
typedef $acx_cv_type_int32_t int32_t;
#endif
#endif
+ #endif
EOF
elif test "$ac_cv_type_u_int32_t" = yes; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -6224,25 +6236,31 @@ elif test "$ac_cv_type_u_int32_t" = yes; then
#define _UINT8_T
#ifndef __uint8_t_defined
#define __uint8_t_defined
+ #ifndef uint8_t
typedef u_int8_t uint8_t;
#endif
#endif
+ #endif
#ifndef _UINT16_T
#define _UINT16_T
#ifndef __uint16_t_defined
#define __uint16_t_defined
+ #ifndef uint16_t
typedef u_int16_t uint16_t;
#endif
#endif
+ #endif
#ifndef _UINT32_T
#define _UINT32_T
#ifndef __uint32_t_defined
#define __uint32_t_defined
+ #ifndef uint32_t
typedef u_int32_t uint32_t;
#endif
#endif
+ #endif
EOF
else
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -6292,9 +6310,11 @@ elif test "$ac_cv_type_u_int64_t" = yes; then
#define _UINT64_T
#ifndef __uint64_t_defined
#define __uint64_t_defined
+ #ifndef uint64_t
typedef u_int64_t uint64_t;
#endif
#endif
+ #endif
EOF
elif test -n "$acx_cv_type_int64_t"; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -6302,15 +6322,19 @@ elif test -n "$acx_cv_type_int64_t"; then
/* architecture has a 64-bit type, $acx_cv_type_int64_t */
#ifndef _INT64_T
#define _INT64_T
+ #ifndef int64_t
typedef $acx_cv_type_int64_t int64_t;
#endif
+ #endif
#ifndef _UINT64_T
#define _UINT64_T
#ifndef __uint64_t_defined
#define __uint64_t_defined
+ #ifndef uint64_t
typedef unsigned $acx_cv_type_int64_t uint64_t;
#endif
#endif
+ #endif
EOF
else
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -6320,13 +6344,17 @@ else
#ifndef _INT64_T
#define _INT64_T
#ifndef __int64_t_defined
+ #ifndef int64_t
typedef long long int64_t;
#endif
#endif
+ #endif
#ifndef _UINT64_T
#define _UINT64_T
+ #ifndef uint64_t
typedef unsigned long long uint64_t;
#endif
+ #endif
#elif defined __GNUC__ && defined (__STDC__) && __STDC__-0
/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
@@ -6338,24 +6366,32 @@ else
# ifndef _INT64_T
# define _INT64_T
+ # ifndef int64_t
__extension__ typedef long long int64_t;
# endif
+ # endif
# ifndef _UINT64_T
# define _UINT64_T
+ # ifndef uint64_t
__extension__ typedef unsigned long long uint64_t;
# endif
+ # endif
#elif !defined __STRICT_ANSI__
# if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
# ifndef _INT64_T
# define _INT64_T
+ # ifndef int64_t
typedef __int64 int64_t;
# endif
+ # endif
# ifndef _UINT64_T
# define _UINT64_T
+ # ifndef uint64_t
typedef unsigned __int64 uint64_t;
# endif
+ # endif
# endif /* compiler */
#endif /* ANSI version */
@@ -6368,11 +6404,15 @@ if test "$ac_cv_type_uintptr_t" != yes; then
/* Define intptr_t based on sizeof(void*) = $ac_cv_sizeof_void_p */
#ifndef __uintptr_t_defined
+ #ifndef uintptr_t
typedef u$acx_cv_type_intptr_t uintptr_t;
#endif
+ #endif
#ifndef __intptr_t_defined
+ #ifndef intptr_t
typedef $acx_cv_type_intptr_t intptr_t;
#endif
+ #endif
EOF
fi
@@ -6422,16 +6462,20 @@ if test "$ac_cv_type_uintmax_t" != yes; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
/* Define intmax based on what we found */
+ #ifndef intmax_t
#ifdef _INT64_T
typedef int64_t intmax_t;
#else
typedef long intmax_t;
#endif
+ #endif
+ #ifndef uintmax_t
#ifdef _UINT64_T
typedef uint64_t uintmax_t;
#else
typedef unsigned long uintmax_t;
#endif
+ #endif
EOF
fi
diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index becf7d4e857..57e72b87900 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,21 @@
+2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libffi/40701
+ * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
+ PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
+ * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
+ alpha*-dec-osf*.
+ * testsuite/libffi.call/cls_align_uint64.c: Likewise.
+ * testsuite/libffi.call/cls_ulonglong.c: Likewise.
+ * testsuite/libffi.call/return_ll1.c: Likewise.
+ * testsuite/libffi.call/stret_medium2.c: Likewise.
+ * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
+ MAP_FAILED to char *.
+
+2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
+
2009-12-31 Anthony Green <green@redhat.com>
* README: Update for libffi 3.0.9.
diff --git a/libffi/src/mips/n32.S b/libffi/src/mips/n32.S
index 81e81bcb4e9..ae23094667c 100644
--- a/libffi/src/mips/n32.S
+++ b/libffi/src/mips/n32.S
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------------
- n32.S - Copyright (c) 1996, 1998, 2005 Red Hat, Inc.
+ n32.S - Copyright (c) 1996, 1998, 2005, 2007, 2009, 2010 Red Hat, Inc.
MIPS Foreign Function Interface
@@ -40,7 +40,7 @@
#define SIZEOF_FRAME ( 8 * FFI_SIZEOF_ARG )
-#ifdef linux
+#ifdef __GNUC__
.abicalls
#endif
.text
@@ -529,7 +529,7 @@ cls_epilogue:
.LFE2:
.end ffi_closure_N32
-#ifdef linux
+#ifdef __GNUC__
.section .eh_frame,"aw",@progbits
.Lframe1:
.4byte .LECIE1-.LSCIE1 # length
@@ -586,6 +586,6 @@ cls_epilogue:
.uleb128 (SIZEOF_FRAME2 - RA_OFF2)/4
.align EH_FRAME_ALIGN
.LEFDE3:
-#endif /* linux */
+#endif /* __GNUC__ */
#endif
diff --git a/libffi/testsuite/libffi.call/cls_align_sint64.c b/libffi/testsuite/libffi.call/cls_align_sint64.c
index 2b15c983886..31d53aff05a 100644
--- a/libffi/testsuite/libffi.call/cls_align_sint64.c
+++ b/libffi/testsuite/libffi.call/cls_align_sint64.c
@@ -5,6 +5,7 @@
Originator: <hos@tamanegi.org> 20031203 */
/* { dg-do run } */
+/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */
#include "ffitest.h"
typedef struct cls_struct_align {
diff --git a/libffi/testsuite/libffi.call/cls_align_uint64.c b/libffi/testsuite/libffi.call/cls_align_uint64.c
index 215584f60a4..495c79f4ea7 100644
--- a/libffi/testsuite/libffi.call/cls_align_uint64.c
+++ b/libffi/testsuite/libffi.call/cls_align_uint64.c
@@ -6,6 +6,7 @@
/* { dg-do run } */
+/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */
#include "ffitest.h"
typedef struct cls_struct_align {
diff --git a/libffi/testsuite/libffi.call/cls_ulonglong.c b/libffi/testsuite/libffi.call/cls_ulonglong.c
index c3cf0d6ec01..235ab44ffc0 100644
--- a/libffi/testsuite/libffi.call/cls_ulonglong.c
+++ b/libffi/testsuite/libffi.call/cls_ulonglong.c
@@ -5,6 +5,7 @@
Originator: <andreast@gcc.gnu.org> 20030828 */
/* { dg-do run } */
+/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */
#include "ffitest.h"
static void cls_ret_ulonglong_fn(ffi_cif* cif __UNUSED__, void* resp,
diff --git a/libffi/testsuite/libffi.call/ffitest.h b/libffi/testsuite/libffi.call/ffitest.h
index 7b1c5efa5ce..2cb9849718f 100644
--- a/libffi/testsuite/libffi.call/ffitest.h
+++ b/libffi/testsuite/libffi.call/ffitest.h
@@ -60,6 +60,18 @@
#define PRIuLL "llu"
#endif
+/* Tru64 UNIX kludge. */
+#if defined(__alpha__) && defined(__osf__)
+/* Tru64 UNIX V4.0 doesn't support %lld/%lld, but long is 64-bit. */
+#undef PRIdLL
+#define PRIdLL "ld"
+#undef PRIuLL
+#define PRIuLL "lu"
+#define PRId64 "ld"
+#define PRIu64 "lu"
+#define PRIuPTR "lu"
+#endif
+
/* PA HP-UX kludge. */
#if defined(__hppa__) && defined(__hpux__) && !defined(PRIuPTR)
#define PRIuPTR "lu"
diff --git a/libffi/testsuite/libffi.call/return_ll1.c b/libffi/testsuite/libffi.call/return_ll1.c
index dad90c17ff3..593e8a307ce 100644
--- a/libffi/testsuite/libffi.call/return_ll1.c
+++ b/libffi/testsuite/libffi.call/return_ll1.c
@@ -5,6 +5,7 @@
Originator: <andreast@gcc.gnu.org> 20050222 */
/* { dg-do run } */
+/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */
#include "ffitest.h"
static long long return_ll(int ll0, long long ll1, int ll2)
{
diff --git a/libffi/testsuite/libffi.call/stret_medium2.c b/libffi/testsuite/libffi.call/stret_medium2.c
index 1692c2def04..cb2f2fba331 100644
--- a/libffi/testsuite/libffi.call/stret_medium2.c
+++ b/libffi/testsuite/libffi.call/stret_medium2.c
@@ -7,6 +7,7 @@
Originator: Blake Chaffin 6/21/2007 */
/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */
#include "ffitest.h"
typedef struct struct_72byte {
diff --git a/libffi/testsuite/libffi.special/ffitestcxx.h b/libffi/testsuite/libffi.special/ffitestcxx.h
index e300cce9d9d..83f5442849e 100644
--- a/libffi/testsuite/libffi.special/ffitestcxx.h
+++ b/libffi/testsuite/libffi.special/ffitestcxx.h
@@ -84,7 +84,7 @@ allocate_mmap (size_t size)
MAP_PRIVATE, dev_zero_fd, 0);
#endif
- if (page == MAP_FAILED)
+ if (page == (char *) MAP_FAILED)
{
perror ("virtual memory exhausted");
exit (1);
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 2a1c9ee71aa..d8424c16cac 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,10 @@
+2010-01-04 Anthony Green <green@moxielogic.com>
+
+ * config/moxie/crti.asm, config/moxie/crtn.asm,
+ config/moxie/t-moxie-softfp, config/moxie/sfp-machine.h,
+ config/moxie/t-moxie: New files.
+ * config.host: Add t-moxie-softfp reference.
+
2009-11-18 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
PR other/39888
diff --git a/libgcc/config.host b/libgcc/config.host
index 1a66beb4736..5c3bfa69996 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -1,6 +1,6 @@
# libgcc host-specific configuration file.
# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-# 2008, 2009 Free Software Foundation, Inc.
+# 2008, 2009, 2010 Free Software Foundation, Inc.
#This file is part of GCC.
@@ -436,7 +436,7 @@ mmix-knuth-mmixware)
mn10300-*-*)
;;
moxie-*-*)
- tmake_file=${cpu_type}/t-moxie
+ tmake_file="moxie/t-moxie moxie/t-moxie-softfp"
extra_parts="crtbegin.o crtend.o crti.o crtn.o"
;;
pdp11-*-*)
diff --git a/libgcc/config/moxie/crti.asm b/libgcc/config/moxie/crti.asm
new file mode 100644
index 00000000000..f44582799a3
--- /dev/null
+++ b/libgcc/config/moxie/crti.asm
@@ -0,0 +1,40 @@
+# crti.asm for moxie
+#
+# Copyright (C) 2009 Free Software Foundation
+#
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3, or (at your option) any
+# later version.
+#
+# This file is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# Under Section 7 of GPL version 3, you are granted additional
+# permissions described in the GCC Runtime Library Exception, version
+# 3.1, as published by the Free Software Foundation.
+#
+# You should have received a copy of the GNU General Public License and
+# a copy of the GCC Runtime Library Exception along with this program;
+# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+# <http://www.gnu.org/licenses/>.
+
+# This file just make a stack frame for the contents of the .fini and
+# .init sections. Users may put any desired instructions in those
+# sections.
+
+ .file "crti.asm"
+
+ .section ".init"
+ .global _init
+ .type _init, @function
+ .p2align 1
+_init:
+
+ .section ".fini"
+ .global _fini
+ .type _fini,@function
+ .p2align 1
+_fini:
diff --git a/libgcc/config/moxie/crtn.asm b/libgcc/config/moxie/crtn.asm
new file mode 100644
index 00000000000..3ac9d31eed8
--- /dev/null
+++ b/libgcc/config/moxie/crtn.asm
@@ -0,0 +1,34 @@
+# crtn.asm for moxie
+#
+# Copyright (C) 2009 Free Software Foundation
+#
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3, or (at your option) any
+# later version.
+#
+# This file is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# Under Section 7 of GPL version 3, you are granted additional
+# permissions described in the GCC Runtime Library Exception, version
+# 3.1, as published by the Free Software Foundation.
+#
+# You should have received a copy of the GNU General Public License and
+# a copy of the GCC Runtime Library Exception along with this program;
+# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+# <http://www.gnu.org/licenses/>.
+
+# This file just makes sure that the .fini and .init sections do in
+# fact return. Users may put any desired instructions in those sections.
+# This file is the last thing linked into any executable.
+
+ .file "crtn.asm"
+
+ .section ".init"
+ ret
+
+ .section ".fini"
+ ret
diff --git a/libgcc/config/moxie/sfp-machine.h b/libgcc/config/moxie/sfp-machine.h
new file mode 100644
index 00000000000..98f9f1bf491
--- /dev/null
+++ b/libgcc/config/moxie/sfp-machine.h
@@ -0,0 +1,57 @@
+#define _FP_W_TYPE_SIZE 32
+#define _FP_W_TYPE unsigned long
+#define _FP_WS_TYPE signed long
+#define _FP_I_TYPE long
+
+/* The type of the result of a floating point comparison. This must
+ match `__libgcc_cmp_return__' in GCC for the target. */
+typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
+#define CMPtype __gcc_CMPtype
+
+#define _FP_MUL_MEAT_S(R,X,Y) \
+ _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm)
+#define _FP_MUL_MEAT_D(R,X,Y) \
+ _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
+#define _FP_MUL_MEAT_Q(R,X,Y) \
+ _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
+
+#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_loop(S,R,X,Y)
+#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y)
+#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y)
+
+#define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1)
+#define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1), -1
+#define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1, -1, -1
+#define _FP_NANSIGN_S 0
+#define _FP_NANSIGN_D 0
+#define _FP_NANSIGN_Q 0
+
+#define _FP_KEEPNANFRACP 1
+
+/* Someone please check this. */
+#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
+ do { \
+ if ((_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs) \
+ && !(_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs)) \
+ { \
+ R##_s = Y##_s; \
+ _FP_FRAC_COPY_##wc(R,Y); \
+ } \
+ else \
+ { \
+ R##_s = X##_s; \
+ _FP_FRAC_COPY_##wc(R,X); \
+ } \
+ R##_c = FP_CLS_NAN; \
+ } while (0)
+
+#define __LITTLE_ENDIAN 1234
+#define __BIG_ENDIAN 4321
+
+# define __BYTE_ORDER __BIG_ENDIAN
+
+/* Define ALIASNAME as a strong alias for NAME. */
+# define strong_alias(name, aliasname) _strong_alias(name, aliasname)
+# define _strong_alias(name, aliasname) \
+ extern __typeof (name) aliasname __attribute__ ((alias (#name)));
+
diff --git a/libgcc/config/moxie/t-moxie b/libgcc/config/moxie/t-moxie
new file mode 100644
index 00000000000..6e62aec2224
--- /dev/null
+++ b/libgcc/config/moxie/t-moxie
@@ -0,0 +1,9 @@
+# Assemble startup files.
+
+$(T)crti.o: $(srcdir)/config/moxie/crti.asm $(GCC_PASSES)
+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
+ -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/moxie/crti.asm
+
+$(T)crtn.o: $(srcdir)/config/moxie/crtn.asm $(GCC_PASSES)
+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
+ -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/moxie/crtn.asm
diff --git a/libgcc/config/moxie/t-moxie-softfp b/libgcc/config/moxie/t-moxie-softfp
new file mode 100644
index 00000000000..61c575132e9
--- /dev/null
+++ b/libgcc/config/moxie/t-moxie-softfp
@@ -0,0 +1,9 @@
+softfp_float_modes := sf df
+softfp_int_modes := si di
+softfp_extensions := sfdf
+softfp_truncations := dfsf
+softfp_machine_header := moxie/sfp-machine.h
+softfp_exclude_libgcc2 := y
+
+# softfp seems to be missing a whole bunch of prototypes.
+TARGET_LIBGCC2_CFLAGS += -Wno-missing-prototypes
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index a6ee35084a2..fbd9dd43309 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,7 @@
+2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure: Regenerate.
+
2010-01-03 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/42420
@@ -12,3 +16,9 @@
(inquire_direct): Likewise.
(inquire_formatted): Likewise.
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/ChangeLog-2002 b/libgfortran/ChangeLog-2002
index 2411f626ce8..a7043dd90e2 100644
--- a/libgfortran/ChangeLog-2002
+++ b/libgfortran/ChangeLog-2002
@@ -58,3 +58,10 @@
2002-08-17 Paul Brook <paul@nowt.org>
* ALL: First release as more than just a single file
+
+
+Copyright (C) 2002 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/ChangeLog-2003 b/libgfortran/ChangeLog-2003
index 1c8b99f45f2..98b3508f719 100644
--- a/libgfortran/ChangeLog-2003
+++ b/libgfortran/ChangeLog-2003
@@ -540,3 +540,10 @@
* (*.m4) Move to m4/.
* intrinsics/string.c (_gfor_string_index): New Function.
+
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/ChangeLog-2004 b/libgfortran/ChangeLog-2004
index 0193040228b..4775115a370 100644
--- a/libgfortran/ChangeLog-2004
+++ b/libgfortran/ChangeLog-2004
@@ -1102,3 +1102,10 @@
* io/transfer.c (extract_real): Remove unused prototype.
(st_set_nml_var): Make static.
* io/write.c (extract_real): Make static.
+
+
+Copyright (C) 2004 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/ChangeLog-2005 b/libgfortran/ChangeLog-2005
index 0214e44001a..1e04f52d19a 100644
--- a/libgfortran/ChangeLog-2005
+++ b/libgfortran/ChangeLog-2005
@@ -2913,3 +2913,10 @@
PR fortran/18398
* transfer.c (next_record_r): always skip the
eol search if it was found during sf_read.
+
+
+Copyright (C) 2005 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/ChangeLog-2006 b/libgfortran/ChangeLog-2006
index b11f37edec7..5c8dfef257d 100644
--- a/libgfortran/ChangeLog-2006
+++ b/libgfortran/ChangeLog-2006
@@ -1632,3 +1632,10 @@ D
* ChangeLog-2003: here.
* ChangeLog-2004: here.
* ChangeLog-2005: here.
+
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/ChangeLog-2007 b/libgfortran/ChangeLog-2007
index 2b8611018cc..11f9df09355 100644
--- a/libgfortran/ChangeLog-2007
+++ b/libgfortran/ChangeLog-2007
@@ -2478,3 +2478,10 @@
* ChangeLog: Copied to ...
* ChangeLog-2006: here.
+
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/ChangeLog-2008 b/libgfortran/ChangeLog-2008
index 98cb28c15e4..6b3139995db 100644
--- a/libgfortran/ChangeLog-2008
+++ b/libgfortran/ChangeLog-2008
@@ -2523,3 +2523,10 @@
array is finished.
(next_record_r): Use the new flag to next_array_record().
(next_record_w): Likewise.
+
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/ChangeLog-2009 b/libgfortran/ChangeLog-2009
index de77bf1c570..2611ef1ae27 100644
--- a/libgfortran/ChangeLog-2009
+++ b/libgfortran/ChangeLog-2009
@@ -2494,3 +2494,9 @@
* io/unit.c (get_internal_unit): Set default BLANK= status to NULL for
internal units.
+
+Copyright (C) 2009 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/configure b/libgfortran/configure
index b43a08b0910..46e08630fc6 100755
--- a/libgfortran/configure
+++ b/libgfortran/configure
@@ -27623,49 +27623,61 @@ if test "$acx_cv_header_stdint" = stddef.h; then
#define _UINT8_T
#ifndef __uint8_t_defined
#define __uint8_t_defined
+ #ifndef uint8_t
typedef unsigned $acx_cv_type_int8_t uint8_t;
#endif
#endif
+ #endif
#ifndef _UINT16_T
#define _UINT16_T
#ifndef __uint16_t_defined
#define __uint16_t_defined
+ #ifndef uint16_t
typedef unsigned $acx_cv_type_int16_t uint16_t;
#endif
#endif
+ #endif
#ifndef _UINT32_T
#define _UINT32_T
#ifndef __uint32_t_defined
#define __uint32_t_defined
+ #ifndef uint32_t
typedef unsigned $acx_cv_type_int32_t uint32_t;
#endif
#endif
+ #endif
#ifndef _INT8_T
#define _INT8_T
#ifndef __int8_t_defined
#define __int8_t_defined
+ #ifndef int8_t
typedef $acx_cv_type_int8_t int8_t;
#endif
#endif
+ #endif
#ifndef _INT16_T
#define _INT16_T
#ifndef __int16_t_defined
#define __int16_t_defined
+ #ifndef int16_t
typedef $acx_cv_type_int16_t int16_t;
#endif
#endif
+ #endif
#ifndef _INT32_T
#define _INT32_T
#ifndef __int32_t_defined
#define __int32_t_defined
+ #ifndef int32_t
typedef $acx_cv_type_int32_t int32_t;
#endif
#endif
+ #endif
EOF
elif test "$ac_cv_type_u_int32_t" = yes; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -27685,25 +27697,31 @@ elif test "$ac_cv_type_u_int32_t" = yes; then
#define _UINT8_T
#ifndef __uint8_t_defined
#define __uint8_t_defined
+ #ifndef uint8_t
typedef u_int8_t uint8_t;
#endif
#endif
+ #endif
#ifndef _UINT16_T
#define _UINT16_T
#ifndef __uint16_t_defined
#define __uint16_t_defined
+ #ifndef uint16_t
typedef u_int16_t uint16_t;
#endif
#endif
+ #endif
#ifndef _UINT32_T
#define _UINT32_T
#ifndef __uint32_t_defined
#define __uint32_t_defined
+ #ifndef uint32_t
typedef u_int32_t uint32_t;
#endif
#endif
+ #endif
EOF
else
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -27753,9 +27771,11 @@ elif test "$ac_cv_type_u_int64_t" = yes; then
#define _UINT64_T
#ifndef __uint64_t_defined
#define __uint64_t_defined
+ #ifndef uint64_t
typedef u_int64_t uint64_t;
#endif
#endif
+ #endif
EOF
elif test -n "$acx_cv_type_int64_t"; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -27763,15 +27783,19 @@ elif test -n "$acx_cv_type_int64_t"; then
/* architecture has a 64-bit type, $acx_cv_type_int64_t */
#ifndef _INT64_T
#define _INT64_T
+ #ifndef int64_t
typedef $acx_cv_type_int64_t int64_t;
#endif
+ #endif
#ifndef _UINT64_T
#define _UINT64_T
#ifndef __uint64_t_defined
#define __uint64_t_defined
+ #ifndef uint64_t
typedef unsigned $acx_cv_type_int64_t uint64_t;
#endif
#endif
+ #endif
EOF
else
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -27781,13 +27805,17 @@ else
#ifndef _INT64_T
#define _INT64_T
#ifndef __int64_t_defined
+ #ifndef int64_t
typedef long long int64_t;
#endif
#endif
+ #endif
#ifndef _UINT64_T
#define _UINT64_T
+ #ifndef uint64_t
typedef unsigned long long uint64_t;
#endif
+ #endif
#elif defined __GNUC__ && defined (__STDC__) && __STDC__-0
/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
@@ -27799,24 +27827,32 @@ else
# ifndef _INT64_T
# define _INT64_T
+ # ifndef int64_t
__extension__ typedef long long int64_t;
# endif
+ # endif
# ifndef _UINT64_T
# define _UINT64_T
+ # ifndef uint64_t
__extension__ typedef unsigned long long uint64_t;
# endif
+ # endif
#elif !defined __STRICT_ANSI__
# if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
# ifndef _INT64_T
# define _INT64_T
+ # ifndef int64_t
typedef __int64 int64_t;
# endif
+ # endif
# ifndef _UINT64_T
# define _UINT64_T
+ # ifndef uint64_t
typedef unsigned __int64 uint64_t;
# endif
+ # endif
# endif /* compiler */
#endif /* ANSI version */
@@ -27829,11 +27865,15 @@ if test "$ac_cv_type_uintptr_t" != yes; then
/* Define intptr_t based on sizeof(void*) = $ac_cv_sizeof_void_p */
#ifndef __uintptr_t_defined
+ #ifndef uintptr_t
typedef u$acx_cv_type_intptr_t uintptr_t;
#endif
+ #endif
#ifndef __intptr_t_defined
+ #ifndef intptr_t
typedef $acx_cv_type_intptr_t intptr_t;
#endif
+ #endif
EOF
fi
@@ -27883,16 +27923,20 @@ if test "$ac_cv_type_uintmax_t" != yes; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
/* Define intmax based on what we found */
+ #ifndef intmax_t
#ifdef _INT64_T
typedef int64_t intmax_t;
#else
typedef long intmax_t;
#endif
+ #endif
+ #ifndef uintmax_t
#ifdef _UINT64_T
typedef uint64_t uintmax_t;
#else
typedef unsigned long uintmax_t;
#endif
+ #endif
EOF
fi
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 2dab2166d30..4bd7efa6ecd 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,12 @@
+2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure: Regenerate.
+
+2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR libgomp/42602
+ * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
+
2010-01-03 Richard Guenther <rguenther@suse.de>
* testsuite/libgomp.fortran/recursion1.f90: New testcase.
diff --git a/libgomp/configure b/libgomp/configure
index e4fe5fecc4c..02e2861fb5d 100755
--- a/libgomp/configure
+++ b/libgomp/configure
@@ -18846,49 +18846,61 @@ if test "$acx_cv_header_stdint" = stddef.h; then
#define _UINT8_T
#ifndef __uint8_t_defined
#define __uint8_t_defined
+ #ifndef uint8_t
typedef unsigned $acx_cv_type_int8_t uint8_t;
#endif
#endif
+ #endif
#ifndef _UINT16_T
#define _UINT16_T
#ifndef __uint16_t_defined
#define __uint16_t_defined
+ #ifndef uint16_t
typedef unsigned $acx_cv_type_int16_t uint16_t;
#endif
#endif
+ #endif
#ifndef _UINT32_T
#define _UINT32_T
#ifndef __uint32_t_defined
#define __uint32_t_defined
+ #ifndef uint32_t
typedef unsigned $acx_cv_type_int32_t uint32_t;
#endif
#endif
+ #endif
#ifndef _INT8_T
#define _INT8_T
#ifndef __int8_t_defined
#define __int8_t_defined
+ #ifndef int8_t
typedef $acx_cv_type_int8_t int8_t;
#endif
#endif
+ #endif
#ifndef _INT16_T
#define _INT16_T
#ifndef __int16_t_defined
#define __int16_t_defined
+ #ifndef int16_t
typedef $acx_cv_type_int16_t int16_t;
#endif
#endif
+ #endif
#ifndef _INT32_T
#define _INT32_T
#ifndef __int32_t_defined
#define __int32_t_defined
+ #ifndef int32_t
typedef $acx_cv_type_int32_t int32_t;
#endif
#endif
+ #endif
EOF
elif test "$ac_cv_type_u_int32_t" = yes; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -18908,25 +18920,31 @@ elif test "$ac_cv_type_u_int32_t" = yes; then
#define _UINT8_T
#ifndef __uint8_t_defined
#define __uint8_t_defined
+ #ifndef uint8_t
typedef u_int8_t uint8_t;
#endif
#endif
+ #endif
#ifndef _UINT16_T
#define _UINT16_T
#ifndef __uint16_t_defined
#define __uint16_t_defined
+ #ifndef uint16_t
typedef u_int16_t uint16_t;
#endif
#endif
+ #endif
#ifndef _UINT32_T
#define _UINT32_T
#ifndef __uint32_t_defined
#define __uint32_t_defined
+ #ifndef uint32_t
typedef u_int32_t uint32_t;
#endif
#endif
+ #endif
EOF
else
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -18976,9 +18994,11 @@ elif test "$ac_cv_type_u_int64_t" = yes; then
#define _UINT64_T
#ifndef __uint64_t_defined
#define __uint64_t_defined
+ #ifndef uint64_t
typedef u_int64_t uint64_t;
#endif
#endif
+ #endif
EOF
elif test -n "$acx_cv_type_int64_t"; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -18986,15 +19006,19 @@ elif test -n "$acx_cv_type_int64_t"; then
/* architecture has a 64-bit type, $acx_cv_type_int64_t */
#ifndef _INT64_T
#define _INT64_T
+ #ifndef int64_t
typedef $acx_cv_type_int64_t int64_t;
#endif
+ #endif
#ifndef _UINT64_T
#define _UINT64_T
#ifndef __uint64_t_defined
#define __uint64_t_defined
+ #ifndef uint64_t
typedef unsigned $acx_cv_type_int64_t uint64_t;
#endif
#endif
+ #endif
EOF
else
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -19004,13 +19028,17 @@ else
#ifndef _INT64_T
#define _INT64_T
#ifndef __int64_t_defined
+ #ifndef int64_t
typedef long long int64_t;
#endif
#endif
+ #endif
#ifndef _UINT64_T
#define _UINT64_T
+ #ifndef uint64_t
typedef unsigned long long uint64_t;
#endif
+ #endif
#elif defined __GNUC__ && defined (__STDC__) && __STDC__-0
/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
@@ -19022,24 +19050,32 @@ else
# ifndef _INT64_T
# define _INT64_T
+ # ifndef int64_t
__extension__ typedef long long int64_t;
# endif
+ # endif
# ifndef _UINT64_T
# define _UINT64_T
+ # ifndef uint64_t
__extension__ typedef unsigned long long uint64_t;
# endif
+ # endif
#elif !defined __STRICT_ANSI__
# if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
# ifndef _INT64_T
# define _INT64_T
+ # ifndef int64_t
typedef __int64 int64_t;
# endif
+ # endif
# ifndef _UINT64_T
# define _UINT64_T
+ # ifndef uint64_t
typedef unsigned __int64 uint64_t;
# endif
+ # endif
# endif /* compiler */
#endif /* ANSI version */
@@ -19052,11 +19088,15 @@ if test "$ac_cv_type_uintptr_t" != yes; then
/* Define intptr_t based on sizeof(void*) = $ac_cv_sizeof_void_p */
#ifndef __uintptr_t_defined
+ #ifndef uintptr_t
typedef u$acx_cv_type_intptr_t uintptr_t;
#endif
+ #endif
#ifndef __intptr_t_defined
+ #ifndef intptr_t
typedef $acx_cv_type_intptr_t intptr_t;
#endif
+ #endif
EOF
fi
@@ -19106,16 +19146,20 @@ if test "$ac_cv_type_uintmax_t" != yes; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
/* Define intmax based on what we found */
+ #ifndef intmax_t
#ifdef _INT64_T
typedef int64_t intmax_t;
#else
typedef long intmax_t;
#endif
+ #endif
+ #ifndef uintmax_t
#ifdef _UINT64_T
typedef uint64_t uintmax_t;
#else
typedef unsigned long uintmax_t;
#endif
+ #endif
EOF
fi
diff --git a/libgomp/testsuite/libgomp.fortran/recursion1.f90 b/libgomp/testsuite/libgomp.fortran/recursion1.f90
index 0b7b2715fdd..35cb8786e09 100644
--- a/libgomp/testsuite/libgomp.fortran/recursion1.f90
+++ b/libgomp/testsuite/libgomp.fortran/recursion1.f90
@@ -20,6 +20,7 @@ contains
subroutine sub (n)
integer :: n
+!$omp atomic
s = s + n
print '(A,i3)',"loop =",n
end subroutine
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index f8ba8f7909d..c3d8f196b27 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,9 @@
+2010-01-04 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+
+ PR target/42316
+ * configure.ac (PICFLAG): Use -fPIC on SH hosts.
+ * configure: Regenerate.
+
2009-12-07 Doug Evans <dje@google.com>
* pex-unix.c (pex_unix_exec_child): Save/restore environ.
diff --git a/libiberty/configure b/libiberty/configure
index 6a3f6028d20..77aeb56c707 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -4860,6 +4860,7 @@ if [ "${shared}" = "yes" ]; then
* ) PICFLAG=-fPIC ;;
esac ;;
s390*-*-*) PICFLAG=-fpic ;;
+ sh*-*-*) PICFLAG=-fPIC ;;
esac
fi
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
index 6da7ea0869f..515bb338441 100644
--- a/libiberty/configure.ac
+++ b/libiberty/configure.ac
@@ -217,6 +217,7 @@ if [[ "${shared}" = "yes" ]]; then
* ) PICFLAG=-fPIC ;;
esac ;;
s390*-*-*) PICFLAG=-fpic ;;
+ sh*-*-*) PICFLAG=-fPIC ;;
esac
fi
AC_SUBST(PICFLAG)
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 5a64e253438..941154b1ff3 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,514 +1,3 @@
-2009-12-30 Robert Millan <rmh.gcc@aybabtu.com>
-
- PR other/42537
- * classpath/java/rmi/activation/Activatable.java: Fix typos in comment.
-
-2009-12-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac: Remove code to un-precious-ize CC, CXX,
- CXXFLAGS, CFLAGS, LDFLAGS.
- * configure: Regenerate.
-
-2009-12-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * include/pa-signal.h: Do not include ucontext.h.
- (SIGNAL_HANDLER): Add __attribute__ ((unused)) to signal handler
- arguments.
- (MAKE_THROW_FRAME): Do not adjust program counter.
- * include/hppa-signal.h: Do not include sys/types.h, sys/syscall.h and
- unistd.h.
- (MAKE_THROW_FRAME): Do not adjust program counter.
- (HANDLE_FPE): Define.
- (INIT_SEGV, INIT_FPE): Revise indentation.
-
-2009-12-09 Bryce McKinlay <bmckinlay@gmail.com>
-
- PR java/41991
- * configure.ac (SYSTEMSPEC): Pass -allow_stack_execute to Darwin
- linker.
- * Makefile.am (gij_LDFLAGS): Remove extra_gij_ldflags.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
-
-2009-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * configure.host (sparc*-sun-solaris2.*): New case.
- * include/dwarf2-signal.h (MAKE_THROW_FRAME, SPARC case): Make dummy.
- * include/sparc-signal.h: Do not include ucontext.h.
- (SIGNAL_HANDLER): Rename symbol.
- (FLUSH_REGISTER_WINDOWS): Delete.
- (MAKE_THROW_FRAME): Make dummy.
- (INIT_SEGV): Adjust for above renaming.
- (INIT_FPE): Likewise.
-
-2009-12-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * configure.ac (net/if.h check): Include sys/socket.h if present.
- * configure: Regenerate.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * gcj/Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-02 Ben Elliston <bje@au.ibm.com>
-
- * java/net/natVMURLConnection.cc (guessContentTypeFromBuffer):
- Mark `bytes' and `valid' parameters as potentially unused.
-
-2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * testsuite/lib/libjava.exp (libjava_init): Add host-dependent
- settings for LC_ALL and LANG.
-
-2009-11-30 Ben Elliston <bje@au.ibm.com>
-
- * jni.cc (_Jv_JNI_GetObjectRefType): Mark `object' parameter as
- maybe unused.
-
-2009-11-26 Ben Elliston <bje@au.ibm.com>
-
- * posix-threads.cc (ParkHelper::unpark): Do not initialise result,
- but assign it instead. Eliminates an unused variable warning when
- the result == 0 assertion is disabled.
-
-2009-11-17 Andrew Haley <aph@redhat.com>
-
- * posix-threads.cc (park): Rewrite code to handle time.
- Move mutex lock before the call to compare_and_swap to avoid a
- race condition.
- Add some assertions.
- (unpark): Add an assertion.
- (init): Move here from posix-threads.h.
- * include/posix-threads.h (destroy): removed.
-
-2009-11-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * exception.cc (PERSONALITY_FUNCTION): Fix oversight.
-
-2009-11-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR bootstrap/38867
- * configure.ac (expanded_prefix): New variable, set to the
- default prefix if none was passed on the command line.
- * configure: Regenerate.
-
-2009-10-22 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac: Rename --enable-plugin to --enable-browser-plugin,
- pass --{en,dis}able-plugin to the classpath configure.
- * configure: Regenerate.
-
-2009-09-30 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.host (libgcj_sublib_ltflags): New variable.
- * configure.ac (LIBGCJ_SUBLIB_LTFLAGS): AC_SUBST variable for
- the above in makefiles.
- * configure: Regenerate.
-
- * Makefile.am (libgcj_la_LDFLAGS_NOUNDEF): Rename from this ...
- (LIBJAVA_LDFLAGS_NOUNDEF): ... to this, initialise from
- LIBGCJ_SUBLIB_LTFLAGS (only when building sublibs), and ...
- (libgij_la_LDFLAGS, libgcj_tools_la_LDFLAGS, libjvm_la_LDFLAGS,
- lib_gnu_awt_xlib_la_LDFLAGS, libgcj_bc_la_LDFLAGS): ... use it in
- all these places to replace hard-coded -no-undefined and -bindir
- flags, as well as ...
- (libgcj_la_LDFLAGS): ... updating existing reference here.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * gcj/Makefile.in: Likewise.
-
-2009-09-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR libgcj/38298
- * Makefile.am (libgcj_tools_la_LIBADD): Add '-lm'.
- * Makefile.in: Regenerate.
-
-2009-09-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.host (enable_libgcj_sublibs_default): New variable,
- set for Cygwin and MinGW.
- * configure.ac (--enable-libgcj-sublibs): New command-line switch.
- (BUILD_SUBLIBS): New AM_CONDITIONAL relating to it.
- (libgcj_spec_lgcj_override): New variable, define if building sublibs.
- (libgcj_spec_lgcj_bc_override): Likewise for when USE_LIBGCJ_BC.
- (LIBGCJ_SPEC_LGCJ): New variable to abstract "-lgcj" from specs.
- (LIBGCJ_SPEC_LGCJ_BC): Likewise for when USE_LIBGCJ_BC.
- (LIBGCJ_SPEC): Use them.
- * configure: Regenerate.
- * Makefile.am (LOWER_PACKAGE_FILES_LO): New variable.
- (ALL_PACKAGE_SOURCE_FILES_LO): Likewise.
- (NONCORE_PACKAGE_SOURCE_FILES_LO): Likewise.
- (CORE_PACKAGE_SOURCE_FILES_LO): Likewise.
- (toolexeclib_LTLIBRARIES): Add libgcj-noncore.la if building sublibs.
- (libgcj_noncore_la_LIBADD_SUBOBJECTS): New variable.
- (libgcj_la_LIBADD_SUBOBJECTS): Likewise.
- (libgcj_la_LDFLAGS_NOUNDEF): Likewise.
- (libgij_la_LDFLAGS): Add DLL-related options.
- (libgcj_la_LDFLAGS): Use libgcj_la_LDFLAGS_NOUNDEF and
- libgcj_la_LIBADD_SUBOBJECTS.
- (libgcj_la_DEPENDENCIES): Adjust to match.
- (libgcj_noncore_la_SOURCES, libgcj_noncore_la_LDFLAGS,
- libgcj_noncore_la_LIBADD, libgcj_noncore_la_DEPENDENCIES,
- libgcj_noncore_la_LINK): New automake variables for sublibrary.
- (libgcj_tools_la_LDFLAGS): Add DLL-related flags.
- (libgcj_tools_la_LIBADD): New variable.
- (libjvm_la_LDFLAGS): Add DLL-related flags.
- (lib_gnu_awt_xlib_la_LDFLAGS): Likewise.
- (libgcj_bc_la_LDFLAGS): Likewise.
- (libgij_la_DEPENDENCIES): Add dependency on libgcj-noncore.la when
- building sublibs.
- (libgcj_tools_la_DEPENDENCIES, libjvm_la_DEPENDENCIES,
- lib_gnu_awt_xlib_la_DEPENDENCIES, jv_convert_DEPENDENCIES,
- gcj_dbtool_DEPENDENCIES, gc_analyze_DEPENDENCIES, ecjx_DEPENDENCIES):
- Likewise.
- * Makefile.in: Regenerate.
- * sysdep/i386/backtrace.h (MAIN_FUNC): New #define for main function,
- set appropriately for Cygwin on that platform or to "main" elsewhere.
- (fallback_backtrace): Use it to limit stack unwind.
-
-2009-09-16 Jonathan Yong <jon_y@users.sourceforge.net>
-
- * gnu/java/security/jce/prng/natVMSecureRandomWin32.cc: Correct
- UnsupportedOperationException namespace.
-
-2009-09-16 Andrew Haley <aph@redhat.com>
-
- * libgcj_bc.c (__data_start, data_start, _end): Add dummy usage.
-
-2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (libgij_la_LINK, libjvm_la_LINK): New.
- * Makefile.in: Regenerate.
-
-2009-09-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure: Rebuilt with modified libtool.m4.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * HACKING: Use aclocal-1.11 and autoconf-2.64 in example.
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * gcj/Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * include/config.h.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
- * Makefile.am (libgcj_la_LINK, libgcj_tools_la_LINK)
- (lib_gnu_awt_xlib_la_LINK, libgcj_bc_la_LINK, jv_convert_LINK)
- (gcj_dbtool_LINK, gc_analyze_LINK, gij_LINK, ecjx_LINK)
- (gappletviewer_LINK, gjarsigner_LINK, gkeytool_LINK)
- (gjar_LINK, gjavah_LINK, gcjh_LINK, gnative2ascii_LINK)
- (gorbd_LINK, grmid_LINK, gserialver_LINK, gtnameserv_LINK)
- (grmic_LINK, grmiregistry_LINK, gjdoc_LINK): Add $(gjdoc_LDFLAGS).
- (GCJLINK, LIBLINK, CXXLINK): Add $(LIBTOOLFLAGS).
- * Makefile.in: Regenerate.
-
-2009-08-17 Andrew Haley <aph@redhat.com>
-
- * Makefile.am (libgcj_bc_la_LIBADD): Delete.
- * libgcj.spec.in: (LIBGCJ_BC_SPEC): New spec.
- * configure.ac (LIBGCJ_BC_SPEC): New spec.
-
-2009-08-17 Andrew Haley <aph@redhat.com>
-
- * Makefile.in,
- include/Makefile.in,
- testsuite/Makefile.in,
- gcj/Makefile.in: Regenerate.
-
-2009-08-14 Kai Tietz <kai.tietz@onevision.com>
-
- * gnu/java/security/jce/prng/natVMSecureRandomWin32.cc: Add include of
- java/lang/UnsupportedOperationException.h file.
-
-2009-08-12 Andrew Haley <aph@redhat.com>
-
- * sysdep/arm/locks.h: Use atomic builtins For Linux EABI.
- * configure.ac: Add ATOMICSPEC.
- * libgcj.spec.in: Likewise.
- * configure.host (arm*-linux*): Add -Wno-abi to cxxflags.
- (testsuite/libjava.jvmti/jvmti-interp.exp): Likewise.
- (testsuite/libjava.jvmti/jvmti.exp): Likewise.
- (testsuite/libjava.jni/jni.exp): Likewise.
- Set ATOMICSPEC.
- Set LDFLAGS to work around libtool feature.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-28 David Daney <ddaney@caviumnetworks.com>
-
- * gnu/gcj/util/natGCInfo.cc (nomem_handler): Use oomDumpName as
- dump file name base.
-
-2009-07-27 Andrew John Hughes <ahughes@redhat.com>
-
- PR libgcj/40616
- * java/io/PrintStream.class: Regenerated.
- * java/io/PrintStream.h: Updated.
- * java/io/PrintStream.java:
- (PrintStream(File)): Ported from GNU Classpath
- version.
- (PrintStream(File, String)): Likewise.
- (PrintStream(String)): Likewise.
- (PrintStream(String, String)): Likewise.
-
-2009-07-24 Kai Tietz <kai.tietz@onevision.com>
-
- * gnu/java/security/jce/prng/natVMSecureRandomWin32.cc: New Win32
- specific implementation.
-
-2009-07-23 Matthias Klose <doko@ubuntu.com>
-
- * contrib/aotcompile.py.in: Use hashlib instead of md5 if available.
-
-2009-07-17 Joseph Myers <joseph@codesourcery.com>
-
- PR other/40784
- * configure: Regenerate.
-
-2009-07-16 Joseph Myers <joseph@codesourcery.com>
-
- * configure: Regenerate.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR testsuite/40699
- PR testsuite/40707
- PR testsuite/40709
- * testsuite/lib/libjava.exp: Revert 2009-06-30 commit.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * testsuite/lib/libjava.exp (libjava_init): Just add
- find_libgcc_s to libjava_libgcc_s_path, rather than every
- libgcc multilib directory.
- (libjava_arguments): Explain why we add "." to ld_library_path.
- (gcj_invoke, exec_gij, libjava_invoke): Use add_path.
-
-2009-06-22 Matthias Klose <doko@ubuntu.com>
-
- * libtool-version: Bump soversion.
-
-2009-05-12 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.ac: Insert libgcjdir in the GCJ passed in the
- environment, rather than overriding completely.
- * configure: Rebuilt.
-
-2009-04-28 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * testsuite/libjava.jvmti/jvmti-interp.exp
- (gcj_jni_compile_c_to_so): Fix so extension to '.dll' on win32.
- * testsuite/lib/libjava.exp (libjava_init): Likewise.
- * testsuite/libjava.jni/jni.exp
- (gcj_jni_compile_c_to_so): Likewise.
- (gcj_jni_test_one): Likewise.
-
-2009-04-28 Andrew Haley <aph@redhat.com>
-
- PR libgcj/39899
- * Makefile.am (libgcj_tools_la_LDFLAGS): Add
- -fno-bootstrap-classes to libgcj_tools_la_GCJFLAGS.
- * Makefile.in: Regenerate.
-
-2009-04-28 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * interpret.cc (DEBUG): Rename this ...
- (__GCJ_DEBUG): ... to this throughout.
- * configure.ac: Likewise.
- * interpret-run.cc: Likewise.
- * prims.cc: Likewise.
- * gnu/classpath/natConfiguration.cc: Likewise.
- * include/java-assert.h: Likewise.
- * java/io/natVMObjectInputStream.cc: Likewise.
-
- * configure: Regenerate.
- * include/config.h.in: Regenerate.
-
-2009-04-28 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * java/lang/natVMClassLoader.cc
- (java::lang::VMClassLoader::defineClass): Fix assert.
-
-2009-04-26 Matthias Klose <doko@ubuntu.com>
-
- * contrib/aot-compile.in: Print diagnostics for malformed or invalid
- class files.
- * contrib/generate-cacerts.pl.in: New.
- * configure.ac (AC_CONFIG_FILES): Add generate-cacerts.pl.
-
-2009-04-24 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac: Create missing directory gnu/java/security/jce/prng.
- * configure: Regenerate.
-
-2009-04-23 Matthias Klose <doko@ubuntu.com>
-
- * Makefile.am (install-data-local): Fix symlinks to header files.
- * Makefile.in: Regenerate.
-
-2009-04-23 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * gnu/classpath/jdwp/natVMVirtualMachine.cc (handle_single_step): Use
- casted pointer in debugging assert.
- (jdwpBreakpointCB): Likewise.
-
-2009-04-09 Jack Howarth <howarth@bromo.med.uc.edu>
-
- * configure.host: Restore match for darwin9 or later.
- * configure.ac: Likewise.
- * configure: Regenerate.
-
-2009-03-11 Andrew Haley <aph@redhat.com>
-
- * java/lang/natClassLoader.cc (_Jv_RegisterClassHookDefault): Clear
- INTERPRETED access modifier.
-
-2009-03-11 Tom Tromey <tromey@redhat.com>
-
- * link.cc (_Jv_Linker::find_field): Pass the field_type to
- _Jv_CheckOrCreateLoadingConstraint, not the class that is
- requesting the field.
-
-2009-03-03 Andrew John Hughes <ahughes@redhat.com>
-
- * Makefile.am:
- Remove dangling src.zip and javac symlinks.
- Fix java.security symlink to use toolexeclibdir
- as classpath/resource/Makefile.am does.
- * Makefile.in,
- * configure: Regenerated.
- * configure.ac: Drop hard-coded prefix,
- thus removing sdk_dir and making jre_dir="jre".
- Map x86_64 to amd64 as used by OpenJDK.
- * gcj/Makefile.in,
- * include/Makefile.in,
- * testsuite/Makefile.in: Regenerated.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2009-02-13 Andrew John Hughes <ahughes@redhat.com>
-
- Import GNU Classpath (classpath-0_98-release).
-
- * Makefile.am: Add natVMSecureRandom.cc.
- * Makefile.in: Regenerated.
- * classpath/ChangeLog,
- * classpath/Makefile.am: Merged.
- * classpath/Makefile.in: Regenerated.
- * classpath/NEWS: Merged.
- * classpath/config.guess,
- * classpath/config.sub,
- * classpath/configure: Regenerated.
- * classpath/configure.ac: Merged.
- * classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java,
- * classpath/gnu/java/security/jce/prng/SecureRandomAdapter.java,
- * classpath/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java,
- * classpath/gnu/javax/crypto/jce/prng/CSPRNGSpi.java,
- * classpath/gnu/javax/crypto/jce/prng/FortunaImpl.java,
- * classpath/gnu/javax/crypto/jce/prng/ICMRandomSpi.java,
- * classpath/gnu/javax/crypto/jce/prng/UMacRandomSpi.java,
- * classpath/gnu/javax/crypto/prng/ICMGenerator.java,
- * classpath/gnu/xml/stream/XMLParser.java,
- * classpath/java/security/SecureRandom.java,
- * classpath/native/jni/native-lib/cpproc.c,
- * classpath/native/plugin/gcjwebplugin.cc,
- * classpath/tools/gnu/classpath/tools/gjdoc/Main.java: Merged.
- * configure: Regenerated.
- * configure.ac: Add symlink for natVMSecureRandomPosix.cc to natVMSecureRandom.cc
- * gnu/classpath/Configuration.java: Change version to 0.98.
- * gnu/java/security/jce/prng/SecureRandomAdapter.h: Regenerated.
- * gnu/java/security/jce/prng/VMSecureRandom.h: Generated.
- * gnu/java/security/jce/prng/VMSecureRandom.java: Added native implementation.
- * gnu/java/security/jce/prng/natVMSecureRandomPosix.cc: Wrapper around /dev/random.
- * gnu/javax/crypto/jce/prng/CSPRNGSpi.h,
- * gnu/javax/crypto/jce/prng/FortunaImpl.h,
- * java/security/SecureRandom.h: Regenerated.
- * java/security/VMSecureRandom$Spinner.h,
- * java/security/VMSecureRandom.h,
- * java/security/VMSecureRandom.java: Removed.
- * sources.am: Move VMSecureRandom to gnu.java.security.jce.prng.
-
-2009-02-10 Mark Mitchell <mark@codesourcery.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass down datadir.
- * Makefile.in: Regenerated.
-
-2009-02-09 Mark Mitchell <mark@codesourcery.com>
-
- * addr2name.awk: Remove.
- * Makefile.am (bin_SCRIPTS): Remove addr2name.awk.
- * Makefile.in: Regenerated.
-
- * configure.ac: Define enable_sjlj_exceptions
- appropriately under the ARM EH ABI.
- * configure: Regenerated.
-
- * Makefile.am (LTLDFLAGS): Define.
- (GCJLINK): Use it.
- (LIBLINK): Likewise.
- * Makefile.in: Regenerated.
-
-2009-02-03 Jakub Jelinek <jakub@redhat.com>
-
- * gnu/gcj/convert/Convert.java (version): Update copyright notice
- dates.
- * gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
-
-2009-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR libgcj/38872
- * gcj/javaprims.h (_Jv_CreateJavaVM): Change to extern "C" symbol.
- * libjgc_bc.c (_Jv_GetStringChars): Remove.
-
-2009-01-12 Andrew Haley <aph@redhat.com>
-
- * sun/misc/natUnsafe.cc (spinlock contructor): Call sched_yield().
-
-2009-01-11 Matthias Klose <doko@ubuntu.com>
-
- * Makefile.am (ecjx_LDADD): Add $(extra_ldflags).
- * Makefile.in: Regenerate.
-
-2009-01-06 Andrew John Hughes <gnu_andrew@member.fsf.org>
-
- Import GNU Classpath (libgcj-snapshot-20090102).
-
- * libjava/classpath/lib/java/text/RuleBasedCollator$CollationSorter.class,
- * libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class,
- * libjava/classpath/lib/java/text/MessageFormat.class,
- * libjava/classpath/lib/java/text/SimpleDateFormat.class,
- * libjava/classpath/lib/java/text/NumberFormat.class,
- * libjava/classpath/lib/java/text/RuleBasedCollator$CollationElement.class,
- * libjava/classpath/lib/java/text/MessageFormat$Field.class,
- * libjava/classpath/lib/java/text/RuleBasedCollator.class,
- * libjava/classpath/lib/java/text/NumberFormat$Field.class,
- * libjava/classpath/lib/gnu/xml/transform/Bindings.class,
- * libjava/classpath/lib/gnu/java/locale/LocaleData.class,
- * libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class,
- * libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.class,
- * libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h,
- * libjava/java/text/MessageFormat.h,
- * libjava/java/text/RuleBasedCollator$CollationSorter.h,
- * libjava/java/text/RuleBasedCollator.h,
- * libjava/java/text/SimpleDateFormat.h:
- Regenerated.
+2010-01-06 Matthias Klose <doko@ubuntu.com>
+ * Regenerate .class files with updated ecj.jar (based on 3.5.1).
diff --git a/libjava/ChangeLog-2009 b/libjava/ChangeLog-2009
new file mode 100644
index 00000000000..5a64e253438
--- /dev/null
+++ b/libjava/ChangeLog-2009
@@ -0,0 +1,514 @@
+2009-12-30 Robert Millan <rmh.gcc@aybabtu.com>
+
+ PR other/42537
+ * classpath/java/rmi/activation/Activatable.java: Fix typos in comment.
+
+2009-12-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * configure.ac: Remove code to un-precious-ize CC, CXX,
+ CXXFLAGS, CFLAGS, LDFLAGS.
+ * configure: Regenerate.
+
+2009-12-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * include/pa-signal.h: Do not include ucontext.h.
+ (SIGNAL_HANDLER): Add __attribute__ ((unused)) to signal handler
+ arguments.
+ (MAKE_THROW_FRAME): Do not adjust program counter.
+ * include/hppa-signal.h: Do not include sys/types.h, sys/syscall.h and
+ unistd.h.
+ (MAKE_THROW_FRAME): Do not adjust program counter.
+ (HANDLE_FPE): Define.
+ (INIT_SEGV, INIT_FPE): Revise indentation.
+
+2009-12-09 Bryce McKinlay <bmckinlay@gmail.com>
+
+ PR java/41991
+ * configure.ac (SYSTEMSPEC): Pass -allow_stack_execute to Darwin
+ linker.
+ * Makefile.am (gij_LDFLAGS): Remove extra_gij_ldflags.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+
+2009-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * configure.host (sparc*-sun-solaris2.*): New case.
+ * include/dwarf2-signal.h (MAKE_THROW_FRAME, SPARC case): Make dummy.
+ * include/sparc-signal.h: Do not include ucontext.h.
+ (SIGNAL_HANDLER): Rename symbol.
+ (FLUSH_REGISTER_WINDOWS): Delete.
+ (MAKE_THROW_FRAME): Make dummy.
+ (INIT_SEGV): Adjust for above renaming.
+ (INIT_FPE): Likewise.
+
+2009-12-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * configure.ac (net/if.h check): Include sys/socket.h if present.
+ * configure: Regenerate.
+
+2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+ * gcj/Makefile.in: Regenerate.
+ * include/Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+
+2009-12-02 Ben Elliston <bje@au.ibm.com>
+
+ * java/net/natVMURLConnection.cc (guessContentTypeFromBuffer):
+ Mark `bytes' and `valid' parameters as potentially unused.
+
+2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * testsuite/lib/libjava.exp (libjava_init): Add host-dependent
+ settings for LC_ALL and LANG.
+
+2009-11-30 Ben Elliston <bje@au.ibm.com>
+
+ * jni.cc (_Jv_JNI_GetObjectRefType): Mark `object' parameter as
+ maybe unused.
+
+2009-11-26 Ben Elliston <bje@au.ibm.com>
+
+ * posix-threads.cc (ParkHelper::unpark): Do not initialise result,
+ but assign it instead. Eliminates an unused variable warning when
+ the result == 0 assertion is disabled.
+
+2009-11-17 Andrew Haley <aph@redhat.com>
+
+ * posix-threads.cc (park): Rewrite code to handle time.
+ Move mutex lock before the call to compare_and_swap to avoid a
+ race condition.
+ Add some assertions.
+ (unpark): Add an assertion.
+ (init): Move here from posix-threads.h.
+ * include/posix-threads.h (destroy): removed.
+
+2009-11-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exception.cc (PERSONALITY_FUNCTION): Fix oversight.
+
+2009-11-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR bootstrap/38867
+ * configure.ac (expanded_prefix): New variable, set to the
+ default prefix if none was passed on the command line.
+ * configure: Regenerate.
+
+2009-10-22 Matthias Klose <doko@ubuntu.com>
+
+ * configure.ac: Rename --enable-plugin to --enable-browser-plugin,
+ pass --{en,dis}able-plugin to the classpath configure.
+ * configure: Regenerate.
+
+2009-09-30 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * configure.host (libgcj_sublib_ltflags): New variable.
+ * configure.ac (LIBGCJ_SUBLIB_LTFLAGS): AC_SUBST variable for
+ the above in makefiles.
+ * configure: Regenerate.
+
+ * Makefile.am (libgcj_la_LDFLAGS_NOUNDEF): Rename from this ...
+ (LIBJAVA_LDFLAGS_NOUNDEF): ... to this, initialise from
+ LIBGCJ_SUBLIB_LTFLAGS (only when building sublibs), and ...
+ (libgij_la_LDFLAGS, libgcj_tools_la_LDFLAGS, libjvm_la_LDFLAGS,
+ lib_gnu_awt_xlib_la_LDFLAGS, libgcj_bc_la_LDFLAGS): ... use it in
+ all these places to replace hard-coded -no-undefined and -bindir
+ flags, as well as ...
+ (libgcj_la_LDFLAGS): ... updating existing reference here.
+ * Makefile.in: Regenerate.
+ * include/Makefile.in: Likewise.
+ * testsuite/Makefile.in: Likewise.
+ * gcj/Makefile.in: Likewise.
+
+2009-09-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR libgcj/38298
+ * Makefile.am (libgcj_tools_la_LIBADD): Add '-lm'.
+ * Makefile.in: Regenerate.
+
+2009-09-22 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * configure.host (enable_libgcj_sublibs_default): New variable,
+ set for Cygwin and MinGW.
+ * configure.ac (--enable-libgcj-sublibs): New command-line switch.
+ (BUILD_SUBLIBS): New AM_CONDITIONAL relating to it.
+ (libgcj_spec_lgcj_override): New variable, define if building sublibs.
+ (libgcj_spec_lgcj_bc_override): Likewise for when USE_LIBGCJ_BC.
+ (LIBGCJ_SPEC_LGCJ): New variable to abstract "-lgcj" from specs.
+ (LIBGCJ_SPEC_LGCJ_BC): Likewise for when USE_LIBGCJ_BC.
+ (LIBGCJ_SPEC): Use them.
+ * configure: Regenerate.
+ * Makefile.am (LOWER_PACKAGE_FILES_LO): New variable.
+ (ALL_PACKAGE_SOURCE_FILES_LO): Likewise.
+ (NONCORE_PACKAGE_SOURCE_FILES_LO): Likewise.
+ (CORE_PACKAGE_SOURCE_FILES_LO): Likewise.
+ (toolexeclib_LTLIBRARIES): Add libgcj-noncore.la if building sublibs.
+ (libgcj_noncore_la_LIBADD_SUBOBJECTS): New variable.
+ (libgcj_la_LIBADD_SUBOBJECTS): Likewise.
+ (libgcj_la_LDFLAGS_NOUNDEF): Likewise.
+ (libgij_la_LDFLAGS): Add DLL-related options.
+ (libgcj_la_LDFLAGS): Use libgcj_la_LDFLAGS_NOUNDEF and
+ libgcj_la_LIBADD_SUBOBJECTS.
+ (libgcj_la_DEPENDENCIES): Adjust to match.
+ (libgcj_noncore_la_SOURCES, libgcj_noncore_la_LDFLAGS,
+ libgcj_noncore_la_LIBADD, libgcj_noncore_la_DEPENDENCIES,
+ libgcj_noncore_la_LINK): New automake variables for sublibrary.
+ (libgcj_tools_la_LDFLAGS): Add DLL-related flags.
+ (libgcj_tools_la_LIBADD): New variable.
+ (libjvm_la_LDFLAGS): Add DLL-related flags.
+ (lib_gnu_awt_xlib_la_LDFLAGS): Likewise.
+ (libgcj_bc_la_LDFLAGS): Likewise.
+ (libgij_la_DEPENDENCIES): Add dependency on libgcj-noncore.la when
+ building sublibs.
+ (libgcj_tools_la_DEPENDENCIES, libjvm_la_DEPENDENCIES,
+ lib_gnu_awt_xlib_la_DEPENDENCIES, jv_convert_DEPENDENCIES,
+ gcj_dbtool_DEPENDENCIES, gc_analyze_DEPENDENCIES, ecjx_DEPENDENCIES):
+ Likewise.
+ * Makefile.in: Regenerate.
+ * sysdep/i386/backtrace.h (MAIN_FUNC): New #define for main function,
+ set appropriately for Cygwin on that platform or to "main" elsewhere.
+ (fallback_backtrace): Use it to limit stack unwind.
+
+2009-09-16 Jonathan Yong <jon_y@users.sourceforge.net>
+
+ * gnu/java/security/jce/prng/natVMSecureRandomWin32.cc: Correct
+ UnsupportedOperationException namespace.
+
+2009-09-16 Andrew Haley <aph@redhat.com>
+
+ * libgcj_bc.c (__data_start, data_start, _end): Add dummy usage.
+
+2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.am (libgij_la_LINK, libjvm_la_LINK): New.
+ * Makefile.in: Regenerate.
+
+2009-09-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure: Rebuilt with modified libtool.m4.
+
+2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * configure.ac (AC_PREREQ): Bump to 2.64.
+
+2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * HACKING: Use aclocal-1.11 and autoconf-2.64 in example.
+ * Makefile.am (install-html, install-pdf): Remove.
+ * Makefile.in: Regenerate.
+
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * gcj/Makefile.in: Regenerate.
+ * include/Makefile.in: Regenerate.
+ * include/config.h.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+
+ * Makefile.am (libgcj_la_LINK, libgcj_tools_la_LINK)
+ (lib_gnu_awt_xlib_la_LINK, libgcj_bc_la_LINK, jv_convert_LINK)
+ (gcj_dbtool_LINK, gc_analyze_LINK, gij_LINK, ecjx_LINK)
+ (gappletviewer_LINK, gjarsigner_LINK, gkeytool_LINK)
+ (gjar_LINK, gjavah_LINK, gcjh_LINK, gnative2ascii_LINK)
+ (gorbd_LINK, grmid_LINK, gserialver_LINK, gtnameserv_LINK)
+ (grmic_LINK, grmiregistry_LINK, gjdoc_LINK): Add $(gjdoc_LDFLAGS).
+ (GCJLINK, LIBLINK, CXXLINK): Add $(LIBTOOLFLAGS).
+ * Makefile.in: Regenerate.
+
+2009-08-17 Andrew Haley <aph@redhat.com>
+
+ * Makefile.am (libgcj_bc_la_LIBADD): Delete.
+ * libgcj.spec.in: (LIBGCJ_BC_SPEC): New spec.
+ * configure.ac (LIBGCJ_BC_SPEC): New spec.
+
+2009-08-17 Andrew Haley <aph@redhat.com>
+
+ * Makefile.in,
+ include/Makefile.in,
+ testsuite/Makefile.in,
+ gcj/Makefile.in: Regenerate.
+
+2009-08-14 Kai Tietz <kai.tietz@onevision.com>
+
+ * gnu/java/security/jce/prng/natVMSecureRandomWin32.cc: Add include of
+ java/lang/UnsupportedOperationException.h file.
+
+2009-08-12 Andrew Haley <aph@redhat.com>
+
+ * sysdep/arm/locks.h: Use atomic builtins For Linux EABI.
+ * configure.ac: Add ATOMICSPEC.
+ * libgcj.spec.in: Likewise.
+ * configure.host (arm*-linux*): Add -Wno-abi to cxxflags.
+ (testsuite/libjava.jvmti/jvmti-interp.exp): Likewise.
+ (testsuite/libjava.jvmti/jvmti.exp): Likewise.
+ (testsuite/libjava.jni/jni.exp): Likewise.
+ Set ATOMICSPEC.
+ Set LDFLAGS to work around libtool feature.
+
+2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
+
+2009-07-28 David Daney <ddaney@caviumnetworks.com>
+
+ * gnu/gcj/util/natGCInfo.cc (nomem_handler): Use oomDumpName as
+ dump file name base.
+
+2009-07-27 Andrew John Hughes <ahughes@redhat.com>
+
+ PR libgcj/40616
+ * java/io/PrintStream.class: Regenerated.
+ * java/io/PrintStream.h: Updated.
+ * java/io/PrintStream.java:
+ (PrintStream(File)): Ported from GNU Classpath
+ version.
+ (PrintStream(File, String)): Likewise.
+ (PrintStream(String)): Likewise.
+ (PrintStream(String, String)): Likewise.
+
+2009-07-24 Kai Tietz <kai.tietz@onevision.com>
+
+ * gnu/java/security/jce/prng/natVMSecureRandomWin32.cc: New Win32
+ specific implementation.
+
+2009-07-23 Matthias Klose <doko@ubuntu.com>
+
+ * contrib/aotcompile.py.in: Use hashlib instead of md5 if available.
+
+2009-07-17 Joseph Myers <joseph@codesourcery.com>
+
+ PR other/40784
+ * configure: Regenerate.
+
+2009-07-16 Joseph Myers <joseph@codesourcery.com>
+
+ * configure: Regenerate.
+
+2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR testsuite/40699
+ PR testsuite/40707
+ PR testsuite/40709
+ * testsuite/lib/libjava.exp: Revert 2009-06-30 commit.
+
+2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * testsuite/lib/libjava.exp (libjava_init): Just add
+ find_libgcc_s to libjava_libgcc_s_path, rather than every
+ libgcc multilib directory.
+ (libjava_arguments): Explain why we add "." to ld_library_path.
+ (gcj_invoke, exec_gij, libjava_invoke): Use add_path.
+
+2009-06-22 Matthias Klose <doko@ubuntu.com>
+
+ * libtool-version: Bump soversion.
+
+2009-05-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.ac: Insert libgcjdir in the GCJ passed in the
+ environment, rather than overriding completely.
+ * configure: Rebuilt.
+
+2009-04-28 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * testsuite/libjava.jvmti/jvmti-interp.exp
+ (gcj_jni_compile_c_to_so): Fix so extension to '.dll' on win32.
+ * testsuite/lib/libjava.exp (libjava_init): Likewise.
+ * testsuite/libjava.jni/jni.exp
+ (gcj_jni_compile_c_to_so): Likewise.
+ (gcj_jni_test_one): Likewise.
+
+2009-04-28 Andrew Haley <aph@redhat.com>
+
+ PR libgcj/39899
+ * Makefile.am (libgcj_tools_la_LDFLAGS): Add
+ -fno-bootstrap-classes to libgcj_tools_la_GCJFLAGS.
+ * Makefile.in: Regenerate.
+
+2009-04-28 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * interpret.cc (DEBUG): Rename this ...
+ (__GCJ_DEBUG): ... to this throughout.
+ * configure.ac: Likewise.
+ * interpret-run.cc: Likewise.
+ * prims.cc: Likewise.
+ * gnu/classpath/natConfiguration.cc: Likewise.
+ * include/java-assert.h: Likewise.
+ * java/io/natVMObjectInputStream.cc: Likewise.
+
+ * configure: Regenerate.
+ * include/config.h.in: Regenerate.
+
+2009-04-28 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * java/lang/natVMClassLoader.cc
+ (java::lang::VMClassLoader::defineClass): Fix assert.
+
+2009-04-26 Matthias Klose <doko@ubuntu.com>
+
+ * contrib/aot-compile.in: Print diagnostics for malformed or invalid
+ class files.
+ * contrib/generate-cacerts.pl.in: New.
+ * configure.ac (AC_CONFIG_FILES): Add generate-cacerts.pl.
+
+2009-04-24 Matthias Klose <doko@ubuntu.com>
+
+ * configure.ac: Create missing directory gnu/java/security/jce/prng.
+ * configure: Regenerate.
+
+2009-04-23 Matthias Klose <doko@ubuntu.com>
+
+ * Makefile.am (install-data-local): Fix symlinks to header files.
+ * Makefile.in: Regenerate.
+
+2009-04-23 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * gnu/classpath/jdwp/natVMVirtualMachine.cc (handle_single_step): Use
+ casted pointer in debugging assert.
+ (jdwpBreakpointCB): Likewise.
+
+2009-04-09 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * configure.host: Restore match for darwin9 or later.
+ * configure.ac: Likewise.
+ * configure: Regenerate.
+
+2009-03-11 Andrew Haley <aph@redhat.com>
+
+ * java/lang/natClassLoader.cc (_Jv_RegisterClassHookDefault): Clear
+ INTERPRETED access modifier.
+
+2009-03-11 Tom Tromey <tromey@redhat.com>
+
+ * link.cc (_Jv_Linker::find_field): Pass the field_type to
+ _Jv_CheckOrCreateLoadingConstraint, not the class that is
+ requesting the field.
+
+2009-03-03 Andrew John Hughes <ahughes@redhat.com>
+
+ * Makefile.am:
+ Remove dangling src.zip and javac symlinks.
+ Fix java.security symlink to use toolexeclibdir
+ as classpath/resource/Makefile.am does.
+ * Makefile.in,
+ * configure: Regenerated.
+ * configure.ac: Drop hard-coded prefix,
+ thus removing sdk_dir and making jre_dir="jre".
+ Map x86_64 to amd64 as used by OpenJDK.
+ * gcj/Makefile.in,
+ * include/Makefile.in,
+ * testsuite/Makefile.in: Regenerated.
+
+2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * configure: Regenerate.
+
+2009-02-13 Andrew John Hughes <ahughes@redhat.com>
+
+ Import GNU Classpath (classpath-0_98-release).
+
+ * Makefile.am: Add natVMSecureRandom.cc.
+ * Makefile.in: Regenerated.
+ * classpath/ChangeLog,
+ * classpath/Makefile.am: Merged.
+ * classpath/Makefile.in: Regenerated.
+ * classpath/NEWS: Merged.
+ * classpath/config.guess,
+ * classpath/config.sub,
+ * classpath/configure: Regenerated.
+ * classpath/configure.ac: Merged.
+ * classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java,
+ * classpath/gnu/java/security/jce/prng/SecureRandomAdapter.java,
+ * classpath/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java,
+ * classpath/gnu/javax/crypto/jce/prng/CSPRNGSpi.java,
+ * classpath/gnu/javax/crypto/jce/prng/FortunaImpl.java,
+ * classpath/gnu/javax/crypto/jce/prng/ICMRandomSpi.java,
+ * classpath/gnu/javax/crypto/jce/prng/UMacRandomSpi.java,
+ * classpath/gnu/javax/crypto/prng/ICMGenerator.java,
+ * classpath/gnu/xml/stream/XMLParser.java,
+ * classpath/java/security/SecureRandom.java,
+ * classpath/native/jni/native-lib/cpproc.c,
+ * classpath/native/plugin/gcjwebplugin.cc,
+ * classpath/tools/gnu/classpath/tools/gjdoc/Main.java: Merged.
+ * configure: Regenerated.
+ * configure.ac: Add symlink for natVMSecureRandomPosix.cc to natVMSecureRandom.cc
+ * gnu/classpath/Configuration.java: Change version to 0.98.
+ * gnu/java/security/jce/prng/SecureRandomAdapter.h: Regenerated.
+ * gnu/java/security/jce/prng/VMSecureRandom.h: Generated.
+ * gnu/java/security/jce/prng/VMSecureRandom.java: Added native implementation.
+ * gnu/java/security/jce/prng/natVMSecureRandomPosix.cc: Wrapper around /dev/random.
+ * gnu/javax/crypto/jce/prng/CSPRNGSpi.h,
+ * gnu/javax/crypto/jce/prng/FortunaImpl.h,
+ * java/security/SecureRandom.h: Regenerated.
+ * java/security/VMSecureRandom$Spinner.h,
+ * java/security/VMSecureRandom.h,
+ * java/security/VMSecureRandom.java: Removed.
+ * sources.am: Move VMSecureRandom to gnu.java.security.jce.prng.
+
+2009-02-10 Mark Mitchell <mark@codesourcery.com>
+
+ * Makefile.am (AM_MAKEFLAGS): Pass down datadir.
+ * Makefile.in: Regenerated.
+
+2009-02-09 Mark Mitchell <mark@codesourcery.com>
+
+ * addr2name.awk: Remove.
+ * Makefile.am (bin_SCRIPTS): Remove addr2name.awk.
+ * Makefile.in: Regenerated.
+
+ * configure.ac: Define enable_sjlj_exceptions
+ appropriately under the ARM EH ABI.
+ * configure: Regenerated.
+
+ * Makefile.am (LTLDFLAGS): Define.
+ (GCJLINK): Use it.
+ (LIBLINK): Likewise.
+ * Makefile.in: Regenerated.
+
+2009-02-03 Jakub Jelinek <jakub@redhat.com>
+
+ * gnu/gcj/convert/Convert.java (version): Update copyright notice
+ dates.
+ * gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
+
+2009-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR libgcj/38872
+ * gcj/javaprims.h (_Jv_CreateJavaVM): Change to extern "C" symbol.
+ * libjgc_bc.c (_Jv_GetStringChars): Remove.
+
+2009-01-12 Andrew Haley <aph@redhat.com>
+
+ * sun/misc/natUnsafe.cc (spinlock contructor): Call sched_yield().
+
+2009-01-11 Matthias Klose <doko@ubuntu.com>
+
+ * Makefile.am (ecjx_LDADD): Add $(extra_ldflags).
+ * Makefile.in: Regenerate.
+
+2009-01-06 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ Import GNU Classpath (libgcj-snapshot-20090102).
+
+ * libjava/classpath/lib/java/text/RuleBasedCollator$CollationSorter.class,
+ * libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class,
+ * libjava/classpath/lib/java/text/MessageFormat.class,
+ * libjava/classpath/lib/java/text/SimpleDateFormat.class,
+ * libjava/classpath/lib/java/text/NumberFormat.class,
+ * libjava/classpath/lib/java/text/RuleBasedCollator$CollationElement.class,
+ * libjava/classpath/lib/java/text/MessageFormat$Field.class,
+ * libjava/classpath/lib/java/text/RuleBasedCollator.class,
+ * libjava/classpath/lib/java/text/NumberFormat$Field.class,
+ * libjava/classpath/lib/gnu/xml/transform/Bindings.class,
+ * libjava/classpath/lib/gnu/java/locale/LocaleData.class,
+ * libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class,
+ * libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.class,
+ * libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h,
+ * libjava/java/text/MessageFormat.h,
+ * libjava/java/text/RuleBasedCollator$CollationSorter.h,
+ * libjava/java/text/RuleBasedCollator.h,
+ * libjava/java/text/SimpleDateFormat.h:
+ Regenerated.
+
diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/Vio.class b/libjava/classpath/lib/gnu/CORBA/CDR/Vio.class
index 5dc83f21216..5065259fcb2 100644
--- a/libjava/classpath/lib/gnu/CORBA/CDR/Vio.class
+++ b/libjava/classpath/lib/gnu/CORBA/CDR/Vio.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class
index 79bada0f96c..1f2af175b75 100644
--- a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class
+++ b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime.class b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime.class
index ebee731f2db..19228244ffd 100644
--- a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime.class
+++ b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/ContextHandler.class b/libjava/classpath/lib/gnu/CORBA/GIOP/ContextHandler.class
index 63d4ba20655..aeecc46454b 100644
--- a/libjava/classpath/lib/gnu/CORBA/GIOP/ContextHandler.class
+++ b/libjava/classpath/lib/gnu/CORBA/GIOP/ContextHandler.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/CORBA/Interceptor/Registrator.class b/libjava/classpath/lib/gnu/CORBA/Interceptor/Registrator.class
index 1b2bea62185..99314d5b5c4 100644
--- a/libjava/classpath/lib/gnu/CORBA/Interceptor/Registrator.class
+++ b/libjava/classpath/lib/gnu/CORBA/Interceptor/Registrator.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient$1.class b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient$1.class
index a8964512b4c..714e4c8a923 100644
--- a/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient$1.class
+++ b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$1.class b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$1.class
index e72dc1173fa..5d9199621eb 100644
--- a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$1.class
+++ b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$2.class b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$2.class
index 6a3955a91df..a650a903ddc 100644
--- a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$2.class
+++ b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$2.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFunctional.class b/libjava/classpath/lib/gnu/CORBA/OrbFunctional.class
index d9eb540b144..2afa8be65b4 100644
--- a/libjava/classpath/lib/gnu/CORBA/OrbFunctional.class
+++ b/libjava/classpath/lib/gnu/CORBA/OrbFunctional.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/LocalDelegate.class b/libjava/classpath/lib/gnu/CORBA/Poa/LocalDelegate.class
index d52d701190e..a67cc5cbfa5 100644
--- a/libjava/classpath/lib/gnu/CORBA/Poa/LocalDelegate.class
+++ b/libjava/classpath/lib/gnu/CORBA/Poa/LocalDelegate.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class
index 8f9878b1c62..45e3aad0047 100644
--- a/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class
+++ b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class b/libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class
index f787e7b67e0..541941f68a1 100644
--- a/libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class
+++ b/libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class b/libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class
index 873e8aba888..c7e6d16a4c1 100644
--- a/libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class
+++ b/libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/CORBA/gnuRequest.class b/libjava/classpath/lib/gnu/CORBA/gnuRequest.class
index 61633c2ce0d..ecedce9324d 100644
--- a/libjava/classpath/lib/gnu/CORBA/gnuRequest.class
+++ b/libjava/classpath/lib/gnu/CORBA/gnuRequest.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp$1.class b/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp$1.class
index e5196f951a0..a4d847173b5 100644
--- a/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp$1.class
+++ b/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader$1.class b/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader$1.class
index deb9d211d40..02da9765d2c 100644
--- a/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader$1.class
+++ b/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/gcj/runtime/SharedLibLoader.class b/libjava/classpath/lib/gnu/gcj/runtime/SharedLibLoader.class
index 44636a57257..7cbd3f67bb3 100644
--- a/libjava/classpath/lib/gnu/gcj/runtime/SharedLibLoader.class
+++ b/libjava/classpath/lib/gnu/gcj/runtime/SharedLibLoader.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/gcj/util/Debug.class b/libjava/classpath/lib/gnu/gcj/util/Debug.class
index ac8d1ecde36..3639ae737cf 100644
--- a/libjava/classpath/lib/gnu/gcj/util/Debug.class
+++ b/libjava/classpath/lib/gnu/gcj/util/Debug.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/awt/color/ColorLookUpTable.class b/libjava/classpath/lib/gnu/java/awt/color/ColorLookUpTable.class
index 899c1588120..34ba8e6ff4b 100644
--- a/libjava/classpath/lib/gnu/java/awt/color/ColorLookUpTable.class
+++ b/libjava/classpath/lib/gnu/java/awt/color/ColorLookUpTable.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/awt/font/OpenTypeFontPeer$XLineMetrics.class b/libjava/classpath/lib/gnu/java/awt/font/OpenTypeFontPeer$XLineMetrics.class
index 2c416a3136e..268f885f644 100644
--- a/libjava/classpath/lib/gnu/java/awt/font/OpenTypeFontPeer$XLineMetrics.class
+++ b/libjava/classpath/lib/gnu/java/awt/font/OpenTypeFontPeer$XLineMetrics.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/GlyphHints.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/GlyphHints.class
index 0676165da7b..5201d425845 100644
--- a/libjava/classpath/lib/gnu/java/awt/font/autofit/GlyphHints.class
+++ b/libjava/classpath/lib/gnu/java/awt/font/autofit/GlyphHints.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFont.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFont.class
index 37fce044ea6..cb8f68b2c9a 100644
--- a/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFont.class
+++ b/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFont.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Zone.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Zone.class
index 11c98e001a8..81587fd94c5 100644
--- a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Zone.class
+++ b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Zone.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/awt/image/ImageConverter.class b/libjava/classpath/lib/gnu/java/awt/image/ImageConverter.class
index 208d59b591b..961363d1399 100644
--- a/libjava/classpath/lib/gnu/java/awt/image/ImageConverter.class
+++ b/libjava/classpath/lib/gnu/java/awt/image/ImageConverter.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/AbstractGraphics2D.class b/libjava/classpath/lib/gnu/java/awt/java2d/AbstractGraphics2D.class
index fce1b31ce6c..9dd5b01716e 100644
--- a/libjava/classpath/lib/gnu/java/awt/java2d/AbstractGraphics2D.class
+++ b/libjava/classpath/lib/gnu/java/awt/java2d/AbstractGraphics2D.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class
index 017314c5b0b..aac28a8c2a1 100644
--- a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class
+++ b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class
index 12f5a707025..d406fb6f65d 100644
--- a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class
+++ b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage$1.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage$1.class
index f5174e93447..5fc1e6249e2 100644
--- a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage$1.class
+++ b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer.class
index 9a30ebceaac..6fa417b0fed 100644
--- a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer.class
+++ b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextAreaPeer$1.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextAreaPeer$1.class
index 39471592d1b..c5c9e47e504 100644
--- a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextAreaPeer$1.class
+++ b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextAreaPeer$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/awt/print/PostScriptGraphics2D.class b/libjava/classpath/lib/gnu/java/awt/print/PostScriptGraphics2D.class
index 89ad94e3fbf..276b75f8992 100644
--- a/libjava/classpath/lib/gnu/java/awt/print/PostScriptGraphics2D.class
+++ b/libjava/classpath/lib/gnu/java/awt/print/PostScriptGraphics2D.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/TypeSignature.class b/libjava/classpath/lib/gnu/java/lang/reflect/TypeSignature.class
index 3bb063f6a91..98068f5e776 100644
--- a/libjava/classpath/lib/gnu/java/lang/reflect/TypeSignature.class
+++ b/libjava/classpath/lib/gnu/java/lang/reflect/TypeSignature.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.class b/libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.class
index 51a3eb067c3..e1e26cb0631 100644
--- a/libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.class
+++ b/libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleData.class b/libjava/classpath/lib/gnu/java/locale/LocaleData.class
index ccee011a495..64d83fd1a9d 100644
--- a/libjava/classpath/lib/gnu/java/locale/LocaleData.class
+++ b/libjava/classpath/lib/gnu/java/locale/LocaleData.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/net/DefaultContentHandlerFactory.class b/libjava/classpath/lib/gnu/java/net/DefaultContentHandlerFactory.class
index 75764add844..a636e204b85 100644
--- a/libjava/classpath/lib/gnu/java/net/DefaultContentHandlerFactory.class
+++ b/libjava/classpath/lib/gnu/java/net/DefaultContentHandlerFactory.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/net/IndexListParser.class b/libjava/classpath/lib/gnu/java/net/IndexListParser.class
index d812ed60e27..474a8c19100 100644
--- a/libjava/classpath/lib/gnu/java/net/IndexListParser.class
+++ b/libjava/classpath/lib/gnu/java/net/IndexListParser.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/net/loader/Load_gcjlib.class b/libjava/classpath/lib/gnu/java/net/loader/Load_gcjlib.class
index 3293b2e59e7..ac7df555e42 100644
--- a/libjava/classpath/lib/gnu/java/net/loader/Load_gcjlib.class
+++ b/libjava/classpath/lib/gnu/java/net/loader/Load_gcjlib.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection$1.class b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection$1.class
index 4e44061661c..72dd2baa05b 100644
--- a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection$1.class
+++ b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$1.class b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$1.class
index e98e10655f1..b61b3178a1f 100644
--- a/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$1.class
+++ b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$2.class b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$2.class
index 00d0f210b5e..85292919491 100644
--- a/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$2.class
+++ b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$2.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$1.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$1.class
index 1d7d76914a2..474ea6b89fe 100644
--- a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$1.class
+++ b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$2.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$2.class
index a03951c9414..33280f1278b 100644
--- a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$2.class
+++ b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$2.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Provider$1.class b/libjava/classpath/lib/gnu/java/nio/charset/Provider$1.class
index 8fea10f671f..3b481f8affc 100644
--- a/libjava/classpath/lib/gnu/java/nio/charset/Provider$1.class
+++ b/libjava/classpath/lib/gnu/java/nio/charset/Provider$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$1.class b/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$1.class
index 646f96ef110..050dbe36742 100644
--- a/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$1.class
+++ b/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$2.class b/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$2.class
index 25ff4119d7f..7b14ac57654 100644
--- a/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$2.class
+++ b/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$2.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/rmi/activation/BidiTable.class b/libjava/classpath/lib/gnu/java/rmi/activation/BidiTable.class
index 2399011b826..7d8e3e9b070 100644
--- a/libjava/classpath/lib/gnu/java/rmi/activation/BidiTable.class
+++ b/libjava/classpath/lib/gnu/java/rmi/activation/BidiTable.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.class b/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.class
index d8b3cae4250..f0bb54a55f9 100644
--- a/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.class
+++ b/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/rmi/server/ConnectionRunnerPool.class b/libjava/classpath/lib/gnu/java/rmi/server/ConnectionRunnerPool.class
index 8acb0f86214..055b991a2f3 100644
--- a/libjava/classpath/lib/gnu/java/rmi/server/ConnectionRunnerPool.class
+++ b/libjava/classpath/lib/gnu/java/rmi/server/ConnectionRunnerPool.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/rmi/server/RMIDefaultSocketFactory.class b/libjava/classpath/lib/gnu/java/rmi/server/RMIDefaultSocketFactory.class
index d00d777fbc4..856e0ddff6c 100644
--- a/libjava/classpath/lib/gnu/java/rmi/server/RMIDefaultSocketFactory.class
+++ b/libjava/classpath/lib/gnu/java/rmi/server/RMIDefaultSocketFactory.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectInputStream.class b/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectInputStream.class
index 6cb48a65e3e..bfdb39569ec 100644
--- a/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectInputStream.class
+++ b/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectInputStream.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectOutputStream.class b/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectOutputStream.class
index 56721ea9898..39323eec804 100644
--- a/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectOutputStream.class
+++ b/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectOutputStream.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/rmi/server/TripleKey.class b/libjava/classpath/lib/gnu/java/rmi/server/TripleKey.class
index 661d491ff49..194ab0006aa 100644
--- a/libjava/classpath/lib/gnu/java/rmi/server/TripleKey.class
+++ b/libjava/classpath/lib/gnu/java/rmi/server/TripleKey.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnection.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnection.class
index 39f35efdc9b..89806707896 100644
--- a/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnection.class
+++ b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnection.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager$1.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager$1.class
index d1d75331f13..114ceb092c1 100644
--- a/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager$1.class
+++ b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager.class
index fcea7a06481..52973a24228 100644
--- a/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager.class
+++ b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastServerRef.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastServerRef.class
index 9c3fa0b6724..f9088dd15b1 100644
--- a/libjava/classpath/lib/gnu/java/rmi/server/UnicastServerRef.class
+++ b/libjava/classpath/lib/gnu/java/rmi/server/UnicastServerRef.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/security/PolicyFile$1.class b/libjava/classpath/lib/gnu/java/security/PolicyFile$1.class
index 9e3951ad06a..4d19c4ac906 100644
--- a/libjava/classpath/lib/gnu/java/security/PolicyFile$1.class
+++ b/libjava/classpath/lib/gnu/java/security/PolicyFile$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/security/PolicyFile.class b/libjava/classpath/lib/gnu/java/security/PolicyFile.class
index e07bd4ce943..3cca5eec45b 100644
--- a/libjava/classpath/lib/gnu/java/security/PolicyFile.class
+++ b/libjava/classpath/lib/gnu/java/security/PolicyFile.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/security/Properties$1.class b/libjava/classpath/lib/gnu/java/security/Properties$1.class
index 3702eebd791..1af67e70284 100644
--- a/libjava/classpath/lib/gnu/java/security/Properties$1.class
+++ b/libjava/classpath/lib/gnu/java/security/Properties$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/security/der/BitString.class b/libjava/classpath/lib/gnu/java/security/der/BitString.class
index 532f7190f03..664e59d37f4 100644
--- a/libjava/classpath/lib/gnu/java/security/der/BitString.class
+++ b/libjava/classpath/lib/gnu/java/security/der/BitString.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/security/key/dss/DSSPrivateKey.class b/libjava/classpath/lib/gnu/java/security/key/dss/DSSPrivateKey.class
index 426f3510242..7ebaed92ce5 100644
--- a/libjava/classpath/lib/gnu/java/security/key/dss/DSSPrivateKey.class
+++ b/libjava/classpath/lib/gnu/java/security/key/dss/DSSPrivateKey.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/security/key/dss/DSSPublicKey.class b/libjava/classpath/lib/gnu/java/security/key/dss/DSSPublicKey.class
index 54494666d8d..26fbb049273 100644
--- a/libjava/classpath/lib/gnu/java/security/key/dss/DSSPublicKey.class
+++ b/libjava/classpath/lib/gnu/java/security/key/dss/DSSPublicKey.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAKey.class b/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAKey.class
index 83f93b1aeb6..47b72ba5ff5 100644
--- a/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAKey.class
+++ b/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAKey.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPrivateKey.class b/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPrivateKey.class
index 975a662e6ee..940573bf34e 100644
--- a/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPrivateKey.class
+++ b/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPrivateKey.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPublicKey.class b/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPublicKey.class
index 27ed78d3a58..9e08eeb534d 100644
--- a/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPublicKey.class
+++ b/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPublicKey.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/security/provider/Gnu$1.class b/libjava/classpath/lib/gnu/java/security/provider/Gnu$1.class
index 2ac0ddfe8ed..e1e144e726f 100644
--- a/libjava/classpath/lib/gnu/java/security/provider/Gnu$1.class
+++ b/libjava/classpath/lib/gnu/java/security/provider/Gnu$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/security/util/IntegerUtil$1.class b/libjava/classpath/lib/gnu/java/security/util/IntegerUtil$1.class
index 2433f46cbaa..6b94e59aed1 100644
--- a/libjava/classpath/lib/gnu/java/security/util/IntegerUtil$1.class
+++ b/libjava/classpath/lib/gnu/java/security/util/IntegerUtil$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/security/x509/X509CRLSelectorImpl.class b/libjava/classpath/lib/gnu/java/security/x509/X509CRLSelectorImpl.class
index c23f76eb00e..0fae80b6202 100644
--- a/libjava/classpath/lib/gnu/java/security/x509/X509CRLSelectorImpl.class
+++ b/libjava/classpath/lib/gnu/java/security/x509/X509CRLSelectorImpl.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/security/x509/X509CertSelectorImpl.class b/libjava/classpath/lib/gnu/java/security/x509/X509CertSelectorImpl.class
index 823a6578b0a..8986bf32bf0 100644
--- a/libjava/classpath/lib/gnu/java/security/x509/X509CertSelectorImpl.class
+++ b/libjava/classpath/lib/gnu/java/security/x509/X509CertSelectorImpl.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$1.class b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$1.class
index 2abf6457e22..b8bee718616 100644
--- a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$1.class
+++ b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/util/ZoneInfo.class b/libjava/classpath/lib/gnu/java/util/ZoneInfo.class
index ffd7cd8dd1a..04467ed143c 100644
--- a/libjava/classpath/lib/gnu/java/util/ZoneInfo.class
+++ b/libjava/classpath/lib/gnu/java/util/ZoneInfo.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences$1.class b/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences$1.class
index cfc39c82506..adc8b1832d5 100644
--- a/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences$1.class
+++ b/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/util/regex/RE.class b/libjava/classpath/lib/gnu/java/util/regex/RE.class
index 1f3b9e6a874..c7c924d5c09 100644
--- a/libjava/classpath/lib/gnu/java/util/regex/RE.class
+++ b/libjava/classpath/lib/gnu/java/util/regex/RE.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$1.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$1.class
index eb3b70ef1d9..cdc44f3ae32 100644
--- a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$1.class
+++ b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty.class
index fed279b24fa..fd3c8ca8d4a 100644
--- a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty.class
+++ b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/Cascade.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/Cascade.class
index af082cfa5d1..c4250dd8635 100644
--- a/libjava/classpath/lib/gnu/javax/crypto/assembly/Cascade.class
+++ b/libjava/classpath/lib/gnu/javax/crypto/assembly/Cascade.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto$1.class b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto$1.class
index 077dc114496..a7540155b9d 100644
--- a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto$1.class
+++ b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl$1.class b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl$1.class
index a67703647ce..32085b2731f 100644
--- a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl$1.class
+++ b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPrivateKey.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPrivateKey.class
index ea6c6c3dbb9..b7cc56aacde 100644
--- a/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPrivateKey.class
+++ b/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPrivateKey.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPublicKey.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPublicKey.class
index 4ce1e3aa7a7..0fc33e3aa74 100644
--- a/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPublicKey.class
+++ b/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPublicKey.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$1.class b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$1.class
index aac562809d9..2f7b2d8f478 100644
--- a/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$1.class
+++ b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/ICMGenerator.class b/libjava/classpath/lib/gnu/javax/crypto/prng/ICMGenerator.class
index 53776d6de50..e7015c6fe28 100644
--- a/libjava/classpath/lib/gnu/javax/crypto/prng/ICMGenerator.class
+++ b/libjava/classpath/lib/gnu/javax/crypto/prng/ICMGenerator.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/ClientFactory.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/ClientFactory.class
index 02f22f692f5..786867ea20f 100644
--- a/libjava/classpath/lib/gnu/javax/crypto/sasl/ClientFactory.class
+++ b/libjava/classpath/lib/gnu/javax/crypto/sasl/ClientFactory.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/ServerFactory.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/ServerFactory.class
index a7eb9b4a2d9..cbb8e36db77 100644
--- a/libjava/classpath/lib/gnu/javax/crypto/sasl/ServerFactory.class
+++ b/libjava/classpath/lib/gnu/javax/crypto/sasl/ServerFactory.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPClient.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPClient.class
index b8fc56d34fe..293b0fc86fc 100644
--- a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPClient.class
+++ b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPClient.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGDecoder.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGDecoder.class
index ab6c3034e93..467cdfb7abe 100644
--- a/libjava/classpath/lib/gnu/javax/imageio/png/PNGDecoder.class
+++ b/libjava/classpath/lib/gnu/javax/imageio/png/PNGDecoder.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory$1.class b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory$1.class
index 6acf5a84712..644d7a5c43d 100644
--- a/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory$1.class
+++ b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$1.class
index 303fee300e3..f6d35913ddf 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$1.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake.class
index fd275c001a3..fb26218e363 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.class
index 5279e3b19b1..b86cf3d9b77 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.class
index 9c364315302..d46f2d29fec 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.class
index 2bc032c5692..a8c4095b972 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake.class
index 1e344fc6206..b5a0a9086e4 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.class
index 71975e7c82d..a935a4e9152 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/DelegatedTask.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/DelegatedTask.class
index 73fdab6cfb8..ac685c0c82d 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/DelegatedTask.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/DelegatedTask.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.class
index 018d1d5c622..275df65f8a7 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/InputSecurityParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/InputSecurityParameters.class
index fc39498e5c7..4fa66132799 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/InputSecurityParameters.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/InputSecurityParameters.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie$1.class
index e73c6553273..82db47c1d48 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie$1.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/OutputSecurityParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/OutputSecurityParameters.class
index a2b35ee158e..a310c8fc232 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/OutputSecurityParameters.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/OutputSecurityParameters.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl.class
index 3766f3e344b..07546f9c8bb 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.class
index 604d7d2b0e8..06e34286b33 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$1.class
index 967eaa9c356..728a0ec60e5 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$1.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl.class
index dc39f09ab9d..d0435ed496c 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.class
index 7a0d9d469fc..ae830c6937b 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.class
index 1c50e6e1a7d..3e65934a8ed 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake.class
index e251d296a4c..588f36e97e9 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext$1.class
index 99584f80ab7..08795731641 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext$1.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$1.class
index cfa4d1346c6..201b07968f8 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$1.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$2.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$2.class
index 970d3cdc044..ce8cacd1c2e 100644
--- a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$2.class
+++ b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$2.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class
index e23fa9d15a2..c4e62948ad1 100644
--- a/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class
+++ b/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class
index 9432c307eb5..0b115400afe 100644
--- a/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class
+++ b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class
index 1a4ed44b0f9..a7d080b9b19 100644
--- a/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class
+++ b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks$1.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks$1.class
index 2ba22d9c990..aa8cd0a27a0 100644
--- a/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks$1.class
+++ b/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$1.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$1.class
index dcaffb1cf1b..3e29c41284f 100644
--- a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$1.class
+++ b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$2.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$2.class
index e78394b3b3b..1f89ab82e14 100644
--- a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$2.class
+++ b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$2.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$3.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$3.class
index 1284c92a4f4..2d3a7e49938 100644
--- a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$3.class
+++ b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$3.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$4.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$4.class
index 5c91afa24cf..dc1452e3fa6 100644
--- a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$4.class
+++ b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$4.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$5.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$5.class
index ca29b3f394b..6c2302fd667 100644
--- a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$5.class
+++ b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$5.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$6.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$6.class
index dd5b31f9b7c..32ed242279c 100644
--- a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$6.class
+++ b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$6.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$7.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$7.class
index 9c2b7418e64..eb018c9edfc 100644
--- a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$7.class
+++ b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$7.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class
index 098f70ccb2f..14f2ee9a929 100644
--- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class
+++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer.class b/libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer.class
index 5d7c6b60b09..9dd110b5a37 100644
--- a/libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer.class
+++ b/libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser$1.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser$1.class
index eae26f88f3b..e294f663bee 100644
--- a/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser$1.class
+++ b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.class
index 5d6d78626bc..43ef48ba856 100644
--- a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.class
+++ b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.class
index 58ec237b1a6..50c4f8326dc 100644
--- a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.class
+++ b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$1.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$1.class
index 3d6b595ce9b..cd6e0d96657 100644
--- a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$1.class
+++ b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$2.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$2.class
index e25727b1acb..bae2612e4a2 100644
--- a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$2.class
+++ b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$2.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver.class b/libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver.class
index d690c175254..eaefc6084c9 100644
--- a/libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver.class
+++ b/libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser.class b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser.class
index ca02bddf3e6..5799628aee6 100644
--- a/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser.class
+++ b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/dom/ImplementationSource.class b/libjava/classpath/lib/gnu/xml/dom/ImplementationSource.class
index 6ba53300369..b4014f420e7 100644
--- a/libjava/classpath/lib/gnu/xml/dom/ImplementationSource.class
+++ b/libjava/classpath/lib/gnu/xml/dom/ImplementationSource.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformer.class b/libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformer.class
index 5595c3c834d..67d5a9e5f5e 100644
--- a/libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformer.class
+++ b/libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformer.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/pipeline/TeeConsumer.class b/libjava/classpath/lib/gnu/xml/pipeline/TeeConsumer.class
index 2e620356d3a..31a83679018 100644
--- a/libjava/classpath/lib/gnu/xml/pipeline/TeeConsumer.class
+++ b/libjava/classpath/lib/gnu/xml/pipeline/TeeConsumer.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.class
index 386507e4397..7f0d4bc348c 100644
--- a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.class
+++ b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/stream/XIncludeFilter.class b/libjava/classpath/lib/gnu/xml/stream/XIncludeFilter.class
index 24ba028ad10..8ddbd943ebf 100644
--- a/libjava/classpath/lib/gnu/xml/stream/XIncludeFilter.class
+++ b/libjava/classpath/lib/gnu/xml/stream/XIncludeFilter.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$Doctype.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Doctype.class
index f05bfcae545..1b7c5983686 100644
--- a/libjava/classpath/lib/gnu/xml/stream/XMLParser$Doctype.class
+++ b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Doctype.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/transform/DocumentFunction.class b/libjava/classpath/lib/gnu/xml/transform/DocumentFunction.class
index a4797a838c1..93b66b186b9 100644
--- a/libjava/classpath/lib/gnu/xml/transform/DocumentFunction.class
+++ b/libjava/classpath/lib/gnu/xml/transform/DocumentFunction.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/transform/ElementAvailableFunction.class b/libjava/classpath/lib/gnu/xml/transform/ElementAvailableFunction.class
index 98e0bb87bd3..b4a36cb062b 100644
--- a/libjava/classpath/lib/gnu/xml/transform/ElementAvailableFunction.class
+++ b/libjava/classpath/lib/gnu/xml/transform/ElementAvailableFunction.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/transform/FunctionAvailableFunction.class b/libjava/classpath/lib/gnu/xml/transform/FunctionAvailableFunction.class
index f73e2a5fbf6..8fe40cd36f9 100644
--- a/libjava/classpath/lib/gnu/xml/transform/FunctionAvailableFunction.class
+++ b/libjava/classpath/lib/gnu/xml/transform/FunctionAvailableFunction.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/BooleanType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/BooleanType.class
index 57e648415a1..89e2b43c75b 100644
--- a/libjava/classpath/lib/gnu/xml/validation/datatype/BooleanType.class
+++ b/libjava/classpath/lib/gnu/xml/validation/datatype/BooleanType.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/DoubleType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/DoubleType.class
index 16eca5e86cd..07980bb49ec 100644
--- a/libjava/classpath/lib/gnu/xml/validation/datatype/DoubleType.class
+++ b/libjava/classpath/lib/gnu/xml/validation/datatype/DoubleType.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/FloatType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/FloatType.class
index 13ffbc2e037..4fca00e8381 100644
--- a/libjava/classpath/lib/gnu/xml/validation/datatype/FloatType.class
+++ b/libjava/classpath/lib/gnu/xml/validation/datatype/FloatType.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/xpath/LocalNameFunction.class b/libjava/classpath/lib/gnu/xml/xpath/LocalNameFunction.class
index d37032d5203..762ece1f569 100644
--- a/libjava/classpath/lib/gnu/xml/xpath/LocalNameFunction.class
+++ b/libjava/classpath/lib/gnu/xml/xpath/LocalNameFunction.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/xpath/NameFunction.class b/libjava/classpath/lib/gnu/xml/xpath/NameFunction.class
index 7cf55463427..f25bb98f1e4 100644
--- a/libjava/classpath/lib/gnu/xml/xpath/NameFunction.class
+++ b/libjava/classpath/lib/gnu/xml/xpath/NameFunction.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/xpath/NamespaceUriFunction.class b/libjava/classpath/lib/gnu/xml/xpath/NamespaceUriFunction.class
index 57ad9a7362e..6fbdfa5f95d 100644
--- a/libjava/classpath/lib/gnu/xml/xpath/NamespaceUriFunction.class
+++ b/libjava/classpath/lib/gnu/xml/xpath/NamespaceUriFunction.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/xpath/Root.class b/libjava/classpath/lib/gnu/xml/xpath/Root.class
index 09af6512301..1d86cdb2841 100644
--- a/libjava/classpath/lib/gnu/xml/xpath/Root.class
+++ b/libjava/classpath/lib/gnu/xml/xpath/Root.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/xpath/Steps.class b/libjava/classpath/lib/gnu/xml/xpath/Steps.class
index 23cf9e7205d..7ca4cc58a3b 100644
--- a/libjava/classpath/lib/gnu/xml/xpath/Steps.class
+++ b/libjava/classpath/lib/gnu/xml/xpath/Steps.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/AWTKeyStroke$1.class b/libjava/classpath/lib/java/awt/AWTKeyStroke$1.class
index 4c0305aaa14..26336875b82 100644
--- a/libjava/classpath/lib/java/awt/AWTKeyStroke$1.class
+++ b/libjava/classpath/lib/java/awt/AWTKeyStroke$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/AWTKeyStroke$2.class b/libjava/classpath/lib/java/awt/AWTKeyStroke$2.class
index 0208d252562..f6f754728ec 100644
--- a/libjava/classpath/lib/java/awt/AWTKeyStroke$2.class
+++ b/libjava/classpath/lib/java/awt/AWTKeyStroke$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/AWTKeyStroke$3.class b/libjava/classpath/lib/java/awt/AWTKeyStroke$3.class
index 6093a79cfa3..4ce41a071e3 100644
--- a/libjava/classpath/lib/java/awt/AWTKeyStroke$3.class
+++ b/libjava/classpath/lib/java/awt/AWTKeyStroke$3.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/AlphaComposite$1.class b/libjava/classpath/lib/java/awt/AlphaComposite$1.class
index 15516f8dd2b..4240cd240bf 100644
--- a/libjava/classpath/lib/java/awt/AlphaComposite$1.class
+++ b/libjava/classpath/lib/java/awt/AlphaComposite$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/Button.class b/libjava/classpath/lib/java/awt/Button.class
index 1acfc276f01..ee4dc030c6f 100644
--- a/libjava/classpath/lib/java/awt/Button.class
+++ b/libjava/classpath/lib/java/awt/Button.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/Checkbox.class b/libjava/classpath/lib/java/awt/Checkbox.class
index a1dad185e3c..774d1417453 100644
--- a/libjava/classpath/lib/java/awt/Checkbox.class
+++ b/libjava/classpath/lib/java/awt/Checkbox.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/CheckboxMenuItem.class b/libjava/classpath/lib/java/awt/CheckboxMenuItem.class
index e4428250812..24bd2740f48 100644
--- a/libjava/classpath/lib/java/awt/CheckboxMenuItem.class
+++ b/libjava/classpath/lib/java/awt/CheckboxMenuItem.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/Component.class b/libjava/classpath/lib/java/awt/Component.class
index e9643390f42..d514824ab11 100644
--- a/libjava/classpath/lib/java/awt/Component.class
+++ b/libjava/classpath/lib/java/awt/Component.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/Container.class b/libjava/classpath/lib/java/awt/Container.class
index f7d3b8c0104..6494cfb36a9 100644
--- a/libjava/classpath/lib/java/awt/Container.class
+++ b/libjava/classpath/lib/java/awt/Container.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/FileDialog.class b/libjava/classpath/lib/java/awt/FileDialog.class
index 1587d0c5804..d36eba781b6 100644
--- a/libjava/classpath/lib/java/awt/FileDialog.class
+++ b/libjava/classpath/lib/java/awt/FileDialog.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/GridBagLayout.class b/libjava/classpath/lib/java/awt/GridBagLayout.class
index db8fc23c826..7df467bfbdb 100644
--- a/libjava/classpath/lib/java/awt/GridBagLayout.class
+++ b/libjava/classpath/lib/java/awt/GridBagLayout.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/KeyboardFocusManager.class b/libjava/classpath/lib/java/awt/KeyboardFocusManager.class
index 721cf56f637..deb8e06d13f 100644
--- a/libjava/classpath/lib/java/awt/KeyboardFocusManager.class
+++ b/libjava/classpath/lib/java/awt/KeyboardFocusManager.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/MenuItem.class b/libjava/classpath/lib/java/awt/MenuItem.class
index fe5895291c1..6e6cd9c5ba8 100644
--- a/libjava/classpath/lib/java/awt/MenuItem.class
+++ b/libjava/classpath/lib/java/awt/MenuItem.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/MenuShortcut.class b/libjava/classpath/lib/java/awt/MenuShortcut.class
index 554a1b51dc7..060474996de 100644
--- a/libjava/classpath/lib/java/awt/MenuShortcut.class
+++ b/libjava/classpath/lib/java/awt/MenuShortcut.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/Polygon$1.class b/libjava/classpath/lib/java/awt/Polygon$1.class
index 6bedd71fb77..1cb3daf8c10 100644
--- a/libjava/classpath/lib/java/awt/Polygon$1.class
+++ b/libjava/classpath/lib/java/awt/Polygon$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/PopupMenu.class b/libjava/classpath/lib/java/awt/PopupMenu.class
index 25d87dda163..73421be26e9 100644
--- a/libjava/classpath/lib/java/awt/PopupMenu.class
+++ b/libjava/classpath/lib/java/awt/PopupMenu.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/RenderingHints.class b/libjava/classpath/lib/java/awt/RenderingHints.class
index 0f3cbe0c10f..cfb65a3039b 100644
--- a/libjava/classpath/lib/java/awt/RenderingHints.class
+++ b/libjava/classpath/lib/java/awt/RenderingHints.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/Robot$1.class b/libjava/classpath/lib/java/awt/Robot$1.class
index 8814059afa3..91bb3dbd185 100644
--- a/libjava/classpath/lib/java/awt/Robot$1.class
+++ b/libjava/classpath/lib/java/awt/Robot$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/Robot.class b/libjava/classpath/lib/java/awt/Robot.class
index 337a5fa0970..8485d86d2fc 100644
--- a/libjava/classpath/lib/java/awt/Robot.class
+++ b/libjava/classpath/lib/java/awt/Robot.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/ScrollPane.class b/libjava/classpath/lib/java/awt/ScrollPane.class
index ec4e3637b92..08a383be6ee 100644
--- a/libjava/classpath/lib/java/awt/ScrollPane.class
+++ b/libjava/classpath/lib/java/awt/ScrollPane.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/Scrollbar.class b/libjava/classpath/lib/java/awt/Scrollbar.class
index d6ad5bd8d08..a745809f74b 100644
--- a/libjava/classpath/lib/java/awt/Scrollbar.class
+++ b/libjava/classpath/lib/java/awt/Scrollbar.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/TextArea.class b/libjava/classpath/lib/java/awt/TextArea.class
index 0729f1517df..447fc0c5200 100644
--- a/libjava/classpath/lib/java/awt/TextArea.class
+++ b/libjava/classpath/lib/java/awt/TextArea.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/Toolkit$1.class b/libjava/classpath/lib/java/awt/Toolkit$1.class
index 7218fe9cf33..c4f1fd37ab7 100644
--- a/libjava/classpath/lib/java/awt/Toolkit$1.class
+++ b/libjava/classpath/lib/java/awt/Toolkit$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/Toolkit$2.class b/libjava/classpath/lib/java/awt/Toolkit$2.class
index aa49f06a31e..92fce9fa4fd 100644
--- a/libjava/classpath/lib/java/awt/Toolkit$2.class
+++ b/libjava/classpath/lib/java/awt/Toolkit$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/Window.class b/libjava/classpath/lib/java/awt/Window.class
index 69d9f18e331..781e45995d5 100644
--- a/libjava/classpath/lib/java/awt/Window.class
+++ b/libjava/classpath/lib/java/awt/Window.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/color/ICC_Profile.class b/libjava/classpath/lib/java/awt/color/ICC_Profile.class
index e142ab3ceb6..1023e8ab1dd 100644
--- a/libjava/classpath/lib/java/awt/color/ICC_Profile.class
+++ b/libjava/classpath/lib/java/awt/color/ICC_Profile.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/datatransfer/DataFlavor.class b/libjava/classpath/lib/java/awt/datatransfer/DataFlavor.class
index d324b362ff7..b089e1e2b43 100644
--- a/libjava/classpath/lib/java/awt/datatransfer/DataFlavor.class
+++ b/libjava/classpath/lib/java/awt/datatransfer/DataFlavor.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap$1.class b/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap$1.class
index 2db9d62cf77..29238190d12 100644
--- a/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap$1.class
+++ b/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/dnd/DragSource.class b/libjava/classpath/lib/java/awt/dnd/DragSource.class
index 7feb64583bf..f0db664141c 100644
--- a/libjava/classpath/lib/java/awt/dnd/DragSource.class
+++ b/libjava/classpath/lib/java/awt/dnd/DragSource.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/event/KeyEvent.class b/libjava/classpath/lib/java/awt/event/KeyEvent.class
index 27c84936034..321a6fecd8e 100644
--- a/libjava/classpath/lib/java/awt/event/KeyEvent.class
+++ b/libjava/classpath/lib/java/awt/event/KeyEvent.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class b/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class
index be050763b58..dd5cd3dcd33 100644
--- a/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class
+++ b/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/CubicCurve2D$1.class b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$1.class
index 97669d7e529..f060b0a7569 100644
--- a/libjava/classpath/lib/java/awt/geom/CubicCurve2D$1.class
+++ b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/Line2D$1.class b/libjava/classpath/lib/java/awt/geom/Line2D$1.class
index 0a3f6d76930..d49e661e44b 100644
--- a/libjava/classpath/lib/java/awt/geom/Line2D$1.class
+++ b/libjava/classpath/lib/java/awt/geom/Line2D$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/QuadCurve2D$1.class b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$1.class
index a295615775d..93091bbb1f9 100644
--- a/libjava/classpath/lib/java/awt/geom/QuadCurve2D$1.class
+++ b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/Rectangle2D$1.class b/libjava/classpath/lib/java/awt/geom/Rectangle2D$1.class
index 4c2451e759f..f0a5be2161f 100644
--- a/libjava/classpath/lib/java/awt/geom/Rectangle2D$1.class
+++ b/libjava/classpath/lib/java/awt/geom/Rectangle2D$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$1.class b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$1.class
index 2b7175b1c32..6858a6456ed 100644
--- a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$1.class
+++ b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/image/AreaAveragingScaleFilter.class b/libjava/classpath/lib/java/awt/image/AreaAveragingScaleFilter.class
index 6fa585e6c09..a56ec48b4fa 100644
--- a/libjava/classpath/lib/java/awt/image/AreaAveragingScaleFilter.class
+++ b/libjava/classpath/lib/java/awt/image/AreaAveragingScaleFilter.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/image/BufferedImage$1.class b/libjava/classpath/lib/java/awt/image/BufferedImage$1.class
index 5654d4267bc..cd1e6406362 100644
--- a/libjava/classpath/lib/java/awt/image/BufferedImage$1.class
+++ b/libjava/classpath/lib/java/awt/image/BufferedImage$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/image/ColorConvertOp.class b/libjava/classpath/lib/java/awt/image/ColorConvertOp.class
index 5d75331efe6..bc3fa08e914 100644
--- a/libjava/classpath/lib/java/awt/image/ColorConvertOp.class
+++ b/libjava/classpath/lib/java/awt/image/ColorConvertOp.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/image/ComponentSampleModel.class b/libjava/classpath/lib/java/awt/image/ComponentSampleModel.class
index 1b8eb2ad3f0..0a9a4047918 100644
--- a/libjava/classpath/lib/java/awt/image/ComponentSampleModel.class
+++ b/libjava/classpath/lib/java/awt/image/ComponentSampleModel.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/image/PixelGrabber$1.class b/libjava/classpath/lib/java/awt/image/PixelGrabber$1.class
index 56229a948b5..cc1377a4b20 100644
--- a/libjava/classpath/lib/java/awt/image/PixelGrabber$1.class
+++ b/libjava/classpath/lib/java/awt/image/PixelGrabber$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/image/RescaleOp.class b/libjava/classpath/lib/java/awt/image/RescaleOp.class
index 5e96dfbbbbd..72b3b09e7ca 100644
--- a/libjava/classpath/lib/java/awt/image/RescaleOp.class
+++ b/libjava/classpath/lib/java/awt/image/RescaleOp.class
Binary files differ
diff --git a/libjava/classpath/lib/java/beans/Encoder$1.class b/libjava/classpath/lib/java/beans/Encoder$1.class
index 7535afe0bb0..aad752e0341 100644
--- a/libjava/classpath/lib/java/beans/Encoder$1.class
+++ b/libjava/classpath/lib/java/beans/Encoder$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/beans/PropertyChangeSupport.class b/libjava/classpath/lib/java/beans/PropertyChangeSupport.class
index d509bd15a5f..52a50642c32 100644
--- a/libjava/classpath/lib/java/beans/PropertyChangeSupport.class
+++ b/libjava/classpath/lib/java/beans/PropertyChangeSupport.class
Binary files differ
diff --git a/libjava/classpath/lib/java/beans/VetoableChangeSupport.class b/libjava/classpath/lib/java/beans/VetoableChangeSupport.class
index 706614f24b7..4f5bffc784c 100644
--- a/libjava/classpath/lib/java/beans/VetoableChangeSupport.class
+++ b/libjava/classpath/lib/java/beans/VetoableChangeSupport.class
Binary files differ
diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextMembershipEvent.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextMembershipEvent.class
index 631c0dac898..5a126ca312e 100644
--- a/libjava/classpath/lib/java/beans/beancontext/BeanContextMembershipEvent.class
+++ b/libjava/classpath/lib/java/beans/beancontext/BeanContextMembershipEvent.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/DeleteFileHelper$1.class b/libjava/classpath/lib/java/io/DeleteFileHelper$1.class
index 7ff45b21f43..88977108771 100644
--- a/libjava/classpath/lib/java/io/DeleteFileHelper$1.class
+++ b/libjava/classpath/lib/java/io/DeleteFileHelper$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/FileOutputStream.class b/libjava/classpath/lib/java/io/FileOutputStream.class
index d01dbbec17c..7573750cc72 100644
--- a/libjava/classpath/lib/java/io/FileOutputStream.class
+++ b/libjava/classpath/lib/java/io/FileOutputStream.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$1.class b/libjava/classpath/lib/java/io/ObjectInputStream$1.class
index e53b0d67025..ebb9450e0eb 100644
--- a/libjava/classpath/lib/java/io/ObjectInputStream$1.class
+++ b/libjava/classpath/lib/java/io/ObjectInputStream$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$2.class b/libjava/classpath/lib/java/io/ObjectInputStream$2.class
index 45242b60b01..04120792738 100644
--- a/libjava/classpath/lib/java/io/ObjectInputStream$2.class
+++ b/libjava/classpath/lib/java/io/ObjectInputStream$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectOutputStream$1.class b/libjava/classpath/lib/java/io/ObjectOutputStream$1.class
index 25403384a55..3ec0acfadfe 100644
--- a/libjava/classpath/lib/java/io/ObjectOutputStream$1.class
+++ b/libjava/classpath/lib/java/io/ObjectOutputStream$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass$1.class b/libjava/classpath/lib/java/io/ObjectStreamClass$1.class
index 78c96cbef8c..65cabed04db 100644
--- a/libjava/classpath/lib/java/io/ObjectStreamClass$1.class
+++ b/libjava/classpath/lib/java/io/ObjectStreamClass$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass$2.class b/libjava/classpath/lib/java/io/ObjectStreamClass$2.class
index 8c29f2e1286..4bbec58de75 100644
--- a/libjava/classpath/lib/java/io/ObjectStreamClass$2.class
+++ b/libjava/classpath/lib/java/io/ObjectStreamClass$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass.class b/libjava/classpath/lib/java/io/ObjectStreamClass.class
index f58e7320119..a40f4f065a8 100644
--- a/libjava/classpath/lib/java/io/ObjectStreamClass.class
+++ b/libjava/classpath/lib/java/io/ObjectStreamClass.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectStreamField$1.class b/libjava/classpath/lib/java/io/ObjectStreamField$1.class
index 2d561d5237a..c7ca1e6cd60 100644
--- a/libjava/classpath/lib/java/io/ObjectStreamField$1.class
+++ b/libjava/classpath/lib/java/io/ObjectStreamField$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/Class$1.class b/libjava/classpath/lib/java/lang/Class$1.class
index 09e3e86f995..57b5aa24c00 100644
--- a/libjava/classpath/lib/java/lang/Class$1.class
+++ b/libjava/classpath/lib/java/lang/Class$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/Class.class b/libjava/classpath/lib/java/lang/Class.class
index 2e4126b71d9..346bc1c6392 100644
--- a/libjava/classpath/lib/java/lang/Class.class
+++ b/libjava/classpath/lib/java/lang/Class.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/SecurityManager$1.class b/libjava/classpath/lib/java/lang/SecurityManager$1.class
index 0c47c492ff7..7bfae44b5f7 100644
--- a/libjava/classpath/lib/java/lang/SecurityManager$1.class
+++ b/libjava/classpath/lib/java/lang/SecurityManager$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/System$EnvironmentMap.class b/libjava/classpath/lib/java/lang/System$EnvironmentMap.class
index 4add45e0143..9114590262e 100644
--- a/libjava/classpath/lib/java/lang/System$EnvironmentMap.class
+++ b/libjava/classpath/lib/java/lang/System$EnvironmentMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/reflect/Proxy$ClassFactory.class b/libjava/classpath/lib/java/lang/reflect/Proxy$ClassFactory.class
index dacb338e292..24ee9c583c0 100644
--- a/libjava/classpath/lib/java/lang/reflect/Proxy$ClassFactory.class
+++ b/libjava/classpath/lib/java/lang/reflect/Proxy$ClassFactory.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyData.class b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyData.class
index d75929d7591..5d6b0d1ad50 100644
--- a/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyData.class
+++ b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyData.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/reflect/Proxy$ProxySignature.class b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxySignature.class
index be484676cdf..2b28eff4cd4 100644
--- a/libjava/classpath/lib/java/lang/reflect/Proxy$ProxySignature.class
+++ b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxySignature.class
Binary files differ
diff --git a/libjava/classpath/lib/java/math/BigDecimal.class b/libjava/classpath/lib/java/math/BigDecimal.class
index 6f4b14446cd..87454aad608 100644
--- a/libjava/classpath/lib/java/math/BigDecimal.class
+++ b/libjava/classpath/lib/java/math/BigDecimal.class
Binary files differ
diff --git a/libjava/classpath/lib/java/net/URL$1.class b/libjava/classpath/lib/java/net/URL$1.class
index a21bc167632..adef9a8909d 100644
--- a/libjava/classpath/lib/java/net/URL$1.class
+++ b/libjava/classpath/lib/java/net/URL$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/net/URLClassLoader$1.class b/libjava/classpath/lib/java/net/URLClassLoader$1.class
index 8f8985584b1..28292676976 100644
--- a/libjava/classpath/lib/java/net/URLClassLoader$1.class
+++ b/libjava/classpath/lib/java/net/URLClassLoader$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/net/URLClassLoader$2.class b/libjava/classpath/lib/java/net/URLClassLoader$2.class
index 0079701a38a..be81cbe0e89 100644
--- a/libjava/classpath/lib/java/net/URLClassLoader$2.class
+++ b/libjava/classpath/lib/java/net/URLClassLoader$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/net/URLClassLoader.class b/libjava/classpath/lib/java/net/URLClassLoader.class
index 7c97e366697..3aa2b32225a 100644
--- a/libjava/classpath/lib/java/net/URLClassLoader.class
+++ b/libjava/classpath/lib/java/net/URLClassLoader.class
Binary files differ
diff --git a/libjava/classpath/lib/java/nio/charset/Charset.class b/libjava/classpath/lib/java/nio/charset/Charset.class
index 54db32a285d..6997ee92090 100644
--- a/libjava/classpath/lib/java/nio/charset/Charset.class
+++ b/libjava/classpath/lib/java/nio/charset/Charset.class
Binary files differ
diff --git a/libjava/classpath/lib/java/nio/charset/CoderResult$1.class b/libjava/classpath/lib/java/nio/charset/CoderResult$1.class
index b7836459e63..c52a66e2ac6 100644
--- a/libjava/classpath/lib/java/nio/charset/CoderResult$1.class
+++ b/libjava/classpath/lib/java/nio/charset/CoderResult$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/nio/charset/CoderResult$2.class b/libjava/classpath/lib/java/nio/charset/CoderResult$2.class
index 9fa5dd8cd31..32f44d5921f 100644
--- a/libjava/classpath/lib/java/nio/charset/CoderResult$2.class
+++ b/libjava/classpath/lib/java/nio/charset/CoderResult$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/rmi/server/RemoteObject.class b/libjava/classpath/lib/java/rmi/server/RemoteObject.class
index 87dba3d9050..49ed9d7359d 100644
--- a/libjava/classpath/lib/java/rmi/server/RemoteObject.class
+++ b/libjava/classpath/lib/java/rmi/server/RemoteObject.class
Binary files differ
diff --git a/libjava/classpath/lib/java/security/AccessControlContext.class b/libjava/classpath/lib/java/security/AccessControlContext.class
index 8088ee91d04..355a98a9bce 100644
--- a/libjava/classpath/lib/java/security/AccessControlContext.class
+++ b/libjava/classpath/lib/java/security/AccessControlContext.class
Binary files differ
diff --git a/libjava/classpath/lib/java/security/AllPermission$AllPermissionCollection.class b/libjava/classpath/lib/java/security/AllPermission$AllPermissionCollection.class
index 49e969e5ca0..d212700966b 100644
--- a/libjava/classpath/lib/java/security/AllPermission$AllPermissionCollection.class
+++ b/libjava/classpath/lib/java/security/AllPermission$AllPermissionCollection.class
Binary files differ
diff --git a/libjava/classpath/lib/java/security/CodeSource.class b/libjava/classpath/lib/java/security/CodeSource.class
index f93af3c87e3..6bf97b9e460 100644
--- a/libjava/classpath/lib/java/security/CodeSource.class
+++ b/libjava/classpath/lib/java/security/CodeSource.class
Binary files differ
diff --git a/libjava/classpath/lib/java/security/Permissions$1.class b/libjava/classpath/lib/java/security/Permissions$1.class
index cea68541751..1e572c963df 100644
--- a/libjava/classpath/lib/java/security/Permissions$1.class
+++ b/libjava/classpath/lib/java/security/Permissions$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/security/UnresolvedPermissionCollection$1.class b/libjava/classpath/lib/java/security/UnresolvedPermissionCollection$1.class
index f9a8aee97b5..878adab1028 100644
--- a/libjava/classpath/lib/java/security/UnresolvedPermissionCollection$1.class
+++ b/libjava/classpath/lib/java/security/UnresolvedPermissionCollection$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/security/cert/CertPathValidator$1.class b/libjava/classpath/lib/java/security/cert/CertPathValidator$1.class
index 50ac04e813b..edd906aa3c2 100644
--- a/libjava/classpath/lib/java/security/cert/CertPathValidator$1.class
+++ b/libjava/classpath/lib/java/security/cert/CertPathValidator$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/security/cert/CertStore$1.class b/libjava/classpath/lib/java/security/cert/CertStore$1.class
index f4e9a2dc5b6..7076e62e1bb 100644
--- a/libjava/classpath/lib/java/security/cert/CertStore$1.class
+++ b/libjava/classpath/lib/java/security/cert/CertStore$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/security/cert/X509CRLSelector.class b/libjava/classpath/lib/java/security/cert/X509CRLSelector.class
index 6327fc809f4..ea48ba2e86a 100644
--- a/libjava/classpath/lib/java/security/cert/X509CRLSelector.class
+++ b/libjava/classpath/lib/java/security/cert/X509CRLSelector.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/Annotation.class b/libjava/classpath/lib/java/text/Annotation.class
index 7af7955e747..d154ff2c4af 100644
--- a/libjava/classpath/lib/java/text/Annotation.class
+++ b/libjava/classpath/lib/java/text/Annotation.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/AttributedString.class b/libjava/classpath/lib/java/text/AttributedString.class
index dfeeaec86e3..bf878f4fb08 100644
--- a/libjava/classpath/lib/java/text/AttributedString.class
+++ b/libjava/classpath/lib/java/text/AttributedString.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/DateFormatSymbols.class b/libjava/classpath/lib/java/text/DateFormatSymbols.class
index b58baed7498..8851a64243a 100644
--- a/libjava/classpath/lib/java/text/DateFormatSymbols.class
+++ b/libjava/classpath/lib/java/text/DateFormatSymbols.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/AbstractList$1.class b/libjava/classpath/lib/java/util/AbstractList$1.class
index e8a336c8e0d..a0bffc7d7b9 100644
--- a/libjava/classpath/lib/java/util/AbstractList$1.class
+++ b/libjava/classpath/lib/java/util/AbstractList$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/AbstractList$2.class b/libjava/classpath/lib/java/util/AbstractList$2.class
index 66e6cc5206e..41dd3f47d49 100644
--- a/libjava/classpath/lib/java/util/AbstractList$2.class
+++ b/libjava/classpath/lib/java/util/AbstractList$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/AbstractList$3.class b/libjava/classpath/lib/java/util/AbstractList$3.class
index 43df49113e3..08dbce4b9f0 100644
--- a/libjava/classpath/lib/java/util/AbstractList$3.class
+++ b/libjava/classpath/lib/java/util/AbstractList$3.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/AbstractList$SubList.class b/libjava/classpath/lib/java/util/AbstractList$SubList.class
index 2ac40c9cbc1..9c0c25263af 100644
--- a/libjava/classpath/lib/java/util/AbstractList$SubList.class
+++ b/libjava/classpath/lib/java/util/AbstractList$SubList.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/AbstractMap$1.class b/libjava/classpath/lib/java/util/AbstractMap$1.class
index 1bd0b3f0dad..9d1f34d7dcf 100644
--- a/libjava/classpath/lib/java/util/AbstractMap$1.class
+++ b/libjava/classpath/lib/java/util/AbstractMap$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/AbstractMap$2.class b/libjava/classpath/lib/java/util/AbstractMap$2.class
index 82a6d519f5a..8df915135de 100644
--- a/libjava/classpath/lib/java/util/AbstractMap$2.class
+++ b/libjava/classpath/lib/java/util/AbstractMap$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/AbstractMap$3.class b/libjava/classpath/lib/java/util/AbstractMap$3.class
index e17978fa687..c5c50aff083 100644
--- a/libjava/classpath/lib/java/util/AbstractMap$3.class
+++ b/libjava/classpath/lib/java/util/AbstractMap$3.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/AbstractMap$4.class b/libjava/classpath/lib/java/util/AbstractMap$4.class
index 0a5b27d7e23..c8849527326 100644
--- a/libjava/classpath/lib/java/util/AbstractMap$4.class
+++ b/libjava/classpath/lib/java/util/AbstractMap$4.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/AbstractSequentialList.class b/libjava/classpath/lib/java/util/AbstractSequentialList.class
index ff16cbbbe58..c3c5e84551f 100644
--- a/libjava/classpath/lib/java/util/AbstractSequentialList.class
+++ b/libjava/classpath/lib/java/util/AbstractSequentialList.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$1.class b/libjava/classpath/lib/java/util/Collections$1.class
index 77207265f37..2ec7056606a 100644
--- a/libjava/classpath/lib/java/util/Collections$1.class
+++ b/libjava/classpath/lib/java/util/Collections$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$2.class b/libjava/classpath/lib/java/util/Collections$2.class
index 3a47f69021e..98e5b931568 100644
--- a/libjava/classpath/lib/java/util/Collections$2.class
+++ b/libjava/classpath/lib/java/util/Collections$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$3.class b/libjava/classpath/lib/java/util/Collections$3.class
index 7df076ae1e9..b5e38121697 100644
--- a/libjava/classpath/lib/java/util/Collections$3.class
+++ b/libjava/classpath/lib/java/util/Collections$3.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$4.class b/libjava/classpath/lib/java/util/Collections$4.class
index d0c5a502cfc..9a096576108 100644
--- a/libjava/classpath/lib/java/util/Collections$4.class
+++ b/libjava/classpath/lib/java/util/Collections$4.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$5.class b/libjava/classpath/lib/java/util/Collections$5.class
index dd7cdba9f36..3046de6df7c 100644
--- a/libjava/classpath/lib/java/util/Collections$5.class
+++ b/libjava/classpath/lib/java/util/Collections$5.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$6.class b/libjava/classpath/lib/java/util/Collections$6.class
index d3981fa1f1f..ef1f0819a9d 100644
--- a/libjava/classpath/lib/java/util/Collections$6.class
+++ b/libjava/classpath/lib/java/util/Collections$6.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$7.class b/libjava/classpath/lib/java/util/Collections$7.class
index cc0a6aeec1c..8b6f1d6d04a 100644
--- a/libjava/classpath/lib/java/util/Collections$7.class
+++ b/libjava/classpath/lib/java/util/Collections$7.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$8.class b/libjava/classpath/lib/java/util/Collections$8.class
index c1b76615325..f86527f472e 100644
--- a/libjava/classpath/lib/java/util/Collections$8.class
+++ b/libjava/classpath/lib/java/util/Collections$8.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$9.class b/libjava/classpath/lib/java/util/Collections$9.class
index 597af13176b..625c6ae89f2 100644
--- a/libjava/classpath/lib/java/util/Collections$9.class
+++ b/libjava/classpath/lib/java/util/Collections$9.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$EmptyMap.class b/libjava/classpath/lib/java/util/Collections$EmptyMap.class
index 364722b6c1b..d7a2934e033 100644
--- a/libjava/classpath/lib/java/util/Collections$EmptyMap.class
+++ b/libjava/classpath/lib/java/util/Collections$EmptyMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SingletonMap.class b/libjava/classpath/lib/java/util/Collections$SingletonMap.class
index 9fb19b7160f..d1c50c42220 100644
--- a/libjava/classpath/lib/java/util/Collections$SingletonMap.class
+++ b/libjava/classpath/lib/java/util/Collections$SingletonMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class b/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class
index 6a862be6d5a..fcb0533d9c3 100644
--- a/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class
+++ b/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class
index 66fe31c2dc4..d985db96dd2 100644
--- a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class
+++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/EnumMap$1.class b/libjava/classpath/lib/java/util/EnumMap$1.class
index 4f03a7d44b4..fa279100b0b 100644
--- a/libjava/classpath/lib/java/util/EnumMap$1.class
+++ b/libjava/classpath/lib/java/util/EnumMap$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/EnumMap$2.class b/libjava/classpath/lib/java/util/EnumMap$2.class
index ab4c751de91..cf24a7b2980 100644
--- a/libjava/classpath/lib/java/util/EnumMap$2.class
+++ b/libjava/classpath/lib/java/util/EnumMap$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/EnumMap$3.class b/libjava/classpath/lib/java/util/EnumMap$3.class
index 0e884685fdb..e4b2edac517 100644
--- a/libjava/classpath/lib/java/util/EnumMap$3.class
+++ b/libjava/classpath/lib/java/util/EnumMap$3.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/EnumMap$4.class b/libjava/classpath/lib/java/util/EnumMap$4.class
index 932a4363866..ef94ce1523c 100644
--- a/libjava/classpath/lib/java/util/EnumMap$4.class
+++ b/libjava/classpath/lib/java/util/EnumMap$4.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/EnumMap$5.class b/libjava/classpath/lib/java/util/EnumMap$5.class
index 93b6b8dc55d..6b4ee0e032a 100644
--- a/libjava/classpath/lib/java/util/EnumMap$5.class
+++ b/libjava/classpath/lib/java/util/EnumMap$5.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/EnumMap$6.class b/libjava/classpath/lib/java/util/EnumMap$6.class
index 904cf125e9f..5eba9e250b8 100644
--- a/libjava/classpath/lib/java/util/EnumMap$6.class
+++ b/libjava/classpath/lib/java/util/EnumMap$6.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/EnumMap$7.class b/libjava/classpath/lib/java/util/EnumMap$7.class
index cb383d0cfd8..8594c8b1825 100644
--- a/libjava/classpath/lib/java/util/EnumMap$7.class
+++ b/libjava/classpath/lib/java/util/EnumMap$7.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/EnumMap.class b/libjava/classpath/lib/java/util/EnumMap.class
index b7d97575a92..8a45d4eb490 100644
--- a/libjava/classpath/lib/java/util/EnumMap.class
+++ b/libjava/classpath/lib/java/util/EnumMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/EnumSet$1.class b/libjava/classpath/lib/java/util/EnumSet$1.class
index 4569d79ad5f..20fc0d7ebf9 100644
--- a/libjava/classpath/lib/java/util/EnumSet$1.class
+++ b/libjava/classpath/lib/java/util/EnumSet$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/EnumSet$2.class b/libjava/classpath/lib/java/util/EnumSet$2.class
index 3430e8cdcbe..28655dccecd 100644
--- a/libjava/classpath/lib/java/util/EnumSet$2.class
+++ b/libjava/classpath/lib/java/util/EnumSet$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/EnumSet.class b/libjava/classpath/lib/java/util/EnumSet.class
index 103c004eb27..5a64dcacf50 100644
--- a/libjava/classpath/lib/java/util/EnumSet.class
+++ b/libjava/classpath/lib/java/util/EnumSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Formatter.class b/libjava/classpath/lib/java/util/Formatter.class
index 7d9a146a8af..e2579ecf1f2 100644
--- a/libjava/classpath/lib/java/util/Formatter.class
+++ b/libjava/classpath/lib/java/util/Formatter.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/GregorianCalendar.class b/libjava/classpath/lib/java/util/GregorianCalendar.class
index c1e8be3bee8..8b267c931ec 100644
--- a/libjava/classpath/lib/java/util/GregorianCalendar.class
+++ b/libjava/classpath/lib/java/util/GregorianCalendar.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/HashMap$1.class b/libjava/classpath/lib/java/util/HashMap$1.class
index fb4750db484..60757daca3f 100644
--- a/libjava/classpath/lib/java/util/HashMap$1.class
+++ b/libjava/classpath/lib/java/util/HashMap$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/HashMap$2.class b/libjava/classpath/lib/java/util/HashMap$2.class
index 1aea610f3c6..c62e4a0396c 100644
--- a/libjava/classpath/lib/java/util/HashMap$2.class
+++ b/libjava/classpath/lib/java/util/HashMap$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/HashMap$3.class b/libjava/classpath/lib/java/util/HashMap$3.class
index 4e74bcb6438..631d77583b4 100644
--- a/libjava/classpath/lib/java/util/HashMap$3.class
+++ b/libjava/classpath/lib/java/util/HashMap$3.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/HashSet.class b/libjava/classpath/lib/java/util/HashSet.class
index 1a2e233f5a4..dc57e6058c3 100644
--- a/libjava/classpath/lib/java/util/HashSet.class
+++ b/libjava/classpath/lib/java/util/HashSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Hashtable$1.class b/libjava/classpath/lib/java/util/Hashtable$1.class
index 5b4259f5cc5..5bbb98a2836 100644
--- a/libjava/classpath/lib/java/util/Hashtable$1.class
+++ b/libjava/classpath/lib/java/util/Hashtable$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Hashtable$2.class b/libjava/classpath/lib/java/util/Hashtable$2.class
index 55174e6cd07..118f09c6309 100644
--- a/libjava/classpath/lib/java/util/Hashtable$2.class
+++ b/libjava/classpath/lib/java/util/Hashtable$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Hashtable$3.class b/libjava/classpath/lib/java/util/Hashtable$3.class
index 50d619e5ea0..4ffe6b3d790 100644
--- a/libjava/classpath/lib/java/util/Hashtable$3.class
+++ b/libjava/classpath/lib/java/util/Hashtable$3.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/IdentityHashMap$1.class b/libjava/classpath/lib/java/util/IdentityHashMap$1.class
index 951d94324f9..0640683d7e8 100644
--- a/libjava/classpath/lib/java/util/IdentityHashMap$1.class
+++ b/libjava/classpath/lib/java/util/IdentityHashMap$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/IdentityHashMap$2.class b/libjava/classpath/lib/java/util/IdentityHashMap$2.class
index ddfd86bbd70..e7e86c61e6f 100644
--- a/libjava/classpath/lib/java/util/IdentityHashMap$2.class
+++ b/libjava/classpath/lib/java/util/IdentityHashMap$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/IdentityHashMap$3.class b/libjava/classpath/lib/java/util/IdentityHashMap$3.class
index bfebd6b5b07..e85d49aec48 100644
--- a/libjava/classpath/lib/java/util/IdentityHashMap$3.class
+++ b/libjava/classpath/lib/java/util/IdentityHashMap$3.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/IdentityHashMap.class b/libjava/classpath/lib/java/util/IdentityHashMap.class
index d834b9a8779..d826b7161d2 100644
--- a/libjava/classpath/lib/java/util/IdentityHashMap.class
+++ b/libjava/classpath/lib/java/util/IdentityHashMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/LinkedHashMap$1.class b/libjava/classpath/lib/java/util/LinkedHashMap$1.class
index 5d5e34a0ebd..a2621fd1b7b 100644
--- a/libjava/classpath/lib/java/util/LinkedHashMap$1.class
+++ b/libjava/classpath/lib/java/util/LinkedHashMap$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/LinkedList$1.class b/libjava/classpath/lib/java/util/LinkedList$1.class
index eeb0c33987d..2a1deef2d98 100644
--- a/libjava/classpath/lib/java/util/LinkedList$1.class
+++ b/libjava/classpath/lib/java/util/LinkedList$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/PriorityQueue$1.class b/libjava/classpath/lib/java/util/PriorityQueue$1.class
index b46ebade7ac..f4042e5cfb7 100644
--- a/libjava/classpath/lib/java/util/PriorityQueue$1.class
+++ b/libjava/classpath/lib/java/util/PriorityQueue$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Properties.class b/libjava/classpath/lib/java/util/Properties.class
index b627bc22150..58811f85c5f 100644
--- a/libjava/classpath/lib/java/util/Properties.class
+++ b/libjava/classpath/lib/java/util/Properties.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/ResourceBundle$1.class b/libjava/classpath/lib/java/util/ResourceBundle$1.class
index b798bab4f1b..b3161876f4b 100644
--- a/libjava/classpath/lib/java/util/ResourceBundle$1.class
+++ b/libjava/classpath/lib/java/util/ResourceBundle$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Scanner.class b/libjava/classpath/lib/java/util/Scanner.class
index b84f375dab2..1e95312c90e 100644
--- a/libjava/classpath/lib/java/util/Scanner.class
+++ b/libjava/classpath/lib/java/util/Scanner.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/ServiceLoader$1.class b/libjava/classpath/lib/java/util/ServiceLoader$1.class
index a6960f74cdf..ae59622d996 100644
--- a/libjava/classpath/lib/java/util/ServiceLoader$1.class
+++ b/libjava/classpath/lib/java/util/ServiceLoader$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TimeZone$1.class b/libjava/classpath/lib/java/util/TimeZone$1.class
index 31299b01fcc..7ec855bf98b 100644
--- a/libjava/classpath/lib/java/util/TimeZone$1.class
+++ b/libjava/classpath/lib/java/util/TimeZone$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TreeMap$1.class b/libjava/classpath/lib/java/util/TreeMap$1.class
index 82cbf5822a1..c4f02094362 100644
--- a/libjava/classpath/lib/java/util/TreeMap$1.class
+++ b/libjava/classpath/lib/java/util/TreeMap$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TreeMap$2.class b/libjava/classpath/lib/java/util/TreeMap$2.class
index b29656be6e0..fd270fb7736 100644
--- a/libjava/classpath/lib/java/util/TreeMap$2.class
+++ b/libjava/classpath/lib/java/util/TreeMap$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TreeMap$3.class b/libjava/classpath/lib/java/util/TreeMap$3.class
index 7122503b49b..cd8444dcf7c 100644
--- a/libjava/classpath/lib/java/util/TreeMap$3.class
+++ b/libjava/classpath/lib/java/util/TreeMap$3.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TreeMap$4.class b/libjava/classpath/lib/java/util/TreeMap$4.class
index 44efa9156b5..8660440a1cc 100644
--- a/libjava/classpath/lib/java/util/TreeMap$4.class
+++ b/libjava/classpath/lib/java/util/TreeMap$4.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TreeMap$5.class b/libjava/classpath/lib/java/util/TreeMap$5.class
index ae6f7bff598..3d51bde0b2c 100644
--- a/libjava/classpath/lib/java/util/TreeMap$5.class
+++ b/libjava/classpath/lib/java/util/TreeMap$5.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TreeMap$6.class b/libjava/classpath/lib/java/util/TreeMap$6.class
index 63259affee3..42afdf2fcd5 100644
--- a/libjava/classpath/lib/java/util/TreeMap$6.class
+++ b/libjava/classpath/lib/java/util/TreeMap$6.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TreeMap$7.class b/libjava/classpath/lib/java/util/TreeMap$7.class
index 1dac2e4cb01..6560eb512f5 100644
--- a/libjava/classpath/lib/java/util/TreeMap$7.class
+++ b/libjava/classpath/lib/java/util/TreeMap$7.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TreeMap$DescendingMap.class b/libjava/classpath/lib/java/util/TreeMap$DescendingMap.class
index 1d592d5aef4..abeb04e61b5 100644
--- a/libjava/classpath/lib/java/util/TreeMap$DescendingMap.class
+++ b/libjava/classpath/lib/java/util/TreeMap$DescendingMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TreeMap$DescendingSet.class b/libjava/classpath/lib/java/util/TreeMap$DescendingSet.class
index cba2ac5089a..d110257be7d 100644
--- a/libjava/classpath/lib/java/util/TreeMap$DescendingSet.class
+++ b/libjava/classpath/lib/java/util/TreeMap$DescendingSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TreeMap$NavigableEntrySet.class b/libjava/classpath/lib/java/util/TreeMap$NavigableEntrySet.class
index 79ea0347ba4..41a9d16c7ce 100644
--- a/libjava/classpath/lib/java/util/TreeMap$NavigableEntrySet.class
+++ b/libjava/classpath/lib/java/util/TreeMap$NavigableEntrySet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TreeMap$NavigableKeySet.class b/libjava/classpath/lib/java/util/TreeMap$NavigableKeySet.class
index cca23432dde..1557c3a3622 100644
--- a/libjava/classpath/lib/java/util/TreeMap$NavigableKeySet.class
+++ b/libjava/classpath/lib/java/util/TreeMap$NavigableKeySet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableEntrySet.class b/libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableEntrySet.class
index 3b3c7a841d0..977150e1789 100644
--- a/libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableEntrySet.class
+++ b/libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableEntrySet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TreeSet.class b/libjava/classpath/lib/java/util/TreeSet.class
index 7e5eef3e923..126c802d4d2 100644
--- a/libjava/classpath/lib/java/util/TreeSet.class
+++ b/libjava/classpath/lib/java/util/TreeSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/VMTimeZone.class b/libjava/classpath/lib/java/util/VMTimeZone.class
index 1682a5ebb84..84afdcb8124 100644
--- a/libjava/classpath/lib/java/util/VMTimeZone.class
+++ b/libjava/classpath/lib/java/util/VMTimeZone.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Vector$1.class b/libjava/classpath/lib/java/util/Vector$1.class
index 3822a2eaade..80d184c0e0f 100644
--- a/libjava/classpath/lib/java/util/Vector$1.class
+++ b/libjava/classpath/lib/java/util/Vector$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/WeakHashMap$1.class b/libjava/classpath/lib/java/util/WeakHashMap$1.class
index 940a0e0a8a6..9cd1a2c4bed 100644
--- a/libjava/classpath/lib/java/util/WeakHashMap$1.class
+++ b/libjava/classpath/lib/java/util/WeakHashMap$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/WeakHashMap$2.class b/libjava/classpath/lib/java/util/WeakHashMap$2.class
index 55db526a134..c6ea5d71cb1 100644
--- a/libjava/classpath/lib/java/util/WeakHashMap$2.class
+++ b/libjava/classpath/lib/java/util/WeakHashMap$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/WeakHashMap.class b/libjava/classpath/lib/java/util/WeakHashMap.class
index d47c24ee821..3c5f88c1989 100644
--- a/libjava/classpath/lib/java/util/WeakHashMap.class
+++ b/libjava/classpath/lib/java/util/WeakHashMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/AbstractExecutorService.class b/libjava/classpath/lib/java/util/concurrent/AbstractExecutorService.class
index 2a88d804c41..6812506ba6a 100644
--- a/libjava/classpath/lib/java/util/concurrent/AbstractExecutorService.class
+++ b/libjava/classpath/lib/java/util/concurrent/AbstractExecutorService.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeySet.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeySet.class
index 45787aafad2..3bd1231ff31 100644
--- a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeySet.class
+++ b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeySet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap.class
index b264fcd5f1b..769aa2861b9 100644
--- a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap.class
+++ b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap.class
index 29fb15e9442..5c379688567 100644
--- a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap.class
+++ b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListSet.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListSet.class
index 8d12c6ff448..e238ae2c766 100644
--- a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListSet.class
+++ b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$1.class b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$1.class
index d92a7e97255..2dba6818fd6 100644
--- a/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$1.class
+++ b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$2.class b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$2.class
index 6989e8ae4d7..03ab92a5ec1 100644
--- a/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$2.class
+++ b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$3.class b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$3.class
index 46735777f12..1f2e00af9ba 100644
--- a/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$3.class
+++ b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$3.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$SubList.class b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$SubList.class
index 20dd205caa1..572a880ad34 100644
--- a/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$SubList.class
+++ b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$SubList.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/DelayQueue.class b/libjava/classpath/lib/java/util/concurrent/DelayQueue.class
index 07736848bf1..cf6875719e6 100644
--- a/libjava/classpath/lib/java/util/concurrent/DelayQueue.class
+++ b/libjava/classpath/lib/java/util/concurrent/DelayQueue.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$1.class b/libjava/classpath/lib/java/util/concurrent/Executors$1.class
index 4976407bd36..73fa1ef0254 100644
--- a/libjava/classpath/lib/java/util/concurrent/Executors$1.class
+++ b/libjava/classpath/lib/java/util/concurrent/Executors$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$2.class b/libjava/classpath/lib/java/util/concurrent/Executors$2.class
index 810416e6f76..2da3853a9bd 100644
--- a/libjava/classpath/lib/java/util/concurrent/Executors$2.class
+++ b/libjava/classpath/lib/java/util/concurrent/Executors$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$3.class b/libjava/classpath/lib/java/util/concurrent/Executors$3.class
index e19541ccaa9..10bb7341306 100644
--- a/libjava/classpath/lib/java/util/concurrent/Executors$3.class
+++ b/libjava/classpath/lib/java/util/concurrent/Executors$3.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$4.class b/libjava/classpath/lib/java/util/concurrent/Executors$4.class
index 55c3edcf0d4..7136832b015 100644
--- a/libjava/classpath/lib/java/util/concurrent/Executors$4.class
+++ b/libjava/classpath/lib/java/util/concurrent/Executors$4.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$5.class b/libjava/classpath/lib/java/util/concurrent/Executors$5.class
index 2dd94b7895f..7e3acc25d63 100644
--- a/libjava/classpath/lib/java/util/concurrent/Executors$5.class
+++ b/libjava/classpath/lib/java/util/concurrent/Executors$5.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$6.class b/libjava/classpath/lib/java/util/concurrent/Executors$6.class
index dd04633dee5..bfb14aa7a1d 100644
--- a/libjava/classpath/lib/java/util/concurrent/Executors$6.class
+++ b/libjava/classpath/lib/java/util/concurrent/Executors$6.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$1.class b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$1.class
index 5c410744bf6..711df7528a3 100644
--- a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$1.class
+++ b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor.class b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor.class
index 6caaf1ac3ec..425c4b4c4db 100644
--- a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor.class
+++ b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.class
index 8ad18e5da0c..9f5e43a0fb0 100644
--- a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.class
+++ b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue.class
index e2e857ec9f9..d19718868ee 100644
--- a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue.class
+++ b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack$SNode.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack$SNode.class
index ff35ef69fe7..f43e5cbcd14 100644
--- a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack$SNode.class
+++ b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack$SNode.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack.class
index a31962286df..829fb8de5ce 100644
--- a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack.class
+++ b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor.class b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor.class
index 048d2048da7..fcbe702bc83 100644
--- a/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor.class
+++ b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$1.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$1.class
index 98387d36dda..ce6761e9e39 100644
--- a/libjava/classpath/lib/java/util/concurrent/TimeUnit$1.class
+++ b/libjava/classpath/lib/java/util/concurrent/TimeUnit$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$2.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$2.class
index 3ff3ff4b26c..7f2be4fcca2 100644
--- a/libjava/classpath/lib/java/util/concurrent/TimeUnit$2.class
+++ b/libjava/classpath/lib/java/util/concurrent/TimeUnit$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$3.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$3.class
index f1b17c6cc78..2b12dc9ac1e 100644
--- a/libjava/classpath/lib/java/util/concurrent/TimeUnit$3.class
+++ b/libjava/classpath/lib/java/util/concurrent/TimeUnit$3.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$4.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$4.class
index e55c7b888d1..57204f51b4f 100644
--- a/libjava/classpath/lib/java/util/concurrent/TimeUnit$4.class
+++ b/libjava/classpath/lib/java/util/concurrent/TimeUnit$4.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$5.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$5.class
index 7a8b700ccf5..f3008f95abb 100644
--- a/libjava/classpath/lib/java/util/concurrent/TimeUnit$5.class
+++ b/libjava/classpath/lib/java/util/concurrent/TimeUnit$5.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$6.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$6.class
index dd3e0dfbb84..1351ff9e7ca 100644
--- a/libjava/classpath/lib/java/util/concurrent/TimeUnit$6.class
+++ b/libjava/classpath/lib/java/util/concurrent/TimeUnit$6.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$7.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$7.class
index 8f4b664a2bd..8193f2e1672 100644
--- a/libjava/classpath/lib/java/util/concurrent/TimeUnit$7.class
+++ b/libjava/classpath/lib/java/util/concurrent/TimeUnit$7.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/jar/Attributes.class b/libjava/classpath/lib/java/util/jar/Attributes.class
index 2fa91b046f4..3d9caffd39a 100644
--- a/libjava/classpath/lib/java/util/jar/Attributes.class
+++ b/libjava/classpath/lib/java/util/jar/Attributes.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/jar/JarFile$EntryInputStream.class b/libjava/classpath/lib/java/util/jar/JarFile$EntryInputStream.class
index 9f3db3199ca..34c9af37fa5 100644
--- a/libjava/classpath/lib/java/util/jar/JarFile$EntryInputStream.class
+++ b/libjava/classpath/lib/java/util/jar/JarFile$EntryInputStream.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/logging/FileHandler.class b/libjava/classpath/lib/java/util/logging/FileHandler.class
index 0e0d3f09650..e08d884a4d5 100644
--- a/libjava/classpath/lib/java/util/logging/FileHandler.class
+++ b/libjava/classpath/lib/java/util/logging/FileHandler.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/logging/LogManager$1.class b/libjava/classpath/lib/java/util/logging/LogManager$1.class
index c4c0444c1f9..9067e59a86c 100644
--- a/libjava/classpath/lib/java/util/logging/LogManager$1.class
+++ b/libjava/classpath/lib/java/util/logging/LogManager$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/logging/LogManager.class b/libjava/classpath/lib/java/util/logging/LogManager.class
index 77736d16bf8..1bba5732484 100644
--- a/libjava/classpath/lib/java/util/logging/LogManager.class
+++ b/libjava/classpath/lib/java/util/logging/LogManager.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/logging/Logger$1.class b/libjava/classpath/lib/java/util/logging/Logger$1.class
index daf0eba8b71..5c577e8247b 100644
--- a/libjava/classpath/lib/java/util/logging/Logger$1.class
+++ b/libjava/classpath/lib/java/util/logging/Logger$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/logging/StreamHandler.class b/libjava/classpath/lib/java/util/logging/StreamHandler.class
index daeda91edb3..0d511d6df75 100644
--- a/libjava/classpath/lib/java/util/logging/StreamHandler.class
+++ b/libjava/classpath/lib/java/util/logging/StreamHandler.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/prefs/AbstractPreferences$1.class b/libjava/classpath/lib/java/util/prefs/AbstractPreferences$1.class
index 4f3c1f71e93..26c7c3bc8d7 100644
--- a/libjava/classpath/lib/java/util/prefs/AbstractPreferences$1.class
+++ b/libjava/classpath/lib/java/util/prefs/AbstractPreferences$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/prefs/AbstractPreferences$2.class b/libjava/classpath/lib/java/util/prefs/AbstractPreferences$2.class
index 8d3d85154c9..de906190a5b 100644
--- a/libjava/classpath/lib/java/util/prefs/AbstractPreferences$2.class
+++ b/libjava/classpath/lib/java/util/prefs/AbstractPreferences$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/prefs/AbstractPreferences.class b/libjava/classpath/lib/java/util/prefs/AbstractPreferences.class
index fcd1c51d803..59ae591bbfb 100644
--- a/libjava/classpath/lib/java/util/prefs/AbstractPreferences.class
+++ b/libjava/classpath/lib/java/util/prefs/AbstractPreferences.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/prefs/Preferences$1.class b/libjava/classpath/lib/java/util/prefs/Preferences$1.class
index 86732e17cc9..812dd2f38b4 100644
--- a/libjava/classpath/lib/java/util/prefs/Preferences$1.class
+++ b/libjava/classpath/lib/java/util/prefs/Preferences$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/regex/Matcher.class b/libjava/classpath/lib/java/util/regex/Matcher.class
index 0eee2c18485..0032b67ec14 100644
--- a/libjava/classpath/lib/java/util/regex/Matcher.class
+++ b/libjava/classpath/lib/java/util/regex/Matcher.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/zip/ZipFile$1.class b/libjava/classpath/lib/java/util/zip/ZipFile$1.class
index 5436a46673a..205797c5672 100644
--- a/libjava/classpath/lib/java/util/zip/ZipFile$1.class
+++ b/libjava/classpath/lib/java/util/zip/ZipFile$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/activation/MailcapCommandMap.class b/libjava/classpath/lib/javax/activation/MailcapCommandMap.class
index c06df777885..21773bfff56 100644
--- a/libjava/classpath/lib/javax/activation/MailcapCommandMap.class
+++ b/libjava/classpath/lib/javax/activation/MailcapCommandMap.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/activation/MimetypesFileTypeMap.class b/libjava/classpath/lib/javax/activation/MimetypesFileTypeMap.class
index 5d663e5fab0..791f321b92a 100644
--- a/libjava/classpath/lib/javax/activation/MimetypesFileTypeMap.class
+++ b/libjava/classpath/lib/javax/activation/MimetypesFileTypeMap.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$1.class b/libjava/classpath/lib/javax/imageio/ImageIO$1.class
index 46807f97fbd..208e34a6a19 100644
--- a/libjava/classpath/lib/javax/imageio/ImageIO$1.class
+++ b/libjava/classpath/lib/javax/imageio/ImageIO$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/imageio/ImageReader.class b/libjava/classpath/lib/javax/imageio/ImageReader.class
index 85979dac171..b1e1d425878 100644
--- a/libjava/classpath/lib/javax/imageio/ImageReader.class
+++ b/libjava/classpath/lib/javax/imageio/ImageReader.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$1.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$1.class
index e4525c4a98b..2dab4da1b26 100644
--- a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$1.class
+++ b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$1.class b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$1.class
index 788a96502ce..a3e1cb97c3a 100644
--- a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$1.class
+++ b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$2.class b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$2.class
index bc8ac5bb21d..ab89e0cfe52 100644
--- a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$2.class
+++ b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/management/NotificationBroadcasterSupport$DispatchTask.class b/libjava/classpath/lib/javax/management/NotificationBroadcasterSupport$DispatchTask.class
index 00ca4029337..dc5b3701361 100644
--- a/libjava/classpath/lib/javax/management/NotificationBroadcasterSupport$DispatchTask.class
+++ b/libjava/classpath/lib/javax/management/NotificationBroadcasterSupport$DispatchTask.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/management/StandardMBean.class b/libjava/classpath/lib/javax/management/StandardMBean.class
index 087daafa940..679a807d916 100644
--- a/libjava/classpath/lib/javax/management/StandardMBean.class
+++ b/libjava/classpath/lib/javax/management/StandardMBean.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/management/openmbean/ArrayType.class b/libjava/classpath/lib/javax/management/openmbean/ArrayType.class
index 0b7767c3ac2..4f1b3656ec2 100644
--- a/libjava/classpath/lib/javax/management/openmbean/ArrayType.class
+++ b/libjava/classpath/lib/javax/management/openmbean/ArrayType.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/management/openmbean/CompositeType.class b/libjava/classpath/lib/javax/management/openmbean/CompositeType.class
index f26cd8e3449..9404e76d6a8 100644
--- a/libjava/classpath/lib/javax/management/openmbean/CompositeType.class
+++ b/libjava/classpath/lib/javax/management/openmbean/CompositeType.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfoSupport.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfoSupport.class
index 85f53a0cc16..27ec44ab007 100644
--- a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfoSupport.class
+++ b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfoSupport.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanConstructorInfoSupport.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanConstructorInfoSupport.class
index 75bdacc524e..edbde56485a 100644
--- a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanConstructorInfoSupport.class
+++ b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanConstructorInfoSupport.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanInfoSupport.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanInfoSupport.class
index 7e4265d3d42..32a250b354f 100644
--- a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanInfoSupport.class
+++ b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanInfoSupport.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfoSupport.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfoSupport.class
index 5e88cbe4672..53e0fd084a0 100644
--- a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfoSupport.class
+++ b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfoSupport.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfoSupport.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfoSupport.class
index 5f3bf31eb0e..1a89639dd0a 100644
--- a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfoSupport.class
+++ b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfoSupport.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/management/openmbean/TabularDataSupport.class b/libjava/classpath/lib/javax/management/openmbean/TabularDataSupport.class
index b45cdca489c..8437c101f55 100644
--- a/libjava/classpath/lib/javax/management/openmbean/TabularDataSupport.class
+++ b/libjava/classpath/lib/javax/management/openmbean/TabularDataSupport.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/management/openmbean/TabularType.class b/libjava/classpath/lib/javax/management/openmbean/TabularType.class
index 573d1ec2725..ddb15b72366 100644
--- a/libjava/classpath/lib/javax/management/openmbean/TabularType.class
+++ b/libjava/classpath/lib/javax/management/openmbean/TabularType.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/naming/CompoundName.class b/libjava/classpath/lib/javax/naming/CompoundName.class
index ac8f259e87b..c586180506e 100644
--- a/libjava/classpath/lib/javax/naming/CompoundName.class
+++ b/libjava/classpath/lib/javax/naming/CompoundName.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/naming/directory/BasicAttributes$1.class b/libjava/classpath/lib/javax/naming/directory/BasicAttributes$1.class
index 24a92b295d0..6f821329b06 100644
--- a/libjava/classpath/lib/javax/naming/directory/BasicAttributes$1.class
+++ b/libjava/classpath/lib/javax/naming/directory/BasicAttributes$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory$1.class b/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory$1.class
index a2cdc28f9a2..cfd8f0e5dc9 100644
--- a/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory$1.class
+++ b/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory$1.class b/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory$1.class
index e87db7a5e9f..56a5b1b63ad 100644
--- a/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory$1.class
+++ b/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/print/PrintServiceLookup.class b/libjava/classpath/lib/javax/print/PrintServiceLookup.class
index a8c931f310f..5c834802b1b 100644
--- a/libjava/classpath/lib/javax/print/PrintServiceLookup.class
+++ b/libjava/classpath/lib/javax/print/PrintServiceLookup.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax$1.class b/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax$1.class
index f13d2110867..3b297f9d380 100644
--- a/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax$1.class
+++ b/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission$1.class b/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission$1.class
index 4faebdf3cb0..6324fa9a650 100644
--- a/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission$1.class
+++ b/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/KerberosTicket.class b/libjava/classpath/lib/javax/security/auth/kerberos/KerberosTicket.class
index 2b61c570d8e..d198c53a833 100644
--- a/libjava/classpath/lib/javax/security/auth/kerberos/KerberosTicket.class
+++ b/libjava/classpath/lib/javax/security/auth/kerberos/KerberosTicket.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission$1.class b/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission$1.class
index 36248ceba56..698a2a31571 100644
--- a/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission$1.class
+++ b/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/security/auth/login/Configuration$1.class b/libjava/classpath/lib/javax/security/auth/login/Configuration$1.class
index f08f198086e..6a6809eb64a 100644
--- a/libjava/classpath/lib/javax/security/auth/login/Configuration$1.class
+++ b/libjava/classpath/lib/javax/security/auth/login/Configuration$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/AbstractButton$1.class b/libjava/classpath/lib/javax/swing/AbstractButton$1.class
index 5657c38b075..aa3447908c0 100644
--- a/libjava/classpath/lib/javax/swing/AbstractButton$1.class
+++ b/libjava/classpath/lib/javax/swing/AbstractButton$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/ActionMap.class b/libjava/classpath/lib/javax/swing/ActionMap.class
index e77f7d59c6a..e181d65235b 100644
--- a/libjava/classpath/lib/javax/swing/ActionMap.class
+++ b/libjava/classpath/lib/javax/swing/ActionMap.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/DebugGraphics.class b/libjava/classpath/lib/javax/swing/DebugGraphics.class
index 9534faf8694..73fdcfa2ee6 100644
--- a/libjava/classpath/lib/javax/swing/DebugGraphics.class
+++ b/libjava/classpath/lib/javax/swing/DebugGraphics.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/DefaultComboBoxModel.class b/libjava/classpath/lib/javax/swing/DefaultComboBoxModel.class
index 5c9277d2c79..809db7f4b67 100644
--- a/libjava/classpath/lib/javax/swing/DefaultComboBoxModel.class
+++ b/libjava/classpath/lib/javax/swing/DefaultComboBoxModel.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/DefaultDesktopManager.class b/libjava/classpath/lib/javax/swing/DefaultDesktopManager.class
index b2db68ee6f6..3599a3daeff 100644
--- a/libjava/classpath/lib/javax/swing/DefaultDesktopManager.class
+++ b/libjava/classpath/lib/javax/swing/DefaultDesktopManager.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/ImageIcon$1.class b/libjava/classpath/lib/javax/swing/ImageIcon$1.class
index e5864d5b285..5b74f0802d2 100644
--- a/libjava/classpath/lib/javax/swing/ImageIcon$1.class
+++ b/libjava/classpath/lib/javax/swing/ImageIcon$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/InputMap.class b/libjava/classpath/lib/javax/swing/InputMap.class
index 96dbcbf3559..bb448b65584 100644
--- a/libjava/classpath/lib/javax/swing/InputMap.class
+++ b/libjava/classpath/lib/javax/swing/InputMap.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JComboBox$1.class b/libjava/classpath/lib/javax/swing/JComboBox$1.class
index 0361e52fb1b..a3a2043a89f 100644
--- a/libjava/classpath/lib/javax/swing/JComboBox$1.class
+++ b/libjava/classpath/lib/javax/swing/JComboBox$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JComponent$1.class b/libjava/classpath/lib/javax/swing/JComponent$1.class
index a13d0e29c6f..d031de88d88 100644
--- a/libjava/classpath/lib/javax/swing/JComponent$1.class
+++ b/libjava/classpath/lib/javax/swing/JComponent$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$1.class b/libjava/classpath/lib/javax/swing/JEditorPane$1.class
index fca4ffa7886..4c77be64b7e 100644
--- a/libjava/classpath/lib/javax/swing/JEditorPane$1.class
+++ b/libjava/classpath/lib/javax/swing/JEditorPane$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$2.class b/libjava/classpath/lib/javax/swing/JEditorPane$2.class
index 4d4624fae10..58beffaec52 100644
--- a/libjava/classpath/lib/javax/swing/JEditorPane$2.class
+++ b/libjava/classpath/lib/javax/swing/JEditorPane$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JEditorPane.class b/libjava/classpath/lib/javax/swing/JEditorPane.class
index 473d7321d72..57e6bcc26b3 100644
--- a/libjava/classpath/lib/javax/swing/JEditorPane.class
+++ b/libjava/classpath/lib/javax/swing/JEditorPane.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JFileChooser$1.class b/libjava/classpath/lib/javax/swing/JFileChooser$1.class
index 3b3e55cc10e..7f8e724ba2a 100644
--- a/libjava/classpath/lib/javax/swing/JFileChooser$1.class
+++ b/libjava/classpath/lib/javax/swing/JFileChooser$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JLabel.class b/libjava/classpath/lib/javax/swing/JLabel.class
index 736eb1b24d0..6e60a8aa383 100644
--- a/libjava/classpath/lib/javax/swing/JLabel.class
+++ b/libjava/classpath/lib/javax/swing/JLabel.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JList$1.class b/libjava/classpath/lib/javax/swing/JList$1.class
index 66ad6e29ea7..f85aeecfffd 100644
--- a/libjava/classpath/lib/javax/swing/JList$1.class
+++ b/libjava/classpath/lib/javax/swing/JList$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JList$2.class b/libjava/classpath/lib/javax/swing/JList$2.class
index ee2259240df..2896f8d6f83 100644
--- a/libjava/classpath/lib/javax/swing/JList$2.class
+++ b/libjava/classpath/lib/javax/swing/JList$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JList$3.class b/libjava/classpath/lib/javax/swing/JList$3.class
index af69f031e3f..4e27b8cbcf9 100644
--- a/libjava/classpath/lib/javax/swing/JList$3.class
+++ b/libjava/classpath/lib/javax/swing/JList$3.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JMenuItem$1.class b/libjava/classpath/lib/javax/swing/JMenuItem$1.class
index a8ee6a59f19..a5fb9b98711 100644
--- a/libjava/classpath/lib/javax/swing/JMenuItem$1.class
+++ b/libjava/classpath/lib/javax/swing/JMenuItem$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JOptionPane$1.class b/libjava/classpath/lib/javax/swing/JOptionPane$1.class
index 413026f0fa7..7a39ee008b9 100644
--- a/libjava/classpath/lib/javax/swing/JOptionPane$1.class
+++ b/libjava/classpath/lib/javax/swing/JOptionPane$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JOptionPane$2.class b/libjava/classpath/lib/javax/swing/JOptionPane$2.class
index 9abdacd8b51..11bd655c425 100644
--- a/libjava/classpath/lib/javax/swing/JOptionPane$2.class
+++ b/libjava/classpath/lib/javax/swing/JOptionPane$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JPopupMenu$1.class b/libjava/classpath/lib/javax/swing/JPopupMenu$1.class
index 853d006dbc0..acaf71087da 100644
--- a/libjava/classpath/lib/javax/swing/JPopupMenu$1.class
+++ b/libjava/classpath/lib/javax/swing/JPopupMenu$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JPopupMenu$2.class b/libjava/classpath/lib/javax/swing/JPopupMenu$2.class
index d0e4c7cc299..cbb09411a02 100644
--- a/libjava/classpath/lib/javax/swing/JPopupMenu$2.class
+++ b/libjava/classpath/lib/javax/swing/JPopupMenu$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JProgressBar$1.class b/libjava/classpath/lib/javax/swing/JProgressBar$1.class
index c85f9314517..477c7b3802f 100644
--- a/libjava/classpath/lib/javax/swing/JProgressBar$1.class
+++ b/libjava/classpath/lib/javax/swing/JProgressBar$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JScrollBar$ScrollBarChangeListener.class b/libjava/classpath/lib/javax/swing/JScrollBar$ScrollBarChangeListener.class
index 5ebce2409d1..89d2b9bfd41 100644
--- a/libjava/classpath/lib/javax/swing/JScrollBar$ScrollBarChangeListener.class
+++ b/libjava/classpath/lib/javax/swing/JScrollBar$ScrollBarChangeListener.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JSlider$1.class b/libjava/classpath/lib/javax/swing/JSlider$1.class
index 90becf88d25..f9db0770e5c 100644
--- a/libjava/classpath/lib/javax/swing/JSlider$1.class
+++ b/libjava/classpath/lib/javax/swing/JSlider$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JTable.class b/libjava/classpath/lib/javax/swing/JTable.class
index f3c5c56f1f4..52aa3c5c22e 100644
--- a/libjava/classpath/lib/javax/swing/JTable.class
+++ b/libjava/classpath/lib/javax/swing/JTable.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JTextField$1.class b/libjava/classpath/lib/javax/swing/JTextField$1.class
index c8ab470bf7a..6c14700f90a 100644
--- a/libjava/classpath/lib/javax/swing/JTextField$1.class
+++ b/libjava/classpath/lib/javax/swing/JTextField$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/JTextField$2.class b/libjava/classpath/lib/javax/swing/JTextField$2.class
index 51791f1408b..8330a3caaac 100644
--- a/libjava/classpath/lib/javax/swing/JTextField$2.class
+++ b/libjava/classpath/lib/javax/swing/JTextField$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/KeyboardManager.class b/libjava/classpath/lib/javax/swing/KeyboardManager.class
index 7ab5261d80e..4447139ca68 100644
--- a/libjava/classpath/lib/javax/swing/KeyboardManager.class
+++ b/libjava/classpath/lib/javax/swing/KeyboardManager.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/LookAndFeel$1.class b/libjava/classpath/lib/javax/swing/LookAndFeel$1.class
index 563f17d6fe6..710ef11ecd7 100644
--- a/libjava/classpath/lib/javax/swing/LookAndFeel$1.class
+++ b/libjava/classpath/lib/javax/swing/LookAndFeel$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/ProgressMonitor$1.class b/libjava/classpath/lib/javax/swing/ProgressMonitor$1.class
index 9af08b71c38..a93d413fcc4 100644
--- a/libjava/classpath/lib/javax/swing/ProgressMonitor$1.class
+++ b/libjava/classpath/lib/javax/swing/ProgressMonitor$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/Spring$1.class b/libjava/classpath/lib/javax/swing/Spring$1.class
index 27592e814c7..ec4a5d2b101 100644
--- a/libjava/classpath/lib/javax/swing/Spring$1.class
+++ b/libjava/classpath/lib/javax/swing/Spring$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/Spring$2.class b/libjava/classpath/lib/javax/swing/Spring$2.class
index 9bc38de2327..65d33db41ce 100644
--- a/libjava/classpath/lib/javax/swing/Spring$2.class
+++ b/libjava/classpath/lib/javax/swing/Spring$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/Spring$3.class b/libjava/classpath/lib/javax/swing/Spring$3.class
index 1e0db65d7de..201a2b6db22 100644
--- a/libjava/classpath/lib/javax/swing/Spring$3.class
+++ b/libjava/classpath/lib/javax/swing/Spring$3.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/Timer$1.class b/libjava/classpath/lib/javax/swing/Timer$1.class
index 2969701588c..ef2a09f98eb 100644
--- a/libjava/classpath/lib/javax/swing/Timer$1.class
+++ b/libjava/classpath/lib/javax/swing/Timer$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$1.class b/libjava/classpath/lib/javax/swing/UIDefaults$1.class
index eb6a087c34e..25c9b6a71cf 100644
--- a/libjava/classpath/lib/javax/swing/UIDefaults$1.class
+++ b/libjava/classpath/lib/javax/swing/UIDefaults$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$2.class b/libjava/classpath/lib/javax/swing/UIDefaults$2.class
index e74dc4752b3..dd18c5161df 100644
--- a/libjava/classpath/lib/javax/swing/UIDefaults$2.class
+++ b/libjava/classpath/lib/javax/swing/UIDefaults$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$3.class b/libjava/classpath/lib/javax/swing/UIDefaults$3.class
index fc82433d1e2..44569f356ad 100644
--- a/libjava/classpath/lib/javax/swing/UIDefaults$3.class
+++ b/libjava/classpath/lib/javax/swing/UIDefaults$3.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$4.class b/libjava/classpath/lib/javax/swing/UIDefaults$4.class
index dac96b69bc2..ae645f16a2a 100644
--- a/libjava/classpath/lib/javax/swing/UIDefaults$4.class
+++ b/libjava/classpath/lib/javax/swing/UIDefaults$4.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$1.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$1.class
index 45fa064d6bf..3866ab133f7 100644
--- a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$1.class
+++ b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$2.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$2.class
index 83a0a4e8699..698be33d646 100644
--- a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$2.class
+++ b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$ImageScrollListener.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$ImageScrollListener.class
index 0d4856f6b82..df3a07c2283 100644
--- a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$ImageScrollListener.class
+++ b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$ImageScrollListener.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel.class
index 8f11c7c4466..666845fe5c3 100644
--- a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel.class
+++ b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$1.class
index 063b042e45d..d90b07d28eb 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$2.class
index bb495792c45..77d93d5ca5b 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$2.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$1.class
index b5b0b924288..183833e0365 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$1.class
index 1c03fe33a88..cdc931d461b 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$2.class
index 9d85f159532..6ef5956973d 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$2.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$1.class
index 124f1b8b758..aede58e9a22 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest.class
index 2e9ff39324c..64fbccdd326 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread.class
index b1a98484d53..3b68ce83316 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel.class
index 46f14baeb48..8dc485f651d 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction.class
index f075a987d8d..b9f136a3a7f 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction.class
index 0187bc8344b..a6713911972 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicGraphicsUtils.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicGraphicsUtils.class
index 9a2197be08b..3084a4efc69 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicGraphicsUtils.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicGraphicsUtils.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$1.class
index 4b0ddb2c460..f9485fe75cb 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$2.class
index 4ae4f3b0438..cf3d18a5339 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$2.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener.class
index 75ef5baea6d..92e5aa8386f 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI$1.class
index 038f1c8579c..a7c381d4037 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI.class
index 204829b6e40..73c3468c32e 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$1.class
index 26b0c4462c8..14ba49bc129 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$2.class
index f6370833e69..836a465f468 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$2.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$3.class
index 88c667ce350..301cd8e7ee8 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$3.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$3.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$4.class
index b4c8d1d6f45..b952cb77184 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$4.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$4.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$5.class
index d4a43d63903..e4e4083c1c2 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$5.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$5.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$6.class
index 92640b29922..e017ebb28c0 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$6.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$6.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$7.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$7.class
index 148f771f084..a0dbc1d6622 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$7.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$7.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI.class
index 8dfc3cbaafd..76d520aeb64 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$1.class
index b0814acf9a0..c910643717d 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$2.class
index c4bdae02153..327a5c3e635 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$2.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$3.class
index 74725bfb5ac..78503a2ad7b 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$3.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$3.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$4.class
index a765670b52a..277d9a4ce41 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$4.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$4.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.class
index afa5655b800..a1f6381d864 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$1.class
index 2027c351805..f1e46d83ef6 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$2.class
index 47a09a1eaf4..0a979a53350 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$2.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$3.class
index eeec844d801..6708c942aef 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$3.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$3.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$4.class
index 36bf14d8385..0e2a9353cad 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$4.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$4.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$5.class
index efe501bf8c7..cbe999123eb 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$5.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$5.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$6.class
index 084aea878af..1b9fcf1f6b0 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$6.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$6.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.class
index 00e1adaeef8..f1466a6b2d3 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI.class
index 603c6245abe..8082e574e03 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$1.class
index 55b2a7b9bab..3a2b65c1976 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$10.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$10.class
index 2c218d9ee56..b4de85029f4 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$10.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$10.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$2.class
index e59399e4a4f..599f4b9a113 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$2.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$3.class
index 218fa844f8f..259db149426 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$3.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$3.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$4.class
index 15fbed7634e..379883f6d73 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$4.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$4.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$5.class
index 1521583f2c7..b0f541ba5d4 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$5.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$5.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$6.class
index a5cdfe9c620..4620b72e275 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$6.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$6.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$7.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$7.class
index 0104d251066..9ee55fa971a 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$7.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$7.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$8.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$8.class
index 745bf120b57..f1533641205 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$8.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$8.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$9.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$9.class
index c01ac68d3b0..9b5241c88ae 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$9.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$9.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$1.class
index 42bfb29fc52..b079635cb18 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$2.class
index f5d1de558a9..e299696b7f4 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$2.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$3.class
index 5685591c117..fd629562ac9 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$3.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$3.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$4.class
index ee74a2ad7a9..e1a8b70d990 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$4.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$4.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$5.class
index 160578f383c..de10909e617 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$5.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$5.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$6.class
index d14475fda6f..c1ee100932b 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$6.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$6.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$1.class
index 1a47d99ae35..0c323a924fc 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$2.class
index 9b88486da59..6525711984c 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$2.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$3.class
index 57dcbcd7ddf..596e3747bd9 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$3.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$3.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$4.class
index 882ea182237..ff9582ed1fd 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$4.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$4.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$5.class
index b19a0553024..1ffbb08a476 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$5.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$5.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$1.class
index eb3057bdb69..be5b0578e76 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$2.class
index 23f3a151de4..5deabeb3d60 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$2.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$3.class
index fe58e5634c9..cac60896926 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$3.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$3.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$4.class
index 261aeea7e1a..40360c08dfa 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$4.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$4.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$5.class
index 5e6cf68dc8b..063e67d37a6 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$5.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$5.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$6.class
index 6bdb357d74f..e594b280f55 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$6.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$6.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$7.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$7.class
index c9d7228a13f..545a5f626c4 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$7.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$7.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$8.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$8.class
index 148d8f2ff21..7ed67c6e1fa 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$8.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$8.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.class
index 6324633b2ec..fb13c4f0b16 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.class
index 3324f0375ec..15616fdc554 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler.class
index af70ea982d6..bea72fde7d1 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout.class
index b6746e74db9..082eb46743a 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.class
index 50712d775af..33871abd54e 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI.class
index d774f4b41c7..5246752f93a 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$1.class
index 0c153b32bfd..609a09072a7 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$MouseInputHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$MouseInputHandler.class
index 9ef5b9951d6..002e4f15635 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$MouseInputHandler.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$MouseInputHandler.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$TableAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$TableAction.class
index 94be7170dc6..4ea8fe62bff 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$TableAction.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$TableAction.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI.class
index f1d90be7082..af060912209 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$1.class
index b4026606b3d..6a242c67981 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.class
index b5b5b66a08e..e21f623f6a5 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI.class
index 7cf5420e190..f3841e2f436 100644
--- a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI.class
+++ b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonUI.class
index c88ae73759b..0b76c41086e 100644
--- a/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonUI.class
+++ b/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonUI.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI.class
index 5678ed5d358..14624539c99 100644
--- a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI.class
+++ b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener.class
index 73c804100fb..144ffae2a66 100644
--- a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener.class
+++ b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI.class
index ae445a011f0..b7a50783d6b 100644
--- a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI.class
+++ b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$1.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$1.class
index 994f6b8ca95..37d73ed978c 100644
--- a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$2.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$2.class
index 7f6b2402a1a..a7ed9d3cbaf 100644
--- a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$2.class
+++ b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$2.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$3.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$3.class
index d1792277e07..9bf3be09afc 100644
--- a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$3.class
+++ b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$3.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane.class
index 4ee98141c8f..7faf68df5c3 100644
--- a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane.class
+++ b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI$1.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI$1.class
index 9a4a38f6c18..d0690f928e3 100644
--- a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel$1.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel$1.class
index 25859a692b6..0abc853ec91 100644
--- a/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel$1.class
+++ b/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalTreeUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTreeUI.class
index 84363d15dc9..75f284d9cd6 100644
--- a/libjava/classpath/lib/javax/swing/plaf/metal/MetalTreeUI.class
+++ b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTreeUI.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$AbstractElement.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$AbstractElement.class
index 03c8d402dc4..13a2a4a817c 100644
--- a/libjava/classpath/lib/javax/swing/text/AbstractDocument$AbstractElement.class
+++ b/libjava/classpath/lib/javax/swing/text/AbstractDocument$AbstractElement.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/BoxView.class b/libjava/classpath/lib/javax/swing/text/BoxView.class
index 72e66c0695e..4af030e58f1 100644
--- a/libjava/classpath/lib/javax/swing/text/BoxView.class
+++ b/libjava/classpath/lib/javax/swing/text/BoxView.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/ComponentView$1.class b/libjava/classpath/lib/javax/swing/text/ComponentView$1.class
index 053d2a2e8f6..1a49b5d6e3b 100644
--- a/libjava/classpath/lib/javax/swing/text/ComponentView$1.class
+++ b/libjava/classpath/lib/javax/swing/text/ComponentView$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/DefaultCaret.class b/libjava/classpath/lib/javax/swing/text/DefaultCaret.class
index b64eaa42644..9bfb5d83279 100644
--- a/libjava/classpath/lib/javax/swing/text/DefaultCaret.class
+++ b/libjava/classpath/lib/javax/swing/text/DefaultCaret.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/DefaultFormatter.class b/libjava/classpath/lib/javax/swing/text/DefaultFormatter.class
index beea0465ee5..35abac4614e 100644
--- a/libjava/classpath/lib/javax/swing/text/DefaultFormatter.class
+++ b/libjava/classpath/lib/javax/swing/text/DefaultFormatter.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.class b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.class
index da53a57575d..5d04c973a72 100644
--- a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.class
+++ b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer.class b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer.class
index 78fe23c67ae..593280eb21b 100644
--- a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer.class
+++ b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet$1.class b/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet$1.class
index 0dcbcddd772..0119190f39f 100644
--- a/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet$1.class
+++ b/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/FieldView$1.class b/libjava/classpath/lib/javax/swing/text/FieldView$1.class
index 1a6d959b478..e5bfc15d029 100644
--- a/libjava/classpath/lib/javax/swing/text/FieldView$1.class
+++ b/libjava/classpath/lib/javax/swing/text/FieldView$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/FieldView.class b/libjava/classpath/lib/javax/swing/text/FieldView.class
index eada9fe869b..4521eaf0b95 100644
--- a/libjava/classpath/lib/javax/swing/text/FieldView.class
+++ b/libjava/classpath/lib/javax/swing/text/FieldView.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/FlowView.class b/libjava/classpath/lib/javax/swing/text/FlowView.class
index 96290080af6..795602110f2 100644
--- a/libjava/classpath/lib/javax/swing/text/FlowView.class
+++ b/libjava/classpath/lib/javax/swing/text/FlowView.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/InternationalFormatter.class b/libjava/classpath/lib/javax/swing/text/InternationalFormatter.class
index 5003e6c035a..ccda04bc18c 100644
--- a/libjava/classpath/lib/javax/swing/text/InternationalFormatter.class
+++ b/libjava/classpath/lib/javax/swing/text/InternationalFormatter.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/PlainDocument.class b/libjava/classpath/lib/javax/swing/text/PlainDocument.class
index 7ebdfc51a63..6675b69d8c7 100644
--- a/libjava/classpath/lib/javax/swing/text/PlainDocument.class
+++ b/libjava/classpath/lib/javax/swing/text/PlainDocument.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/PlainView.class b/libjava/classpath/lib/javax/swing/text/PlainView.class
index 26d866222c8..7eb9c917f97 100644
--- a/libjava/classpath/lib/javax/swing/text/PlainView.class
+++ b/libjava/classpath/lib/javax/swing/text/PlainView.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/StyleContext$1.class b/libjava/classpath/lib/javax/swing/text/StyleContext$1.class
index 29299de400e..ecdbb4fa2f6 100644
--- a/libjava/classpath/lib/javax/swing/text/StyleContext$1.class
+++ b/libjava/classpath/lib/javax/swing/text/StyleContext$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/TableView.class b/libjava/classpath/lib/javax/swing/text/TableView.class
index f07977d6de2..129ed319ace 100644
--- a/libjava/classpath/lib/javax/swing/text/TableView.class
+++ b/libjava/classpath/lib/javax/swing/text/TableView.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/WrappedPlainView.class b/libjava/classpath/lib/javax/swing/text/WrappedPlainView.class
index 8e60a6438a1..f3aff1c427e 100644
--- a/libjava/classpath/lib/javax/swing/text/WrappedPlainView.class
+++ b/libjava/classpath/lib/javax/swing/text/WrappedPlainView.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/html/FormView$1.class b/libjava/classpath/lib/javax/swing/text/html/FormView$1.class
index a6d6c75008c..122071a06e7 100644
--- a/libjava/classpath/lib/javax/swing/text/html/FormView$1.class
+++ b/libjava/classpath/lib/javax/swing/text/html/FormView$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/html/FormView$SubmitThread.class b/libjava/classpath/lib/javax/swing/text/html/FormView$SubmitThread.class
index 7c66be43a1c..99daa642a12 100644
--- a/libjava/classpath/lib/javax/swing/text/html/FormView$SubmitThread.class
+++ b/libjava/classpath/lib/javax/swing/text/html/FormView$SubmitThread.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$1.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$1.class
index 67b1b7eda54..47b02a19b3a 100644
--- a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$1.class
+++ b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument.class
index 1afc1c67012..3d864088a34 100644
--- a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument.class
+++ b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/html/ImageView$1.class b/libjava/classpath/lib/javax/swing/text/html/ImageView$1.class
index ae9ab40cd87..81ef92d48c5 100644
--- a/libjava/classpath/lib/javax/swing/text/html/ImageView$1.class
+++ b/libjava/classpath/lib/javax/swing/text/html/ImageView$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/html/TableView.class b/libjava/classpath/lib/javax/swing/text/html/TableView.class
index d6c13f91a69..21efb02fc53 100644
--- a/libjava/classpath/lib/javax/swing/text/html/TableView.class
+++ b/libjava/classpath/lib/javax/swing/text/html/TableView.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList$1.class b/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList$1.class
index 0b0744aaefd..b1d7eb66aa9 100644
--- a/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList$1.class
+++ b/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Element$1.class b/libjava/classpath/lib/javax/swing/text/html/parser/Element$1.class
index 639e858aabd..0b00e8101f0 100644
--- a/libjava/classpath/lib/javax/swing/text/html/parser/Element$1.class
+++ b/libjava/classpath/lib/javax/swing/text/html/parser/Element$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Entity$1.class b/libjava/classpath/lib/javax/swing/text/html/parser/Entity$1.class
index 562c4c044e4..13da5c1a300 100644
--- a/libjava/classpath/lib/javax/swing/text/html/parser/Entity$1.class
+++ b/libjava/classpath/lib/javax/swing/text/html/parser/Entity$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Parser$1.class b/libjava/classpath/lib/javax/swing/text/html/parser/Parser$1.class
index fd8c7576b29..1f41088cbc4 100644
--- a/libjava/classpath/lib/javax/swing/text/html/parser/Parser$1.class
+++ b/libjava/classpath/lib/javax/swing/text/html/parser/Parser$1.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor.class b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor.class
index 6a0c995ae3f..4a2f307e228 100644
--- a/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor.class
+++ b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellRenderer.class b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellRenderer.class
index feb720fd23b..695d5012477 100644
--- a/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellRenderer.class
+++ b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellRenderer.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache$NodeRecord.class b/libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache$NodeRecord.class
index cf1a20a4b79..598b55c9d87 100644
--- a/libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache$NodeRecord.class
+++ b/libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache$NodeRecord.class
Binary files differ
diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.class
index 8a9301d5cff..52b2bb8b736 100644
--- a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.class
+++ b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.class
Binary files differ
diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.class
index 7c50f9ac596..7eaee610d84 100644
--- a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.class
+++ b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.class
Binary files differ
diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.class
index 78e7a73f526..f37991149e9 100644
--- a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.class
+++ b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.class
Binary files differ
diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.class
index 73de1d75e6b..aeef02e9a82 100644
--- a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.class
+++ b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/ClassReader.class b/libjava/classpath/tools/asm/org/objectweb/asm/ClassReader.class
index 4985cc6c64f..ee5ea75fffb 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/ClassReader.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/ClassReader.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/MethodWriter.class b/libjava/classpath/tools/asm/org/objectweb/asm/MethodWriter.class
index 9ec1d07de5e..e006aa43c83 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/MethodWriter.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/MethodWriter.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapTableAttribute.class b/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapTableAttribute.class
index 17fe2f2ed42..708ee09880e 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapTableAttribute.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapTableAttribute.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/commons/GeneratorAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/commons/GeneratorAdapter.class
index 5c2cd66bf06..11a2f13dce3 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/commons/GeneratorAdapter.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/commons/GeneratorAdapter.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.class
index d04c8cd3711..5f652ce4fab 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassOptimizer.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassOptimizer.class
index 86a760c78b4..d0510b6c919 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassOptimizer.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassOptimizer.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.class
index fd910c9a68f..57a0a12d97b 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.class
index 8928af0258b..11921a727f6 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodOptimizer.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodOptimizer.class
index 0aa907283c0..123484b2420 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodOptimizer.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodOptimizer.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/NameMapping.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/NameMapping.class
index 249a832f7ad..e7ed57ef6f4 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/NameMapping.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/NameMapping.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/ClassNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/ClassNode.class
index 463e22bc595..975cee2b4ec 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/tree/ClassNode.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/tree/ClassNode.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.class
index 7d80188c8d0..e307436c0d7 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode$1.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode$1.class
index 04e6b6f8781..576603d92bf 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode$1.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode$1.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode.class
index c9e96e2b7d8..dc6a563454f 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/TableSwitchInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/TableSwitchInsnNode.class
index 3d7edc3261e..b4626e8ed41 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/tree/TableSwitchInsnNode.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/tree/TableSwitchInsnNode.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.class
index cf4a4d256df..e0d2bd07f1b 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicVerifier.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicVerifier.class
index 6adddec004a..fd5f9382252 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicVerifier.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicVerifier.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Frame.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Frame.class
index 297cfd50445..c626859b03d 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Frame.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Frame.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.class
index e7e8f053346..4c3d7bc0934 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckClassAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckClassAdapter.class
index ef09ba998f3..d5b555d8143 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckClassAdapter.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckClassAdapter.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckMethodAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckMethodAdapter.class
index d07f5f2b4c1..57e63c02096 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckMethodAdapter.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckMethodAdapter.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceClassVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceClassVisitor.class
index 65d8159b34a..93ef1acf7ca 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceClassVisitor.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceClassVisitor.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationParameterRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationParameterRule.class
index f4eb0a77d3b..9d4d4038589 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationParameterRule.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationParameterRule.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OpcodesRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OpcodesRule.class
index d76f40b1e90..510ea53818b 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OpcodesRule.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OpcodesRule.class
Binary files differ
diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$Rule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$Rule.class
index 080c1758266..c4206722910 100644
--- a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$Rule.class
+++ b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$Rule.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$1.class
index be365d4064c..d60ed70d846 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$10.class
index f57650d487a..6bd79beb4b6 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$10.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$10.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$2.class
index ad05cfd5eb4..6798e97443d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$3.class
index d1d8c3ca41c..f3fbb09c028 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$4.class
index 68b0a10085b..578fae066be 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$5.class
index b49c112dcd9..325a20c20b2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$6.class
index f2b1412d157..cc651d5c62f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$7.class
index ba6c44cc999..917b0c423d1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$8.class
index e06bc000c80..9f431fc8328 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$9.class
index 0edf26bff0f..cd542dd20f4 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletWindow$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletWindow$1.class
index f364d27c769..d6aee337d39 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletWindow$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletWindow$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$1.class
index de7dd49e1f9..812fb94326c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$2.class
index edb80fba2c6..803af4cac30 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$1.class
index a4b6811c9f2..727fd0a86ef 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$2.class
index e6e483f6562..5ba4b6a5acd 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class
index 268778d8b99..6158ab308bf 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class
index 5bcba7c4e0a..4db03df8d41 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class
index cfecc2eeb96..b2ef23465e0 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class
index 620bb15c3b6..83886a0a3c6 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class
index e76e4ad0885..a9e919bdf84 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$1.class
index 29ff94020f7..016bcdda9aa 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver.class
index e4c9da6c117..11aeeb98382 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.class
index 9f45994f2e7..d21fcb66eb3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$1.class
index 76076443610..352177e2563 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$2.class
index f2ecf979f1b..013fcb91981 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$3.class
index 56fd358a6b7..63abbdb5bc2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/AbstractTagImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/AbstractTagImpl.class
index 15810faee9e..df6a4dcc6e1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/AbstractTagImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/AbstractTagImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class
index ce8fb482022..d1be100e4a5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ConstructorDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ConstructorDocImpl.class
index e75c4e09569..774e33c0dad 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ConstructorDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ConstructorDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class
index 1b09a317531..e93e4604a90 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class
index 4479e84f767..31c971d56eb 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class
index 93de99ad907..22adcc22814 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class
index 691c53ce0c2..2cba5c1eb78 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class
index e8bb15f993e..71d6e115251 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class
index 1479d587a83..070cc7c54b2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class
index c47a836074b..6d12c7db17d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class
index 5bb6c725956..211ef8606c8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class
index 13f7e77a530..f758b36833d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class
index bee8820c2f8..b9e96b63fca 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class
index da2e873908d..ae88b4f6695 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class
index 9402410a7d6..4b417faab6d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class
index c2bfa2d442a..aa349663be8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class
index d294d3c25c5..607d9b7a2a5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class
index 390bd1b7929..f0201ad3011 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class
index 5977dc8d8e9..83dfc4b56eb 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class
index 46f194b653e..997fde10d05 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class
index 1b14a4118b5..4c3d30a1c7a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class
index d38eff9a626..b6531dae73e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class
index a812e147cd5..782a3a38764 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class
index 00817dab00b..ccb4c5cdea7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class
index a789799d231..7bd4d416eac 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class
index 09dfcbb61cb..8a1b9a09071 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class
index 634155f58af..f6f9ff87bbc 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class
index 91e10b27c7a..8ff1acc7f37 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class
index f1118b613f7..d1a4f5f1ced 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class
index 2c84fff5925..8d14fc4c976 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class
index e53a62553b3..e23eda47011 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class
index 4542752a5dd..6dbe6a8fa94 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class
index 9c05a9048aa..82405eb5075 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class
index 149bd7eb656..c12d30f54a3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet$1.class
index 41b7e2c2faa..e3e7ede3aa9 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.class
index ea024cf257e..3da691c8314 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.class
index 7aa1b436037..1908c173d35 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.class
index 5c4aa307295..cfaf94d3aec 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.class
index 96a1dee963e..50cba59ca37 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.class
index 06e07c2f26c..0db661d7d2c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.class
index 090c9d9ec3b..885e009a8d7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/JavaLexer.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/JavaLexer.class
index a61433cb968..3367c367604 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/JavaLexer.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/JavaLexer.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/JavaRecognizer.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/JavaRecognizer.class
index 91e156a3d27..ec48917c204 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/JavaRecognizer.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/JavaRecognizer.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Creator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Creator.class
index ad4cc74f732..20d5f849f2f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Creator.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Creator.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$1.class
index eed12630967..1823aeb87bd 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$2.class
index 932b5301f22..22a34b09a4d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$3.class
index 0d27a4fabf2..e2273aac756 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$4.class
index 5f86431c389..db23620a6ab 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$5.class
index 6d4aa7619ac..feadf38018d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$6.class
index b05c00bd16c..4795844b9ac 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$7.class
index e50787652f4..57a9742d1ff 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/JarVerifier.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/JarVerifier.class
index f4006708da0..987781f3fe8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/JarVerifier.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/JarVerifier.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$1.class
index ee92e892a41..22ed506ffda 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$10.class
index 4df1a346d32..e0bf16b3a60 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$10.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$10.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$11.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$11.class
index 776b0d31320..444dbc624b1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$11.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$11.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$12.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$12.class
index 9208a2893f4..dfdeb3acc82 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$12.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$12.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$2.class
index 3ce4c263639..153248656f8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$3.class
index 648cce6e345..8781f7c6593 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$4.class
index f961c80d123..3a2d7b9fe98 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$5.class
index 4a795c81fc6..08cb8635a7a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$6.class
index 4589996f489..4b393a05981 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$7.class
index 2514aa11006..61a170a4351 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$8.class
index 31b4ecb85b3..c04f28491f2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$9.class
index e22c52eafc5..e65131c726a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/SFHelper.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/SFHelper.class
index d222c398e72..a8d5b6770f2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/SFHelper.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/SFHelper.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml.class b/libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml.class
index e3db4992675..31d9d66d82d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$1.class
index 88522107388..37f0ce5fc31 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$2.class
index 901cc7b173e..47cf330899c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$3.class
index 1b602fae91f..4c4bfdd88aa 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$4.class
index 8edc8b425e5..9099ce89e42 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$5.class
index 5450d28f6cd..29425b0556b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$6.class
index d56362361eb..e71bd682473 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$7.class
index 2359cc86a99..42952384838 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$8.class
index 2309169eb19..6b613078b57 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$9.class
index b6636062819..6ad457f1b28 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$1.class
index 60bba74c0b8..ca86d040462 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$10.class
index 0795aca8736..ea003e4f0ff 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$10.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$10.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$2.class
index 40c1ad48304..560a505a0a9 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$3.class
index fd5942fbf98..cd7143a5c50 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$4.class
index 327ac9d481c..88ea4ee1a10 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$5.class
index cfdb3b5610f..fee2bd107ba 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$6.class
index 8408ea56735..bb6d72a3e33 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$7.class
index c1342179835..44390e12701 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$8.class
index 19f5673882e..28bf6e998c9 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$9.class
index 57cff5dc2e5..013a6553e09 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class
index f6e8bd16f18..417249696fc 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$1.class
index d2deda23dfa..43d816d1447 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$2.class
index 8fe1c7f09cf..c49e59fc06d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$3.class
index cfcc08edeb8..333b8ea96ed 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$4.class
index a42d31dd609..c925e9805e3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$5.class
index fc060554bf1..001ebeb80ff 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$6.class
index 87bf3e6a054..724920b9a7b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class
index 7cd0287c259..3b03aafa095 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$1.class
index 75a37c0a90d..b2424cfc388 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$2.class
index 1b125444193..980c5742bd5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$3.class
index 5389db78282..81dddccc2c5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$4.class
index 1e5d480c0ab..7f8d6df9940 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$5.class
index ec4fd2e5a44..fc1e47b6a5f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$6.class
index 946197925ef..3fd3a7aa8f4 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd.class
index 1a0c1e8d2e0..8b0ca1299af 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$1.class
index 4aef17b2863..effe78b1e5b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$10.class
index 5c1ec741176..6b6accd89f2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$10.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$10.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$2.class
index 2fb7dd2a4ed..6952425ce90 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$3.class
index 238f656ba05..db64eaf8c74 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$4.class
index d9bf1c11171..bc646ad425f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$5.class
index fbede3c6c42..e1a50767eef 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$6.class
index a200eb14e3f..76ee4371168 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$7.class
index 50a9c0c73d2..5da8d3af679 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$8.class
index 5209704442d..c55f697743d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$9.class
index ccb41da9921..f04e4fe174e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd.class
index f5eeb184924..3ee202afb4e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Command.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Command.class
index f2db6a73d15..49134bca8ba 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Command.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Command.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$1.class
index 100cf24508b..eb6a38cbeb4 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$2.class
index ebbf3c038f8..e4844ab9bbb 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$3.class
index 265da593aeb..d31c08ab4c1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$4.class
index 63c5392a906..9d7761ea9a1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$5.class
index ed493a071fc..6e605756f59 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$6.class
index 89edb80f647..4b9ed762346 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$1.class
index 7ab8b2c8160..bfcb9bf85ac 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$2.class
index b57e7ca33da..22aa46e2bfa 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$3.class
index 750eccd09e5..946663b8518 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$4.class
index 9494d2581f9..9aaf960abc6 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$5.class
index 16dfa041402..6f9f4b60cc1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$6.class
index 0c907aca7a1..c61efc97890 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$7.class
index 341f924e131..1d4eb0fb0b7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$8.class
index aa173b93f39..d1a751940d6 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$1.class
index 27cfb9197a9..265b4a49632 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$10.class
index 10c6e3f84c9..24cfab080c8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$10.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$10.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$11.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$11.class
index 724ec0e5994..7ff6712697f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$11.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$11.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$12.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$12.class
index f444b607bea..7a1e0e9353d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$12.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$12.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$2.class
index 06815955980..8c101c4af34 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$3.class
index ae1b1db7b23..9225073f130 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$4.class
index 93862463e41..1958f3d6a7c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$5.class
index a14001d7b54..805197d5ad8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$6.class
index fa18a1840a0..6d1470079b6 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$7.class
index d48c4408650..843889385ba 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$8.class
index af75d90a265..715f1be23b3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$9.class
index d219592c00e..a0b1bbafdc4 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$1.class
index a7287b19b04..83f604aa8fa 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$2.class
index 5b6a855326c..90e2114b2bf 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$3.class
index 19eb41be118..cb495c0683a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$4.class
index 197f79a88fc..0550d7d12e3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$5.class
index fd9471207ec..b73da2ce781 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$6.class
index e61b0707308..c47ced6c324 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$1.class
index fd62c1fe55f..a122bc6aa2d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$10.class
index 2b66548e425..d7dd85ae044 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$10.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$10.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$2.class
index 1c03c8a7d23..c1f49888946 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$3.class
index d56524bea60..e02f774fe4c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$4.class
index c7bd46e0e0f..3768d815463 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$5.class
index 5350cc3fab3..9cd40fd1906 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$6.class
index 79d74bc5779..adeba9d4d8c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$7.class
index 3a739a7bf99..c6b2e47e79e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$8.class
index ee064c31d4d..269af2b930a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$9.class
index 0678e3b8c41..e93f357260b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd.class
index 3993cc02c62..e55964372d2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$1.class
index 097d7f06379..cfe315d0e34 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$2.class
index 63d5d00b85b..b7b6a91099a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$3.class
index 976321849f0..73f9233dff3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$4.class
index 13cd5ac469a..5904a985f87 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$5.class
index 5fd22281d87..7511cc320a5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$6.class
index a2f9aab2758..f42087f7cb8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$7.class
index 74b725e9381..e6ccd4e765e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$8.class
index 818c9e0f8b6..c1247a50a70 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$9.class
index 1fe3e01226e..888203bfb88 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$1.class
index 7fef4488adf..ca06350ec20 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$2.class
index 2602b38e4fc..5c4cb367b18 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$3.class
index 91decbe892d..3adcc94e363 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$4.class
index 5e51a5e17e6..2240bbca5a5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$5.class
index eb1b91a2184..cdfd6323bf6 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$6.class
index 736881023d3..ee0755e4d22 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$7.class
index e918266623c..5e52063598f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$8.class
index ed321a91a91..641550b8fc4 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$1.class
index d8242cc82e1..a9d18608f28 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$2.class
index a313b3520d3..3bb2623f9ad 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$3.class
index cab17c363d1..42c7078eb18 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$4.class
index 81fcf64b1e2..23c02c4022c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$5.class
index cc6ec452c8b..435f92d0039 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$6.class
index 1cbabe45b9f..d1f9fceb4a0 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$7.class
index 3a601d9152a..84281a40128 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd.class
index 94a152201ad..8b936866423 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main.class
index 0ba3475c6fe..92e58ab1a4a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$1.class
index 51442526b7f..c235028fc34 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$2.class
index 1c8331de758..796154c9254 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$1.class
index 310a90e2194..22f45be4bfd 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$10.class
index 196a63af133..b605bd90319 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$10.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$10.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$2.class
index f195255fb2a..a53b20002e8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$3.class
index b122028f121..984b442e90e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$4.class
index 6395af05ae8..ef51b17d714 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$5.class
index 9583a5debd6..9cd2cf63aa5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$6.class
index 4470ab19dd5..248399de88d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$7.class
index 2cd5de9f8aa..d6ad472aca3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$8.class
index d84f457cc2d..c993d543d5d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$9.class
index 67c37d773a0..c53b21a2134 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$1.class
index 5cce28d00c2..1c2dcac87c6 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$2.class
index 1b0906635ce..9221f854053 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$3.class
index d050f90d87a..dd58e5a30a7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$4.class
index 336edd0c1f9..aa5557d9db7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$5.class
index b7508c64108..75c316a5e37 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$6.class
index 2bcc8286246..ca9c253c742 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$1.class
index e20e7f8b5e8..7d8087cf6e1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$2.class
index abb37a2930f..be26525dbde 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$3.class
index 8b7c3643624..841b795e6e0 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.class
index 1f0d64330d2..81975151a3c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.class
index 1dfc79e6f18..f87a12e80d1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.class
index 89d3cb2f078..f5a91597b31 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.class
index 546555baa1a..df3cba93009 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.class
index a2e7eeeb39a..0c082d0d0de 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class
index b4ffcaedec2..3510ef7b167 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class
index 95f7c77598e..1815f702675 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class
index 6212b295707..3412c408980 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class
index 6f39b37fce0..03925707d5c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class
index f542246f024..926421bd32d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class
index a558b70a9ec..61b2f4d7610 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class
index 6f5febd0be8..2e181a43225 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class
index 5406d014b5c..bf5dcee7ec2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class
index 77d54397c5a..f4a66034ff1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class
index 9dd21c218de..b29f6c36639 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class
index 20029a8ced5..fd1326a565c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class
index 73ab89a6d76..d69b423fe01 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class
index 879fb4cafed..2726976c9b5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class
index 709014cb407..6b6b43eef71 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class
index 75f47e8315c..a3af4d44492 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class
index 643588f1580..a35be9bc599 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class
index 71ec94148a2..8b0fc5e21e1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class
index 04de1d5cf5e..0d6cceb9dcd 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class
index 9650d16eee6..cce1b586e25 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class
index 2aa7d318e7b..2558b26cc24 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$1.class
index 6f55542506f..734ee8edef7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$2.class
index dcbfbf30852..ed0bbd52e4f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$3.class
index 5e4d6717f05..ec4d9389064 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$4.class
index 67898ec4cab..3e135b64e71 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$5.class
index 87fa82b7884..e1262c24917 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$6.class
index 24cefbce14d..4857ddf4491 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$1.class
index 2715bca7eed..997c9aafb65 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$2.class
index 8e332789d5f..c085e489856 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$3.class
index 46b92fe1b48..89f61c98b64 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$4.class
index 41fadf642c4..d202e7f743c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$5.class
index 39e128e203c..4f96cb76b74 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$6.class
index 93d73a7c312..34ef99e7240 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl.class
index d4a6ba4cdfa..a369b063f00 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class
index 316968778d5..8d46b6f4edd 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class
index 17d8e235a49..b83195b8fca 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class
index 241aa80f63e..8acef502ca3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$1.class
index 269602e54b6..ee6404f80dd 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$2.class
index 11e61e6b036..620e9d484ac 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$1.class b/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$1.class
index 1f9c3919b8f..b4df37b3e15 100644
--- a/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$1.class
+++ b/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$2.class b/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$2.class
index 69c63843fdf..62b81fcc46e 100644
--- a/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$2.class
+++ b/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$3.class b/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$3.class
index 95c6740996a..8c6fb89c509 100644
--- a/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$3.class
+++ b/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$4.class b/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$4.class
index 3b1de3dfeb9..427ee70fa9b 100644
--- a/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$4.class
+++ b/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze.class b/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze.class
index 6225c64f512..999617030dc 100644
--- a/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze.class
+++ b/libjava/classpath/tools/classes/gnu/gcj/tools/gc_analyze/MemoryAnalyze.class
Binary files differ
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 62afabb389c..2f8dab5bc58 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,68 @@
+2010-01-07 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/xml/manual/evolution.xml: Fix typos, update.
+
+2010-01-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/locale_facets_nonio.tcc (time_put<>::do_put): Avoid
+ pointless __builtin_alloca use.
+
+2010-01-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/26701
+ * include/bits/locale_facets_nonio.tcc (time_get<>::_M_extract_num):
+ Encode short two digits over four parsings to negative numbers.
+ (time_get<>::_M_extract_via_format): Adjust, accept both two digits
+ and four digits for both 'y' and 'Y'.
+ (time_get<>::do_get_year): Call time_get<>::_M_extract_num.
+ * doc/xml/manual/prerequisites.xml: Add en_GB.
+ * testsuite/lib/libstdc++.exp: Adjust
+ * testsuite/22_locale/time_get/get_date/char/26701.cc: New.
+ * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
+
+2010-01-06 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/42491
+ * scripts/check_performance (CXX): Add -std=gnu++0x.
+ * testsuite/performance/30_threads/future/polling.cc: Mark up as
+ using threads.
+
+2010-01-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc:
+ Add dg-require-namedlocale.
+
+2010-01-05 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/xml/manual/evolution.xml: Update for 4.4 and 4.5 releases.
+ * doc/html: Regenerate.
+
+2010-01-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/38081
+ * include/bits/locale_facets_nonio.h (time_get<>::
+ _M_extract_wday_or_month): New, declare.
+ * include/bits/locale_facets_nonio.tcc (time_get<>::
+ _M_extract_wday_or_month): Define.
+ (time_get<>::do_get_weekday, time_get<>::do_get_monthname): Use it.
+ * config/abi/pre/gnu.ver: Export new symbols.
+ * doc/xml/manual/prerequisites.xml: Add ru_RU.UTF-8 and
+ ru_RU.ISO-8859-5.
+ * testsuite/lib/libstdc++.exp: Adjust.
+ * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: New.
+ * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
+
+2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure: Regenerate.
+
+2010-01-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * testsuite/22_locale/time_get/get_monthname/char/6.cc: New.
+ * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
+
2010-01-03 Paolo Carlini <paolo.carlini@oracle.com>
* include/profile/list: Implement DR 1133 here too.
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 2d4b0c3c363..c67898404fb 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -1,6 +1,6 @@
## Linker script for GNU versioning (GNU ld 2.13.91+ only.)
##
-## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
## Free Software Foundation, Inc.
##
## This file is part of the GNU ISO C++ Library. This library is free
@@ -149,7 +149,7 @@ GLIBCXX_3.4 {
std::th[a-h]*;
std::th[j-q]*;
std::th[s-z]*;
- std::t[i-n]*;
+# std::t[i-n]*;
std::tr1::h[^a]*;
std::t[s-z]*;
# std::[A-Zu-z]*;
@@ -459,6 +459,21 @@ GLIBCXX_3.4 {
# std::money_put
_ZNKSt9money_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE*;
+ # std::time_get
+ _ZNSt8time_get*;
+ _ZNKSt8time_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE[0-9]*;
+ _ZNKSt8time_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE1[0-9]*;
+
+ # std::time_get_byname
+ _ZNSt15time_get_byname*;
+
+ # std::time_put
+ _ZNSt8time_put*;
+ _ZNKSt8time_put*;
+
+ # std::time_put_byname
+ _ZNSt15time_put_byname*;
+
# std::numeric_limits
_ZNSt14numeric_limitsI[^g]E*;
@@ -1081,6 +1096,9 @@ GLIBCXX_3.4.14 {
_ZSt25__throw_bad_function_callv;
+ # std::time_get::_M_extract_wday_or_month
+ _ZNKSt8time_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE24_M_extract_wday_or_month*;
+
} GLIBCXX_3.4.13;
# Symbols in the support library (libsupc++) have their own tag.
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 6bd3c2273e5..82f7f59ddab 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -61794,49 +61794,61 @@ if test "$acx_cv_header_stdint" = stddef.h; then
#define _UINT8_T
#ifndef __uint8_t_defined
#define __uint8_t_defined
+ #ifndef uint8_t
typedef unsigned $acx_cv_type_int8_t uint8_t;
#endif
#endif
+ #endif
#ifndef _UINT16_T
#define _UINT16_T
#ifndef __uint16_t_defined
#define __uint16_t_defined
+ #ifndef uint16_t
typedef unsigned $acx_cv_type_int16_t uint16_t;
#endif
#endif
+ #endif
#ifndef _UINT32_T
#define _UINT32_T
#ifndef __uint32_t_defined
#define __uint32_t_defined
+ #ifndef uint32_t
typedef unsigned $acx_cv_type_int32_t uint32_t;
#endif
#endif
+ #endif
#ifndef _INT8_T
#define _INT8_T
#ifndef __int8_t_defined
#define __int8_t_defined
+ #ifndef int8_t
typedef $acx_cv_type_int8_t int8_t;
#endif
#endif
+ #endif
#ifndef _INT16_T
#define _INT16_T
#ifndef __int16_t_defined
#define __int16_t_defined
+ #ifndef int16_t
typedef $acx_cv_type_int16_t int16_t;
#endif
#endif
+ #endif
#ifndef _INT32_T
#define _INT32_T
#ifndef __int32_t_defined
#define __int32_t_defined
+ #ifndef int32_t
typedef $acx_cv_type_int32_t int32_t;
#endif
#endif
+ #endif
EOF
elif test "$ac_cv_type_u_int32_t" = yes; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -61856,25 +61868,31 @@ elif test "$ac_cv_type_u_int32_t" = yes; then
#define _UINT8_T
#ifndef __uint8_t_defined
#define __uint8_t_defined
+ #ifndef uint8_t
typedef u_int8_t uint8_t;
#endif
#endif
+ #endif
#ifndef _UINT16_T
#define _UINT16_T
#ifndef __uint16_t_defined
#define __uint16_t_defined
+ #ifndef uint16_t
typedef u_int16_t uint16_t;
#endif
#endif
+ #endif
#ifndef _UINT32_T
#define _UINT32_T
#ifndef __uint32_t_defined
#define __uint32_t_defined
+ #ifndef uint32_t
typedef u_int32_t uint32_t;
#endif
#endif
+ #endif
EOF
else
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -61924,9 +61942,11 @@ elif test "$ac_cv_type_u_int64_t" = yes; then
#define _UINT64_T
#ifndef __uint64_t_defined
#define __uint64_t_defined
+ #ifndef uint64_t
typedef u_int64_t uint64_t;
#endif
#endif
+ #endif
EOF
elif test -n "$acx_cv_type_int64_t"; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -61934,15 +61954,19 @@ elif test -n "$acx_cv_type_int64_t"; then
/* architecture has a 64-bit type, $acx_cv_type_int64_t */
#ifndef _INT64_T
#define _INT64_T
+ #ifndef int64_t
typedef $acx_cv_type_int64_t int64_t;
#endif
+ #endif
#ifndef _UINT64_T
#define _UINT64_T
#ifndef __uint64_t_defined
#define __uint64_t_defined
+ #ifndef uint64_t
typedef unsigned $acx_cv_type_int64_t uint64_t;
#endif
#endif
+ #endif
EOF
else
sed 's/^ *//' >> tmp-stdint.h <<EOF
@@ -61952,13 +61976,17 @@ else
#ifndef _INT64_T
#define _INT64_T
#ifndef __int64_t_defined
+ #ifndef int64_t
typedef long long int64_t;
#endif
#endif
+ #endif
#ifndef _UINT64_T
#define _UINT64_T
+ #ifndef uint64_t
typedef unsigned long long uint64_t;
#endif
+ #endif
#elif defined __GNUC__ && defined (__STDC__) && __STDC__-0
/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
@@ -61970,24 +61998,32 @@ else
# ifndef _INT64_T
# define _INT64_T
+ # ifndef int64_t
__extension__ typedef long long int64_t;
# endif
+ # endif
# ifndef _UINT64_T
# define _UINT64_T
+ # ifndef uint64_t
__extension__ typedef unsigned long long uint64_t;
# endif
+ # endif
#elif !defined __STRICT_ANSI__
# if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
# ifndef _INT64_T
# define _INT64_T
+ # ifndef int64_t
typedef __int64 int64_t;
# endif
+ # endif
# ifndef _UINT64_T
# define _UINT64_T
+ # ifndef uint64_t
typedef unsigned __int64 uint64_t;
# endif
+ # endif
# endif /* compiler */
#endif /* ANSI version */
@@ -62000,11 +62036,15 @@ if test "$ac_cv_type_uintptr_t" != yes; then
/* Define intptr_t based on sizeof(void*) = $ac_cv_sizeof_void_p */
#ifndef __uintptr_t_defined
+ #ifndef uintptr_t
typedef u$acx_cv_type_intptr_t uintptr_t;
#endif
+ #endif
#ifndef __intptr_t_defined
+ #ifndef intptr_t
typedef $acx_cv_type_intptr_t intptr_t;
#endif
+ #endif
EOF
fi
@@ -62054,16 +62094,20 @@ if test "$ac_cv_type_uintmax_t" != yes; then
sed 's/^ *//' >> tmp-stdint.h <<EOF
/* Define intmax based on what we found */
+ #ifndef intmax_t
#ifdef _INT64_T
typedef int64_t intmax_t;
#else
typedef long intmax_t;
#endif
+ #endif
+ #ifndef uintmax_t
#ifdef _UINT64_T
typedef uint64_t uintmax_t;
#else
typedef unsigned long uintmax_t;
#endif
+ #endif
EOF
fi
diff --git a/libstdc++-v3/doc/html/api.html b/libstdc++-v3/doc/html/api.html
index fd511df55dd..8a6b413b86e 100644
--- a/libstdc++-v3/doc/html/api.html
+++ b/libstdc++-v3/doc/html/api.html
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>API and Source Level Documentation</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><link rel="home" href="spine.html" title="The GNU C++ Library Documentation" /><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">API and Source Level Documentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr></table><hr /></div><div class="article" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="api"></a>API and Source Level Documentation</h2></div><div><p class="copyright">Copyright ©
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>API and Source Level Documentation</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="spine.html" title="The GNU C++ Library Documentation" /><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">API and Source Level Documentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr></table><hr /></div><div class="article" title="API and Source Level Documentation"><div class="titlepage"><div><div><h2 class="title"><a id="api"></a>API and Source Level Documentation</h2></div><div><p class="copyright">Copyright ©
2008
<a class="ulink" href="http://www.fsf.org/" target="_top">FSF
</a>
- </p></div><div><div class="legalnotice"><a id="id596116"></a><p>
+ </p></div><div><div class="legalnotice" title="Legal Notice"><a id="id379526"></a><p>
<a class="link" href="manual/license.html" title="License">License
</a>
</p></div></div></div><hr /></div><p>
@@ -19,22 +19,22 @@ file, looking at inheritance diagrams, etc.
</p><p>
The source-level documentation for the most recent releases can be
viewed online:
-</p><div class="itemizedlist"><ul type="disc"><li><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html" target="_top">for the 3.4 release
</a>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.1/index.html" target="_top">for the 4.1 release
</a>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/index.html" target="_top">for the 4.2 release
</a>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/index.html" target="_top">for the 4.3 release
</a>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.4/index.html" target="_top">for the 4.4 release
</a>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html" target="_top">"the latest collection"
</a>
(For the main development tree; see the date on the first page.)
diff --git a/libstdc++-v3/doc/html/bk02.html b/libstdc++-v3/doc/html/bk02.html
index c4b87241201..f0dbebb2ac4 100644
--- a/libstdc++-v3/doc/html/bk02.html
+++ b/libstdc++-v3/doc/html/bk02.html
@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><link rel="home" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="prev" href="manual/backwards.html" title="Backwards Compatibility" /><link rel="next" href="api.html" title="API and Source Level Documentation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="book" lang="en" xml:lang="en"><div class="titlepage"><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="article"><a href="api.html">API and Source Level Documentation</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Backwards Compatibility </td><td width="20%" align="center"><a accesskey="h" href="spine.html">Home</a></td><td width="40%" align="right" valign="top"> API and Source Level Documentation</td></tr></table></div></body></html>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="prev" href="manual/backwards.html" title="Backwards Compatibility" /><link rel="next" href="api.html" title="API and Source Level Documentation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="article"><a href="api.html">API and Source Level Documentation</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Backwards Compatibility </td><td width="20%" align="center"><a accesskey="h" href="spine.html">Home</a></td><td width="40%" align="right" valign="top"> API and Source Level Documentation</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/bk03.html b/libstdc++-v3/doc/html/bk03.html
index d0a9abc267c..bc43c8d07bb 100644
--- a/libstdc++-v3/doc/html/bk03.html
+++ b/libstdc++-v3/doc/html/bk03.html
@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><link rel="home" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="prev" href="api.html" title="API and Source Level Documentation" /><link rel="next" href="faq.html" title="Frequently Asked Questions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr></table><hr /></div><div class="book" lang="en" xml:lang="en"><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 width="40%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">API and Source Level Documentation </td><td width="20%" align="center"><a accesskey="h" href="spine.html">Home</a></td><td width="40%" align="right" valign="top"> Frequently Asked Questions</td></tr></table></div></body></html>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="prev" href="api.html" title="API and Source Level Documentation" /><link rel="next" href="faq.html" title="Frequently Asked Questions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><hr /></div><div class="toc"><p><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 width="40%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">API and Source Level Documentation </td><td width="20%" align="center"><a accesskey="h" href="spine.html">Home</a></td><td width="40%" align="right" valign="top"> Frequently Asked Questions</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/faq.html b/libstdc++-v3/doc/html/faq.html
index a701450d395..b31d4102bcc 100644
--- a/libstdc++-v3/doc/html/faq.html
+++ b/libstdc++-v3/doc/html/faq.html
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Frequently Asked Questions</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><link rel="home" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="bk03.html" title="" /><link rel="prev" href="bk03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Frequently Asked Questions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk03.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="article" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="faq"></a>Frequently Asked Questions</h2></div><div><p class="copyright">Copyright ©
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Frequently Asked Questions</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="bk03.html" title="" /><link rel="prev" href="bk03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Frequently Asked Questions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk03.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="article" title="Frequently Asked Questions"><div class="titlepage"><div><div><h2 class="title"><a id="faq"></a>Frequently Asked Questions</h2></div><div><p class="copyright">Copyright ©
2008
<a class="ulink" href="http://www.fsf.org" target="_top">FSF</a>
- </p></div></div><hr /></div><div class="qandaset"><dl><dt>1. <a href="faq.html#faq.info">General Information</a></dt><dd><dl><dt>1.1. <a href="faq.html#faq.what">
+ </p></div></div><hr /></div><div class="qandaset" title="Frequently Asked Questions"><a id="id370939"></a><dl><dt>1. <a href="faq.html#faq.info">General Information</a></dt><dd><dl><dt>1.1. <a href="faq.html#faq.what">
What is libstdc++?
</a></dt><dt>1.2. <a href="faq.html#faq.why">
Why should I use libstdc++?
@@ -91,7 +91,7 @@
What's an ABI and why is it so messy?
</a></dt><dt>7.8. <a href="faq.html#faq.size_equals_capacity">
How do I make std::vector&lt;T&gt;::capacity() == std::vector&lt;T&gt;::size?
- </a></dt></dl></dd></dl><table border="0" summary="Q and A Set"><col align="left" width="1%" /><tbody><tr class="qandadiv"><td align="left" valign="top" colspan="2"><h3 class="title"><a id="faq.info"></a>1. General Information</h3></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>1.1. <a href="faq.html#faq.what">
+ </a></dt></dl></dd></dl><table border="0" width="100%" summary="Q and A Set"><col align="left" width="1%" /><col /><tbody><tr class="qandadiv"><td align="left" valign="top" colspan="2"><h3 class="title"><a id="faq.info"></a>1. General Information</h3></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>1.1. <a href="faq.html#faq.what">
What is libstdc++?
</a></dt><dt>1.2. <a href="faq.html#faq.why">
Why should I use libstdc++?
@@ -105,7 +105,7 @@
What happened to the older libg++? I need that!
</a></dt><dt>1.7. <a href="faq.html#faq.more_questions">
What if I have more questions?
- </a></dt></dl></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.what"></a><a id="faq.what.q"></a><p><b>1.1.</b></p></td><td align="left" valign="top"><p>
+ </a></dt></dl></td></tr><tr class="question" title="1.1."><td align="left" valign="top"><a id="faq.what"></a><a id="faq.what.q"></a><p><b>1.1.</b></p></td><td align="left" valign="top"><p>
What is libstdc++?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="faq.what.a"></a></td><td align="left" valign="top"><p>
The GNU Standard C++ Library v3 is an ongoing project to
@@ -115,14 +115,14 @@
bleeding-edge code, the up-to-date source is available over
anonymous SVN, and can even be browsed over
the <a class="ulink" href="http://gcc.gnu.org/svn.html" target="_top">web</a>.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.why"></a><a id="q-why"></a><p><b>1.2.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="1.2."><td align="left" valign="top"><a id="faq.why"></a><a id="q-why"></a><p><b>1.2.</b></p></td><td align="left" valign="top"><p>
Why should I use libstdc++?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-why"></a></td><td align="left" valign="top"><p>
The completion of the ISO C++ standardization gave the C++
community a powerful set of reuseable tools in the form of the C++
Standard Library. However, all existing C++ implementations are
- (as the Draft Standard used to say) “<span class="quote">incomplet and
- incorrekt</span>â€, and many suffer from limitations of the compilers
+ (as the Draft Standard used to say) <span class="quote">“<span class="quote">incomplet and
+ incorrekt</span>â€</span>, and many suffer from limitations of the compilers
that use them.
</p><p>
The GNU compiler collection
@@ -139,9 +139,9 @@
freely available and fully compliant. (Such as
<code class="classname">string</code>,
<code class="classname">vector&lt;&gt;</code>, iostreams, and algorithms.)
- Programmers will no longer need to “<span class="quote">roll their own</span>â€
+ Programmers will no longer need to <span class="quote">“<span class="quote">roll their own</span>â€</span>
nor be worried about platform-specific incompatibilities.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.who"></a><a id="q-who"></a><p><b>1.3.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="1.3."><td align="left" valign="top"><a id="faq.who"></a><a id="q-who"></a><p><b>1.3.</b></p></td><td align="left" valign="top"><p>
Who's in charge of it?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-who"></a></td><td align="left" valign="top"><p>
The libstdc++ project is contributed to by several developers
@@ -155,13 +155,13 @@
archives, is open to everyone. You can read instructions for
doing so on the <a class="ulink" href="http://gcc.gnu.org/libstdc++/" target="_top">homepage</a>.
If you have questions, ideas, code, or are just curious, sign up!
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.when"></a><a id="q-when"></a><p><b>1.4.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="1.4."><td align="left" valign="top"><a id="faq.when"></a><a id="q-when"></a><p><b>1.4.</b></p></td><td align="left" valign="top"><p>
When is libstdc++ going to be finished?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-when"></a></td><td align="left" valign="top"><p>
Nathan Myers gave the best of all possible answers, responding to
a Usenet article asking this question: <span class="emphasis"><em>Sooner, if you
help.</em></span>
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.how"></a><a id="q-how"></a><p><b>1.5.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="1.5."><td align="left" valign="top"><a id="faq.how"></a><a id="q-how"></a><p><b>1.5.</b></p></td><td align="left" valign="top"><p>
How do I contribute to the effort?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how"></a></td><td align="left" valign="top"><p>
Here is <a class="link" href="manual/appendix_contributing.html" title="Appendix A.  Contributing">a page devoted to
@@ -172,7 +172,7 @@
anybody who is willing to help write documentation, for example,
or has found a bug in code that we all thought was working and is
willing to provide details, is more than welcome!
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.whereis_old"></a><a id="q-whereis_old"></a><p><b>1.6.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="1.6."><td align="left" valign="top"><a id="faq.whereis_old"></a><a id="q-whereis_old"></a><p><b>1.6.</b></p></td><td align="left" valign="top"><p>
What happened to the older libg++? I need that!
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-whereis_old"></a></td><td align="left" valign="top"><p>
The most recent libg++ README states that libg++ is no longer
@@ -180,7 +180,7 @@
projects, and is only being kicked along to support older code.
</p><p>
More information in the <a class="link" href="manual/backwards.html" title="Backwards Compatibility">backwards compatibility documentation</a>
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.more_questions"></a><a id="q-more_questions"></a><p><b>1.7.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="1.7."><td align="left" valign="top"><a id="faq.more_questions"></a><a id="q-more_questions"></a><p><b>1.7.</b></p></td><td align="left" valign="top"><p>
What if I have more questions?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-more_questions"></a></td><td align="left" valign="top"><p>
If you have read the README file, and your question remains
@@ -201,17 +201,17 @@
How is that different from the GNU {Lesser,Library} GPL?
</a></dt><dt>2.4. <a href="faq.html#faq.license.what_restrictions">
I see. So, what restrictions are there on programs that use the library?
- </a></dt></dl></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.license.what"></a><a id="q-license.what"></a><p><b>2.1.</b></p></td><td align="left" valign="top"><p>
+ </a></dt></dl></td></tr><tr class="question" title="2.1."><td align="left" valign="top"><a id="faq.license.what"></a><a id="q-license.what"></a><p><b>2.1.</b></p></td><td align="left" valign="top"><p>
What are the license terms for libstdc++?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.what"></a></td><td align="left" valign="top"><p>
See <a class="link" href="manual/license.html" title="License">our license description</a>
for these and related questions.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.license.any_program"></a><a id="q-license.any_program"></a><p><b>2.2.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="2.2."><td align="left" valign="top"><a id="faq.license.any_program"></a><a id="q-license.any_program"></a><p><b>2.2.</b></p></td><td align="left" valign="top"><p>
So any program which uses libstdc++ falls under the GPL?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.any_program"></a></td><td align="left" valign="top"><p>
No. The special exception permits use of the library in
proprietary applications.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.license.lgpl"></a><a id="q-license.lgpl"></a><p><b>2.3.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="2.3."><td align="left" valign="top"><a id="faq.license.lgpl"></a><a id="q-license.lgpl"></a><p><b>2.3.</b></p></td><td align="left" valign="top"><p>
How is that different from the GNU {Lesser,Library} GPL?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.lgpl"></a></td><td align="left" valign="top"><p>
The LGPL requires that users be able to replace the LGPL code with a
@@ -221,7 +221,7 @@
are expanded inside the code that uses the library. So to allow people
to replace the library code, someone using the library would have to
distribute their own source, rendering the LGPL equivalent to the GPL.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.license.what_restrictions"></a><a id="q-license.what_restrictions"></a><p><b>2.4.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="2.4."><td align="left" valign="top"><a id="faq.license.what_restrictions"></a><a id="q-license.what_restrictions"></a><p><b>2.4.</b></p></td><td align="left" valign="top"><p>
I see. So, what restrictions are there on programs that use the library?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.what_restrictions"></a></td><td align="left" valign="top"><p>
None. We encourage such programs to be released as open source,
@@ -234,7 +234,7 @@
What's libsupc++?
</a></dt><dt>3.6. <a href="faq.html#faq.size">
This library is HUGE!
- </a></dt></dl></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.how_to_install"></a><a id="q-how_to_install"></a><p><b>3.1.</b></p></td><td align="left" valign="top"><p>How do I install libstdc++?
+ </a></dt></dl></td></tr><tr class="question" title="3.1."><td align="left" valign="top"><a id="faq.how_to_install"></a><a id="q-how_to_install"></a><p><b>3.1.</b></p></td><td align="left" valign="top"><p>How do I install libstdc++?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_install"></a></td><td align="left" valign="top"><p>
Often libstdc++ comes pre-installed as an integral part of many
existing Linux and Unix systems, as well as many embedded
@@ -247,7 +247,7 @@
documentation</a> for detailed
instructions. You may wish to browse those files ahead
of time to get a feel for what's required.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.how_to_get_sources"></a><a id="q-how_to_get_sources"></a><p><b>3.2.</b></p></td><td align="left" valign="top"><p>How does one get current libstdc++ sources?
+ </p></td></tr><tr class="question" title="3.2."><td align="left" valign="top"><a id="faq.how_to_get_sources"></a><a id="q-how_to_get_sources"></a><p><b>3.2.</b></p></td><td align="left" valign="top"><p>How does one get current libstdc++ sources?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_get_sources"></a></td><td align="left" valign="top"><p>
Libstdc++ sources for all official releases can be obtained as
part of the GCC sources, available from various sites and
@@ -265,14 +265,14 @@
quality. The <a class="ulink" href="http://subversion.tigris.org" target="_top"> Subversion
home page</a> has a better description.
</p><p>
- The “<span class="quote">anonymous client checkout</span>†feature of SVN is
+ The <span class="quote">“<span class="quote">anonymous client checkout</span>â€</span> feature of SVN is
similar to anonymous FTP in that it allows anyone to retrieve
the latest libstdc++ sources.
</p><p>
For more information
see <a class="ulink" href="http://gcc.gnu.org/svn.html" target="_top"><acronym class="acronym">SVN</acronym>
details</a>.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.how_to_test"></a><a id="q-how_to_test"></a><p><b>3.3.</b></p></td><td align="left" valign="top"><p>How do I know if it works?
+ </p></td></tr><tr class="question" title="3.3."><td align="left" valign="top"><a id="faq.how_to_test"></a><a id="q-how_to_test"></a><p><b>3.3.</b></p></td><td align="left" valign="top"><p>How do I know if it works?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_test"></a></td><td align="left" valign="top"><p>
Libstdc++ comes with its own validation testsuite, which includes
conformance testing, regression testing, ABI testing, and
@@ -283,7 +283,7 @@
If you find bugs in the testsuite programs themselves, or if you
think of a new test program that should be added to the suite,
<span class="emphasis"><em>please</em></span> write up your idea and send it to the list!
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.how_to_set_paths"></a><a id="q-how_to_set_paths"></a><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?
+ </p></td></tr><tr class="question" title="3.4."><td align="left" valign="top"><a id="faq.how_to_set_paths"></a><a id="q-how_to_set_paths"></a><p><b>3.4.</b></p></td><td align="left" valign="top"><p>How do I insure that the dynamically linked library will be found?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_set_paths"></a></td><td align="left" valign="top"><p>
Depending on your platform and library version, the error message might
be similar to one of the following:
@@ -315,7 +315,7 @@
and <span class="command"><strong>ldconfig</strong></span> for more information. The dynamic
linker has different names on different platforms but the man page
is usually called something such as <code class="filename">ld.so/rtld/dld.so</code>.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.what_is_libsupcxx"></a><a id="q-what_is_libsupcxx"></a><p><b>3.5.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="3.5."><td align="left" valign="top"><a id="faq.what_is_libsupcxx"></a><a id="q-what_is_libsupcxx"></a><p><b>3.5.</b></p></td><td align="left" valign="top"><p>
What's libsupc++?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_libsupcxx"></a></td><td align="left" valign="top"><p>
If the only functions from <code class="filename">libstdc++.a</code>
@@ -332,11 +332,11 @@
using anything from the rest of the library, such as IOStreams
or vectors, then you'll still need pieces from
<code class="filename">libstdc++.a</code>.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.size"></a><a id="q-size"></a><p><b>3.6.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="3.6."><td align="left" valign="top"><a id="faq.size"></a><a id="q-size"></a><p><b>3.6.</b></p></td><td align="left" valign="top"><p>
This library is HUGE!
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-size"></a></td><td align="left" valign="top"><p>
Usually the size of libraries on disk isn't noticeable. When a
- link editor (or simply “<span class="quote">linker</span>â€) pulls things from a
+ link editor (or simply <span class="quote">“<span class="quote">linker</span>â€</span>) pulls things from a
static archive library, only the necessary object files are copied
into your executable, not the entire library. Unfortunately, even
if you only need a single function or variable from an object file,
@@ -379,7 +379,7 @@
Recent GNU/Linux glibc required?
</a></dt><dt>4.8. <a href="faq.html#faq.freebsd_wchar">
Can't use wchar_t/wstring on FreeBSD
- </a></dt></dl></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.other_compilers"></a><a id="q-other_compilers"></a><p><b>4.1.</b></p></td><td align="left" valign="top"><p>
+ </a></dt></dl></td></tr><tr class="question" title="4.1."><td align="left" valign="top"><a id="faq.other_compilers"></a><a id="q-other_compilers"></a><p><b>4.1.</b></p></td><td align="left" valign="top"><p>
Can libstdc++ be used with non-GNU compilers?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-other_compilers"></a></td><td align="left" valign="top"><p>
Perhaps.
@@ -399,7 +399,7 @@
been known to work with versions of the EDG C++ compiler, and
vendor-specific proprietary C++ compilers such as the Intel ICC
C++ compiler.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.solaris_long_long"></a><a id="q-solaris_long_long"></a><p><b>4.2.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="4.2."><td align="left" valign="top"><a id="faq.solaris_long_long"></a><a id="q-solaris_long_long"></a><p><b>4.2.</b></p></td><td align="left" valign="top"><p>
No 'long long' type on Solaris?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-solaris_long_long"></a></td><td align="left" valign="top"><p>
By default we try to support the C99 <span class="type">long long</span> type.
@@ -411,7 +411,7 @@
commonly reported platform affected was Solaris.
</p><p>
This has been fixed for libstdc++ releases greater than 3.0.3.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.predefined"></a><a id="q-predefined"></a><p><b>4.3.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="4.3."><td align="left" valign="top"><a id="faq.predefined"></a><a id="q-predefined"></a><p><b>4.3.</b></p></td><td align="left" valign="top"><p>
<code class="constant">_XOPEN_SOURCE</code> and <code class="constant">_GNU_SOURCE</code> are always defined?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-predefined"></a></td><td align="left" valign="top"><p>On Solaris, g++ (but not gcc) always defines the preprocessor
macro <code class="constant">_XOPEN_SOURCE</code>. On GNU/Linux, the same happens
@@ -440,13 +440,13 @@
<a class="ulink" href="http://gcc.gnu.org/cgi-bin/htsearch?method=and&amp;format=builtin-long&amp;sort=score&amp;words=_XOPEN_SOURCE+Solaris" target="_top">quite a bit</a>.
</p><p>This method is something of a wart. We'd like to find a cleaner
solution, but nobody yet has contributed the time.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.darwin_ctype"></a><a id="q-darwin_ctype"></a><p><b>4.4.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="4.4."><td align="left" valign="top"><a id="faq.darwin_ctype"></a><a id="q-darwin_ctype"></a><p><b>4.4.</b></p></td><td align="left" valign="top"><p>
Mac OS X <code class="filename">ctype.h</code> is broken! How can I fix it?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-darwin_ctype"></a></td><td align="left" valign="top"><p>This is a long-standing bug in the OS X support. Fortunately,
the patch is quite simple, and well-known.
<a class="ulink" href="http://gcc.gnu.org/ml/gcc/2002-03/msg00817.html" target="_top"> Here's a
link to the solution</a>.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.threads_i386"></a><a id="q-threads_i386"></a><p><b>4.5.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="4.5."><td align="left" valign="top"><a id="faq.threads_i386"></a><a id="q-threads_i386"></a><p><b>4.5.</b></p></td><td align="left" valign="top"><p>
Threading is broken on i386?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-threads_i386"></a></td><td align="left" valign="top"><p>
</p><p>Support for atomic integer operations is/was broken on i386
@@ -456,7 +456,7 @@
on an i686, then you would encounter no problems. Only when
actually running the code on a i386 will the problem appear.
</p><p>This is fixed in 3.2.2.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.atomic_mips"></a><a id="q-atomic_mips"></a><p><b>4.6.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="4.6."><td align="left" valign="top"><a id="faq.atomic_mips"></a><a id="q-atomic_mips"></a><p><b>4.6.</b></p></td><td align="left" valign="top"><p>
MIPS atomic operations
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-atomic_mips"></a></td><td align="left" valign="top"><p>
The atomic locking routines for MIPS targets requires MIPS II
@@ -466,7 +466,7 @@
</p><p>
The mips*-*-linux* port continues to use the MIPS II routines, and more
work in this area is expected.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.linux_glibc"></a><a id="q-linux_glibc"></a><p><b>4.7.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="4.7."><td align="left" valign="top"><a id="faq.linux_glibc"></a><a id="q-linux_glibc"></a><p><b>4.7.</b></p></td><td align="left" valign="top"><p>
Recent GNU/Linux glibc required?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-linux_glibc"></a></td><td align="left" valign="top"><p>When running on GNU/Linux, libstdc++ 3.2.1 (shared library version
5.0.1) and later uses localization and formatting code from the system
@@ -476,7 +476,7 @@
</p><p>The guideline is simple: the more recent the C++ library, the
more recent the C library. (This is also documented in the main
GCC installation instructions.)
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.freebsd_wchar"></a><a id="q-freebsd_wchar"></a><p><b>4.8.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="4.8."><td align="left" valign="top"><a id="faq.freebsd_wchar"></a><a id="q-freebsd_wchar"></a><p><b>4.8.</b></p></td><td align="left" valign="top"><p>
Can't use wchar_t/wstring on FreeBSD
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-freebsd_wchar"></a></td><td align="left" valign="top"><p>
Older versions of FreeBSD's C library do not have sufficient
@@ -495,7 +495,7 @@
Bugs in the ISO C++ language or library specification
</a></dt><dt>5.3. <a href="faq.html#faq.compiler_bugs">
Bugs in the compiler (gcc/g++) and not libstdc++
- </a></dt></dl></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.what_works"></a><a id="q-what_works"></a><p><b>5.1.</b></p></td><td align="left" valign="top"><p>
+ </a></dt></dl></td></tr><tr class="question" title="5.1."><td align="left" valign="top"><a id="faq.what_works"></a><a id="q-what_works"></a><p><b>5.1.</b></p></td><td align="left" valign="top"><p>
What works already?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_works"></a></td><td align="left" valign="top"><p>
Short answer: Pretty much everything <span class="emphasis"><em>works</em></span>
@@ -509,7 +509,7 @@
<a class="link" href="manual/status.html#status.iso.1998" title="C++ 1998/2003">C++98</a>,
<a class="link" href="manual/status.html#status.iso.tr1" title="C++ TR1">TR1</a>, and
<a class="link" href="manual/status.html#status.iso.200x" title="C++ 200x">C++0x</a>.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.standard_bugs"></a><a id="q-standard_bugs"></a><p><b>5.2.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="5.2."><td align="left" valign="top"><a id="faq.standard_bugs"></a><a id="q-standard_bugs"></a><p><b>5.2.</b></p></td><td align="left" valign="top"><p>
Bugs in the ISO C++ language or library specification
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-standard_bugs"></a></td><td align="left" valign="top"><p>
Unfortunately, there are some.
@@ -524,7 +524,7 @@
please post a message describing your problem
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
comp.lang.c++.moderated.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.compiler_bugs"></a><a id="q-compiler_bugs"></a><p><b>5.3.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="5.3."><td align="left" valign="top"><a id="faq.compiler_bugs"></a><a id="q-compiler_bugs"></a><p><b>5.3.</b></p></td><td align="left" valign="top"><p>
Bugs in the compiler (gcc/g++) and not libstdc++
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-compiler_bugs"></a></td><td align="left" valign="top"><p>
On occasion, the compiler is wrong. Please be advised that this
@@ -538,7 +538,7 @@
</p><p>
Before reporting a bug, please examine the
<a class="ulink" href="http://gcc.gnu.org/bugs.html" target="_top">bugs database</a> with the
- category set to “<span class="quote">g++</span>â€.
+ category set to <span class="quote">“<span class="quote">g++</span>â€</span>.
</p></td></tr><tr class="qandadiv"><td align="left" valign="top" colspan="2"><h3 class="title"><a id="faq.known_non-bugs"></a>6. Known Non-Bugs</h3></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>6.1. <a href="faq.html#faq.stream_reopening_fails">
Reopening a stream fails
</a></dt><dt>6.2. <a href="faq.html#faq.wefcxx_verbose">
@@ -559,19 +559,19 @@
list::size() is O(n)!
</a></dt><dt>6.9. <a href="faq.html#faq.easy_to_fix">
Aw, that's easy to fix!
- </a></dt></dl></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.stream_reopening_fails"></a><a id="q-stream_reopening_fails"></a><p><b>6.1.</b></p></td><td align="left" valign="top"><p>
+ </a></dt></dl></td></tr><tr class="question" title="6.1."><td align="left" valign="top"><a id="faq.stream_reopening_fails"></a><a id="q-stream_reopening_fails"></a><p><b>6.1.</b></p></td><td align="left" valign="top"><p>
Reopening a stream fails
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-stream_reopening_fails"></a></td><td align="left" valign="top"><p>
One of the most-reported non-bug reports. Executing a sequence like:
</p><div class="literallayout"><p><br />
    #include &lt;fstream&gt;<br />
    ...<br />
-    std::fstream  fs(“<span class="quote">a_file</span>â€);<br />
+    std::fstream  fs(<span class="quote">“<span class="quote">a_file</span>â€</span>);<br />
    // .<br />
    // . do things with fs...<br />
    // .<br />
    fs.close();<br />
-    fs.open(“<span class="quote">a_new_file</span>â€);<br />
+    fs.open(<span class="quote">“<span class="quote">a_new_file</span>â€</span>);<br />
    </p></div><p>
All operations on the re-opened <code class="varname">fs</code> will fail, or at
least act very strangely. Yes, they often will, especially if
@@ -586,7 +586,7 @@
<span class="emphasis"><em>Update:</em></span> for GCC 4.0 we implemented the resolution
of <a class="link" href="manual/bugs.html" title="Bugs">DR #409</a> and open()
now calls <code class="function">clear()</code> on success!
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.wefcxx_verbose"></a><a id="q-wefcxx_verbose"></a><p><b>6.2.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="6.2."><td align="left" valign="top"><a id="faq.wefcxx_verbose"></a><a id="q-wefcxx_verbose"></a><p><b>6.2.</b></p></td><td align="left" valign="top"><p>
-Weffc++ complains too much
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-wefcxx_verbose"></a></td><td align="left" valign="top"><p>
Many warnings are emitted when <code class="literal">-Weffc++</code> is used. Making
@@ -598,19 +598,19 @@
We do, however, try to have libstdc++ sources as clean as possible. If
you see some simple changes that pacify <code class="literal">-Weffc++</code>
without other drawbacks, send us a patch.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.ambiguous_overloads"></a><a id="q-ambiguous_overloads"></a><p><b>6.3.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="6.3."><td align="left" valign="top"><a id="faq.ambiguous_overloads"></a><a id="q-ambiguous_overloads"></a><p><b>6.3.</b></p></td><td align="left" valign="top"><p>
Ambiguous overloads after including an old-style header
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-ambiguous_overloads"></a></td><td align="left" valign="top"><p>
Another problem is the <code class="literal">rel_ops</code> namespace and the template
comparison operator functions contained therein. If they become
visible in the same namespace as other comparison functions
- (e.g., “<span class="quote">using</span>†them and the &lt;iterator&gt; header),
+ (e.g., <span class="quote">“<span class="quote">using</span>â€</span> them and the &lt;iterator&gt; header),
then you will suddenly be faced with huge numbers of ambiguity
errors. This was discussed on the -v3 list; Nathan Myers
<a class="ulink" href="http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html" target="_top">sums
things up here</a>. The collisions with vector/string iterator
types have been fixed for 3.1.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.v2_headers"></a><a id="q-v2_headers"></a><p><b>6.4.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="6.4."><td align="left" valign="top"><a id="faq.v2_headers"></a><a id="q-v2_headers"></a><p><b>6.4.</b></p></td><td align="left" valign="top"><p>
The g++-3 headers are <span class="emphasis"><em>not ours</em></span>
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-v2_headers"></a></td><td align="left" valign="top"><p>
If you have found an extremely broken header file which is
@@ -633,7 +633,7 @@
'v'?). Starting with version 3.2 the headers are installed in
<code class="filename">${prefix}/include/c++/${version}</code> as this prevents
headers from previous versions being found by mistake.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.boost_concept_checks"></a><a id="q-boost_concept_checks"></a><p><b>6.5.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="6.5."><td align="left" valign="top"><a id="faq.boost_concept_checks"></a><a id="q-boost_concept_checks"></a><p><b>6.5.</b></p></td><td align="left" valign="top"><p>
Errors about <span class="emphasis"><em>*Concept</em></span> and
<span class="emphasis"><em>constraints</em></span> in the STL
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-boost_concept_checks"></a></td><td align="left" valign="top"><p>
@@ -649,7 +649,7 @@
More information, including how to optionally enable/disable the
checks, is available
<a class="link" href="manual/bk01pt03ch08.html" title="Chapter 8. Concept Checking">here</a>.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.dlopen_crash"></a><a id="q-dlopen_crash"></a><p><b>6.6.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="6.6."><td align="left" valign="top"><a id="faq.dlopen_crash"></a><a id="q-dlopen_crash"></a><p><b>6.6.</b></p></td><td align="left" valign="top"><p>
Program crashes when using library code in a
dynamically-loaded library
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-dlopen_crash"></a></td><td align="left" valign="top"><p>
@@ -668,8 +668,8 @@
<br />
    // link the executable<br />
    g++ -fPIC -rdynamic -o foo ... -L. -lfoo -ldl<br />
-    </p></div></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.memory_leaks"></a><a id="q-memory_leaks"></a><p><b>6.7.</b></p></td><td align="left" valign="top"><p>
- “<span class="quote">Memory leaks</span>†in containers
+    </p></div></td></tr><tr class="question" title="6.7."><td align="left" valign="top"><a id="faq.memory_leaks"></a><a id="q-memory_leaks"></a><p><b>6.7.</b></p></td><td align="left" valign="top"><p>
+ <span class="quote">“<span class="quote">Memory leaks</span>â€</span> in containers
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-memory_leaks"></a></td><td align="left" valign="top"><p>
A few people have reported that the standard containers appear
to leak memory when tested with memory checkers such as
@@ -681,13 +681,13 @@
want to test the library for memory leaks please read
<a class="link" href="manual/debug.html#debug.memory" title="Memory Leak Hunting">Tips for memory leak hunting</a>
first.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.list_size_on"></a><a id="q-list_size_on"></a><p><b>6.8.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="6.8."><td align="left" valign="top"><a id="faq.list_size_on"></a><a id="q-list_size_on"></a><p><b>6.8.</b></p></td><td align="left" valign="top"><p>
list::size() is O(n)!
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-list_size_on"></a></td><td align="left" valign="top"><p>
See
the <a class="link" href="manual/containers.html" title="Part VII.  Containers">Containers</a>
chapter.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.easy_to_fix"></a><a id="q-easy_to_fix"></a><p><b>6.9.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="6.9."><td align="left" valign="top"><a id="faq.easy_to_fix"></a><a id="q-easy_to_fix"></a><p><b>6.9.</b></p></td><td align="left" valign="top"><p>
Aw, that's easy to fix!
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-easy_to_fix"></a></td><td align="left" valign="top"><p>
If you have found a bug in the library and you think you have
@@ -720,7 +720,7 @@
What's an ABI and why is it so messy?
</a></dt><dt>7.8. <a href="faq.html#faq.size_equals_capacity">
How do I make std::vector&lt;T&gt;::capacity() == std::vector&lt;T&gt;::size?
- </a></dt></dl></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.iterator_as_pod"></a><a id="faq.iterator_as_pod_q"></a><p><b>7.1.</b></p></td><td align="left" valign="top"><p>
+ </a></dt></dl></td></tr><tr class="question" title="7.1."><td align="left" valign="top"><a id="faq.iterator_as_pod"></a><a id="faq.iterator_as_pod_q"></a><p><b>7.1.</b></p></td><td align="left" valign="top"><p>
string::iterator is not char*; vector&lt;T&gt;::iterator is not T*
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="faq.iterator_as_pod_a"></a></td><td align="left" valign="top"><p>
If you have code that depends on container&lt;T&gt; iterators
@@ -739,7 +739,7 @@
certain expressions to <code class="varname">&amp;*i</code>. Future revisions
of the Standard are expected to bless this usage for
vector&lt;&gt; (but not for basic_string&lt;&gt;).
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.what_is_next"></a><a id="q-what_is_next"></a><p><b>7.2.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="7.2."><td align="left" valign="top"><a id="faq.what_is_next"></a><a id="q-what_is_next"></a><p><b>7.2.</b></p></td><td align="left" valign="top"><p>
What's next after libstdc++?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_next"></a></td><td align="left" valign="top"><p>
Hopefully, not much. The goal of libstdc++ is to produce a
@@ -752,7 +752,7 @@
this effort is described in
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">
The C++ Library Technical Report 1</a>.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.sgi_stl"></a><a id="q-sgi_stl"></a><p><b>7.3.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="7.3."><td align="left" valign="top"><a id="faq.sgi_stl"></a><a id="q-sgi_stl"></a><p><b>7.3.</b></p></td><td align="left" valign="top"><p>
What about the STL from SGI?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-sgi_stl"></a></td><td align="left" valign="top"><p>
The <a class="ulink" href="http://www.sgi.com/tech/stl/" target="_top">STL from SGI</a>,
@@ -775,11 +775,11 @@
</p><p>
The FAQ for SGI's STL (one jump off of their main page) is
still recommended reading.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.extensions_and_backwards_compat"></a><a id="q-extensions_and_backwards_compat"></a><p><b>7.4.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="7.4."><td align="left" valign="top"><a id="faq.extensions_and_backwards_compat"></a><a id="q-extensions_and_backwards_compat"></a><p><b>7.4.</b></p></td><td align="left" valign="top"><p>
Extensions and Backward Compatibility
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-extensions_and_backwards_compat"></a></td><td align="left" valign="top"><p>
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.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.tr1_support"></a><a id="q-tr1_support"></a><p><b>7.5.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="7.5."><td align="left" valign="top"><a id="faq.tr1_support"></a><a id="q-tr1_support"></a><p><b>7.5.</b></p></td><td align="left" valign="top"><p>
Does libstdc++ support TR1?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-tr1_support"></a></td><td align="left" valign="top"><p>
Yes.
@@ -791,7 +791,7 @@
</p><p>
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
page</a>.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.get_iso_cxx"></a><a id="q-get_iso_cxx"></a><p><b>7.6.</b></p></td><td align="left" valign="top"><p>How do I get a copy of the ISO C++ Standard?
+ </p></td></tr><tr class="question" title="7.6."><td align="left" valign="top"><a id="faq.get_iso_cxx"></a><a id="q-get_iso_cxx"></a><p><b>7.6.</b></p></td><td align="left" valign="top"><p>How do I get a copy of the ISO C++ Standard?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-get_iso_cxx"></a></td><td align="left" valign="top"><p>
Copies of the full ISO 14882 standard are available on line via
the ISO mirror site for committee members. Non-members, or those
@@ -810,11 +810,11 @@
</p><p>
The 2003 version of the standard (the 1998 version plus TC1) is
available in print, ISBN 0-470-84674-7.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.what_is_abi"></a><a id="q-what_is_abi"></a><p><b>7.7.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="7.7."><td align="left" valign="top"><a id="faq.what_is_abi"></a><a id="q-what_is_abi"></a><p><b>7.7.</b></p></td><td align="left" valign="top"><p>
What's an ABI and why is it so messy?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_abi"></a></td><td align="left" valign="top"><p>
- <acronym class="acronym">ABI</acronym> stands for “<span class="quote">Application Binary
- Interface</span>â€. Conventionally, it refers to a great
+ <acronym class="acronym">ABI</acronym> stands for <span class="quote">“<span class="quote">Application Binary
+ Interface</span>â€</span>. Conventionally, it refers to a great
mass of details about how arguments are arranged on the call
stack and/or in registers, and how various types are arranged
and padded in structs. A single CPU design may suffer
@@ -836,7 +836,7 @@
virtual function implementation, struct inheritance layout, name
mangling, and exception handling. Such an ABI has been defined for
GNU C++, and is immediately useful for embedded work relying only on
- a “<span class="quote">free-standing implementation</span>†that doesn't include (much
+ a <span class="quote">“<span class="quote">free-standing implementation</span>â€</span> that doesn't include (much
of) the standard library. It is a good basis for the work to come.
</p><p>
A useful C++ ABI must also incorporate many details of the standard
@@ -858,7 +858,7 @@
so they may later be changed. Deciding which, and implementing
the decisions, must happen before you can reasonably document a
candidate C++ ABI that encompasses the standard library.
- </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.size_equals_capacity"></a><a id="q-size_equals_capacity"></a><p><b>7.8.</b></p></td><td align="left" valign="top"><p>
+ </p></td></tr><tr class="question" title="7.8."><td align="left" valign="top"><a id="faq.size_equals_capacity"></a><a id="q-size_equals_capacity"></a><p><b>7.8.</b></p></td><td align="left" valign="top"><p>
How do I make std::vector&lt;T&gt;::capacity() == std::vector&lt;T&gt;::size?
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-size_equals_capacity"></a></td><td align="left" valign="top"><p>
The standard idiom for deallocating a <code class="classname">vector&lt;T&gt;</code>'s
diff --git a/libstdc++-v3/doc/html/manual/abi.html b/libstdc++-v3/doc/html/manual/abi.html
index 7d11f768464..8bc449bc15c 100644
--- a/libstdc++-v3/doc/html/manual/abi.html
+++ b/libstdc++-v3/doc/html/manual/abi.html
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ABI Policy and Guidelines</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; C++&#10; , &#10; ABI&#10; , &#10; version&#10; , &#10; dynamic&#10; , &#10; shared&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="test.html" title="Test" /><link rel="next" href="api.html" title="API Evolution and Deprecation History" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ABI Policy and Guidelines</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="test.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ABI Policy and Guidelines</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="test.html" title="Test" /><link rel="next" href="api.html" title="API Evolution and Deprecation History" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ABI Policy and Guidelines</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="test.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
Porting and Maintenance
-</th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.abi"></a>ABI Policy and Guidelines</h2></div></div></div><p>
-</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="abi.cxx_interface"></a>The C++ Interface</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="ABI Policy and Guidelines"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.abi"></a>ABI Policy and Guidelines</h2></div></div></div><p>
+</p><div class="sect2" title="The C++ Interface"><div class="titlepage"><div><div><h3 class="title"><a id="abi.cxx_interface"></a>The C++ Interface</h3></div></div></div><p>
C++ applications often dependent on specific language support
routines, say for throwing exceptions, or catching exceptions, and
perhaps also dependent on features in the C++ Standard Library.
@@ -42,9 +42,9 @@
library ABI, which is the compilation of a given library API by a
given compiler ABI. In a nutshell:
</p><p>
- “<span class="quote">
+ <span class="quote">“<span class="quote">
library API + compiler ABI = library ABI
- </span>â€
+ </span>â€</span>
</p><p>
The library ABI is mostly of interest for end-users who have
unresolved symbols and are linking dynamically to the C++ Standard
@@ -58,10 +58,10 @@ given compiler ABI. In a nutshell:
To use a specific version of the C++ ABI, one must use a
corresponding GNU C++ toolchain (i.e., g++ and libstdc++) that
implements the C++ ABI in question.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="abi.versioning"></a>Versioning</h3></div></div></div><p> The C++ interface has evolved throughout the history of the GNU
+</p></div><div class="sect2" title="Versioning"><div class="titlepage"><div><div><h3 class="title"><a id="abi.versioning"></a>Versioning</h3></div></div></div><p> The C++ interface has evolved throughout the history of the GNU
C++ toolchain. With each release, various details have been changed so
as to give distinct versions to the C++ interface.
-</p><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.goals"></a>Goals</h4></div></div></div><p>Extending existing, stable ABIs. Versioning gives subsequent
+</p><div class="sect3" title="Goals"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.goals"></a>Goals</h4></div></div></div><p>Extending existing, stable ABIs. Versioning gives subsequent
releases of library binaries the ability to add new symbols and add
functionality, all the while retaining compatibility with the previous
releases in the series. Thus, program binaries linked with the initial
@@ -75,7 +75,7 @@ binary in a release series (with additional symbols added), substitute
in the initial release of the library binary, and remain link
compatible.
</p><p>Allows multiple, incompatible ABIs to coexist at the same time.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.history"></a>History</h4></div></div></div><p>
+</p></div><div class="sect3" title="History"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.history"></a>History</h4></div></div></div><p>
How can this complexity be managed? What does C++ versioning mean?
Because library and compiler changes often make binaries compiled
with one version of the GNU tools incompatible with binaries
@@ -84,17 +84,17 @@ compatible.
easier.
</p><p>
The following techniques are used:
-</p><div class="orderedlist"><ol type="1"><li><p>Release versioning on the libgcc_s.so binary. </p><p>This is implemented via file names and the ELF
+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Release versioning on the libgcc_s.so binary. </p><p>This is implemented via file names and the ELF
<code class="constant">DT_SONAME</code> mechanism (at least on ELF
systems). It is versioned as follows:
- </p><div class="itemizedlist"><ul type="disc"><li><p>gcc-3.0.0: libgcc_s.so.1</p></li><li><p>gcc-3.0.1: libgcc_s.so.1</p></li><li><p>gcc-3.0.2: libgcc_s.so.1</p></li><li><p>gcc-3.0.3: libgcc_s.so.1</p></li><li><p>gcc-3.0.4: libgcc_s.so.1</p></li><li><p>gcc-3.1.0: libgcc_s.so.1</p></li><li><p>gcc-3.1.1: libgcc_s.so.1</p></li><li><p>gcc-3.2.0: libgcc_s.so.1</p></li><li><p>gcc-3.2.1: libgcc_s.so.1</p></li><li><p>gcc-3.2.2: libgcc_s.so.1</p></li><li><p>gcc-3.2.3: libgcc_s.so.1</p></li><li><p>gcc-3.3.0: libgcc_s.so.1</p></li><li><p>gcc-3.3.1: libgcc_s.so.1</p></li><li><p>gcc-3.3.2: libgcc_s.so.1</p></li><li><p>gcc-3.3.3: libgcc_s.so.1</p></li><li><p>gcc-3.4.x, gcc-4.[0-3].x: on m68k-linux and
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>gcc-3.0.0: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.0.1: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.0.2: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.0.3: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.0.4: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.1.0: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.1.1: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.2.0: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.2.1: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.2.2: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.2.3: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.3.0: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.3.1: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.3.2: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.3.3: libgcc_s.so.1</p></li><li class="listitem"><p>gcc-3.4.x, gcc-4.[0-5].x: on m68k-linux and
hppa-linux this is either libgcc_s.so.1 (when configuring
<code class="code">--with-sjlj-exceptions</code>) or libgcc_s.so.2. For all
- others, this is libgcc_s.so.1. </p></li></ul></div></li><li><p>Symbol versioning on the libgcc_s.so binary.</p><p>It is versioned with the following labels and version
+ others, this is libgcc_s.so.1. </p></li></ul></div></li><li class="listitem"><p>Symbol versioning on the libgcc_s.so binary.</p><p>It is versioned with the following labels and version
definitions, where the version definition is the maximum for a
particular release. Labels are cumulative. If a particular release
is not listed, it has the same version labels as the preceding
- release.</p><p>This corresponds to the mapfile: gcc/libgcc-std.ver</p><div class="itemizedlist"><ul type="disc"><li><p>gcc-3.0.0: GCC_3.0</p></li><li><p>gcc-3.3.0: GCC_3.3</p></li><li><p>gcc-3.3.1: GCC_3.3.1</p></li><li><p>gcc-3.3.2: GCC_3.3.2</p></li><li><p>gcc-3.3.4: GCC_3.3.4</p></li><li><p>gcc-3.4.0: GCC_3.4</p></li><li><p>gcc-3.4.2: GCC_3.4.2</p></li><li><p>gcc-3.4.4: GCC_3.4.4</p></li><li><p>gcc-4.0.0: GCC_4.0.0</p></li><li><p>gcc-4.1.0: GCC_4.1.0</p></li><li><p>gcc-4.2.0: GCC_4.2.0</p></li><li><p>gcc-4.3.0: GCC_4.3.0</p></li><li><p>gcc-4.4.0: GCC_4.4.0</p></li></ul></div></li><li><p>
+ release.</p><p>This corresponds to the mapfile: gcc/libgcc-std.ver</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>gcc-3.0.0: GCC_3.0</p></li><li class="listitem"><p>gcc-3.3.0: GCC_3.3</p></li><li class="listitem"><p>gcc-3.3.1: GCC_3.3.1</p></li><li class="listitem"><p>gcc-3.3.2: GCC_3.3.2</p></li><li class="listitem"><p>gcc-3.3.4: GCC_3.3.4</p></li><li class="listitem"><p>gcc-3.4.0: GCC_3.4</p></li><li class="listitem"><p>gcc-3.4.2: GCC_3.4.2</p></li><li class="listitem"><p>gcc-3.4.4: GCC_3.4.4</p></li><li class="listitem"><p>gcc-4.0.0: GCC_4.0.0</p></li><li class="listitem"><p>gcc-4.1.0: GCC_4.1.0</p></li><li class="listitem"><p>gcc-4.2.0: GCC_4.2.0</p></li><li class="listitem"><p>gcc-4.3.0: GCC_4.3.0</p></li><li class="listitem"><p>gcc-4.4.0: GCC_4.4.0</p></li></ul></div></li><li class="listitem"><p>
Release versioning on the libstdc++.so binary, implemented in
the same was as the libgcc_s.so binary above. Listed is the
filename: <code class="constant">DT_SONAME</code> can be deduced from
@@ -106,7 +106,7 @@ compatible.
the table below, releases incompatible with the previous
one are explicitly noted.
</p><p>It is versioned as follows:
- </p><div class="itemizedlist"><ul type="disc"><li><p>gcc-3.0.0: libstdc++.so.3.0.0</p></li><li><p>gcc-3.0.1: libstdc++.so.3.0.1</p></li><li><p>gcc-3.0.2: libstdc++.so.3.0.2</p></li><li><p>gcc-3.0.3: libstdc++.so.3.0.2 (See Note 1)</p></li><li><p>gcc-3.0.4: libstdc++.so.3.0.4</p></li><li><p>gcc-3.1.0: libstdc++.so.4.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li><p>gcc-3.1.1: libstdc++.so.4.0.1</p></li><li><p>gcc-3.2.0: libstdc++.so.5.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li><p>gcc-3.2.1: libstdc++.so.5.0.1</p></li><li><p>gcc-3.2.2: libstdc++.so.5.0.2</p></li><li><p>gcc-3.2.3: libstdc++.so.5.0.3 (See Note 2)</p></li><li><p>gcc-3.3.0: libstdc++.so.5.0.4</p></li><li><p>gcc-3.3.1: libstdc++.so.5.0.5</p></li><li><p>gcc-3.3.2: libstdc++.so.5.0.5</p></li><li><p>gcc-3.3.3: libstdc++.so.5.0.5</p></li><li><p>gcc-3.4.0: libstdc++.so.6.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li><p>gcc-3.4.1: libstdc++.so.6.0.1</p></li><li><p>gcc-3.4.2: libstdc++.so.6.0.2</p></li><li><p>gcc-3.4.3: libstdc++.so.6.0.3</p></li><li><p>gcc-3.4.4: libstdc++.so.6.0.3</p></li><li><p>gcc-3.4.5: libstdc++.so.6.0.3</p></li><li><p>gcc-3.4.6: libstdc++.so.6.0.3</p></li><li><p>gcc-4.0.0: libstdc++.so.6.0.4</p></li><li><p>gcc-4.0.1: libstdc++.so.6.0.5</p></li><li><p>gcc-4.0.2: libstdc++.so.6.0.6</p></li><li><p>gcc-4.0.3: libstdc++.so.6.0.7</p></li><li><p>gcc-4.1.0: libstdc++.so.6.0.7</p></li><li><p>gcc-4.1.1: libstdc++.so.6.0.8</p></li><li><p>gcc-4.1.2: libstdc++.so.6.0.8</p></li><li><p>gcc-4.2.0: libstdc++.so.6.0.9</p></li><li><p>gcc-4.2.1: libstdc++.so.6.0.9 (See Note 3)</p></li><li><p>gcc-4.2.2: libstdc++.so.6.0.9</p></li><li><p>gcc-4.2.3: libstdc++.so.6.0.9</p></li><li><p>gcc-4.2.4: libstdc++.so.6.0.9</p></li><li><p>gcc-4.3.0: libstdc++.so.6.0.10</p></li><li><p>gcc-4.3.1: libstdc++.so.6.0.10</p></li><li><p>gcc-4.3.2: libstdc++.so.6.0.10</p></li><li><p>gcc-4.3.3: libstdc++.so.6.0.10</p></li><li><p>gcc-4.4.0: libstdc++.so.6.0.11</p></li></ul></div><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>gcc-3.0.0: libstdc++.so.3.0.0</p></li><li class="listitem"><p>gcc-3.0.1: libstdc++.so.3.0.1</p></li><li class="listitem"><p>gcc-3.0.2: libstdc++.so.3.0.2</p></li><li class="listitem"><p>gcc-3.0.3: libstdc++.so.3.0.2 (See Note 1)</p></li><li class="listitem"><p>gcc-3.0.4: libstdc++.so.3.0.4</p></li><li class="listitem"><p>gcc-3.1.0: libstdc++.so.4.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>gcc-3.1.1: libstdc++.so.4.0.1</p></li><li class="listitem"><p>gcc-3.2.0: libstdc++.so.5.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>gcc-3.2.1: libstdc++.so.5.0.1</p></li><li class="listitem"><p>gcc-3.2.2: libstdc++.so.5.0.2</p></li><li class="listitem"><p>gcc-3.2.3: libstdc++.so.5.0.3 (See Note 2)</p></li><li class="listitem"><p>gcc-3.3.0: libstdc++.so.5.0.4</p></li><li class="listitem"><p>gcc-3.3.1: libstdc++.so.5.0.5</p></li><li class="listitem"><p>gcc-3.3.2: libstdc++.so.5.0.5</p></li><li class="listitem"><p>gcc-3.3.3: libstdc++.so.5.0.5</p></li><li class="listitem"><p>gcc-3.4.0: libstdc++.so.6.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>gcc-3.4.1: libstdc++.so.6.0.1</p></li><li class="listitem"><p>gcc-3.4.2: libstdc++.so.6.0.2</p></li><li class="listitem"><p>gcc-3.4.3: libstdc++.so.6.0.3</p></li><li class="listitem"><p>gcc-3.4.4: libstdc++.so.6.0.3</p></li><li class="listitem"><p>gcc-3.4.5: libstdc++.so.6.0.3</p></li><li class="listitem"><p>gcc-3.4.6: libstdc++.so.6.0.3</p></li><li class="listitem"><p>gcc-4.0.0: libstdc++.so.6.0.4</p></li><li class="listitem"><p>gcc-4.0.1: libstdc++.so.6.0.5</p></li><li class="listitem"><p>gcc-4.0.2: libstdc++.so.6.0.6</p></li><li class="listitem"><p>gcc-4.0.3: libstdc++.so.6.0.7</p></li><li class="listitem"><p>gcc-4.1.0: libstdc++.so.6.0.7</p></li><li class="listitem"><p>gcc-4.1.1: libstdc++.so.6.0.8</p></li><li class="listitem"><p>gcc-4.1.2: libstdc++.so.6.0.8</p></li><li class="listitem"><p>gcc-4.2.0: libstdc++.so.6.0.9</p></li><li class="listitem"><p>gcc-4.2.1: libstdc++.so.6.0.9 (See Note 3)</p></li><li class="listitem"><p>gcc-4.2.2: libstdc++.so.6.0.9</p></li><li class="listitem"><p>gcc-4.2.3: libstdc++.so.6.0.9</p></li><li class="listitem"><p>gcc-4.2.4: libstdc++.so.6.0.9</p></li><li class="listitem"><p>gcc-4.3.0: libstdc++.so.6.0.10</p></li><li class="listitem"><p>gcc-4.3.1: libstdc++.so.6.0.10</p></li><li class="listitem"><p>gcc-4.3.2: libstdc++.so.6.0.10</p></li><li class="listitem"><p>gcc-4.3.3: libstdc++.so.6.0.10</p></li><li class="listitem"><p>gcc-4.3.4: libstdc++.so.6.0.10</p></li><li class="listitem"><p>gcc-4.4.0: libstdc++.so.6.0.11</p></li><li class="listitem"><p>gcc-4.4.1: libstdc++.so.6.0.12</p></li><li class="listitem"><p>gcc-4.4.2: libstdc++.so.6.0.13</p></li><li class="listitem"><p>gcc-4.5.0: libstdc++.so.6.0.14</p></li></ul></div><p>
Note 1: Error should be libstdc++.so.3.0.3.
</p><p>
Note 2: Not strictly required.
@@ -114,7 +114,7 @@ compatible.
Note 3: This release (but not previous or subsequent) has one
known incompatibility, see <a class="ulink" href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33678" target="_top">33678</a>
in the GCC bug database.
- </p></li><li><p>Symbol versioning on the libstdc++.so binary.</p><p>mapfile: libstdc++/config/linker-map.gnu</p><p>It is versioned with the following labels and version
+ </p></li><li class="listitem"><p>Symbol versioning on the libstdc++.so binary.</p><p>mapfile: libstdc++/config/linker-map.gnu</p><p>It is versioned with the following labels and version
definitions, where the version definition is the maximum for a
particular release. Note, only symbol which are newly introduced
will use the maximum version definition. Thus, for release series
@@ -124,7 +124,7 @@ compatible.
GLIBCPP_3.2 for symbols that were introduced in the gcc-3.2.0
release.) If a particular release is not listed, it has the same
version labels as the preceding release.
- </p><div class="itemizedlist"><ul type="disc"><li><p>gcc-3.0.0: (Error, not versioned)</p></li><li><p>gcc-3.0.1: (Error, not versioned)</p></li><li><p>gcc-3.0.2: (Error, not versioned)</p></li><li><p>gcc-3.0.3: (Error, not versioned)</p></li><li><p>gcc-3.0.4: (Error, not versioned)</p></li><li><p>gcc-3.1.0: GLIBCPP_3.1, CXXABI_1</p></li><li><p>gcc-3.1.1: GLIBCPP_3.1, CXXABI_1</p></li><li><p>gcc-3.2.0: GLIBCPP_3.2, CXXABI_1.2</p></li><li><p>gcc-3.2.1: GLIBCPP_3.2.1, CXXABI_1.2</p></li><li><p>gcc-3.2.2: GLIBCPP_3.2.2, CXXABI_1.2</p></li><li><p>gcc-3.2.3: GLIBCPP_3.2.2, CXXABI_1.2</p></li><li><p>gcc-3.3.0: GLIBCPP_3.2.2, CXXABI_1.2.1</p></li><li><p>gcc-3.3.1: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li><p>gcc-3.3.2: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li><p>gcc-3.3.3: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li><p>gcc-3.4.0: GLIBCXX_3.4, CXXABI_1.3</p></li><li><p>gcc-3.4.1: GLIBCXX_3.4.1, CXXABI_1.3</p></li><li><p>gcc-3.4.2: GLIBCXX_3.4.2</p></li><li><p>gcc-3.4.3: GLIBCXX_3.4.3</p></li><li><p>gcc-4.0.0: GLIBCXX_3.4.4, CXXABI_1.3.1</p></li><li><p>gcc-4.0.1: GLIBCXX_3.4.5</p></li><li><p>gcc-4.0.2: GLIBCXX_3.4.6</p></li><li><p>gcc-4.0.3: GLIBCXX_3.4.7</p></li><li><p>gcc-4.1.1: GLIBCXX_3.4.8</p></li><li><p>gcc-4.2.0: GLIBCXX_3.4.9</p></li><li><p>gcc-4.3.0: GLIBCXX_3.4.10, CXXABI_1.3.2</p></li><li><p>gcc-4.4.0: GLIBCXX_3.4.11, CXXABI_1.3.3</p></li></ul></div></li><li><p>Incremental bumping of a compiler pre-defined macro,
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>gcc-3.0.0: (Error, not versioned)</p></li><li class="listitem"><p>gcc-3.0.1: (Error, not versioned)</p></li><li class="listitem"><p>gcc-3.0.2: (Error, not versioned)</p></li><li class="listitem"><p>gcc-3.0.3: (Error, not versioned)</p></li><li class="listitem"><p>gcc-3.0.4: (Error, not versioned)</p></li><li class="listitem"><p>gcc-3.1.0: GLIBCPP_3.1, CXXABI_1</p></li><li class="listitem"><p>gcc-3.1.1: GLIBCPP_3.1, CXXABI_1</p></li><li class="listitem"><p>gcc-3.2.0: GLIBCPP_3.2, CXXABI_1.2</p></li><li class="listitem"><p>gcc-3.2.1: GLIBCPP_3.2.1, CXXABI_1.2</p></li><li class="listitem"><p>gcc-3.2.2: GLIBCPP_3.2.2, CXXABI_1.2</p></li><li class="listitem"><p>gcc-3.2.3: GLIBCPP_3.2.2, CXXABI_1.2</p></li><li class="listitem"><p>gcc-3.3.0: GLIBCPP_3.2.2, CXXABI_1.2.1</p></li><li class="listitem"><p>gcc-3.3.1: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>gcc-3.3.2: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>gcc-3.3.3: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>gcc-3.4.0: GLIBCXX_3.4, CXXABI_1.3</p></li><li class="listitem"><p>gcc-3.4.1: GLIBCXX_3.4.1, CXXABI_1.3</p></li><li class="listitem"><p>gcc-3.4.2: GLIBCXX_3.4.2</p></li><li class="listitem"><p>gcc-3.4.3: GLIBCXX_3.4.3</p></li><li class="listitem"><p>gcc-4.0.0: GLIBCXX_3.4.4, CXXABI_1.3.1</p></li><li class="listitem"><p>gcc-4.0.1: GLIBCXX_3.4.5</p></li><li class="listitem"><p>gcc-4.0.2: GLIBCXX_3.4.6</p></li><li class="listitem"><p>gcc-4.0.3: GLIBCXX_3.4.7</p></li><li class="listitem"><p>gcc-4.1.1: GLIBCXX_3.4.8</p></li><li class="listitem"><p>gcc-4.2.0: GLIBCXX_3.4.9</p></li><li class="listitem"><p>gcc-4.3.0: GLIBCXX_3.4.10, CXXABI_1.3.2</p></li><li class="listitem"><p>gcc-4.4.0: GLIBCXX_3.4.11, CXXABI_1.3.3</p></li><li class="listitem"><p>gcc-4.4.1: GLIBCXX_3.4.12, CXXABI_1.3.3</p></li><li class="listitem"><p>gcc-4.4.2: GLIBCXX_3.4.13, CXXABI_1.3.3</p></li><li class="listitem"><p>gcc-4.5.0: GLIBCXX_3.4.14, CXXABI_1.3.4</p></li></ul></div></li><li class="listitem"><p>Incremental bumping of a compiler pre-defined macro,
__GXX_ABI_VERSION. This macro is defined as the version of the
compiler v3 ABI, with g++ 3.0.x being version 100. This macro will
be automatically defined whenever g++ is used (the curious can
@@ -136,11 +136,11 @@ compatible.
'-fabi-version' command line option.
</p><p>
It is versioned as follows, where 'n' is given by '-fabi-version=n':
- </p><div class="itemizedlist"><ul type="disc"><li><p>gcc-3.0.x: 100</p></li><li><p>gcc-3.1.x: 100 (Error, should be 101)</p></li><li><p>gcc-3.2.x: 102</p></li><li><p>gcc-3.3.x: 102</p></li><li><p>gcc-3.4.x, gcc-4.[0-3].x: 102 (when n=1)</p></li><li><p>gcc-3.4.x, gcc-4.[0-3].x: 1000 + n (when n&gt;1) </p></li><li><p>gcc-3.4.x, gcc-4.[0-3].x: 999999 (when n=0)</p></li></ul></div><p></p></li><li><p>Changes to the default compiler option for
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>gcc-3.0.x: 100</p></li><li class="listitem"><p>gcc-3.1.x: 100 (Error, should be 101)</p></li><li class="listitem"><p>gcc-3.2.x: 102</p></li><li class="listitem"><p>gcc-3.3.x: 102</p></li><li class="listitem"><p>gcc-3.4.x, gcc-4.[0-5].x: 102 (when n=1)</p></li><li class="listitem"><p>gcc-3.4.x, gcc-4.[0-5].x: 1000 + n (when n&gt;1) </p></li><li class="listitem"><p>gcc-3.4.x, gcc-4.[0-5].x: 999999 (when n=0)</p></li></ul></div><p></p></li><li class="listitem"><p>Changes to the default compiler option for
<code class="code">-fabi-version</code>.
</p><p>
It is versioned as follows:
- </p><div class="itemizedlist"><ul type="disc"><li><p>gcc-3.0.x: (Error, not versioned) </p></li><li><p>gcc-3.1.x: (Error, not versioned) </p></li><li><p>gcc-3.2.x: <code class="code">-fabi-version=1</code></p></li><li><p>gcc-3.3.x: <code class="code">-fabi-version=1</code></p></li><li><p>gcc-3.4.x, gcc-4.[0-3].x: <code class="code">-fabi-version=2</code> <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li></ul></div><p></p></li><li><p>Incremental bumping of a library pre-defined macro. For releases
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>gcc-3.0.x: (Error, not versioned) </p></li><li class="listitem"><p>gcc-3.1.x: (Error, not versioned) </p></li><li class="listitem"><p>gcc-3.2.x: <code class="code">-fabi-version=1</code></p></li><li class="listitem"><p>gcc-3.3.x: <code class="code">-fabi-version=1</code></p></li><li class="listitem"><p>gcc-3.4.x, gcc-4.[0-5].x: <code class="code">-fabi-version=2</code> <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li></ul></div><p></p></li><li class="listitem"><p>Incremental bumping of a library pre-defined macro. For releases
before 3.4.0, the macro is __GLIBCPP__. For later releases, it's
__GLIBCXX__. (The libstdc++ project generously changed from CPP to
CXX throughout its source to allow the "C" pre-processor the CPP
@@ -153,7 +153,7 @@ compatible.
the same value as gcc/DATESTAMP.)
</p><p>
It is versioned as follows:
- </p><div class="itemizedlist"><ul type="disc"><li><p>gcc-3.0.0: 20010615</p></li><li><p>gcc-3.0.1: 20010819</p></li><li><p>gcc-3.0.2: 20011023</p></li><li><p>gcc-3.0.3: 20011220</p></li><li><p>gcc-3.0.4: 20020220</p></li><li><p>gcc-3.1.0: 20020514</p></li><li><p>gcc-3.1.1: 20020725</p></li><li><p>gcc-3.2.0: 20020814</p></li><li><p>gcc-3.2.1: 20021119</p></li><li><p>gcc-3.2.2: 20030205</p></li><li><p>gcc-3.2.3: 20030422</p></li><li><p>gcc-3.3.0: 20030513</p></li><li><p>gcc-3.3.1: 20030804</p></li><li><p>gcc-3.3.2: 20031016</p></li><li><p>gcc-3.3.3: 20040214</p></li><li><p>gcc-3.4.0: 20040419</p></li><li><p>gcc-3.4.1: 20040701</p></li><li><p>gcc-3.4.2: 20040906</p></li><li><p>gcc-3.4.3: 20041105</p></li><li><p>gcc-3.4.4: 20050519</p></li><li><p>gcc-3.4.5: 20051201</p></li><li><p>gcc-3.4.6: 20060306</p></li><li><p>gcc-4.0.0: 20050421</p></li><li><p>gcc-4.0.1: 20050707</p></li><li><p>gcc-4.0.2: 20050921</p></li><li><p>gcc-4.0.3: 20060309</p></li><li><p>gcc-4.1.0: 20060228</p></li><li><p>gcc-4.1.1: 20060524</p></li><li><p>gcc-4.1.2: 20070214</p></li><li><p>gcc-4.2.0: 20070514</p></li><li><p>gcc-4.2.1: 20070719</p></li><li><p>gcc-4.2.2: 20071007</p></li><li><p>gcc-4.2.3: 20080201</p></li><li><p>gcc-4.2.4: 20080519</p></li><li><p>gcc-4.3.0: 20080306</p></li><li><p>gcc-4.3.1: 20080606</p></li><li><p>gcc-4.3.2: 20080827</p></li><li><p>gcc-4.3.3: 20090124</p></li><li><p>gcc-4.4.0: 20090421</p></li></ul></div><p></p></li><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>gcc-3.0.0: 20010615</p></li><li class="listitem"><p>gcc-3.0.1: 20010819</p></li><li class="listitem"><p>gcc-3.0.2: 20011023</p></li><li class="listitem"><p>gcc-3.0.3: 20011220</p></li><li class="listitem"><p>gcc-3.0.4: 20020220</p></li><li class="listitem"><p>gcc-3.1.0: 20020514</p></li><li class="listitem"><p>gcc-3.1.1: 20020725</p></li><li class="listitem"><p>gcc-3.2.0: 20020814</p></li><li class="listitem"><p>gcc-3.2.1: 20021119</p></li><li class="listitem"><p>gcc-3.2.2: 20030205</p></li><li class="listitem"><p>gcc-3.2.3: 20030422</p></li><li class="listitem"><p>gcc-3.3.0: 20030513</p></li><li class="listitem"><p>gcc-3.3.1: 20030804</p></li><li class="listitem"><p>gcc-3.3.2: 20031016</p></li><li class="listitem"><p>gcc-3.3.3: 20040214</p></li><li class="listitem"><p>gcc-3.4.0: 20040419</p></li><li class="listitem"><p>gcc-3.4.1: 20040701</p></li><li class="listitem"><p>gcc-3.4.2: 20040906</p></li><li class="listitem"><p>gcc-3.4.3: 20041105</p></li><li class="listitem"><p>gcc-3.4.4: 20050519</p></li><li class="listitem"><p>gcc-3.4.5: 20051201</p></li><li class="listitem"><p>gcc-3.4.6: 20060306</p></li><li class="listitem"><p>gcc-4.0.0: 20050421</p></li><li class="listitem"><p>gcc-4.0.1: 20050707</p></li><li class="listitem"><p>gcc-4.0.2: 20050921</p></li><li class="listitem"><p>gcc-4.0.3: 20060309</p></li><li class="listitem"><p>gcc-4.1.0: 20060228</p></li><li class="listitem"><p>gcc-4.1.1: 20060524</p></li><li class="listitem"><p>gcc-4.1.2: 20070214</p></li><li class="listitem"><p>gcc-4.2.0: 20070514</p></li><li class="listitem"><p>gcc-4.2.1: 20070719</p></li><li class="listitem"><p>gcc-4.2.2: 20071007</p></li><li class="listitem"><p>gcc-4.2.3: 20080201</p></li><li class="listitem"><p>gcc-4.2.4: 20080519</p></li><li class="listitem"><p>gcc-4.3.0: 20080306</p></li><li class="listitem"><p>gcc-4.3.1: 20080606</p></li><li class="listitem"><p>gcc-4.3.2: 20080827</p></li><li class="listitem"><p>gcc-4.3.3: 20090124</p></li><li class="listitem"><p>gcc-4.4.0: 20090421</p></li><li class="listitem"><p>gcc-4.4.1: 20090722</p></li><li class="listitem"><p>gcc-4.4.2: 20091015</p></li></ul></div><p></p></li><li class="listitem"><p>
Incremental bumping of a library pre-defined macro,
_GLIBCPP_VERSION. This macro is defined as the released version of
the library, as a string literal. This is only implemented in
@@ -166,7 +166,7 @@ compatible.
of config.h.
</p><p>
It is versioned as follows:
- </p><div class="itemizedlist"><ul type="disc"><li><p>gcc-3.0.0: "3.0.0"</p></li><li><p>gcc-3.0.1: "3.0.0" (Error, should be "3.0.1")</p></li><li><p>gcc-3.0.2: "3.0.0" (Error, should be "3.0.2")</p></li><li><p>gcc-3.0.3: "3.0.0" (Error, should be "3.0.3")</p></li><li><p>gcc-3.0.4: "3.0.0" (Error, should be "3.0.4")</p></li><li><p>gcc-3.1.0: "3.1.0"</p></li><li><p>gcc-3.1.1: "3.1.1"</p></li><li><p>gcc-3.2.0: "3.2"</p></li><li><p>gcc-3.2.1: "3.2.1"</p></li><li><p>gcc-3.2.2: "3.2.2"</p></li><li><p>gcc-3.2.3: "3.2.3"</p></li><li><p>gcc-3.3.0: "3.3"</p></li><li><p>gcc-3.3.1: "3.3.1"</p></li><li><p>gcc-3.3.2: "3.3.2"</p></li><li><p>gcc-3.3.3: "3.3.3"</p></li><li><p>gcc-3.4.x: "version-unused"</p></li><li><p>gcc-4.[0-3].x: "version-unused"</p></li></ul></div><p></p></li><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>gcc-3.0.0: "3.0.0"</p></li><li class="listitem"><p>gcc-3.0.1: "3.0.0" (Error, should be "3.0.1")</p></li><li class="listitem"><p>gcc-3.0.2: "3.0.0" (Error, should be "3.0.2")</p></li><li class="listitem"><p>gcc-3.0.3: "3.0.0" (Error, should be "3.0.3")</p></li><li class="listitem"><p>gcc-3.0.4: "3.0.0" (Error, should be "3.0.4")</p></li><li class="listitem"><p>gcc-3.1.0: "3.1.0"</p></li><li class="listitem"><p>gcc-3.1.1: "3.1.1"</p></li><li class="listitem"><p>gcc-3.2.0: "3.2"</p></li><li class="listitem"><p>gcc-3.2.1: "3.2.1"</p></li><li class="listitem"><p>gcc-3.2.2: "3.2.2"</p></li><li class="listitem"><p>gcc-3.2.3: "3.2.3"</p></li><li class="listitem"><p>gcc-3.3.0: "3.3"</p></li><li class="listitem"><p>gcc-3.3.1: "3.3.1"</p></li><li class="listitem"><p>gcc-3.3.2: "3.3.2"</p></li><li class="listitem"><p>gcc-3.3.3: "3.3.3"</p></li><li class="listitem"><p>gcc-3.4.x: "version-unused"</p></li><li class="listitem"><p>gcc-4.[0-5].x: "version-unused"</p></li></ul></div><p></p></li><li class="listitem"><p>
Matching each specific C++ compiler release to a specific set of
C++ include files. This is only implemented in gcc-3.1.1 releases
and higher.
@@ -178,13 +178,13 @@ compatible.
file's macro GLIBCXX_CONFIGURE (GLIBCPP_CONFIGURE before gcc-3.4.0).
</p><p>
C++ includes are versioned as follows:
- </p><div class="itemizedlist"><ul type="disc"><li><p>gcc-3.0.0: include/g++-v3</p></li><li><p>gcc-3.0.1: include/g++-v3</p></li><li><p>gcc-3.0.2: include/g++-v3</p></li><li><p>gcc-3.0.3: include/g++-v3</p></li><li><p>gcc-3.0.4: include/g++-v3</p></li><li><p>gcc-3.1.0: include/g++-v3</p></li><li><p>gcc-3.1.1: include/c++/3.1.1</p></li><li><p>gcc-3.2.0: include/c++/3.2</p></li><li><p>gcc-3.2.1: include/c++/3.2.1</p></li><li><p>gcc-3.2.2: include/c++/3.2.2</p></li><li><p>gcc-3.2.3: include/c++/3.2.3</p></li><li><p>gcc-3.3.0: include/c++/3.3</p></li><li><p>gcc-3.3.1: include/c++/3.3.1</p></li><li><p>gcc-3.3.2: include/c++/3.3.2</p></li><li><p>gcc-3.3.3: include/c++/3.3.3</p></li><li><p>gcc-3.4.0: include/c++/3.4.0</p></li><li><p>gcc-3.4.1: include/c++/3.4.1</p></li><li><p>gcc-3.4.2: include/c++/3.4.2</p></li><li><p>gcc-3.4.3: include/c++/3.4.3</p></li><li><p>gcc-3.4.4: include/c++/3.4.4</p></li><li><p>gcc-3.4.5: include/c++/3.4.5</p></li><li><p>gcc-3.4.6: include/c++/3.4.6</p></li><li><p>gcc-4.0.0: include/c++/4.0.0</p></li><li><p>gcc-4.0.1: include/c++/4.0.1</p></li><li><p>gcc-4.0.2: include/c++/4.0.2</p></li><li><p>gcc-4.0.3: include/c++/4.0.3</p></li><li><p>gcc-4.1.0: include/c++/4.1.0</p></li><li><p>gcc-4.1.1: include/c++/4.1.1</p></li><li><p>gcc-4.1.2: include/c++/4.1.2</p></li><li><p>gcc-4.2.0: include/c++/4.2.0</p></li><li><p>gcc-4.2.1: include/c++/4.2.1</p></li><li><p>gcc-4.2.2: include/c++/4.2.2</p></li><li><p>gcc-4.2.3: include/c++/4.2.3</p></li><li><p>gcc-4.2.4: include/c++/4.2.4</p></li><li><p>gcc-4.3.0: include/c++/4.3.0</p></li><li><p>gcc-4.3.1: include/c++/4.3.1</p></li><li><p>gcc-4.3.3: include/c++/4.3.3</p></li><li><p>gcc-4.4.0: include/c++/4.4.0</p></li></ul></div><p></p></li></ol></div><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>gcc-3.0.0: include/g++-v3</p></li><li class="listitem"><p>gcc-3.0.1: include/g++-v3</p></li><li class="listitem"><p>gcc-3.0.2: include/g++-v3</p></li><li class="listitem"><p>gcc-3.0.3: include/g++-v3</p></li><li class="listitem"><p>gcc-3.0.4: include/g++-v3</p></li><li class="listitem"><p>gcc-3.1.0: include/g++-v3</p></li><li class="listitem"><p>gcc-3.1.1: include/c++/3.1.1</p></li><li class="listitem"><p>gcc-3.2.0: include/c++/3.2</p></li><li class="listitem"><p>gcc-3.2.1: include/c++/3.2.1</p></li><li class="listitem"><p>gcc-3.2.2: include/c++/3.2.2</p></li><li class="listitem"><p>gcc-3.2.3: include/c++/3.2.3</p></li><li class="listitem"><p>gcc-3.3.0: include/c++/3.3</p></li><li class="listitem"><p>gcc-3.3.1: include/c++/3.3.1</p></li><li class="listitem"><p>gcc-3.3.2: include/c++/3.3.2</p></li><li class="listitem"><p>gcc-3.3.3: include/c++/3.3.3</p></li><li class="listitem"><p>gcc-3.4.0: include/c++/3.4.0</p></li><li class="listitem"><p>gcc-3.4.1: include/c++/3.4.1</p></li><li class="listitem"><p>gcc-3.4.2: include/c++/3.4.2</p></li><li class="listitem"><p>gcc-3.4.3: include/c++/3.4.3</p></li><li class="listitem"><p>gcc-3.4.4: include/c++/3.4.4</p></li><li class="listitem"><p>gcc-3.4.5: include/c++/3.4.5</p></li><li class="listitem"><p>gcc-3.4.6: include/c++/3.4.6</p></li><li class="listitem"><p>gcc-4.0.0: include/c++/4.0.0</p></li><li class="listitem"><p>gcc-4.0.1: include/c++/4.0.1</p></li><li class="listitem"><p>gcc-4.0.2: include/c++/4.0.2</p></li><li class="listitem"><p>gcc-4.0.3: include/c++/4.0.3</p></li><li class="listitem"><p>gcc-4.1.0: include/c++/4.1.0</p></li><li class="listitem"><p>gcc-4.1.1: include/c++/4.1.1</p></li><li class="listitem"><p>gcc-4.1.2: include/c++/4.1.2</p></li><li class="listitem"><p>gcc-4.2.0: include/c++/4.2.0</p></li><li class="listitem"><p>gcc-4.2.1: include/c++/4.2.1</p></li><li class="listitem"><p>gcc-4.2.2: include/c++/4.2.2</p></li><li class="listitem"><p>gcc-4.2.3: include/c++/4.2.3</p></li><li class="listitem"><p>gcc-4.2.4: include/c++/4.2.4</p></li><li class="listitem"><p>gcc-4.3.0: include/c++/4.3.0</p></li><li class="listitem"><p>gcc-4.3.1: include/c++/4.3.1</p></li><li class="listitem"><p>gcc-4.3.3: include/c++/4.3.3</p></li><li class="listitem"><p>gcc-4.3.4: include/c++/4.3.4</p></li><li class="listitem"><p>gcc-4.4.0: include/c++/4.4.0</p></li><li class="listitem"><p>gcc-4.4.1: include/c++/4.4.1</p></li><li class="listitem"><p>gcc-4.4.2: include/c++/4.4.2</p></li><li class="listitem"><p>gcc-4.5.0: include/c++/4.5.0</p></li></ul></div><p></p></li></ol></div><p>
Taken together, these techniques can accurately specify interface
and implementation changes in the GNU C++ tools themselves. Used
properly, they allow both the GNU C++ tools implementation, and
programs using them, an evolving yet controlled development that
maintains backward compatibility.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.prereq"></a>Prerequisites</h4></div></div></div><p>
+</p></div><div class="sect3" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.prereq"></a>Prerequisites</h4></div></div></div><p>
Minimum environment that supports a versioned ABI: A supported
dynamic linker, a GNU linker of sufficient vintage to understand
demangled C++ name globbing (ld), a shared executable compiled
@@ -198,7 +198,7 @@ compatible.
Most modern Linux and BSD versions, particularly ones using
gcc-3.1.x tools and more recent vintages, will meet the
requirements above.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.config"></a>Configuring</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Configuring"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.config"></a>Configuring</h4></div></div></div><p>
It turns out that most of the configure options that change
default behavior will impact the mangled names of exported
symbols, and thus impact versioning and compatibility.
@@ -216,7 +216,7 @@ compatible.
attempts to make sure that all the requirement for symbol
versioning are in place. For more information, please consult
acinclude.m4.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.active"></a>Checking Active</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Checking Active"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.active"></a>Checking Active</h4></div></div></div><p>
When the GNU C++ library is being built with symbol versioning
on, you should see the following at configure time for
libstdc++:
@@ -252,29 +252,29 @@ If you see symbols in the resulting output with "GLIBCXX_3" as part
of the name, then the executable is versioned. Here's an example:
</p><p>
<code class="code">U _ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4</code>
-</p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_allowed"></a>Allowed Changes</h3></div></div></div><p>
+</p></div></div><div class="sect2" title="Allowed Changes"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_allowed"></a>Allowed Changes</h3></div></div></div><p>
The following will cause the library minor version number to
increase, say from "libstdc++.so.3.0.4" to "libstdc++.so.3.0.5".
-</p><div class="orderedlist"><ol type="1"><li><p>Adding an exported global or static data member</p></li><li><p>Adding an exported function, static or non-virtual member function</p></li><li><p>Adding an exported symbol or symbols by additional instantiations</p></li></ol></div><p>
+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Adding an exported global or static data member</p></li><li class="listitem"><p>Adding an exported function, static or non-virtual member function</p></li><li class="listitem"><p>Adding an exported symbol or symbols by additional instantiations</p></li></ol></div><p>
Other allowed changes are possible.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_no"></a>Prohibited Changes</h3></div></div></div><p>
+</p></div><div class="sect2" title="Prohibited Changes"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_no"></a>Prohibited Changes</h3></div></div></div><p>
The following non-exhaustive list will cause the library major version
number to increase, say from "libstdc++.so.3.0.4" to
"libstdc++.so.4.0.0".
-</p><div class="orderedlist"><ol type="1"><li><p>Changes in the gcc/g++ compiler ABI</p></li><li><p>Changing size of an exported symbol</p></li><li><p>Changing alignment of an exported symbol</p></li><li><p>Changing the layout of an exported symbol</p></li><li><p>Changing mangling on an exported symbol</p></li><li><p>Deleting an exported symbol</p></li><li><p>Changing the inheritance properties of a type by adding or removing
- base classes</p></li><li><p>
+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Changes in the gcc/g++ compiler ABI</p></li><li class="listitem"><p>Changing size of an exported symbol</p></li><li class="listitem"><p>Changing alignment of an exported symbol</p></li><li class="listitem"><p>Changing the layout of an exported symbol</p></li><li class="listitem"><p>Changing mangling on an exported symbol</p></li><li class="listitem"><p>Deleting an exported symbol</p></li><li class="listitem"><p>Changing the inheritance properties of a type by adding or removing
+ base classes</p></li><li class="listitem"><p>
Changing the size, alignment, or layout of types
specified in the C++ standard. These may not necessarily be
instantiated or otherwise exported in the library binary, and
include all the required locale facets, as well as things like
std::basic_streambuf, et al.
-</p></li><li><p> Adding an explicit copy constructor or destructor to a
+</p></li><li class="listitem"><p> Adding an explicit copy constructor or destructor to a
class that would otherwise have implicit versions. This will change
the way the compiler deals with this class in by-value return
statements or parameters: instead of being passing instances of this
class in registers, the compiler will be forced to use memory. See <a class="ulink" href="http://www.codesourcery.com/cxx-abi/abi.html#calls" target="_top"> this part</a>
of the C++ ABI documentation for further details.
- </p></li></ol></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="abi.impl"></a>Implementation</h3></div></div></div><div class="orderedlist"><ol type="1"><li><p>
+ </p></li></ol></div></div><div class="sect2" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="abi.impl"></a>Implementation</h3></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
Separation of interface and implementation
</p><p>
This is accomplished by two techniques that separate the API from
@@ -301,7 +301,7 @@ class in registers, the compiler will be forced to use memory. See <a class="uli
</p></dd></dl></div><p>
In addition, these techniques have the additional benefit that they
reduce binary size, which can increase runtime performance.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Namespaces linking symbol definitions to export mapfiles
</p><p>
All symbols in the shared library binary are processed by a
@@ -320,9 +320,9 @@ class in registers, the compiler will be forced to use memory. See <a class="uli
exceptional symbols are allowed to be visible.</p></dd><dt><span class="term"><code class="code">namespace __gnu_cxx</code></span></dt><dd><p> Defaults to not exporting any symbols in label
<code class="code">GLIBCXX</code>, select items are allowed to be visible.</p></dd><dt><span class="term"><code class="code">namespace __gnu_internal</code></span></dt><dd><p> Defaults to not exported, no items are allowed to be visible.</p></dd><dt><span class="term"><code class="code">namespace __cxxabiv1</code>, aliased to <code class="code"> namespace abi</code></span></dt><dd><p> Defaults to not exporting any symbols in label
<code class="code">CXXABI</code>, select items are allowed to be visible.</p></dd></dl></div><p>
-</p></li><li><p>Freezing the API</p><p>Disallowed changes, as above, are not made on a stable release
+</p></li><li class="listitem"><p>Freezing the API</p><p>Disallowed changes, as above, are not made on a stable release
branch. Enforcement tends to be less strict with GNU extensions that
-standard includes.</p></li></ol></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="abi.testing"></a>Testing</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.single"></a>Single ABI Testing</h4></div></div></div><p>
+standard includes.</p></li></ol></div></div><div class="sect2" title="Testing"><div class="titlepage"><div><div><h3 class="title"><a id="abi.testing"></a>Testing</h3></div></div></div><div class="sect3" title="Single ABI Testing"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.single"></a>Single ABI Testing</h4></div></div></div><p>
Testing for GNU C++ ABI changes is composed of two distinct
areas: testing the C++ compiler (g++) for compiler changes, and
testing the C++ library (libstdc++) for library changes.
@@ -388,7 +388,7 @@ and other detailed data is not displayed with this flag.
</p><p>
Perhaps there are other C++ ABI checkers. If so, please notify
us. We'd like to know about them!
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.multi"></a>Multiple ABI Testing</h4></div></div></div><p>
+</p></div><div class="sect3" title="Multiple ABI Testing"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.multi"></a>Multiple ABI Testing</h4></div></div></div><p>
A "C" application, dynamically linked to two shared libraries, liba,
libb. The dependent library liba is C++ shared library compiled with
gcc-3.3.x, and uses io, exceptions, locale, etc. The dependent library
@@ -451,7 +451,7 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
This resulting binary, when executed, will be able to safely use
code from both liba, and the dependent libstdc++.so.6, and libb,
with the dependent libstdc++.so.5.
-</p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="abi.issues"></a>Outstanding Issues</h3></div></div></div><p>
+</p></div></div><div class="sect2" title="Outstanding Issues"><div class="titlepage"><div><div><h3 class="title"><a id="abi.issues"></a>Outstanding Issues</h3></div></div></div><p>
Some features in the C++ language make versioning especially
difficult. In particular, compiler generated constructs such as
implicit instantiations for templates, typeinfo information, and
@@ -464,56 +464,56 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
<a class="ulink" href="http://gcc.gnu.org/PR24660" target="_top">24660: versioning weak symbols in libstdc++</a>
</p><p>
<a class="ulink" href="http://gcc.gnu.org/PR19664" target="_top">19664: libstdc++ headers should have pop/push of the visibility around the declarations</a>
-</p></div><div class="bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="abi.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id658186"></a><p><span class="title"><i>
+</p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="abi.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="ABIcheck, a vague idea of checking ABI compatibility"><a id="id442262"></a><p><span class="title"><i>
ABIcheck, a vague idea of checking ABI compatibility
</i>. </span><span class="biblioid">
<a class="ulink" href="http://abicheck.sourceforge.net/" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id658203"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="C++ ABI Reference"><a id="id442280"></a><p><span class="title"><i>
C++ ABI Reference
</i>. </span><span class="biblioid">
<a class="ulink" href="http://www.codesourcery.com/public/cxx-abi/" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id658220"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Intel® Compilers for Linux* -Compatibility with the GNU Compilers"><a id="id442297"></a><p><span class="title"><i>
Intel® Compilers for Linux* -Compatibility with the GNU Compilers
</i>. </span><span class="biblioid">
<a class="ulink" href="http://www.intel.com/cd/software/products/asmo-na/eng/284736.htm" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id658238"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Sun Solaris 2.9 : Linker and Libraries Guide (document 816-1386)"><a id="id442314"></a><p><span class="title"><i>
Sun Solaris 2.9 : Linker and Libraries Guide (document 816-1386)
</i>. </span><span class="biblioid">
<a class="ulink" href="http://docs.sun.com/app/docs/doc/817-1984" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id658254"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Sun Solaris 2.9 : C++ Migration Guide (document 816-2459)"><a id="id442331"></a><p><span class="title"><i>
Sun Solaris 2.9 : C++ Migration Guide (document 816-2459)
</i>. </span><span class="biblioid">
<a class="ulink" href="http://docs.sun.com/app/docs/doc/819-5266" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id658272"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="How to Write Shared Libraries"><a id="id442348"></a><p><span class="title"><i>
How to Write Shared Libraries
</i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="biblioid">
<a class="ulink" href="http://people.redhat.com/drepper/dsohowto.pdf" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id675905"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="C++ ABI for the ARM Architecture"><a id="id442376"></a><p><span class="title"><i>
C++ ABI for the ARM Architecture
</i>. </span><span class="biblioid">
<a class="ulink" href="http://www.arm.com/miscPDFs/8033.pdf" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id675922"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Dynamic Shared Objects: Survey and Issues"><a id="id442393"></a><p><span class="title"><i>
Dynamic Shared Objects: Survey and Issues
</i>. </span><span class="subtitle">
ISO C++ J16/06-0046
. </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span><span class="biblioid">
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1976.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id675954"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Versioning With Namespaces"><a id="id461984"></a><p><span class="title"><i>
Versioning With Namespaces
</i>. </span><span class="subtitle">
ISO C++ J16/06-0083
. </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span><span class="biblioid">
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2013.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id675987"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Binary Compatibility of Shared Libraries Implemented in C++ on GNU/Linux Systems"><a id="id462017"></a><p><span class="title"><i>
Binary Compatibility of Shared Libraries Implemented in C++ on GNU/Linux Systems
</i>. </span><span class="subtitle">
SYRCoSE 2009
diff --git a/libstdc++-v3/doc/html/manual/algorithms.html b/libstdc++-v3/doc/html/manual/algorithms.html
index aaaa42c27ef..ea42224b5db 100644
--- a/libstdc++-v3/doc/html/manual/algorithms.html
+++ b/libstdc++-v3/doc/html/manual/algorithms.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part IX.  Algorithms</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt08ch19s02.html" title="One Past the End" /><link rel="next" href="bk01pt09pr02.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part IX. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part IX.  Algorithms</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt08ch19s02.html" title="One Past the End" /><link rel="next" href="bk01pt09pr02.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part IX. 
Algorithms
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt08ch19s02.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt09pr02.html">Next</a></td></tr></table><hr /></div><div class="part" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="manual.algorithms"></a>Part IX. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt08ch19s02.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt09pr02.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part IX.  Algorithms"><div class="titlepage"><div><div><h1 class="title"><a id="manual.algorithms"></a>Part IX. 
Algorithms
- <a id="id721514" class="indexterm"></a>
-</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="bk01pt09pr02.html"></a></span></dt><dt><span class="chapter"><a href="bk01pt09ch20.html">20. Mutating</a></span></dt><dd><dl><dt><span class="sect1"><a href="bk01pt09ch20.html#algorithms.mutating.swap">swap</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt09ch20.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt08ch19s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt09pr02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">One Past the End </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
+ <a id="id455873" class="indexterm"></a>
+</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="bk01pt09pr02.html"></a></span></dt><dt><span class="chapter"><a href="bk01pt09ch20.html">20. Mutating</a></span></dt><dd><dl><dt><span class="sect1"><a href="bk01pt09ch20.html#algorithms.mutating.swap"><code class="function">swap</code></a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt09ch20.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt08ch19s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt09pr02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">One Past the End </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/api.html b/libstdc++-v3/doc/html/manual/api.html
index f0f0e271f1a..56db4d32412 100644
--- a/libstdc++-v3/doc/html/manual/api.html
+++ b/libstdc++-v3/doc/html/manual/api.html
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>API Evolution and Deprecation History</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="abi.html" title="ABI Policy and Guidelines" /><link rel="next" href="backwards.html" title="Backwards Compatibility" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">API Evolution and Deprecation History</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="abi.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>API Evolution and Deprecation History</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="abi.html" title="ABI Policy and Guidelines" /><link rel="next" href="backwards.html" title="Backwards Compatibility" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">API Evolution and Deprecation History</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="abi.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
Porting and Maintenance
-</th><td width="20%" align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.api"></a>API Evolution and Deprecation History</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="API Evolution and Deprecation History"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.api"></a>API Evolution and Deprecation History</h2></div></div></div><p>
A list of user-visible changes, in chronological order
-</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_300"></a><code class="constant">3.0</code></h3></div></div></div><p>
+</p><div class="sect2" title="3.0"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_300"></a><code class="constant">3.0</code></h3></div></div></div><p>
Extensions moved to <code class="filename">include/ext</code>.
</p><p>
Include files from the SGI/HP sources that pre-date the ISO standard
@@ -14,7 +14,7 @@ the <code class="filename">include/backward</code> directory and a deprecated wa
is added that notifies on inclusion (<code class="literal">-Wno-deprecated</code>
deactivates the warning.)
</p><p>Deprecated include <code class="filename">backward/strstream</code> added.</p><p>Removal of include <code class="filename">builtinbuf.h</code>, <code class="filename">indstream.h</code>, <code class="filename">parsestream.h</code>, <code class="filename">PlotFile.h</code>, <code class="filename">SFile.h</code>, <code class="filename">stdiostream.h</code>, and <code class="filename">stream.h</code>.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_310"></a><code class="constant">3.1</code></h3></div></div></div><p>
+</p></div><div class="sect2" title="3.1"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_310"></a><code class="constant">3.1</code></h3></div></div></div><p>
</p><p>
Extensions from SGI/HP moved from <code class="code">namespace std</code>
to <code class="code">namespace __gnu_cxx</code>. As part of this, the following
@@ -26,15 +26,15 @@ Extensions to <code class="code">basic_filebuf</code> introduced: <code class="c
Extensions to tree data structures added in <code class="filename">ext/rb_tree</code>.
</p><p>
Removal of <code class="filename">ext/tree</code>, moved to <code class="filename">backward/tree.h</code>.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_320"></a><code class="constant">3.2</code></h3></div></div></div><p>
+</p></div><div class="sect2" title="3.2"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_320"></a><code class="constant">3.2</code></h3></div></div></div><p>
</p><p>Symbol versioning introduced for shared library.</p><p>Removal of include <code class="filename">backward/strstream.h</code>.</p><p>Allocator changes. Change <code class="code">__malloc_alloc</code> to <code class="code">malloc_allocator</code> and <code class="code">__new_alloc</code> to <code class="code">new_allocator</code>. </p><p> For GCC releases from 2.95 through the 3.1 series, defining
<code class="literal">__USE_MALLOC</code> on the gcc command line would change the
default allocation strategy to instead use <code class="code"> malloc</code> and
<code class="function">free</code>. (This same functionality is now spelled <code class="literal">_GLIBCXX_FORCE_NEW</code>, see
<a class="link" href="using_macros.html" title="Macros">this page</a>
for details.
- </p><p>Error handling in iostreams cleaned up, made consistent. </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_330"></a><code class="constant">3.3</code></h3></div></div></div><p>
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_340"></a><code class="constant">3.4</code></h3></div></div></div><p>
+ </p><p>Error handling in iostreams cleaned up, made consistent. </p></div><div class="sect2" title="3.3"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_330"></a><code class="constant">3.3</code></h3></div></div></div><p>
+ </p></div><div class="sect2" title="3.4"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_340"></a><code class="constant">3.4</code></h3></div></div></div><p>
</p><p>
Large file support.
</p><p> Extensions for generic characters and <code class="code">char_traits</code> added in <code class="filename">ext/pod_char_traits.h</code>.
@@ -75,11 +75,11 @@ _Alloc_traits</code> have been removed.
<span class="type">__alloc</span> to select an underlying allocator that
satisfied memory allocation requests. The selection of this
underlying allocator was not user-configurable.
- </p><div class="table"><a id="id623096"></a><p class="title"><b>Table B.1. Extension Allocators</b></p><div class="table-contents"><table summary="Extension Allocators" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Allocator (3.4)</th><th align="left">Header (3.4)</th><th align="left">Allocator (3.[0-3])</th><th align="left">Header (3.[0-3])</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::new_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="classname">std::__new_alloc</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::malloc_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="classname">std::__malloc_alloc_template&lt;int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::debug_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="classname">std::debug_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__pool_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="classname">std::__default_alloc_template&lt;bool,int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__mt_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left"><code class="classname">__gnu_cxx::bitmap_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p> Releases after gcc-3.4 have continued to add to the collection
+ </p><div class="table"><a id="id516151"></a><p class="title"><b>Table B.1. Extension Allocators</b></p><div class="table-contents"><table summary="Extension Allocators" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Allocator (3.4)</th><th align="left">Header (3.4)</th><th align="left">Allocator (3.[0-3])</th><th align="left">Header (3.[0-3])</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::new_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="classname">std::__new_alloc</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::malloc_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="classname">std::__malloc_alloc_template&lt;int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::debug_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="classname">std::debug_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__pool_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="classname">std::__default_alloc_template&lt;bool,int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__mt_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left"><code class="classname">__gnu_cxx::bitmap_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p> Releases after gcc-3.4 have continued to add to the collection
of available allocators. All of these new allocators are
standard-style. The following table includes details, along with
the first released version of GCC that included the extension allocator.
- </p><div class="table"><a id="id721371"></a><p class="title"><b>Table B.2. Extension Allocators Continued</b></p><div class="table-contents"><table summary="Extension Allocators Continued" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Allocator</th><th align="left">Include</th><th align="left">Version</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::array_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left">4.0.0</td></tr><tr><td align="left"><code class="classname">__gnu_cxx::throw_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left">4.2.0</td></tr></tbody></table></div></div><br class="table-break" /><p>
+ </p><div class="table"><a id="id535166"></a><p class="title"><b>Table B.2. Extension Allocators Continued</b></p><div class="table-contents"><table summary="Extension Allocators Continued" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Allocator</th><th align="left">Include</th><th align="left">Version</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::array_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left">4.0.0</td></tr><tr><td align="left"><code class="classname">__gnu_cxx::throw_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left">4.2.0</td></tr></tbody></table></div></div><br class="table-break" /><p>
Debug mode first appears.
</p><p>
Precompiled header support <acronym class="acronym">PCH</acronym> support.
@@ -89,7 +89,7 @@ Macro guard for changed, from <code class="literal">_GLIBCPP_</code> to <code cl
Extension <code class="filename">ext/stdio_sync_filebuf.h</code> added.
</p><p>
Extension <code class="filename">ext/demangle.h</code> added.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_400"></a><code class="constant">4.0</code></h3></div></div></div><p>
+</p></div><div class="sect2" title="4.0"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_400"></a><code class="constant">4.0</code></h3></div></div></div><p>
</p><p>
TR1 features first appear.
</p><p>
@@ -98,14 +98,14 @@ Extension allocator <code class="filename">ext/array_allocator.h</code> added.
Extension <code class="code">codecvt</code> specializations moved to <code class="filename">ext/codecvt_specializations.h</code>.
</p><p>
Removal of <code class="filename">ext/demangle.h</code>.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_410"></a><code class="constant">4.1</code></h3></div></div></div><p>
+</p></div><div class="sect2" title="4.1"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_410"></a><code class="constant">4.1</code></h3></div></div></div><p>
</p><p>
Removal of <code class="filename">cassert</code> from all standard headers: now has to be explicitly included for <code class="code">std::assert</code> calls.
</p><p> Extensions for policy-based data structures first added. New includes,
types, namespace <code class="code">pb_assoc</code>.
</p><p> Extensions for typelists added in <code class="filename">ext/typelist.h</code>.
</p><p> Extension for policy-based <code class="code">basic_string</code> first added: <code class="code">__gnu_cxx::__versa_string</code> in <code class="filename">ext/vstring.h</code>.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_420"></a><code class="constant">4.2</code></h3></div></div></div><p>
+</p></div><div class="sect2" title="4.2"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_420"></a><code class="constant">4.2</code></h3></div></div></div><p>
</p><p> Default visibility attributes applied to <code class="code">namespace std</code>. Support for <code class="code">-fvisibility</code>.
</p><p>TR1 <code class="filename">random</code>, <code class="filename">complex</code>, and C compatibility headers added.</p><p> Extensions for concurrent programming consolidated
into <code class="filename">ext/concurrence.h</code> and <code class="filename">ext/atomicity.h</code>,
@@ -120,24 +120,25 @@ types, namespace moved to <code class="code">__pb_ds</code>.
std::__debug</code> and extensions in <code class="code">namespace
__gnu_cxx::__debug</code>.</p><p> Extensions added: <code class="filename">ext/typelist.h</code>
and <code class="filename">ext/throw_allocator.h</code>.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_430"></a><code class="constant">4.3</code></h3></div></div></div><p>
+</p></div><div class="sect2" title="4.3"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_430"></a><code class="constant">4.3</code></h3></div></div></div><p>
</p><p>
C++0X features first appear.
-</p><p>TR1 <code class="filename">regex</code> and <code class="filename">cmath</code>'s mathematical special function added.</p><p>
+</p><p>TR1 <code class="filename">regex</code> and <code class="filename">cmath</code>'s mathematical special function added.
+</p><p>
Backward include edit.
-</p><div class="itemizedlist"><ul type="disc"><li><p>Removed</p><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Removed</p><p>
<code class="filename">algobase.h</code> <code class="filename">algo.h</code> <code class="filename">alloc.h</code> <code class="filename">bvector.h</code> <code class="filename">complex.h</code>
<code class="filename">defalloc.h</code> <code class="filename">deque.h</code> <code class="filename">fstream.h</code> <code class="filename">function.h</code> <code class="filename">hash_map.h</code> <code class="filename">hash_set.h</code>
<code class="filename">hashtable.h</code> <code class="filename">heap.h</code> <code class="filename">iomanip.h</code> <code class="filename">iostream.h</code> <code class="filename">istream.h</code> <code class="filename">iterator.h</code>
<code class="filename">list.h</code> <code class="filename">map.h</code> <code class="filename">multimap.h</code> <code class="filename">multiset.h</code> <code class="filename">new.h</code> <code class="filename">ostream.h</code> <code class="filename">pair.h</code> <code class="filename">queue.h</code> <code class="filename">rope.h</code> <code class="filename">set.h</code> <code class="filename">slist.h</code> <code class="filename">stack.h</code> <code class="filename">streambuf.h</code> <code class="filename">stream.h</code> <code class="filename">tempbuf.h</code>
<code class="filename">tree.h</code> <code class="filename">vector.h</code>
- </p></li><li><p>Added</p><p>
+ </p></li><li class="listitem"><p>Added</p><p>
<code class="filename">hash_map</code> and <code class="filename">hash_set</code>
- </p></li><li><p>Added in C++0x</p><p>
+ </p></li><li class="listitem"><p>Added in C++0x</p><p>
<code class="filename">auto_ptr.h</code> and <code class="filename">binders.h</code>
</p></li></ul></div><p>
Header dependency streamlining.
-</p><div class="itemizedlist"><ul type="disc"><li><p><code class="filename">algorithm</code> no longer includes <code class="filename">climits</code>, <code class="filename">cstring</code>, or <code class="filename">iosfwd</code> </p></li><li><p><code class="filename">bitset</code> no longer includes <code class="filename">istream</code> or <code class="filename">ostream</code>, adds <code class="filename">iosfwd</code> </p></li><li><p><code class="filename">functional</code> no longer includes <code class="filename">cstddef</code></p></li><li><p><code class="filename">iomanip</code> no longer includes <code class="filename">istream</code>, <code class="filename">istream</code>, or <code class="filename">functional</code>, adds <code class="filename">ioswd</code> </p></li><li><p><code class="filename">numeric</code> no longer includes <code class="filename">iterator</code></p></li><li><p><code class="filename">string</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">memory</code></p></li><li><p><code class="filename">valarray</code> no longer includes <code class="filename">numeric</code> or <code class="filename">cstdlib</code></p></li><li><p><code class="filename">tr1/hashtable</code> no longer includes <code class="filename">memory</code> or <code class="filename">functional</code></p></li><li><p><code class="filename">tr1/memory</code> no longer includes <code class="filename">algorithm</code></p></li><li><p><code class="filename">tr1/random</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">fstream</code></p></li></ul></div><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="filename">algorithm</code> no longer includes <code class="filename">climits</code>, <code class="filename">cstring</code>, or <code class="filename">iosfwd</code> </p></li><li class="listitem"><p><code class="filename">bitset</code> no longer includes <code class="filename">istream</code> or <code class="filename">ostream</code>, adds <code class="filename">iosfwd</code> </p></li><li class="listitem"><p><code class="filename">functional</code> no longer includes <code class="filename">cstddef</code></p></li><li class="listitem"><p><code class="filename">iomanip</code> no longer includes <code class="filename">istream</code>, <code class="filename">istream</code>, or <code class="filename">functional</code>, adds <code class="filename">ioswd</code> </p></li><li class="listitem"><p><code class="filename">numeric</code> no longer includes <code class="filename">iterator</code></p></li><li class="listitem"><p><code class="filename">string</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">memory</code></p></li><li class="listitem"><p><code class="filename">valarray</code> no longer includes <code class="filename">numeric</code> or <code class="filename">cstdlib</code></p></li><li class="listitem"><p><code class="filename">tr1/hashtable</code> no longer includes <code class="filename">memory</code> or <code class="filename">functional</code></p></li><li class="listitem"><p><code class="filename">tr1/memory</code> no longer includes <code class="filename">algorithm</code></p></li><li class="listitem"><p><code class="filename">tr1/random</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">fstream</code></p></li></ul></div><p>
Debug mode for <code class="filename">unordered_map</code> and <code class="filename">unordered_set</code>.
</p><p>
Parallel mode first appears.
@@ -151,4 +152,84 @@ Parallel mode first appears.
PCH binary files no longer installed. Instead, the source files are installed.
</p><p>
Namespace pb_ds moved to __gnu_pb_ds.
+</p></div><div class="sect2" title="4.4"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_440"></a><code class="constant">4.4</code></h3></div></div></div><p>
+ </p><p>
+C++0X features.
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ Added.
+ </p><p>
+ <code class="filename">atomic</code>,
+ <code class="filename">chrono</code>,
+ <code class="filename">condition_variable</code>,
+ <code class="filename">forward_list</code>,
+ <code class="filename">initializer_list</code>,
+ <code class="filename">mutex</code>,
+ <code class="filename">ratio</code>,
+ <code class="filename">thread</code>
+ </p></li><li class="listitem"><p>
+ Updated and improved.
+ </p><p>
+ <code class="filename">algorithm</code>,
+ <code class="filename">system_error</code>,
+ <code class="filename">type_traits</code>
+ </p></li><li class="listitem"><p>
+ Use of the GNU extension namespace association converted to inline namespaces.
+ </p></li><li class="listitem"><p>
+ Preliminary support for <code class="classname">initializer_list</code>
+ and defaulted and deleted constructors in container classes.
+ </p></li><li class="listitem"><p>
+ <code class="classname">unique_ptr</code>.
+ </p></li><li class="listitem"><p>
+ Support for new character types <span class="type">char16_t</span>
+ and <span class="type">char32_t</span> added
+ to <code class="classname">char_traits</code>, <code class="classname">basic_string</code>, <code class="classname">numeric_limits</code>,
+ and assorted compile-time type traits.
+ </p></li><li class="listitem"><p>
+ Support for string conversions <code class="function">to_string</code>
+ and <code class="function">to_wstring</code>.
+ </p></li><li class="listitem"><p>
+ Member functions taking string arguments were added to iostreams
+ including <code class="classname">basic_filebuf</code>, <code class="classname">basic_ofstream</code>,
+ and <code class="classname">basic_ifstream</code>.
+ </p></li><li class="listitem"><p>
+ Exception propagation support,
+ including <code class="classname">exception_ptr</code>, <code class="function">current_exception</code>, <code class="function">copy_exception</code>,
+ and <code class="function">rethrow_exception</code>.
+ </p></li></ul></div><p>
+Uglification of <code class="literal">try</code> to <code class="literal">__try</code>
+and <code class="literal">catch</code> to <code class="literal">__catch</code>.
+ </p><p>
+Audit of internal mutex usage, conversion to funtions returning static
+local mutex.
+ </p><p> Extensions
+added: <code class="filename">ext/pointer.h</code>
+and <code class="filename">ext/extptr_allocator.h</code>. Support
+for non-standard pointer types has been added
+to <code class="classname">vector</code>
+and <code class="classname">forward_list</code>.
+</p></div><div class="sect2" title="4.5"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_450"></a><code class="constant">4.5</code></h3></div></div></div><p>
+ </p><p>
+C++0X features.
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ Added.
+ </p><p>
+ <code class="filename">future</code>,
+ <code class="filename">random</code>
+ </p></li><li class="listitem"><p>
+ Updated and improved.
+ </p><p>
+ <code class="filename">atomic</code>,
+ <code class="filename">system_error</code>,
+ <code class="filename">type_traits</code>
+ </p></li><li class="listitem"><p>
+ Add support for explicit operators and standard layout types.
+ </p></li></ul></div><p>
+Profile mode first appears.
+</p><p>
+Support for decimal floating-point arithmetic, including <code class="classname">decimal32</code>, <code class="classname">decimal64</code>, and <code class="classname">decimal128</code>.
+</p><p>
+Python pretty-printers are added for use with appropriately-advanced versions of <span class="command"><strong>gdb</strong></span>.
+</p><p>
+Audit for application of function attributes notrow, const, pure, and noreturn.
+</p><p> Extensions modified: <code class="filename">ext/throw_allocator.h</code>. In addition, experimental support was added for <code class="filename">random</code> serialization operators.
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="abi.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ABI Policy and Guidelines </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Backwards Compatibility</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/appendix_contributing.html b/libstdc++-v3/doc/html/manual/appendix_contributing.html
index b54faf1b14d..e58318e2e09 100644
--- a/libstdc++-v3/doc/html/manual/appendix_contributing.html
+++ b/libstdc++-v3/doc/html/manual/appendix_contributing.html
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix A.  Contributing</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt12ch41s03.html" title="Use" /><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. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix A.  Contributing</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt12ch41s03.html" title="Use" /><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. 
Contributing
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch41s03.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr></table><hr /></div><div class="appendix" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.contrib"></a>Appendix A. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch41s03.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix A.  Contributing"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.contrib"></a>Appendix A. 
Contributing
- <a id="id622754" class="indexterm"></a>
+ <a id="id451444" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="sect1"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="sect2"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="sect1"><a href="documentation_style.html">Documentation Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="documentation_style.html#doc_style.doxygen">Doxygen</a></span></dt><dt><span class="sect2"><a href="documentation_style.html#doc_style.docbook">Docbook</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></div><p>
The GNU C++ Library follows an open development model. Active
contributors are assigned maintainer-ship responsibility, and given
write access to the source repository. First time contributors
should follow this procedure:
-</p><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.list"></a>Contributor Checklist</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="list.reading"></a>Reading</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>
+</p><div class="sect1" title="Contributor Checklist"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.list"></a>Contributor Checklist</h2></div></div></div><div class="sect2" title="Reading"><div class="titlepage"><div><div><h3 class="title"><a id="list.reading"></a>Reading</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
Get and read the relevant sections of the C++ language
specification. Copies of the full ISO 14882 standard are
available on line via the ISO mirror site for committee
@@ -24,30 +24,30 @@
<a class="ulink" href="http://www.ansi.org" target="_top">here.</a>
(And if you've already registered with them, clicking this link will take you to directly to the place where you can
<a class="ulink" href="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO/IEC%2014882:2003" target="_top">buy the standard on-line.)</a>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
The library working group bugs, and known defects, can
be obtained here:
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">http://www.open-std.org/jtc1/sc22/wg21 </a>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
The newsgroup dedicated to standardization issues is
comp.std.c++: this FAQ for this group is quite useful and
can be
found <a class="ulink" href="http://www.comeaucomputing.com/csc/faq.html" target="_top">
here </a>.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Peruse
the <a class="ulink" href="http://www.gnu.org/prep/standards" target="_top">GNU
Coding Standards</a>, and chuckle when you hit the part
- about “<span class="quote">Using Languages Other Than C</span>â€.
- </p></li><li><p>
+ about <span class="quote">“<span class="quote">Using Languages Other Than C</span>â€</span>.
+ </p></li><li class="listitem"><p>
Be familiar with the extensions that preceded these
general GNU rules. These style issues for libstdc++ can be
found <a class="link" href="source_code_style.html" title="Coding Style">here</a>.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
And last but certainly not least, read the
library-specific information
found <a class="link" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"> here</a>.
- </p></li></ul></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="list.copyright"></a>Assignment</h3></div></div></div><p>
+ </p></li></ul></div></div><div class="sect2" title="Assignment"><div class="titlepage"><div><div><h3 class="title"><a id="list.copyright"></a>Assignment</h3></div></div></div><p>
Small changes can be accepted without a copyright assignment form on
file. New code and additions to the library need completed copyright
assignment form on file at the FSF. Note: your employer may be required
@@ -56,10 +56,10 @@
Historically, the libstdc++ assignment form added the following
question:
</p><p>
- “<span class="quote">
+ <span class="quote">“<span class="quote">
Which Belgian comic book character is better, Tintin or Asterix, and
why?
- </span>â€
+ </span>â€</span>
</p><p>
While not strictly necessary, humoring the maintainers and answering
this question would be appreciated.
@@ -74,29 +74,29 @@
requesting an assignment form from
<code class="email">&lt;<a class="email" href="mailto:mailto:assign@gnu.org">mailto:assign@gnu.org</a>&gt;</code>, please cc the libstdc++
maintainer above so that progress can be monitored.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="list.getting"></a>Getting Sources</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Getting Sources"><div class="titlepage"><div><div><h3 class="title"><a id="list.getting"></a>Getting Sources</h3></div></div></div><p>
<a class="ulink" href="http://gcc.gnu.org/svnwrite.html" target="_top">Getting write access
(look for "Write after approval")</a>
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="list.patches"></a>Submitting Patches</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Submitting Patches"><div class="titlepage"><div><div><h3 class="title"><a id="list.patches"></a>Submitting Patches</h3></div></div></div><p>
Every patch must have several pieces of information before it can be
properly evaluated. Ideally (and to ensure the fastest possible
response from the maintainers) it would have all of these pieces:
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
A description of the bug and how your patch fixes this
bug. For new features a description of the feature and your
implementation.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
A ChangeLog entry as plain text; see the various
ChangeLog files for format and content. If using you are
using emacs as your editor, simply position the insertion
point at the beginning of your change and hit CX-4a to bring
up the appropriate ChangeLog entry. See--magic! Similar
functionality also exists for vi.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
A testsuite submission or sample program that will
easily and simply show the existing error or test new
functionality.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
The patch itself. If you are accessing the SVN
repository use <span class="command"><strong>svn update; svn diff NEW</strong></span>;
else, use <span class="command"><strong>diff -cp OLD NEW</strong></span> ... If your
@@ -105,7 +105,7 @@
diff. The <a class="ulink" href="http://gcc.gnu.org/wiki/SvnTricks" target="_top">SVN
Tricks</a> wiki page has information on customising the
output of <code class="code">svn diff</code>.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
When you have all these pieces, bundle them up in a
mail message and send it to libstdc++@gcc.gnu.org. All
patches and related discussion should be sent to the
diff --git a/libstdc++-v3/doc/html/manual/appendix_free.html b/libstdc++-v3/doc/html/manual/appendix_free.html
index 5b529f93e8e..2431858efd8 100644
--- a/libstdc++-v3/doc/html/manual/appendix_free.html
+++ b/libstdc++-v3/doc/html/manual/appendix_free.html
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix C.  Free Software Needs Free Documentation</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><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. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix C.  Free Software Needs Free Documentation</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><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. 
Free Software Needs Free Documentation
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="backwards.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr></table><hr /></div><div class="appendix" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.free"></a>Appendix C. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="backwards.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix C.  Free Software Needs Free Documentation"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.free"></a>Appendix C. 
Free Software Needs Free Documentation
- <a id="id675332" class="indexterm"></a>
+ <a id="id519719" class="indexterm"></a>
</h2></div></div></div><p>
The biggest deficiency in free operating systems is not in the
software--it is the lack of good free manuals that we can include in
@@ -120,5 +120,5 @@ that lists free books available from other publishers</a>].
</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
permitted worldwide, without royalty, in any medium, provided this
notice is preserved.</p><p>Report any problems or suggestions to <code class="email">&lt;<a class="email" href="mailto:webmaster@fsf.org">webmaster@fsf.org</a>&gt;</code>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="backwards.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Backwards Compatibility </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix D. 
- GNU General Public License version 3
+ <acronym class="acronym">GNU</acronym> General Public License version 3
</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/appendix_gfdl.html b/libstdc++-v3/doc/html/manual/appendix_gfdl.html
index cbd35d59e4f..6b6e69ea86d 100644
--- a/libstdc++-v3/doc/html/manual/appendix_gfdl.html
+++ b/libstdc++-v3/doc/html/manual/appendix_gfdl.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix E. GNU Free Documentation License</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3" /><link rel="next" href="bk01ix01.html" title="Index" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix E. GNU Free Documentation License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_gpl.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01ix01.html">Next</a></td></tr></table><hr /></div><div class="appendix" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.gfdl-1.2"></a>Appendix E. GNU Free Documentation License</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix E. GNU Free Documentation License</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3" /><link rel="next" href="bk01ix01.html" title="Index" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix E. GNU Free Documentation License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_gpl.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01ix01.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix E. GNU Free Documentation License"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.gfdl-1.2"></a>Appendix E. GNU Free Documentation License</h2></div></div></div><p>
Copyright (C) 2000, 2001, 2002 Free Software Foundation,
<abbr class="abbrev">Inc.</abbr> 51 Franklin <abbr class="abbrev">St</abbr>, Fifth Floor,
Boston, <abbr class="abbrev">MA</abbr> 02110-1301 <abbr class="abbrev">USA</abbr>. Everyone is permitted to copy and
@@ -173,36 +173,36 @@
filling the role of the Document, thus licensing distribution and
modification of the Modified Version to whoever possesses a copy of it.
In addition, you must do these things in the Modified Version:
- </p><div class="orderedlist"><ol type="A"><li>
+ </p><div class="orderedlist"><ol class="orderedlist" type="A"><li class="listitem">
Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions (which
should, if there were any, be listed in the History section of the
Document). You may use the same title as a previous version if the
original publisher of that version gives permission.
- </li><li>
+ </li><li class="listitem">
List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
- </li><li>
+ </li><li class="listitem">
State on the Title page the name of the publisher of the Modified
Version, as the publisher.
- </li><li>
+ </li><li class="listitem">
Preserve all the copyright notices of the Document.
- </li><li>
+ </li><li class="listitem">
Add an appropriate copyright notice for your modifications adjacent to
the other copyright notices.
- </li><li>
+ </li><li class="listitem">
Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
- </li><li>
+ </li><li class="listitem">
Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.
- </li><li>
+ </li><li class="listitem">
Include an unaltered copy of this License.
- </li><li>
+ </li><li class="listitem">
Preserve the section Entitled "History", Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
@@ -210,7 +210,7 @@
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
- </li><li>
+ </li><li class="listitem">
Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise the
network locations given in the Document for previous versions it was
@@ -218,22 +218,22 @@
a network location for a work that was published at least four years
before the Document itself, or if the original publisher of the
version it refers to gives permission.
- </li><li>
+ </li><li class="listitem">
For any section Entitled "Acknowledgements" or "Dedications", Preserve
the Title of the section, and preserve in the section all the
substance and tone of each of the contributor acknowledgements and/or
dedications given therein.
- </li><li>
+ </li><li class="listitem">
Preserve all the Invariant Sections of the Document, unaltered in
their text and in their titles. Section numbers or the equivalent are
not considered part of the section titles.
- </li><li>
+ </li><li class="listitem">
Delete any section Entitled "Endorsements". Such a section may not be
included in the Modified Version.
- </li><li>
+ </li><li class="listitem">
Do not retitle any existing section to be Entitled "Endorsements" or
to conflict in title with any Invariant Section.
- </li><li>
+ </li><li class="listitem">
Preserve any Warranty Disclaimers.
</li></ol></div><p>
If the Modified Version includes new front-matter sections or appendices
@@ -391,5 +391,5 @@
software license, such as the GNU General Public License, to permit their
use in free software.
</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="appendix_gpl.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01ix01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix D. 
- GNU General Public License version 3
+ <acronym class="acronym">GNU</acronym> General Public License version 3
 </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Index</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/appendix_gpl.html b/libstdc++-v3/doc/html/manual/appendix_gpl.html
index 0f9a838f365..48c1f78e166 100644
--- a/libstdc++-v3/doc/html/manual/appendix_gpl.html
+++ b/libstdc++-v3/doc/html/manual/appendix_gpl.html
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix D.  GNU General Public License version 3</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><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. 
- GNU General Public License version 3
- </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_free.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="appendix_gfdl.html">Next</a></td></tr></table><hr /></div><div class="appendix" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.gpl-3.0"></a>Appendix D. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix D.  GNU General Public License version 3</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><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. 
+ <acronym class="acronym">GNU</acronym> General Public License version 3
+ </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_free.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="appendix_gfdl.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix D.  GNU General Public License version 3"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.gpl-3.0"></a>Appendix D. 
<acronym class="acronym">GNU</acronym> General Public License version 3
</h2></div></div></div><p>
Version 3, 29 June 2007
@@ -76,7 +76,7 @@
</p><p>
The precise terms and conditions for copying, distribution and modification
follow.
- </p><h2><a id="id746936"></a>
+ </p><h2><a id="id521172"></a>
TERMS AND CONDITIONS
</h2><h2><a id="gpl-3-definitions"></a>
0. Definitions.
@@ -219,15 +219,15 @@
You may convey a work based on the Program, or the modifications to produce
it from the Program, in the form of source code under the terms of section
4, provided that you also meet all of these conditions:
- </p><div class="orderedlist"><ol type="a"><li><p>
+ </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
The work must carry prominent notices stating that you modified it, and
giving a relevant date.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
The work must carry prominent notices stating that it is released under
this License and any conditions added under section 7. This requirement
modifies the requirement in section 4 to “keep intact all
noticesâ€.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
You must license the entire work, as a whole, under this License to
anyone who comes into possession of a copy. This License will therefore
apply, along with any applicable section 7 additional terms, to the
@@ -235,7 +235,7 @@
packaged. This License gives no permission to license the work in any
other way, but it does not invalidate such permission if you have
separately received it.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your work need
@@ -255,12 +255,12 @@
You may convey a covered work in object code form under the terms of
sections 4 and 5, provided that you also convey the machine-readable
Corresponding Source under the terms of this License, in one of these ways:
- </p><div class="orderedlist"><ol type="a"><li><p>
+ </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
Convey the object code in, or embodied in, a physical product (including
a physical distribution medium), accompanied by the Corresponding Source
fixed on a durable physical medium customarily used for software
interchange.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Convey the object code in, or embodied in, a physical product (including
a physical distribution medium), accompanied by a written offer, valid
for at least three years and valid for as long as you offer spare parts
@@ -271,12 +271,12 @@
price no more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the Corresponding Source from
a network server at no charge.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Convey individual copies of the object code with a copy of the written
offer to provide the Corresponding Source. This alternative is allowed
only occasionally and noncommercially, and only if you received the
object code with such an offer, in accord with subsection 6b.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Convey the object code by offering access from a designated place
(gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
@@ -289,7 +289,7 @@
Regardless of what server hosts the Corresponding Source, you remain
obligated to ensure that it is available for as long as needed to
satisfy these requirements.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Convey the object code using peer-to-peer transmission, provided you
inform other peers where the object code and Corresponding Source of the
work are being offered to the general public at no charge under
@@ -366,24 +366,24 @@
Notwithstanding any other provision of this License, for material you add
to a covered work, you may (if authorized by the copyright holders of that
material) supplement the terms of this License with terms:
- </p><div class="orderedlist"><ol type="a"><li><p>
+ </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
Disclaiming warranty or limiting liability differently from the terms
of sections 15 and 16 of this License; or
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Requiring preservation of specified reasonable legal notices or author
attributions in that material or in the Appropriate Legal Notices
displayed by works containing it; or
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Limiting the use for publicity purposes of names of licensors or
authors of the material; or
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Declining to grant rights under trademark law for use of some trade
names, trademarks, or service marks; or
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Requiring indemnification of licensors and authors of that material by
anyone who conveys the material (or modified versions of it) with
contractual assumptions of liability to the recipient, for any
@@ -617,7 +617,7 @@
waiver of all civil liability in connection with the Program, unless a
warranty or assumption of liability accompanies a copy of the Program in
return for a fee.
- </p><h2><a id="id654357"></a>
+ </p><h2><a id="id519116"></a>
END OF TERMS AND CONDITIONS
</h2><h2><a id="HowToApply"></a>
How to Apply These Terms to Your New Programs
diff --git a/libstdc++-v3/doc/html/manual/appendix_porting.html b/libstdc++-v3/doc/html/manual/appendix_porting.html
index 037759421ee..842b335d7de 100644
--- a/libstdc++-v3/doc/html/manual/appendix_porting.html
+++ b/libstdc++-v3/doc/html/manual/appendix_porting.html
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix B.  Porting and Maintenance</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="source_design_notes.html" title="Design Notes" /><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">Appendix B. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix B.  Porting and Maintenance</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="source_design_notes.html" title="Design Notes" /><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">Appendix B. 
Porting and Maintenance
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_design_notes.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="internals.html">Next</a></td></tr></table><hr /></div><div class="appendix" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.porting"></a>Appendix B. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_design_notes.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="internals.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix B.  Porting and Maintenance"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.porting"></a>Appendix B. 
Porting and Maintenance
- <a id="id744430" class="indexterm"></a>
-</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.map">Overview: What Comes from Where</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.enable">GLIBCXX_ENABLE, the --enable maker</a></span></dt></dl></dd><dt><span class="sect1"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="sect2"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="sect1"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="sect2"><a href="test.html#test.organization">Organization</a></span></dt><dt><span class="sect2"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dt><span class="sect2"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="sect2"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt></dl></dd><dt><span class="sect1"><a href="abi.html">ABI Policy and Guidelines</a></span></dt><dd><dl><dt><span class="sect2"><a href="abi.html#abi.cxx_interface">The C++ Interface</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.versioning">Versioning</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.changes_allowed">Allowed Changes</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.changes_no">Prohibited Changes</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.testing">Testing</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.issues">Outstanding Issues</a></span></dt></dl></dd><dt><span class="sect1"><a href="api.html">API Evolution and Deprecation History</a></span></dt><dd><dl><dt><span class="sect2"><a href="api.html#api.rel_300">3.0</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_310">3.1</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_320">3.2</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_330">3.3</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_340">3.4</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_400">4.0</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_410">4.1</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_420">4.2</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_430">4.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="backwards.html">Backwards Compatibility</a></span></dt><dd><dl><dt><span class="sect2"><a href="backwards.html#backwards.first">First</a></span></dt><dt><span class="sect2"><a href="backwards.html#backwards.second">Second</a></span></dt><dt><span class="sect2"><a href="backwards.html#backwards.third">Third</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.build_hacking"></a>Configure and Build Hacking</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.prereq"></a>Prerequisites</h3></div></div></div><p>
+ <a id="id407464" class="indexterm"></a>
+</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.map">Overview: What Comes from Where</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="sect2"><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="sect1"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="sect2"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="sect1"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="sect2"><a href="test.html#test.organization">Organization</a></span></dt><dt><span class="sect2"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dt><span class="sect2"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="sect2"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt><dt><span class="sect2"><a href="test.html#test.special">Special Topics</a></span></dt></dl></dd><dt><span class="sect1"><a href="abi.html">ABI Policy and Guidelines</a></span></dt><dd><dl><dt><span class="sect2"><a href="abi.html#abi.cxx_interface">The C++ Interface</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.versioning">Versioning</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.changes_allowed">Allowed Changes</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.changes_no">Prohibited Changes</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.testing">Testing</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.issues">Outstanding Issues</a></span></dt></dl></dd><dt><span class="sect1"><a href="api.html">API Evolution and Deprecation History</a></span></dt><dd><dl><dt><span class="sect2"><a href="api.html#api.rel_300"><code class="constant">3.0</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_310"><code class="constant">3.1</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_320"><code class="constant">3.2</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_330"><code class="constant">3.3</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_340"><code class="constant">3.4</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_400"><code class="constant">4.0</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_410"><code class="constant">4.1</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_420"><code class="constant">4.2</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_430"><code class="constant">4.3</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_440"><code class="constant">4.4</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_450"><code class="constant">4.5</code></a></span></dt></dl></dd><dt><span class="sect1"><a href="backwards.html">Backwards Compatibility</a></span></dt><dd><dl><dt><span class="sect2"><a href="backwards.html#backwards.first">First</a></span></dt><dt><span class="sect2"><a href="backwards.html#backwards.second">Second</a></span></dt><dt><span class="sect2"><a href="backwards.html#backwards.third">Third</a></span></dt></dl></dd></dl></div><div class="sect1" title="Configure and Build Hacking"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.build_hacking"></a>Configure and Build Hacking</h2></div></div></div><div class="sect2" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.prereq"></a>Prerequisites</h3></div></div></div><p>
As noted <a class="ulink" href="http://gcc.gnu.org/install/prerequisites.html" target="_top">previously</a>,
certain other tools are necessary for hacking on files that
control configure (<code class="code">configure.ac</code>,
@@ -17,7 +17,7 @@
in GCC try to stay in sync with each other in terms of versions of
the auto-tools used, so please try to play nicely with the
neighbors.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.map"></a>Overview: What Comes from Where</h3></div></div></div><pre class="screen">
+ </p></div><div class="sect2" title="Overview: What Comes from Where"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.map"></a>Overview: What Comes from Where</h3></div></div></div><pre class="screen">
<img src="../images/confdeps.png" alt="Dependency Graph Configure to Build Files" />
</pre><p>
Regenerate all generated files by using the command sequence
@@ -29,7 +29,7 @@
<a class="ulink" href="http://gcc.gnu.org/install/prerequisites.html" target="_top">the
current requirements</a> and your vendor's choice of
installation names.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.scripts"></a>Storing Information in non-AC files (like configure.host)</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Storing Information in non-AC files (like configure.host)"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.scripts"></a>Storing Information in non-AC files (like configure.host)</h3></div></div></div><p>
Until that glorious day when we can use AC_TRY_LINK with a
cross-compiler, we have to hardcode the results of what the tests
would have shown if they could be run. So we have an inflexible
@@ -51,7 +51,7 @@
for instance, but then we would need arguments to aclocal/autoconf
to properly find them all when generating configure. I would
discourage that.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.conventions"></a>Coding and Commenting Conventions</h3></div></div></div><p>
+</p></div><div class="sect2" title="Coding and Commenting Conventions"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.conventions"></a>Coding and Commenting Conventions</h3></div></div></div><p>
Most comments should use {octothorpes, shibboleths, hash marks,
pound signs, whatever} rather than "dnl". Nearly all comments in
configure.ac should. Comments inside macros written in ancilliary
@@ -68,7 +68,7 @@
Do not use any <code class="code">$target*</code> variables, such as
<code class="code">$target_alias</code>. The single exception is in
configure.ac, for automake+dejagnu's sake.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.acinclude"></a>The acinclude.m4 layout</h3></div></div></div><p>
+ </p></div><div class="sect2" title="The acinclude.m4 layout"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.acinclude"></a>The acinclude.m4 layout</h3></div></div></div><p>
The nice thing about acinclude.m4/aclocal.m4 is that macros aren't
actually performed/called/expanded/whatever here, just loaded. So
we can arrange the contents however we like. As of this writing,
@@ -139,14 +139,14 @@
</pre><p>
Things which we don't seem to use directly, but just has to be
present otherwise stuff magically goes wonky.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.enable"></a><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</h3></div></div></div><p>
+</p></div><div class="sect2" title="GLIBCXX_ENABLE, the --enable maker"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.enable"></a><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</h3></div></div></div><p>
All the GLIBCXX_ENABLE_FOO macros use a common helper,
GLIBCXX_ENABLE. (You don't have to use it, but it's easy.) The
helper does two things for us:
- </p><div class="orderedlist"><ol type="1"><li><p>
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
Builds the call to the AC_ARG_ENABLE macro, with --help text
properly quoted and aligned. (Death to changequote!)
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Checks the result against a list of allowed possibilities, and
signals a fatal error if there's no match. This means that the
rest of the GLIBCXX_ENABLE_FOO macro doesn't need to test for
@@ -168,13 +168,13 @@
GLIBCXX_ENABLE (FEATURE, DEFAULT, HELP-ARG, HELP-STRING)
GLIBCXX_ENABLE (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, permit a|b|c)
GLIBCXX_ENABLE (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, SHELL-CODE-HANDLER)
-</pre><div class="itemizedlist"><ul type="disc"><li><p>
+</pre><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
FEATURE is the string that follows --enable. The results of the
test (such as it is) will be in the variable $enable_FEATURE,
where FEATURE has been squashed. Example:
<code class="code">[extra-foo]</code>, controlled by the --enable-extra-foo
option and stored in $enable_extra_foo.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
DEFAULT is the value to store in $enable_FEATURE if the user does
not pass --enable/--disable. It should be one of the permitted
values passed later. Examples: <code class="code">[yes]</code>, or
@@ -185,7 +185,7 @@
For cases where we need to probe for particular models of things,
it is useful to have an undocumented "auto" value here (see
GLIBCXX_ENABLE_CLOCALE for an example).
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
HELP-ARG is any text to append to the option string itself in the
--help output. Examples: <code class="code">[]</code> (i.e., an empty string,
which appends nothing), <code class="code">[=BAR]</code>, which produces
@@ -198,7 +198,7 @@
that's how you embed autoconf special characters in output text.
They're called <a class="ulink" href="http://www.gnu.org/software/autoconf/manual/autoconf.html#Quadrigraphs" target="_top"><span class="emphasis"><em>quadrigraphs</em></span></a>
and you should use them whenever necessary.
- </p></li><li><p>HELP-STRING is what you think it is. Do not include the
+ </p></li><li class="listitem"><p>HELP-STRING is what you think it is. Do not include the
"default" text like we used to do; it will be done for you by
GLIBCXX_ENABLE. By convention, these are not full English
sentences. Example: [turn on extra foo]
diff --git a/libstdc++-v3/doc/html/manual/associative.html b/libstdc++-v3/doc/html/manual/associative.html
index c68cf1e0280..06a9de6aa3a 100644
--- a/libstdc++-v3/doc/html/manual/associative.html
+++ b/libstdc++-v3/doc/html/manual/associative.html
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 17. Associative</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="containers.html" title="Part VII.  Containers" /><link rel="prev" href="vector.html" title="vector" /><link rel="next" href="bitset.html" title="bitset" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 17. Associative</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="vector.html">Prev</a> </td><th width="60%" align="center">Part VII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 17. Associative</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="containers.html" title="Part VII.  Containers" /><link rel="prev" href="vector.html" title="vector" /><link rel="next" href="bitset.html" title="bitset" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 17. Associative</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="vector.html">Prev</a> </td><th width="60%" align="center">Part VII. 
Containers
-</th><td width="20%" align="right"> <a accesskey="n" href="bitset.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.containers.associative"></a>Chapter 17. Associative</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="sect1"><a href="bitset.html">bitset</a></span></dt><dd><dl><dt><span class="sect2"><a href="bitset.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="sect2"><a href="bitset.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.associative.insert_hints"></a>Insertion Hints</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bitset.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 17. Associative"><div class="titlepage"><div><div><h2 class="title"><a id="manual.containers.associative"></a>Chapter 17. Associative</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="sect1"><a href="bitset.html">bitset</a></span></dt><dd><dl><dt><span class="sect2"><a href="bitset.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="sect2"><a href="bitset.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></div><div class="sect1" title="Insertion Hints"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.associative.insert_hints"></a>Insertion Hints</h2></div></div></div><p>
Section [23.1.2], Table 69, of the C++ standard lists this
function for all of the associative containers (map, set, etc):
</p><pre class="programlisting">
a.insert(p,t);
</pre><p>
where 'p' is an iterator into the container 'a', and 't' is the
- item to insert. The standard says that “<span class="quote"><code class="code">t</code> is
+ item to insert. The standard says that <span class="quote">“<span class="quote"><code class="code">t</code> is
inserted as close as possible to the position just prior to
- <code class="code">p</code>.</span>†(Library DR #233 addresses this topic,
+ <code class="code">p</code>.</span>â€</span> (Library DR #233 addresses this topic,
referring to <a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1780.html" target="_top">N1780</a>.
Since version 4.2 GCC implements the resolution to DR 233, so
that insertions happen as close as possible to the hint. For
@@ -31,25 +31,25 @@
than</em></span> and <span class="emphasis"><em>less than</em></span> refer to the
results of the strict weak ordering imposed on the container by
its comparison object, which defaults to (basically)
- “<span class="quote">&lt;</span>â€. Using those phrases is semantically sloppy,
+ <span class="quote">“<span class="quote">&lt;</span>â€</span>. Using those phrases is semantically sloppy,
but I didn't want to get bogged down in syntax. I assume that if
you are intelligent enough to use your own comparison objects,
- you are also intelligent enough to assign “<span class="quote">greater</span>â€
- and “<span class="quote">lesser</span>†their new meanings in the next
+ you are also intelligent enough to assign <span class="quote">“<span class="quote">greater</span>â€</span>
+ and <span class="quote">“<span class="quote">lesser</span>â€</span> their new meanings in the next
paragraph. *grin*
</p><p>
If the <code class="code">hint</code> parameter ('p' above) is equivalent to:
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="code">begin()</code>, then the item being inserted should
have a key less than all the other keys in the container.
The item will be inserted at the beginning of the container,
becoming the new entry at <code class="code">begin()</code>.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="code">end()</code>, then the item being inserted should have
a key greater than all the other keys in the container. The
item will be inserted at the end of the container, becoming
the new entry at <code class="code">end()</code>.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
neither <code class="code">begin()</code> nor <code class="code">end()</code>, then:
Let <code class="code">h</code> be the entry in the container pointed to
by <code class="code">hint</code>, that is, <code class="code">h = *hint</code>. Then
@@ -59,10 +59,10 @@
<code class="code">h</code> and <code class="code">h</code>'s predecessor.
</p></li></ul></div><p>
For <code class="code">multimap</code> and <code class="code">multiset</code>, the
- restrictions are slightly looser: “<span class="quote">greater than</span>â€
- should be replaced by “<span class="quote">not less than</span>â€and “<span class="quote">less
- than</span>†should be replaced by “<span class="quote">not greater
- than.</span>†(Why not replace greater with
+ restrictions are slightly looser: <span class="quote">“<span class="quote">greater than</span>â€</span>
+ should be replaced by <span class="quote">“<span class="quote">not less than</span>â€</span>and <span class="quote">“<span class="quote">less
+ than</span>â€</span> should be replaced by <span class="quote">“<span class="quote">not greater
+ than.</span>â€</span> (Why not replace greater with
greater-than-or-equal-to? You probably could in your head, but
the mathematicians will tell you that it isn't the same thing.)
</p><p>
diff --git a/libstdc++-v3/doc/html/manual/auto_ptr.html b/libstdc++-v3/doc/html/manual/auto_ptr.html
index 88b3397b419..777264504bf 100644
--- a/libstdc++-v3/doc/html/manual/auto_ptr.html
+++ b/libstdc++-v3/doc/html/manual/auto_ptr.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>auto_ptr</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; auto_ptr&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="memory.html" title="Chapter 11. Memory" /><link rel="prev" href="memory.html" title="Chapter 11. Memory" /><link rel="next" href="shared_ptr.html" title="shared_ptr" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">auto_ptr</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="memory.html">Prev</a> </td><th width="60%" align="center">Chapter 11. Memory</th><td width="20%" align="right"> <a accesskey="n" href="shared_ptr.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.util.memory.auto_ptr"></a>auto_ptr</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="auto_ptr.limitations"></a>Limitations</h3></div></div></div><p>Explaining all of the fun and delicious things that can
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>auto_ptr</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; auto_ptr&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="memory.html" title="Chapter 11. Memory" /><link rel="prev" href="memory.html" title="Chapter 11. Memory" /><link rel="next" href="shared_ptr.html" title="shared_ptr" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">auto_ptr</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="memory.html">Prev</a> </td><th width="60%" align="center">Chapter 11. Memory</th><td width="20%" align="right"> <a accesskey="n" href="shared_ptr.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="auto_ptr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.util.memory.auto_ptr"></a>auto_ptr</h2></div></div></div><div class="sect2" title="Limitations"><div class="titlepage"><div><div><h3 class="title"><a id="auto_ptr.limitations"></a>Limitations</h3></div></div></div><p>Explaining all of the fun and delicious things that can
happen with misuse of the <code class="classname">auto_ptr</code> class
template (called <acronym class="acronym">AP</acronym> here) would take some
time. Suffice it to say that the use of <acronym class="acronym">AP</acronym>
@@ -51,7 +51,7 @@
to die. AP is trivial to write, however, so you could write your
own <code class="code">auto_array_ptr</code> for that situation (in fact, this has
been done many times; check the mailing lists, Usenet, Boost, etc).
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="auto_ptr.using"></a>Use in Containers</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Use in Containers"><div class="titlepage"><div><div><h3 class="title"><a id="auto_ptr.using"></a>Use in Containers</h3></div></div></div><p>
</p><p>All of the <a class="link" href="containers.html" title="Part VII.  Containers">containers</a>
described in the standard library require their contained types
to have, among other things, a copy constructor like this:
@@ -70,7 +70,7 @@
</p><p>
The resulting rule is simple: <span class="emphasis"><em>Never ever use a
container of auto_ptr objects</em></span>. The standard says that
- “<span class="quote">undefined</span>†behavior is the result, but it is
+ <span class="quote">“<span class="quote">undefined</span>â€</span> behavior is the result, but it is
guaranteed to be messy.
</p><p>
To prevent you from doing this to yourself, the
diff --git a/libstdc++-v3/doc/html/manual/backwards.html b/libstdc++-v3/doc/html/manual/backwards.html
index 252d177d4aa..39b9d3880c5 100644
--- a/libstdc++-v3/doc/html/manual/backwards.html
+++ b/libstdc++-v3/doc/html/manual/backwards.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Backwards Compatibility</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="api.html" title="API Evolution and Deprecation History" /><link rel="next" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Backwards Compatibility</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Backwards Compatibility</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="api.html" title="API Evolution and Deprecation History" /><link rel="next" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Backwards Compatibility</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
Porting and Maintenance
-</th><td width="20%" align="right"> <a accesskey="n" href="appendix_free.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.appendix.porting.backwards"></a>Backwards Compatibility</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.first"></a>First</h3></div></div></div><p>The first generation GNU C++ library was called libg++. It was a
+</th><td width="20%" align="right"> <a accesskey="n" href="appendix_free.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Backwards Compatibility"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.appendix.porting.backwards"></a>Backwards Compatibility</h2></div></div></div><div class="sect2" title="First"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.first"></a>First</h3></div></div></div><p>The first generation GNU C++ library was called libg++. It was a
separate GNU project, although reliably paired with GCC. Rumors imply
that it had a working relationship with at least two kinds of
dinosaur.
@@ -16,9 +16,9 @@ now and are well-supported, whereas genclass (mostly) predates them.)
ISO Standard (e.g., statistical analysis). While there are a lot of
really useful things that are used by a lot of people, the Standards
Committee couldn't include everything, and so a lot of those
-“<span class="quote">obvious</span>†classes didn't get included.
-</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="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id744149"></a>No <code class="code">ios_base</code></h4></div></div></div><p> At least some older implementations don't have <code class="code">std::ios_base</code>, so you should use <code class="code">std::ios::badbit</code>, <code class="code">std::ios::failbit</code> and <code class="code">std::ios::eofbit</code> and <code class="code">std::ios::goodbit</code>.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id744181"></a>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>
+<span class="quote">“<span class="quote">obvious</span>â€</span> classes didn't get included.
+</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="sect3" title="No ios_base"><div class="titlepage"><div><div><h4 class="title"><a id="id381437"></a>No <code class="code">ios_base</code></h4></div></div></div><p> At least some older implementations don't have <code class="code">std::ios_base</code>, so you should use <code class="code">std::ios::badbit</code>, <code class="code">std::ios::failbit</code> and <code class="code">std::ios::eofbit</code> and <code class="code">std::ios::goodbit</code>.
+</p></div><div class="sect3" title="No cout in ostream.h, no cin in istream.h"><div class="titlepage"><div><div><h4 class="title"><a id="id381469"></a>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>
In earlier versions of the standard,
<code class="filename">fstream.h</code>,
<code class="filename">ostream.h</code>
@@ -32,7 +32,7 @@ archived. For the desperate,
the <a class="ulink" href="http://gcc.gnu.org/extensions.html" target="_top">GCC extensions
page</a> describes where to find the last libg++ source. The code is
considered replaced and rewritten.
-</p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.second"></a>Second</h3></div></div></div><p>
+</p></div></div><div class="sect2" title="Second"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.second"></a>Second</h3></div></div></div><p>
The second generation GNU C++ library was called libstdc++, or
libstdc++-v2. It spans the time between libg++ and pre-ISO C++
standardization and is usually associated with the following GCC
@@ -44,7 +44,7 @@ considered replaced and rewritten.
archived. The code is considered replaced and rewritten.
</p><p>
Portability notes and known implementation limitations are as follows.
-</p><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id744279"></a>Namespace <code class="code">std::</code> not supported</h4></div></div></div><p>
+</p><div class="sect3" title="Namespace std:: not supported"><div class="titlepage"><div><div><h4 class="title"><a id="id381567"></a>Namespace <code class="code">std::</code> not supported</h4></div></div></div><p>
Some care is required to support C++ compiler and or library
implementation that do not have the standard library in
<code class="code">namespace std</code>.
@@ -74,7 +74,7 @@ considered replaced and rewritten.
</p><p>
Another pre-processor based approach is to define a macro
<code class="code">NAMESPACE_STD</code>, which is defined to either
- “<span class="quote"> </span>†or “<span class="quote">std</span>†based on a compile-type
+ <span class="quote">“<span class="quote"> </span>â€</span> or <span class="quote">“<span class="quote">std</span>â€</span> based on a compile-type
test. On GNU systems, this can be done with autotools by means of
an autoconf test (see below) for <code class="code">HAVE_NAMESPACE_STD</code>,
then using that to set a value for the <code class="code">NAMESPACE_STD</code>
@@ -108,20 +108,20 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
AC_DEFINE(HAVE_NAMESPACE_STD,,[Define if g++ supports namespace std. ])
fi
])
-</pre></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id673182"></a>Illegal iterator usage</h4></div></div></div><p>
+</pre></div><div class="sect3" title="Illegal iterator usage"><div class="titlepage"><div><div><h4 class="title"><a id="id414145"></a>Illegal iterator usage</h4></div></div></div><p>
The following illustrate implementation-allowed illegal iterator
use, and then correct use.
-</p><div class="itemizedlist"><ul type="disc"><li><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
you cannot do <code class="code">ostream::operator&lt;&lt;(iterator)</code>
to print the address of the iterator =&gt; use
<code class="code">operator&lt;&lt; &amp;*iterator</code> instead
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
you cannot clear an iterator's reference (<code class="code">iterator =
0</code>) =&gt; use <code class="code">iterator = iterator_type();</code>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="code">if (iterator)</code> won't work any more =&gt; use
<code class="code">if (iterator != iterator_type())</code>
- </p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id673243"></a><code class="code">isspace</code> from <code class="filename">cctype</code> is a macro
+ </p></li></ul></div></div><div class="sect3" title="isspace from cctype is a macro"><div class="titlepage"><div><div><h4 class="title"><a id="id414206"></a><code class="code">isspace</code> from <code class="filename">cctype</code> is a macro
</h4></div></div></div><p>
Glibc 2.0.x and 2.1.x define <code class="filename">ctype.h</code> functionality as macros
(isspace, isalpha etc.).
@@ -154,7 +154,7 @@ std:: (__ctype_b[(int) ( ( 'X' ) )] &amp; (unsigned short int) _ISspace ) ;
(<code class="filename">ctype.h</code>) and the
definitions in namespace <code class="code">std::</code>
(<code class="code">&lt;cctype&gt;</code>).
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id586519"></a>No <code class="code">vector::at</code>, <code class="code">deque::at</code>, <code class="code">string::at</code></h4></div></div></div><p>
+</p></div><div class="sect3" title="No vector::at, deque::at, string::at"><div class="titlepage"><div><div><h4 class="title"><a id="id414300"></a>No <code class="code">vector::at</code>, <code class="code">deque::at</code>, <code class="code">string::at</code></h4></div></div></div><p>
One solution is to add an autoconf-test for this:
</p><pre class="programlisting">
AC_MSG_CHECKING(for container::at)
@@ -171,7 +171,7 @@ deque&lt;int&gt; test_deque(3);
test_deque.at(2);
vector&lt;int&gt; test_vector(2);
test_vector.at(1);
-string test_string(“<span class="quote">test_string</span>â€);
+string test_string(<span class="quote">“<span class="quote">test_string</span>â€</span>);
test_string.at(3);
],
[AC_MSG_RESULT(yes)
@@ -180,7 +180,7 @@ AC_DEFINE(HAVE_CONTAINER_AT)],
</pre><p>
If you are using other (non-GNU) compilers it might be a good idea
to check for <code class="code">string::at</code> separately.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id586557"></a>No <code class="code">std::char_traits&lt;char&gt;::eof</code></h4></div></div></div><p>
+</p></div><div class="sect3" title="No std::char_traits&lt;char&gt;::eof"><div class="titlepage"><div><div><h4 class="title"><a id="id414338"></a>No <code class="code">std::char_traits&lt;char&gt;::eof</code></h4></div></div></div><p>
Use some kind of autoconf test, plus this:
</p><pre class="programlisting">
#ifdef HAVE_CHAR_TRAITS
@@ -188,7 +188,7 @@ AC_DEFINE(HAVE_CONTAINER_AT)],
#else
#define CPP_EOF EOF
#endif
-</pre></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id586575"></a>No <code class="code">string::clear</code></h4></div></div></div><p>
+</pre></div><div class="sect3" title="No string::clear"><div class="titlepage"><div><div><h4 class="title"><a id="id414356"></a>No <code class="code">string::clear</code></h4></div></div></div><p>
There are two functions for deleting the contents of a string:
<code class="code">clear</code> and <code class="code">erase</code> (the latter returns the
string).
@@ -206,25 +206,25 @@ erase(size_type __pos = 0, size_type __n = npos)
Unfortunately, <code class="code">clear</code> is not implemented in this
version, so you should use <code class="code">erase</code> (which is probably
faster than <code class="code">operator=(charT*)</code>).
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id586620"></a>
+</p></div><div class="sect3" title="Removal of ostream::form and istream::scan extensions"><div class="titlepage"><div><div><h4 class="title"><a id="id442672"></a>
Removal of <code class="code">ostream::form</code> and <code class="code">istream::scan</code>
extensions
</h4></div></div></div><p>
These are no longer supported. Please use stringstreams instead.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id586640"></a>No <code class="code">basic_stringbuf</code>, <code class="code">basic_stringstream</code></h4></div></div></div><p>
+</p></div><div class="sect3" title="No basic_stringbuf, basic_stringstream"><div class="titlepage"><div><div><h4 class="title"><a id="id442691"></a>No <code class="code">basic_stringbuf</code>, <code class="code">basic_stringstream</code></h4></div></div></div><p>
Although the ISO standard <code class="code">i/ostringstream</code>-classes are
provided, (<code class="filename">sstream</code>), for
compatibility with older implementations the pre-ISO
<code class="code">i/ostrstream</code> (<code class="filename">strstream</code>) interface is also provided,
with these caveats:
-</p><div class="itemizedlist"><ul type="disc"><li><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="code">strstream</code> is considered to be deprecated
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="code">strstream</code> is limited to <code class="code">char</code>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
with <code class="code">ostringstream</code> you don't have to take care of
terminating the string or freeing its memory
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="code">istringstream</code> can be re-filled (clear();
str(input);)
</p></li></ul></div><p>
@@ -242,7 +242,7 @@ erase(size_type __pos = 0, size_type __n = npos)
std::ostrstream oss;
#endif
-oss &lt;&lt; “<span class="quote">Name=</span>†&lt;&lt; m_name &lt;&lt; “<span class="quote">, number=</span>†&lt;&lt; m_number &lt;&lt; std::endl;
+oss &lt;&lt; <span class="quote">“<span class="quote">Name=</span>â€</span> &lt;&lt; m_name &lt;&lt; <span class="quote">“<span class="quote">, number=</span>â€</span> &lt;&lt; m_number &lt;&lt; std::endl;
...
#ifndef HAVE_SSTREAM
oss &lt;&lt; std::ends; // terminate the char*-string
@@ -298,15 +298,15 @@ any = temp;
</pre><p>
Another example of using stringstreams is in <a class="link" href="bk01pt05ch13s05.html" title="Shrink to Fit">this howto</a>.
</p><p> There is additional information in the libstdc++-v2 info files, in
-particular “<span class="quote">info iostream</span>â€.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id659623"></a>Little or no wide character support</h4></div></div></div><p>
+particular <span class="quote">“<span class="quote">info iostream</span>â€</span>.
+</p></div><div class="sect3" title="Little or no wide character support"><div class="titlepage"><div><div><h4 class="title"><a id="id442843"></a>Little or no wide character support</h4></div></div></div><p>
Classes <code class="classname">wstring</code> and
<code class="classname">char_traits&lt;wchar_t&gt;</code> are
not supported.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id659642"></a>No templatized iostreams</h4></div></div></div><p>
+ </p></div><div class="sect3" title="No templatized iostreams"><div class="titlepage"><div><div><h4 class="title"><a id="id442862"></a>No templatized iostreams</h4></div></div></div><p>
Classes <code class="classname">wfilebuf</code> and
<code class="classname">wstringstream</code> are not supported.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id659661"></a>Thread safety issues</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Thread safety issues"><div class="titlepage"><div><div><h4 class="title"><a id="id442881"></a>Thread safety issues</h4></div></div></div><p>
Earlier GCC releases had a somewhat different approach to
threading configuration and proper compilation. Before GCC 3.0,
configuration of the threading model was dictated by compiler
@@ -342,11 +342,11 @@ particular “<span class="quote">info iostream</span>â€.
first relevant message in the thread; from there you can use
"Thread Next" to move down the thread. This farm is in
latest-to-oldest order.
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
Our threading expert Loren gives a breakdown of <a class="ulink" href="http://gcc.gnu.org/ml/libstdc++/2001-10/msg00024.html" target="_top">the
six situations involving threads</a> for the 3.0
release series.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<a class="ulink" href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00384.html" target="_top">
This message</a> inspired a recent updating of issues with
threading and the SGI STL library. It also contains some
@@ -357,14 +357,14 @@ particular “<span class="quote">info iostream</span>â€.
few people with access to the backup tapes have been too swamped
with work to restore them. Many of the points have been
superseded anyhow.)
- </p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.third"></a>Third</h3></div></div></div><p> The third generation GNU C++ library is called libstdc++, or
+ </p></div></div><div class="sect2" title="Third"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.third"></a>Third</h3></div></div></div><p> The third generation GNU C++ library is called libstdc++, or
libstdc++-v3.
</p><p>The subset commonly known as the Standard Template Library
(chapters 23 through 25, mostly) is adapted from the final release
of the SGI STL (version 3.3), with extensive changes.
</p><p>A more formal description of the V3 goals can be found in the
official <a class="link" href="source_design_notes.html" title="Design Notes">design document</a>.
- </p><p>Portability notes and known implementation limitations are as follows.</p><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id659778"></a>Pre-ISO headers moved to backwards or removed</h4></div></div></div><p> The pre-ISO C++ headers
+ </p><p>Portability notes and known implementation limitations are as follows.</p><div class="sect3" title="Pre-ISO headers moved to backwards or removed"><div class="titlepage"><div><div><h4 class="title"><a id="id409371"></a>Pre-ISO headers moved to backwards or removed</h4></div></div></div><p> The pre-ISO C++ headers
(<code class="code">iostream.h</code>, <code class="code">defalloc.h</code> etc.) are
available, unlike previous libstdc++ versions, but inclusion
generates a warning that you are using deprecated headers.
@@ -436,7 +436,7 @@ like <code class="filename">vector.h</code> can be replaced with <code class="fi
directive <code class="code">using namespace std;</code> can be put at the global
scope. This should be enough to get this code compiling, assuming the
other usage is correct.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id674389"></a>Extension headers hash_map, hash_set moved to ext or backwards</h4></div></div></div><p>At this time most of the features of the SGI STL extension have been
+</p></div><div class="sect3" title="Extension headers hash_map, hash_set moved to ext or backwards"><div class="titlepage"><div><div><h4 class="title"><a id="id409453"></a>Extension headers hash_map, hash_set moved to ext or backwards</h4></div></div></div><p>At this time most of the features of the SGI STL extension have been
replaced by standardized libraries.
In particular, the unordered_map and unordered_set containers of TR1
are suitable replacement for the non-standard hash_map and hash_set
@@ -508,18 +508,18 @@ AC_DEFUN([AC_HEADER_EXT_HASH_SET], [
AC_DEFINE(HAVE_EXT_HASH_SET,,[Define if ext/hash_set is present. ])
fi
])
-</pre></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id674492"></a>No <code class="code">ios::nocreate/ios::noreplace</code>.
+</pre></div><div class="sect3" title="No ios::nocreate/ios::noreplace."><div class="titlepage"><div><div><h4 class="title"><a id="id409556"></a>No <code class="code">ios::nocreate/ios::noreplace</code>.
</h4></div></div></div><p> The existence of <code class="code">ios::nocreate</code> being used for
input-streams has been confirmed, most probably because the author
thought it would be more correct to specify nocreate explicitly. So
it can be left out for input-streams.
-</p><p>For output streams, “<span class="quote">nocreate</span>†is probably the default,
+</p><p>For output streams, <span class="quote">“<span class="quote">nocreate</span>â€</span> is probably the default,
unless you specify <code class="code">std::ios::trunc</code> ? To be safe, you can
open the file for reading, check if it has been opened, and then
decide whether you want to create/replace or not. To my knowledge,
even older implementations support <code class="code">app</code>, <code class="code">ate</code>
and <code class="code">trunc</code> (except for <code class="code">app</code> ?).
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id674539"></a>
+</p></div><div class="sect3" title="No stream::attach(int fd)"><div class="titlepage"><div><div><h4 class="title"><a id="id409604"></a>
No <code class="code">stream::attach(int fd)</code>
</h4></div></div></div><p>
Phil Edwards writes: It was considered and rejected for the ISO
@@ -542,7 +542,7 @@ No <code class="code">stream::attach(int fd)</code>
For another example of this, refer to
<a class="ulink" href="http://www.josuttis.com/cppcode/fdstream.html" target="_top">fdstream example</a>
by Nicolai Josuttis.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id674603"></a>
+</p></div><div class="sect3" title="Support for C++98 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id450867"></a>
Support for C++98 dialect.
</h4></div></div></div><p>Check for complete library coverage of the C++1998/2003 standard.
</p><pre class="programlisting">
@@ -610,7 +610,7 @@ AC_DEFUN([AC_HEADER_STDCXX_98], [
AC_DEFINE(STDCXX_98_HEADERS,,[Define if ISO C++ 1998 header files are present. ])
fi
])
-</pre></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id674631"></a>
+</pre></div><div class="sect3" title="Support for C++TR1 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id450895"></a>
Support for C++TR1 dialect.
</h4></div></div></div><p>Check for library coverage of the TR1 standard.
</p><pre class="programlisting">
@@ -687,7 +687,7 @@ AC_DEFUN([AC_HEADER_TR1_UNORDERED_SET], [
AC_DEFINE(HAVE_TR1_UNORDERED_SET,,[Define if tr1/unordered_set is present. ])
fi
])
-</pre></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id675096"></a>
+</pre></div><div class="sect3" title="Support for C++0x dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id450938"></a>
Support for C++0x dialect.
</h4></div></div></div><p>Check for baseline language coverage in the compiler for the C++0xstandard.
</p><pre class="programlisting">
@@ -899,27 +899,27 @@ AC_DEFUN([AC_HEADER_UNORDERED_SET], [
AC_DEFINE(HAVE_UNORDERED_SET,,[Define if unordered_set is present. ])
fi
])
-</pre></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id675173"></a>
+</pre></div><div class="sect3" title="Container::iterator_type is not necessarily Container::value_type*"><div class="titlepage"><div><div><h4 class="title"><a id="id451016"></a>
Container::iterator_type is not necessarily Container::value_type*
</h4></div></div></div><p>
This is a change in behavior from the previous version. Now, most
<span class="type">iterator_type</span> typedefs in container classes are POD
objects, not <span class="type">value_type</span> pointers.
-</p></div></div><div class="bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id675202"></a><p>[<abbr class="abbrev">
+</p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="Migrating to GCC 4.1"><a id="id451045"></a><p>[<abbr class="abbrev">
kegel41
</abbr>] <span class="title"><i>
Migrating to GCC 4.1
</i>. </span><span class="author"><span class="firstname">Dan</span> <span class="surname">Kegel</span>. </span><span class="biblioid">
<a class="ulink" href="http://www.kegel.com/gcc/gcc4.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id675235"></a><p>[<abbr class="abbrev">
+ . </span></p></div><div class="biblioentry" title="Building the Whole Debian Archive with GCC 4.1: A Summary"><a id="id451077"></a><p>[<abbr class="abbrev">
kegel41
</abbr>] <span class="title"><i>
Building the Whole Debian Archive with GCC 4.1: A Summary
</i>. </span><span class="author"><span class="firstname">Martin</span> <span class="surname">Michlmayr</span>. </span><span class="biblioid">
<a class="ulink" href="http://lists.debian.org/debian-gcc/2006/03/msg00405.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id675268"></a><p>[<abbr class="abbrev">
+ . </span></p></div><div class="biblioentry" title="Migration guide for GCC-3.2"><a id="id451110"></a><p>[<abbr class="abbrev">
lbl32
</abbr>] <span class="title"><i>
Migration guide for GCC-3.2
diff --git a/libstdc++-v3/doc/html/manual/bitmap_allocator.html b/libstdc++-v3/doc/html/manual/bitmap_allocator.html
index 806ca047865..4a9f0405df7 100644
--- a/libstdc++-v3/doc/html/manual/bitmap_allocator.html
+++ b/libstdc++-v3/doc/html/manual/bitmap_allocator.html
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>bitmap_allocator</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="ext_allocators.html" title="Chapter 33. Allocators" /><link rel="prev" href="ext_allocators.html" title="Chapter 33. Allocators" /><link rel="next" href="ext_containers.html" title="Chapter 34. Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">bitmap_allocator</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_allocators.html">Prev</a> </td><th width="60%" align="center">Chapter 33. Allocators</th><td width="20%" align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.allocator.bitmap"></a>bitmap_allocator</h2></div></div></div><p>
-</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.bitmap.design"></a>Design</h3></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>bitmap_allocator</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="ext_allocators.html" title="Chapter 33. Allocators" /><link rel="prev" href="ext_allocators.html" title="Chapter 33. Allocators" /><link rel="next" href="ext_containers.html" title="Chapter 34. Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">bitmap_allocator</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_allocators.html">Prev</a> </td><th width="60%" align="center">Chapter 33. Allocators</th><td width="20%" align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="bitmap_allocator"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.allocator.bitmap"></a>bitmap_allocator</h2></div></div></div><p>
+</p><div class="sect2" title="Design"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.bitmap.design"></a>Design</h3></div></div></div><p>
As this name suggests, this allocator uses a bit-map to keep track
of the used and unused memory locations for it's book-keeping
purposes.
@@ -27,7 +27,7 @@
Mutex Protection around every allocation/deallocation. The state
of the macro is picked up automatically from the gthr abstraction
layer.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.bitmap.impl"></a>Implementation</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.free_list_store"></a>Free List Store</h4></div></div></div><p>
+ </p></div><div class="sect2" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.bitmap.impl"></a>Implementation</h3></div></div></div><div class="sect3" title="Free List Store"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.free_list_store"></a>Free List Store</h4></div></div></div><p>
The Free List Store (referred to as FLS for the remaining part of this
document) is the Global memory pool that is shared by all instances of
the bitmapped allocator instantiated for any type. This maintains a
@@ -65,17 +65,17 @@
this internal fragmentation has to be decided by this function. I
can see 3 possibilities right now. Please add more as and when you
find better strategies.
- </p><div class="orderedlist"><ol type="1"><li><p>Equal size check. Return true only when the 2 blocks are of equal
-size.</p></li><li><p>Difference Threshold: Return true only when the _block_size is
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Equal size check. Return true only when the 2 blocks are of equal
+size.</p></li><li class="listitem"><p>Difference Threshold: Return true only when the _block_size is
greater than or equal to the _required_size, and if the _BS is &gt; _RS
by a difference of less than some THRESHOLD value, then return true,
-else return false. </p></li><li><p>Percentage Threshold. Return true only when the _block_size is
+else return false. </p></li><li class="listitem"><p>Percentage Threshold. Return true only when the _block_size is
greater than or equal to the _required_size, and if the _BS is &gt; _RS
by a percentage of less than some THRESHOLD value, then return true,
else return false.</p></li></ol></div><p>
Currently, (3) is being used with a value of 36% Maximum wastage per
Super Block.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.super_block"></a>Super Block</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Super Block"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.super_block"></a>Super Block</h4></div></div></div><p>
A super block is the block of memory acquired from the FLS from
which the bitmap allocator carves out memory for single objects
and satisfies the user's requests. These super blocks come in
@@ -90,7 +90,7 @@ else return false.</p></li></ol></div><p>
The super block is contained in the FLS, and the FLS is responsible for
getting / returning Super Bocks to and from the OS using operator new
as defined by the C++ standard.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.super_block_data"></a>Super Block Data Layout</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Super Block Data Layout"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.super_block_data"></a>Super Block Data Layout</h4></div></div></div><p>
Each Super Block will be of some size that is a multiple of the
number of Bits Per Block. Typically, this value is chosen as
Bits_Per_Byte x sizeof(size_t). On an x86 system, this gives the
@@ -103,7 +103,7 @@ else return false.</p></li></ol></div><p>
</p><p>
Consider a block of size 64 ints. In memory, it would look like this:
(assume a 32-bit system where, size_t is a 32-bit entity).
- </p><div class="table"><a id="id730908"></a><p class="title"><b>Table 33.1. Bitmap Allocator Memory Map</b></p><div class="table-contents"><table summary="Bitmap Allocator Memory Map" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left">268</td><td align="left">0</td><td align="left">4294967295</td><td align="left">4294967295</td><td align="left">Data -&gt; Space for 64 ints</td></tr></tbody></table></div></div><br class="table-break" /><p>
+ </p><div class="table"><a id="id530373"></a><p class="title"><b>Table 33.1. Bitmap Allocator Memory Map</b></p><div class="table-contents"><table summary="Bitmap Allocator Memory Map" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left">268</td><td align="left">0</td><td align="left">4294967295</td><td align="left">4294967295</td><td align="left">Data -&gt; Space for 64 ints</td></tr></tbody></table></div></div><br class="table-break" /><p>
The first Column(268) represents the size of the Block in bytes as
seen by the Bitmap Allocator. Internally, a global free list is
used to keep track of the free blocks used and given back by the
@@ -130,7 +130,7 @@ else return false.</p></li></ol></div><p>
The 3rd 4x2 is size of the bitmap itself, which is the size of 32-bits
x 2,
which is 8-bytes, or 2 x sizeof(size_t).
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.max_wasted"></a>Maximum Wasted Percentage</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Maximum Wasted Percentage"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.max_wasted"></a>Maximum Wasted Percentage</h4></div></div></div><p>
This has nothing to do with the algorithm per-se,
only with some vales that must be chosen correctly to ensure that the
allocator performs well in a real word scenario, and maintains a good
@@ -155,29 +155,29 @@ For map/multimap: k = 12, and c = 4 (int and double), we get: 37.524%
</p><p>
Thus, knowing these values, and based on the sizeof(value_type), we may
create a function that returns the Max_Wastage_Percentage for us to use.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.allocate"></a><code class="function">allocate</code></h4></div></div></div><p>
+ </p></div><div class="sect3" title="allocate"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.allocate"></a><code class="function">allocate</code></h4></div></div></div><p>
The allocate function is specialized for single object allocation
ONLY. Thus, ONLY if n == 1, will the bitmap_allocator's
specialized algorithm be used. Otherwise, the request is satisfied
directly by calling operator new.
</p><p>
Suppose n == 1, then the allocator does the following:
- </p><div class="orderedlist"><ol type="1"><li><p>
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
Checks to see whether a free block exists somewhere in a region
of memory close to the last satisfied request. If so, then that
block is marked as allocated in the bit map and given to the
user. If not, then (2) is executed.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Is there a free block anywhere after the current block right
up to the end of the memory that we have? If so, that block is
found, and the same procedure is applied as above, and
returned to the user. If not, then (3) is executed.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Is there any block in whatever region of memory that we own
free? This is done by checking
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
The use count for each super block, and if that fails then
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
The individual bit-maps for each super block.
</p></li></ul></div><p>
Note: Here we are never touching any of the memory that the
@@ -186,21 +186,21 @@ For map/multimap: k = 12, and c = 4 (int and double), we get: 37.524%
misses. If this succeeds then we apply the same procedure on
that bit-map as (1), and return that block of memory to the
user. However, if this process fails, then we resort to (4).
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
This process involves Refilling the internal exponentially
growing memory pool. The said effect is achieved by calling
_S_refill_pool which does the following:
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
Gets more memory from the Global Free List of the Required
size.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Adjusts the size for the next call to itself.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Writes the appropriate headers in the bit-maps.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Sets the use count for that super-block just allocated to 0
(zero).
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
All of the above accounts to maintaining the basic invariant
for the allocator. If the invariant is maintained, we are
sure that all is well. Now, the same process is applied on
@@ -210,13 +210,13 @@ For map/multimap: k = 12, and c = 4 (int and double), we get: 37.524%
Thus, you can clearly see that the allocate function is nothing but a
combination of the next-fit and first-fit algorithm optimized ONLY for
single object allocations.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.deallocate"></a><code class="function">deallocate</code></h4></div></div></div><p>
+</p></div><div class="sect3" title="deallocate"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.deallocate"></a><code class="function">deallocate</code></h4></div></div></div><p>
The deallocate function again is specialized for single objects ONLY.
For all n belonging to &gt; 1, the operator delete is called without
further ado, and the deallocate function returns.
</p><p>
However for n == 1, a series of steps are performed:
- </p><div class="orderedlist"><ol type="1"><li><p>
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
We first need to locate that super-block which holds the memory
location given to us by the user. For that purpose, we maintain
a static variable _S_last_dealloc_index, which holds the index
@@ -227,7 +227,7 @@ single object allocations.
the check for belongs_to succeeds, then we determine the bit-map
for the given pointer, and locate the index into that bit-map,
and mark that bit as free by setting it.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
If the _S_last_dealloc_index does not point to the memory block
that we're looking for, then we do a linear search on the block
stored in the vector of Block Pairs. This vector in code is
@@ -241,7 +241,7 @@ single object allocations.
the vector. While doing this, we also make sure that the basic
invariant is maintained by making sure that _S_last_request and
_S_last_dealloc_index point to valid locations within the vector.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.questions"></a>Questions</h4></div></div></div><div class="sect4" lang="en" xml:lang="en"><div class="titlepage"><div><div><h5 class="title"><a id="bitmap.impl.question.1"></a>1</h5></div></div></div><p>
+ </p></div><div class="sect3" title="Questions"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.questions"></a>Questions</h4></div></div></div><div class="sect4" title="1"><div class="titlepage"><div><div><h5 class="title"><a id="bitmap.impl.question.1"></a>1</h5></div></div></div><p>
Q1) The "Data Layout" section is
cryptic. I have no idea of what you are trying to say. Layout of what?
The free-list? Each bitmap? The Super Block?
@@ -251,7 +251,7 @@ size. In the example, a super block of size 32 x 1 is taken. The
general formula for calculating the size of a super block is
32 x sizeof(value_type) x 2^n, where n ranges from 0 to 32 for 32-bit
systems.
- </p></div><div class="sect4" lang="en" xml:lang="en"><div class="titlepage"><div><div><h5 class="title"><a id="bitmap.impl.question.2"></a>2</h5></div></div></div><p>
+ </p></div><div class="sect4" title="2"><div class="titlepage"><div><div><h5 class="title"><a id="bitmap.impl.question.2"></a>2</h5></div></div></div><p>
And since I just mentioned the
term `each bitmap', what in the world is meant by it? What does each
bitmap manage? How does it relate to the super block? Is the Super
@@ -268,7 +268,7 @@ Block a bitmap as well?
blocks' status. Each bit-map is made up of a number of size_t,
whose exact number for a super-block of a given size I have just
mentioned.
- </p></div><div class="sect4" lang="en" xml:lang="en"><div class="titlepage"><div><div><h5 class="title"><a id="bitmap.impl.question.3"></a>3</h5></div></div></div><p>
+ </p></div><div class="sect4" title="3"><div class="titlepage"><div><div><h5 class="title"><a id="bitmap.impl.question.3"></a>3</h5></div></div></div><p>
How do the allocate and deallocate functions work in regard to
bitmaps?
</p><p>
@@ -297,15 +297,15 @@ Block a bitmap as well?
</p><p>
The bit-map now looks like this:
1111111111111111111111111111111111111111111111111111111111111110
- </p></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.locality"></a>Locality</h4></div></div></div><p>
+ </p></div></div><div class="sect3" title="Locality"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.locality"></a>Locality</h4></div></div></div><p>
Another issue would be whether to keep the all bitmaps in a
separate area in memory, or to keep them near the actual blocks
that will be given out or allocated for the client. After some
testing, I've decided to keep these bitmaps close to the actual
blocks. This will help in 2 ways.
- </p><div class="orderedlist"><ol type="1"><li><p>Constant time access for the bitmap themselves, since no kind of
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Constant time access for the bitmap themselves, since no kind of
look up will be needed to find the correct bitmap list or it's
-equivalent.</p></li><li><p>And also this would preserve the cache as far as possible.</p></li></ol></div><p>
+equivalent.</p></li><li class="listitem"><p>And also this would preserve the cache as far as possible.</p></li></ol></div><p>
So in effect, this kind of an allocator might prove beneficial from a
purely cache point of view. But this allocator has been made to try and
roll out the defects of the node_allocator, wherein the nodes get
@@ -314,7 +314,7 @@ equivalent.</p></li><li><p>And also this would preserve the cache as far as poss
new_allocator's book keeping overhead is too much for small objects and
single object allocations, though it preserves the locality of blocks
very well when they are returned back to the allocator.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.grow_policy"></a>Overhead and Grow Policy</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Overhead and Grow Policy"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.grow_policy"></a>Overhead and Grow Policy</h4></div></div></div><p>
Expected overhead per block would be 1 bit in memory. Also, once
the address of the free list has been found, the cost for
allocation/deallocation would be negligible, and is supposed to be
diff --git a/libstdc++-v3/doc/html/manual/bitset.html b/libstdc++-v3/doc/html/manual/bitset.html
index acc150df7e8..9cff276218f 100644
--- a/libstdc++-v3/doc/html/manual/bitset.html
+++ b/libstdc++-v3/doc/html/manual/bitset.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>bitset</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="associative.html" title="Chapter 17. Associative" /><link rel="prev" href="associative.html" title="Chapter 17. Associative" /><link rel="next" href="containers_and_c.html" title="Chapter 18. Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">bitset</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="associative.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Associative</th><td width="20%" align="right"> <a accesskey="n" href="containers_and_c.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.associative.bitset"></a>bitset</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="associative.bitset.size_variable"></a>Size Variable</h3></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>bitset</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="associative.html" title="Chapter 17. Associative" /><link rel="prev" href="associative.html" title="Chapter 17. Associative" /><link rel="next" href="containers_and_c.html" title="Chapter 18. Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">bitset</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="associative.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Associative</th><td width="20%" align="right"> <a accesskey="n" href="containers_and_c.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="bitset"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.associative.bitset"></a>bitset</h2></div></div></div><div class="sect2" title="Size Variable"><div class="titlepage"><div><div><h3 class="title"><a id="associative.bitset.size_variable"></a>Size Variable</h3></div></div></div><p>
No, you cannot write code of the form
</p><pre class="programlisting">
#include &lt;bitset&gt;
@@ -18,7 +18,7 @@
There are a couple of ways to handle this kind of thing. Please
consider all of them before passing judgement. They include, in
no particular order:
- </p><div class="itemizedlist"><ul type="disc"><li><p>A very large N in <code class="code">bitset&lt;N&gt;</code>.</p></li><li><p>A container&lt;bool&gt;.</p></li><li><p>Extremely weird solutions.</p></li></ul></div><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>A very large N in <code class="code">bitset&lt;N&gt;</code>.</p></li><li class="listitem"><p>A container&lt;bool&gt;.</p></li><li class="listitem"><p>Extremely weird solutions.</p></li></ul></div><p>
<span class="emphasis"><em>A very large N in
<code class="code">bitset&lt;N&gt;</code>.  </em></span> It has been
pointed out a few times in newsgroups that N bits only takes up
@@ -28,10 +28,10 @@
housekeeping info; it is known at compile time exactly how large
the set is) will hold over four million bits. If you're using
those bits as status flags (e.g.,
- “<span class="quote">changed</span>â€/“<span class="quote">unchanged</span>†flags), that's a
+ <span class="quote">“<span class="quote">changed</span>â€</span>/<span class="quote">“<span class="quote">unchanged</span>â€</span> flags), that's a
<span class="emphasis"><em>lot</em></span> of state.
</p><p>
- You can then keep track of the “<span class="quote">maximum bit used</span>â€
+ You can then keep track of the <span class="quote">“<span class="quote">maximum bit used</span>â€</span>
during some testing runs on representative data, make note of how
many of those bits really need to be there, and then reduce N to
a smaller number. Leave some extra space, of course. (If you
@@ -85,21 +85,21 @@
</p><p>
Also note that the implementation of bitset used in libstdc++ has
<a class="link" href="bk01pt12ch34s02.html" title="HP/SGI">some extensions</a>.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="associative.bitset.type_string"></a>Type String</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Type String"><div class="titlepage"><div><div><h3 class="title"><a id="associative.bitset.type_string"></a>Type String</h3></div></div></div><p>
</p><p>
Bitmasks do not take char* nor const char* arguments in their
constructors. This is something of an accident, but you can read
- about the problem: follow the library's “<span class="quote">Links</span>†from
- the homepage, and from the C++ information “<span class="quote">defect
- reflector</span>†link, select the library issues list. Issue
+ about the problem: follow the library's <span class="quote">“<span class="quote">Links</span>â€</span> from
+ the homepage, and from the C++ information <span class="quote">“<span class="quote">defect
+ reflector</span>â€</span> link, select the library issues list. Issue
number 116 describes the problem.
</p><p>
For now you can simply make a temporary string object using the
constructor expression:
</p><pre class="programlisting">
- std::bitset&lt;5&gt; b ( std::string(“<span class="quote">10110</span>â€) );
+ std::bitset&lt;5&gt; b ( std::string(<span class="quote">“<span class="quote">10110</span>â€</span>) );
</pre><p>
instead of
</p><pre class="programlisting">
- std::bitset&lt;5&gt; b ( “<span class="quote">10110</span>†); // invalid
+ std::bitset&lt;5&gt; b ( <span class="quote">“<span class="quote">10110</span>â€</span> ); // invalid
</pre></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="associative.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="associative.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="containers_and_c.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 17. Associative </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 18. Interacting with C</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/bk01ix01.html b/libstdc++-v3/doc/html/manual/bk01ix01.html
index 51a67bbe12d..576c0d4f7e3 100644
--- a/libstdc++-v3/doc/html/manual/bk01ix01.html
+++ b/libstdc++-v3/doc/html/manual/bk01ix01.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Index</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="appendix_gfdl.html" title="Appendix E. GNU Free Documentation License" /><link rel="next" href="../bk02.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Index</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_gfdl.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="../bk02.html">Next</a></td></tr></table><hr /></div><div class="index"><div class="titlepage"><div><div><h2 class="title"><a id="id692397"></a>Index</h2></div></div></div><div class="index"><div class="indexdiv"><h3>A</h3><dl><dt>Algorithms, <a class="indexterm" href="algorithms.html">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Index</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="appendix_gfdl.html" title="Appendix E. GNU Free Documentation License" /><link rel="next" href="../bk02.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Index</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_gfdl.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="../bk02.html">Next</a></td></tr></table><hr /></div><div class="index" title="Index"><div class="titlepage"><div><div><h2 class="title"><a id="id515964"></a>Index</h2></div></div></div><div class="index"><div class="indexdiv"><h3>A</h3><dl><dt>Algorithms, <a class="indexterm" href="algorithms.html">
Algorithms
</a></dt><dt>Appendix</dt><dd><dl><dt>Contributing, <a class="indexterm" href="appendix_contributing.html">
@@ -42,7 +42,10 @@
</a></dt><dt>Support, <a class="indexterm" href="support.html">
Support
-</a></dt></dl></div><div class="indexdiv"><h3>U</h3><dl><dt>Utilities, <a class="indexterm" href="utilities.html">
+</a></dt></dl></div><div class="indexdiv"><h3>T</h3><dl><dt>Test</dt><dd><dl><dt>Exception Safety, <a class="indexterm" href="test.html#test.exception.safety">
+ Qualifying Exception Safety Guarantees
+
+</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>U</h3><dl><dt>Utilities, <a class="indexterm" href="utilities.html">
Utilities
</a></dt></dl></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="appendix_gfdl.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="../bk02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix E. GNU Free Documentation License </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/bk01pt02ch04s02.html b/libstdc++-v3/doc/html/manual/bk01pt02ch04s02.html
index 9f1265610be..0ed5fa86fa4 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt02ch04s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt02ch04s02.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Numeric Properties</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="fundamental_types.html" title="Chapter 4. Types" /><link rel="prev" href="fundamental_types.html" title="Chapter 4. Types" /><link rel="next" href="bk01pt02ch04s03.html" title="NULL" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Numeric Properties</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="fundamental_types.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Types</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt02ch04s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.support.types.numeric_limits"></a>Numeric Properties</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Numeric Properties</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="fundamental_types.html" title="Chapter 4. Types" /><link rel="prev" href="fundamental_types.html" title="Chapter 4. Types" /><link rel="next" href="bk01pt02ch04s03.html" title="NULL" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Numeric Properties</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="fundamental_types.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Types</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt02ch04s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Numeric Properties"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.support.types.numeric_limits"></a>Numeric Properties</h2></div></div></div><p>
The header <code class="filename">limits</code> defines
traits classes to give access to various implementation
defined-aspects of the fundamental types. The traits classes --
diff --git a/libstdc++-v3/doc/html/manual/bk01pt02ch04s03.html b/libstdc++-v3/doc/html/manual/bk01pt02ch04s03.html
index 96825362179..c9225c8b9ca 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt02ch04s03.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt02ch04s03.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>NULL</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="fundamental_types.html" title="Chapter 4. Types" /><link rel="prev" href="bk01pt02ch04s02.html" title="Numeric Properties" /><link rel="next" href="dynamic_memory.html" title="Chapter 5. Dynamic Memory" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">NULL</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt02ch04s02.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Types</th><td width="20%" align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.support.types.null"></a>NULL</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>NULL</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="fundamental_types.html" title="Chapter 4. Types" /><link rel="prev" href="bk01pt02ch04s02.html" title="Numeric Properties" /><link rel="next" href="dynamic_memory.html" title="Chapter 5. Dynamic Memory" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">NULL</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt02ch04s02.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Types</th><td width="20%" align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="NULL"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.support.types.null"></a>NULL</h2></div></div></div><p>
The only change that might affect people is the type of
<code class="constant">NULL</code>: while it is required to be a macro,
the definition of that macro is <span class="emphasis"><em>not</em></span> allowed
@@ -12,7 +12,7 @@
<span class="command"><strong>g++</strong></span>.
</p><p>
The biggest problem of #defining <code class="constant">NULL</code> to be
- something like “<span class="quote">0L</span>†is that the compiler will view
+ something like <span class="quote">“<span class="quote">0L</span>â€</span> is that the compiler will view
that as a long integer before it views it as a pointer, so
overloading won't do what you expect. (This is why
<span class="command"><strong>g++</strong></span> has a magic extension, so that
diff --git a/libstdc++-v3/doc/html/manual/bk01pt02pr01.html b/libstdc++-v3/doc/html/manual/bk01pt02pr01.html
index 4ec01fefd93..80b42c631ec 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt02pr01.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt02pr01.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="support.html" title="Part II.  Support" /><link rel="prev" href="support.html" title="Part II.  Support" /><link rel="next" href="fundamental_types.html" title="Chapter 4. Types" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="support.html">Prev</a> </td><th width="60%" align="center">Part II. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="support.html" title="Part II.  Support" /><link rel="prev" href="support.html" title="Part II.  Support" /><link rel="next" href="fundamental_types.html" title="Chapter 4. Types" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="support.html">Prev</a> </td><th width="60%" align="center">Part II. 
Support
-</th><td width="20%" align="right"> <a accesskey="n" href="fundamental_types.html">Next</a></td></tr></table><hr /></div><div class="preface" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="id650354"></a></h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="fundamental_types.html">Next</a></td></tr></table><hr /></div><div class="preface"><div class="titlepage"><div><div><h2 class="title"><a id="id507716"></a></h2></div></div></div><p>
This part deals with the functions called and objects created
automatically during the course of a program's existence.
</p><p>
diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch07s02.html b/libstdc++-v3/doc/html/manual/bk01pt03ch07s02.html
index d72d23d2d95..54df29a6553 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt03ch07s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch07s02.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Adding Data to Exceptions</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="exceptions.html" title="Chapter 7. Exceptions" /><link rel="prev" href="exceptions.html" title="Chapter 7. Exceptions" /><link rel="next" href="bk01pt03ch08.html" title="Chapter 8. Concept Checking" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Adding Data to Exceptions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="exceptions.html">Prev</a> </td><th width="60%" align="center">Chapter 7. Exceptions</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch08.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.diagnostics.exceptions.data"></a>Adding Data to Exceptions</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Adding Data to Exceptions</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="exceptions.html" title="Chapter 7. Exceptions" /><link rel="prev" href="exceptions.html" title="Chapter 7. Exceptions" /><link rel="next" href="bk01pt03ch08.html" title="Chapter 8. Concept Checking" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Adding Data to Exceptions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="exceptions.html">Prev</a> </td><th width="60%" align="center">Chapter 7. Exceptions</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch08.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Adding Data to Exceptions"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.diagnostics.exceptions.data"></a>Adding Data to Exceptions</h2></div></div></div><p>
The standard exception classes carry with them a single string as
data (usually describing what went wrong or where the 'throw' took
place). It's good to remember that you can add your own data to
diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch08.html b/libstdc++-v3/doc/html/manual/bk01pt03ch08.html
index 5c6d0c83a24..b66b555a2da 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt03ch08.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch08.html
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 8. Concept Checking</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="diagnostics.html" title="Part III.  Diagnostics" /><link rel="prev" href="bk01pt03ch07s02.html" title="Adding Data to Exceptions" /><link rel="next" href="utilities.html" title="Part IV.  Utilities" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. Concept Checking</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch07s02.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 8. Concept Checking</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="diagnostics.html" title="Part III.  Diagnostics" /><link rel="prev" href="bk01pt03ch07s02.html" title="Adding Data to Exceptions" /><link rel="next" href="utilities.html" title="Part IV.  Utilities" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. Concept Checking</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch07s02.html">Prev</a> </td><th width="60%" align="center">Part III. 
Diagnostics
-</th><td width="20%" align="right"> <a accesskey="n" href="utilities.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.diagnostics.concept_checking"></a>Chapter 8. Concept Checking</h2></div></div></div><p>
- In 1999, SGI added “<span class="quote">concept checkers</span>†to their
+</th><td width="20%" align="right"> <a accesskey="n" href="utilities.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 8. Concept Checking"><div class="titlepage"><div><div><h2 class="title"><a id="manual.diagnostics.concept_checking"></a>Chapter 8. Concept Checking</h2></div></div></div><p>
+ In 1999, SGI added <span class="quote">“<span class="quote">concept checkers</span>â€</span> to their
implementation of the STL: code which checked the template
parameters of instantiated pieces of the STL, in order to insure
that the parameters being used met the requirements of the
diff --git a/libstdc++-v3/doc/html/manual/bk01pt05ch13.html b/libstdc++-v3/doc/html/manual/bk01pt05ch13.html
index 48fb471b929..e86d7fe1779 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt05ch13.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt05ch13.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 13. String Classes</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="strings.html" title="Part V.  Strings" /><link rel="prev" href="strings.html" title="Part V.  Strings" /><link rel="next" href="bk01pt05ch13s02.html" title="Case Sensitivity" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 13. String Classes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="strings.html">Prev</a> </td><th width="60%" align="center">Part V. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 13. String Classes</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="strings.html" title="Part V.  Strings" /><link rel="prev" href="strings.html" title="Part V.  Strings" /><link rel="next" href="bk01pt05ch13s02.html" title="Case Sensitivity" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 13. String Classes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="strings.html">Prev</a> </td><th width="60%" align="center">Part V. 
Strings
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt05ch13s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.strings.string"></a>Chapter 13. String Classes</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="bk01pt05ch13.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s02.html">Case Sensitivity</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s03.html">Arbitrary Character Types</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s04.html">Tokenizing</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s05.html">Shrink to Fit</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s06.html">CString (MFC)</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="strings.string.simple"></a>Simple Transformations</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt05ch13s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 13. String Classes"><div class="titlepage"><div><div><h2 class="title"><a id="manual.strings.string"></a>Chapter 13. String Classes</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="bk01pt05ch13.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s02.html">Case Sensitivity</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s03.html">Arbitrary Character Types</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s04.html">Tokenizing</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s05.html">Shrink to Fit</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s06.html">CString (MFC)</a></span></dt></dl></div><div class="sect1" title="Simple Transformations"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="strings.string.simple"></a>Simple Transformations</h2></div></div></div><p>
Here are Standard, simple, and portable ways to perform common
transformations on a <code class="code">string</code> instance, such as
"convert to all upper case." The word transformations
diff --git a/libstdc++-v3/doc/html/manual/bk01pt05ch13s02.html b/libstdc++-v3/doc/html/manual/bk01pt05ch13s02.html
index 454e01e881b..2cd970a12bf 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt05ch13s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt05ch13s02.html
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Case Sensitivity</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /><link rel="prev" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /><link rel="next" href="bk01pt05ch13s03.html" title="Arbitrary Character Types" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Case Sensitivity</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt05ch13.html">Prev</a> </td><th width="60%" align="center">Chapter 13. String Classes</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt05ch13s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="strings.string.case"></a>Case Sensitivity</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Case Sensitivity</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /><link rel="prev" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /><link rel="next" href="bk01pt05ch13s03.html" title="Arbitrary Character Types" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Case Sensitivity</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt05ch13.html">Prev</a> </td><th width="60%" align="center">Chapter 13. String Classes</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt05ch13s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Case Sensitivity"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="strings.string.case"></a>Case Sensitivity</h2></div></div></div><p>
</p><p>The well-known-and-if-it-isn't-well-known-it-ought-to-be
<a class="ulink" href="http://www.gotw.ca/gotw/" target="_top">Guru of the Week</a>
discussions held on Usenet covered this topic in January of 1998.
- Briefly, the challenge was, “<span class="quote">write a 'ci_string' class which
+ Briefly, the challenge was, <span class="quote">“<span class="quote">write a 'ci_string' class which
is identical to the standard 'string' class, but is
case-insensitive in the same way as the (common but nonstandard)
- C function stricmp()</span>â€.
+ C function stricmp()</span>â€</span>.
</p><pre class="programlisting">
ci_string s( "AbCdE" );
diff --git a/libstdc++-v3/doc/html/manual/bk01pt05ch13s03.html b/libstdc++-v3/doc/html/manual/bk01pt05ch13s03.html
index 5d694747a6f..aa2afea53a6 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt05ch13s03.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt05ch13s03.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Arbitrary Character Types</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /><link rel="prev" href="bk01pt05ch13s02.html" title="Case Sensitivity" /><link rel="next" href="bk01pt05ch13s04.html" title="Tokenizing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Arbitrary Character Types</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt05ch13s02.html">Prev</a> </td><th width="60%" align="center">Chapter 13. String Classes</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt05ch13s04.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="strings.string.character_types"></a>Arbitrary Character Types</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Arbitrary Character Types</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /><link rel="prev" href="bk01pt05ch13s02.html" title="Case Sensitivity" /><link rel="next" href="bk01pt05ch13s04.html" title="Tokenizing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Arbitrary Character Types</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt05ch13s02.html">Prev</a> </td><th width="60%" align="center">Chapter 13. String Classes</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt05ch13s04.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Arbitrary Character Types"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="strings.string.character_types"></a>Arbitrary Character Types</h2></div></div></div><p>
</p><p>The <code class="code">std::basic_string</code> is tantalizingly general, in that
it is parameterized on the type of the characters which it holds.
In theory, you could whip up a Unicode character class and instantiate
diff --git a/libstdc++-v3/doc/html/manual/bk01pt05ch13s04.html b/libstdc++-v3/doc/html/manual/bk01pt05ch13s04.html
index 3334567e39d..12d1ee7fb5c 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt05ch13s04.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt05ch13s04.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Tokenizing</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /><link rel="prev" href="bk01pt05ch13s03.html" title="Arbitrary Character Types" /><link rel="next" href="bk01pt05ch13s05.html" title="Shrink to Fit" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Tokenizing</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt05ch13s03.html">Prev</a> </td><th width="60%" align="center">Chapter 13. String Classes</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt05ch13s05.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="strings.string.token"></a>Tokenizing</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Tokenizing</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /><link rel="prev" href="bk01pt05ch13s03.html" title="Arbitrary Character Types" /><link rel="next" href="bk01pt05ch13s05.html" title="Shrink to Fit" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Tokenizing</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt05ch13s03.html">Prev</a> </td><th width="60%" align="center">Chapter 13. String Classes</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt05ch13s05.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Tokenizing"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="strings.string.token"></a>Tokenizing</h2></div></div></div><p>
</p><p>The Standard C (and C++) function <code class="code">strtok()</code> leaves a lot to
be desired in terms of user-friendliness. It's unintuitive, it
destroys the character string on which it operates, and it requires
diff --git a/libstdc++-v3/doc/html/manual/bk01pt05ch13s05.html b/libstdc++-v3/doc/html/manual/bk01pt05ch13s05.html
index fd2a77cb148..b6a5da10d20 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt05ch13s05.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt05ch13s05.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Shrink to Fit</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /><link rel="prev" href="bk01pt05ch13s04.html" title="Tokenizing" /><link rel="next" href="bk01pt05ch13s06.html" title="CString (MFC)" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Shrink to Fit</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt05ch13s04.html">Prev</a> </td><th width="60%" align="center">Chapter 13. String Classes</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt05ch13s06.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="strings.string.shrink"></a>Shrink to Fit</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Shrink to Fit</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /><link rel="prev" href="bk01pt05ch13s04.html" title="Tokenizing" /><link rel="next" href="bk01pt05ch13s06.html" title="CString (MFC)" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Shrink to Fit</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt05ch13s04.html">Prev</a> </td><th width="60%" align="center">Chapter 13. String Classes</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt05ch13s06.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Shrink to Fit"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="strings.string.shrink"></a>Shrink to Fit</h2></div></div></div><p>
</p><p>From GCC 3.4 calling <code class="code">s.reserve(res)</code> on a
<code class="code">string s</code> with <code class="code">res &lt; s.capacity()</code> will
reduce the string's capacity to <code class="code">std::max(s.size(), res)</code>.
@@ -10,7 +10,7 @@
std::string(str.data(), str.size()).swap(str);
</pre><p>This is similar to the idiom for reducing
a <code class="code">vector</code>'s memory usage
- (see <a class="link" href="../faq.html#faq.size_equals_capacity" title="Question">this FAQ
+ (see <a class="link" href="../faq.html#faq.size_equals_capacity" title="7.8.">this FAQ
entry</a>) but the regular copy constructor cannot be used
because libstdc++'s <code class="code">string</code> is Copy-On-Write.
</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt05ch13s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt05ch13.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt05ch13s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Tokenizing </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> CString (MFC)</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/bk01pt05ch13s06.html b/libstdc++-v3/doc/html/manual/bk01pt05ch13s06.html
index c6fb477f7c9..29ad197e1dd 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt05ch13s06.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt05ch13s06.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>CString (MFC)</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /><link rel="prev" href="bk01pt05ch13s05.html" title="Shrink to Fit" /><link rel="next" href="localization.html" title="Part VI.  Localization" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">CString (MFC)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt05ch13s05.html">Prev</a> </td><th width="60%" align="center">Chapter 13. String Classes</th><td width="20%" align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="strings.string.Cstring"></a>CString (MFC)</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>CString (MFC)</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /><link rel="prev" href="bk01pt05ch13s05.html" title="Shrink to Fit" /><link rel="next" href="localization.html" title="Part VI.  Localization" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">CString (MFC)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt05ch13s05.html">Prev</a> </td><th width="60%" align="center">Chapter 13. String Classes</th><td width="20%" align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="CString (MFC)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="strings.string.Cstring"></a>CString (MFC)</h2></div></div></div><p>
</p><p>A common lament seen in various newsgroups deals with the Standard
string class as opposed to the Microsoft Foundation Class called
CString. Often programmers realize that a standard portable
@@ -10,12 +10,12 @@
</p><p>Things are not as bad as they seem. In
<a class="ulink" href="http://gcc.gnu.org/ml/gcc/1999-04n/msg00236.html" target="_top">this
message</a>, Joe Buck points out a few very important things:
- </p><div class="itemizedlist"><ul type="disc"><li><p>The Standard <code class="code">string</code> supports all the operations
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>The Standard <code class="code">string</code> supports all the operations
that CString does, with three exceptions.
- </p></li><li><p>Two of those exceptions (whitespace trimming and case
+ </p></li><li class="listitem"><p>Two of those exceptions (whitespace trimming and case
conversion) are trivial to implement. In fact, we do so
on this page.
- </p></li><li><p>The third is <code class="code">CString::Format</code>, which allows formatting
+ </p></li><li class="listitem"><p>The third is <code class="code">CString::Format</code>, which allows formatting
in the style of <code class="code">sprintf</code>. This deserves some mention:
</p></li></ul></div><p>
The old libg++ library had a function called form(), which did much
@@ -68,18 +68,18 @@
performance is O(n).
</pre><p>Joe Buck also pointed out some other things to keep in mind when
comparing CString and the Standard string class:
- </p><div class="itemizedlist"><ul type="disc"><li><p>CString permits access to its internal representation; coders
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>CString permits access to its internal representation; coders
who exploited that may have problems moving to <code class="code">string</code>.
- </p></li><li><p>Microsoft ships the source to CString (in the files
+ </p></li><li class="listitem"><p>Microsoft ships the source to CString (in the files
MFC\SRC\Str{core,ex}.cpp), so you could fix the allocation
bug and rebuild your MFC libraries.
<span class="emphasis"><em><span class="emphasis"><em>Note:</em></span> It looks like the CString shipped
with VC++6.0 has fixed this, although it may in fact have been
one of the VC++ SPs that did it.</em></span>
- </p></li><li><p><code class="code">string</code> operations like this have O(n) complexity
+ </p></li><li class="listitem"><p><code class="code">string</code> operations like this have O(n) complexity
<span class="emphasis"><em>if the implementors do it correctly</em></span>. The libstdc++
implementors did it correctly. Other vendors might not.
- </p></li><li><p>While parts of the SGI STL are used in libstdc++, their
+ </p></li><li class="listitem"><p>While parts of the SGI STL are used in libstdc++, their
string class is not. The SGI <code class="code">string</code> is essentially
<code class="code">vector&lt;char&gt;</code> and does not do any reference
counting like libstdc++'s does. (It is O(n), though.)
diff --git a/libstdc++-v3/doc/html/manual/bk01pt08ch19.html b/libstdc++-v3/doc/html/manual/bk01pt08ch19.html
index f5474946535..6b6bb02dbde 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt08ch19.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt08ch19.html
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 19. Predefined</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="iterators.html" title="Part VIII.  Iterators" /><link rel="prev" href="iterators.html" title="Part VIII.  Iterators" /><link rel="next" href="bk01pt08ch19s02.html" title="One Past the End" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 19. Predefined</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="iterators.html">Prev</a> </td><th width="60%" align="center">Part VIII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 19. Predefined</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="iterators.html" title="Part VIII.  Iterators" /><link rel="prev" href="iterators.html" title="Part VIII.  Iterators" /><link rel="next" href="bk01pt08ch19s02.html" title="One Past the End" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 19. Predefined</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="iterators.html">Prev</a> </td><th width="60%" align="center">Part VIII. 
Iterators
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt08ch19s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.iterators.predefined"></a>Chapter 19. Predefined</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="bk01pt08ch19.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="sect1"><a href="bk01pt08ch19s02.html">One Past the End</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="iterators.predefined.vs_pointers"></a>Iterators vs. Pointers</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt08ch19s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 19. Predefined"><div class="titlepage"><div><div><h2 class="title"><a id="manual.iterators.predefined"></a>Chapter 19. Predefined</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="bk01pt08ch19.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="sect1"><a href="bk01pt08ch19s02.html">One Past the End</a></span></dt></dl></div><div class="sect1" title="Iterators vs. Pointers"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="iterators.predefined.vs_pointers"></a>Iterators vs. Pointers</h2></div></div></div><p>
The following
-FAQ <a class="link" href="../faq.html#faq.iterator_as_pod" title="Question">entry</a> points out that
+FAQ <a class="link" href="../faq.html#faq.iterator_as_pod" title="7.1.">entry</a> points out that
iterators are not implemented as pointers. They are a generalization
of pointers, but they are implemented in libstdc++ as separate
classes.
diff --git a/libstdc++-v3/doc/html/manual/bk01pt08ch19s02.html b/libstdc++-v3/doc/html/manual/bk01pt08ch19s02.html
index 8988b2316b8..2a0e28d40da 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt08ch19s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt08ch19s02.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>One Past the End</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="bk01pt08ch19.html" title="Chapter 19. Predefined" /><link rel="prev" href="bk01pt08ch19.html" title="Chapter 19. Predefined" /><link rel="next" href="algorithms.html" title="Part IX.  Algorithms" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">One Past the End</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt08ch19.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Predefined</th><td width="20%" align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="iterators.predefined.end"></a>One Past the End</h2></div></div></div><p>This starts off sounding complicated, but is actually very easy,
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>One Past the End</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="bk01pt08ch19.html" title="Chapter 19. Predefined" /><link rel="prev" href="bk01pt08ch19.html" title="Chapter 19. Predefined" /><link rel="next" href="algorithms.html" title="Part IX.  Algorithms" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">One Past the End</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt08ch19.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Predefined</th><td width="20%" align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="One Past the End"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="iterators.predefined.end"></a>One Past the End</h2></div></div></div><p>This starts off sounding complicated, but is actually very easy,
especially towards the end. Trust me.
</p><p>Beginners usually have a little trouble understand the whole
'past-the-end' thing, until they remember their early algebra classes
@@ -9,15 +9,15 @@
</p><p>First, some history, and a reminder of some of the funkier rules in
C and C++ for builtin arrays. The following rules have always been
true for both languages:
- </p><div class="orderedlist"><ol type="1"><li><p>You can point anywhere in the array, <span class="emphasis"><em>or to the first element
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>You can point anywhere in the array, <span class="emphasis"><em>or to the first element
past the end of the array</em></span>. A pointer that points to one
past the end of the array is guaranteed to be as unique as a
pointer to somewhere inside the array, so that you can compare
such pointers safely.
- </p></li><li><p>You can only dereference a pointer that points into an array.
+ </p></li><li class="listitem"><p>You can only dereference a pointer that points into an array.
If your array pointer points outside the array -- even to just
one past the end -- and you dereference it, Bad Things happen.
- </p></li><li><p>Strictly speaking, simply pointing anywhere else invokes
+ </p></li><li class="listitem"><p>Strictly speaking, simply pointing anywhere else invokes
undefined behavior. Most programs won't puke until such a
pointer is actually dereferenced, but the standards leave that
up to the platform.
diff --git a/libstdc++-v3/doc/html/manual/bk01pt09ch20.html b/libstdc++-v3/doc/html/manual/bk01pt09ch20.html
index a1055e56225..a343f9c50f4 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt09ch20.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt09ch20.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 20. Mutating</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="algorithms.html" title="Part IX.  Algorithms" /><link rel="prev" href="bk01pt09pr02.html" title="" /><link rel="next" href="numerics.html" title="Part X.  Numerics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 20. Mutating</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt09pr02.html">Prev</a> </td><th width="60%" align="center">Part IX. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 20. Mutating</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="algorithms.html" title="Part IX.  Algorithms" /><link rel="prev" href="bk01pt09pr02.html" title="" /><link rel="next" href="numerics.html" title="Part X.  Numerics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 20. Mutating</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt09pr02.html">Prev</a> </td><th width="60%" align="center">Part IX. 
Algorithms
-</th><td width="20%" align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.algorithms.mutating"></a>Chapter 20. Mutating</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="bk01pt09ch20.html#algorithms.mutating.swap">swap</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt09ch20.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="algorithms.mutating.swap"></a><code class="function">swap</code></h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="algorithms.swap.specializations"></a>Specializations</h3></div></div></div><p>If you call <code class="code"> std::swap(x,y); </code> where x and y are standard
+</th><td width="20%" align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 20. Mutating"><div class="titlepage"><div><div><h2 class="title"><a id="manual.algorithms.mutating"></a>Chapter 20. Mutating</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="bk01pt09ch20.html#algorithms.mutating.swap"><code class="function">swap</code></a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt09ch20.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></div><div class="sect1" title="swap"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="algorithms.mutating.swap"></a><code class="function">swap</code></h2></div></div></div><div class="sect2" title="Specializations"><div class="titlepage"><div><div><h3 class="title"><a id="algorithms.swap.specializations"></a>Specializations</h3></div></div></div><p>If you call <code class="code"> std::swap(x,y); </code> where x and y are standard
containers, then the call will automatically be replaced by a call to
<code class="code"> x.swap(y); </code> instead.
</p><p>This allows member functions of each container class to take over, and
diff --git a/libstdc++-v3/doc/html/manual/bk01pt09pr02.html b/libstdc++-v3/doc/html/manual/bk01pt09pr02.html
index 420cb81b855..d03d0f22558 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt09pr02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt09pr02.html
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="algorithms.html" title="Part IX.  Algorithms" /><link rel="prev" href="algorithms.html" title="Part IX.  Algorithms" /><link rel="next" href="bk01pt09ch20.html" title="Chapter 20. Mutating" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="algorithms.html">Prev</a> </td><th width="60%" align="center">Part IX. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="algorithms.html" title="Part IX.  Algorithms" /><link rel="prev" href="algorithms.html" title="Part IX.  Algorithms" /><link rel="next" href="bk01pt09ch20.html" title="Chapter 20. Mutating" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="algorithms.html">Prev</a> </td><th width="60%" align="center">Part IX. 
Algorithms
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt09ch20.html">Next</a></td></tr></table><hr /></div><div class="preface" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="id617760"></a></h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt09ch20.html">Next</a></td></tr></table><hr /></div><div class="preface"><div class="titlepage"><div><div><h2 class="title"><a id="id455881"></a></h2></div></div></div><p>
The neatest accomplishment of the algorithms chapter is that all the
work is done via iterators, not containers directly. This means two
important things:
-</p><div class="orderedlist"><ol type="1"><li><p>
+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
Anything that behaves like an iterator can be used in one of
these algorithms. Raw pointers make great candidates, thus
built-in arrays are fine containers, as well as your own iterators.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
The algorithms do not (and cannot) affect the container as a
whole; only the things between the two iterator endpoints. If
you pass a range of iterators only enclosing the middle third of
diff --git a/libstdc++-v3/doc/html/manual/bk01pt10ch23s02.html b/libstdc++-v3/doc/html/manual/bk01pt10ch23s02.html
index e77fa847b49..31c37c741cf 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt10ch23s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt10ch23s02.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>C99</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="numerics_and_c.html" title="Chapter 23. Interacting with C" /><link rel="prev" href="numerics_and_c.html" title="Chapter 23. Interacting with C" /><link rel="next" href="io.html" title="Part XI.  Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">C99</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="numerics_and_c.html">Prev</a> </td><th width="60%" align="center">Chapter 23. Interacting with C</th><td width="20%" align="right"> <a accesskey="n" href="io.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="numerics.c.c99"></a>C99</h2></div></div></div><p>In addition to the other topics on this page, we'll note here some
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>C99</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="numerics_and_c.html" title="Chapter 23. Interacting with C" /><link rel="prev" href="numerics_and_c.html" title="Chapter 23. Interacting with C" /><link rel="next" href="io.html" title="Part XI.  Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">C99</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="numerics_and_c.html">Prev</a> </td><th width="60%" align="center">Chapter 23. Interacting with C</th><td width="20%" align="right"> <a accesskey="n" href="io.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="C99"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="numerics.c.c99"></a>C99</h2></div></div></div><p>In addition to the other topics on this page, we'll note here some
of the C99 features that appear in libstdc++.
</p><p>The C99 features depend on the <code class="code">--enable-c99</code> configure flag.
This flag is already on by default, but it can be disabled by the
diff --git a/libstdc++-v3/doc/html/manual/bk01pt11ch25s02.html b/libstdc++-v3/doc/html/manual/bk01pt11ch25s02.html
index 7fce554de21..b713ad2ef02 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt11ch25s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt11ch25s02.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Buffering</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="streambufs.html" title="Chapter 25. Stream Buffers" /><link rel="prev" href="streambufs.html" title="Chapter 25. Stream Buffers" /><link rel="next" href="stringstreams.html" title="Chapter 26. Memory Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Buffering</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="streambufs.html">Prev</a> </td><th width="60%" align="center">Chapter 25. Stream Buffers</th><td width="20%" align="right"> <a accesskey="n" href="stringstreams.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="io.streambuf.buffering"></a>Buffering</h2></div></div></div><p>First, are you sure that you understand buffering? Particularly
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Buffering</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="streambufs.html" title="Chapter 25. Stream Buffers" /><link rel="prev" href="streambufs.html" title="Chapter 25. Stream Buffers" /><link rel="next" href="stringstreams.html" title="Chapter 26. Memory Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Buffering</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="streambufs.html">Prev</a> </td><th width="60%" align="center">Chapter 25. Stream Buffers</th><td width="20%" align="right"> <a accesskey="n" href="stringstreams.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Buffering"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="io.streambuf.buffering"></a>Buffering</h2></div></div></div><p>First, are you sure that you understand buffering? Particularly
the fact that C++ may not, in fact, have anything to do with it?
</p><p>The rules for buffering can be a little odd, but they aren't any
different from those of C. (Maybe that's why they can be a bit
diff --git a/libstdc++-v3/doc/html/manual/bk01pt11ch27s02.html b/libstdc++-v3/doc/html/manual/bk01pt11ch27s02.html
index 45151c1e649..4366e8fd8c0 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt11ch27s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt11ch27s02.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Binary Input and Output</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="fstreams.html" title="Chapter 27. File Based Streams" /><link rel="prev" href="fstreams.html" title="Chapter 27. File Based Streams" /><link rel="next" href="io_and_c.html" title="Chapter 28. Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Binary Input and Output</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 27. File Based Streams</th><td width="20%" align="right"> <a accesskey="n" href="io_and_c.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.io.filestreams.binary"></a>Binary Input and Output</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Binary Input and Output</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="fstreams.html" title="Chapter 27. File Based Streams" /><link rel="prev" href="fstreams.html" title="Chapter 27. File Based Streams" /><link rel="next" href="io_and_c.html" title="Chapter 28. Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Binary Input and Output</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 27. File Based Streams</th><td width="20%" align="right"> <a accesskey="n" href="io_and_c.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Binary Input and Output"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.io.filestreams.binary"></a>Binary Input and Output</h2></div></div></div><p>
</p><p>The first and most important thing to remember about binary I/O is
that opening a file with <code class="code">ios::binary</code> is not, repeat
<span class="emphasis"><em>not</em></span>, the only thing you have to do. It is not a silver
@@ -38,26 +38,26 @@
of <span class="emphasis"><em>formatting</em></span> functions and classes to perform something
which <span class="emphasis"><em>requires</em></span> that formatting not be done? There are a
seemingly infinite number of solutions, and a few are listed here:
- </p><div class="itemizedlist"><ul type="disc"><li><p>“<span class="quote">Derive your own fstream-type classes and write your own
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="quote">“<span class="quote">Derive your own fstream-type classes and write your own
&lt;&lt;/&gt;&gt; operators to do binary I/O on whatever data
- types you're using.</span>â€
+ types you're using.</span>â€</span>
</p><p>
This is a Bad Thing, because while
the compiler would probably be just fine with it, other humans
are going to be confused. The overloaded bitshift operators
have a well-defined meaning (formatting), and this breaks it.
- </p></li><li><p>
- “<span class="quote">Build the file structure in memory, then
+ </p></li><li class="listitem"><p>
+ <span class="quote">“<span class="quote">Build the file structure in memory, then
<code class="code">mmap()</code> the file and copy the
structure.
- </span>â€
+ </span>â€</span>
</p><p>
Well, this is easy to make work, and easy to break, and is
pretty equivalent to using <code class="code">::read()</code> and
<code class="code">::write()</code> directly, and makes no use of the
iostream library at all...
- </p></li><li><p>
- “<span class="quote">Use streambufs, that's what they're there for.</span>â€
+ </p></li><li class="listitem"><p>
+ <span class="quote">“<span class="quote">Use streambufs, that's what they're there for.</span>â€</span>
</p><p>
While not trivial for the beginner, this is the best of all
solutions. The streambuf/filebuf layer is the layer that is
diff --git a/libstdc++-v3/doc/html/manual/bk01pt11ch28s02.html b/libstdc++-v3/doc/html/manual/bk01pt11ch28s02.html
index 22fa0879445..69fa0f12ec1 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt11ch28s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt11ch28s02.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Performance</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="io_and_c.html" title="Chapter 28. Interacting with C" /><link rel="prev" href="io_and_c.html" title="Chapter 28. Interacting with C" /><link rel="next" href="extensions.html" title="Part XII.  Extensions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Performance</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">Chapter 28. Interacting with C</th><td width="20%" align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.io.c.sync"></a>Performance</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Performance</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="io_and_c.html" title="Chapter 28. Interacting with C" /><link rel="prev" href="io_and_c.html" title="Chapter 28. Interacting with C" /><link rel="next" href="extensions.html" title="Part XII.  Extensions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Performance</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">Chapter 28. Interacting with C</th><td width="20%" align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Performance"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.io.c.sync"></a>Performance</h2></div></div></div><p>
Pathetic Performance? Ditch C.
</p><p>It sounds like a flame on C, but it isn't. Really. Calm down.
I'm just saying it to get your attention.
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch30s02.html b/libstdc++-v3/doc/html/manual/bk01pt12ch30s02.html
index 4a2ddb809e3..2605ad3b453 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch30s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch30s02.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Semantics</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="debug_mode.html" title="Chapter 30. Debug Mode" /><link rel="prev" href="debug_mode.html" title="Chapter 30. Debug Mode" /><link rel="next" href="bk01pt12ch30s03.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch30s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.semantics"></a>Semantics</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Semantics</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="debug_mode.html" title="Chapter 30. Debug Mode" /><link rel="prev" href="debug_mode.html" title="Chapter 30. Debug Mode" /><link rel="next" href="bk01pt12ch30s03.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch30s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Semantics"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.semantics"></a>Semantics</h2></div></div></div><p>
</p><p>A program that uses the C++ standard library correctly
will maintain the same semantics under debug mode as it had with
the normal (release) library. All functional and exception-handling
@@ -36,7 +36,7 @@
(N.B. In GCC 3.4.x and 4.0.0, due to a bug,
<code class="code">-D_GLIBXX_DEBUG_PEDANTIC</code> was also needed. The problem has
been fixed in GCC 4.0.1 and later versions.) </p><p>The following library components provide extra debugging
- capabilities in debug mode:</p><div class="itemizedlist"><ul type="disc"><li><p><code class="code">std::basic_string</code> (no safe iterators and see note below)</p></li><li><p><code class="code">std::bitset</code></p></li><li><p><code class="code">std::deque</code></p></li><li><p><code class="code">std::list</code></p></li><li><p><code class="code">std::map</code></p></li><li><p><code class="code">std::multimap</code></p></li><li><p><code class="code">std::multiset</code></p></li><li><p><code class="code">std::set</code></p></li><li><p><code class="code">std::vector</code></p></li><li><p><code class="code">std::unordered_map</code></p></li><li><p><code class="code">std::unordered_multimap</code></p></li><li><p><code class="code">std::unordered_set</code></p></li><li><p><code class="code">std::unordered_multiset</code></p></li></ul></div><p>N.B. although there are precondition checks for some string operations,
+ capabilities in debug mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">std::basic_string</code> (no safe iterators and see note below)</p></li><li class="listitem"><p><code class="code">std::bitset</code></p></li><li class="listitem"><p><code class="code">std::deque</code></p></li><li class="listitem"><p><code class="code">std::list</code></p></li><li class="listitem"><p><code class="code">std::map</code></p></li><li class="listitem"><p><code class="code">std::multimap</code></p></li><li class="listitem"><p><code class="code">std::multiset</code></p></li><li class="listitem"><p><code class="code">std::set</code></p></li><li class="listitem"><p><code class="code">std::vector</code></p></li><li class="listitem"><p><code class="code">std::unordered_map</code></p></li><li class="listitem"><p><code class="code">std::unordered_multimap</code></p></li><li class="listitem"><p><code class="code">std::unordered_set</code></p></li><li class="listitem"><p><code class="code">std::unordered_multiset</code></p></li></ul></div><p>N.B. although there are precondition checks for some string operations,
e.g. <code class="code">operator[]</code>,
they will not always be run when using the <code class="code">char</code> and
<code class="code">wchar_t</code> specialisations (<code class="code">std::string</code> and
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch30s03.html b/libstdc++-v3/doc/html/manual/bk01pt12ch30s03.html
index 089058c2ff7..fe879cb7393 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch30s03.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch30s03.html
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Using</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="debug_mode.html" title="Chapter 30. Debug Mode" /><link rel="prev" href="bk01pt12ch30s02.html" title="Semantics" /><link rel="next" href="bk01pt12ch30s04.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch30s02.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch30s04.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.using"></a>Using</h2></div></div></div><p>
- </p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.using.mode"></a>Using the Debug Mode</h3></div></div></div><p>To use the libstdc++ debug mode, compile your application with the
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Using</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="debug_mode.html" title="Chapter 30. Debug Mode" /><link rel="prev" href="bk01pt12ch30s02.html" title="Semantics" /><link rel="next" href="bk01pt12ch30s04.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch30s02.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch30s04.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Using"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.using"></a>Using</h2></div></div></div><p>
+ </p><div class="sect2" title="Using the Debug Mode"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.using.mode"></a>Using the Debug Mode</h3></div></div></div><p>To use the libstdc++ debug mode, compile your application with the
compiler flag <code class="code">-D_GLIBCXX_DEBUG</code>. Note that this flag
changes the sizes and behavior of standard class templates such
as <code class="code">std::vector</code>, and therefore you can only link code
@@ -10,7 +10,7 @@
units.</p><p>By default, error messages are formatted to fit on lines of about
78 characters. The environment variable
<code class="code">GLIBCXX_DEBUG_MESSAGE_LENGTH</code> can be used to request a
- different length.</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.using.specific"></a>Using a Specific Debug Container</h3></div></div></div><p>When it is not feasible to recompile your entire application, or
+ different length.</p></div><div class="sect2" title="Using a Specific Debug Container"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.using.specific"></a>Using a Specific Debug Container</h3></div></div></div><p>When it is not feasible to recompile your entire application, or
only specific containers need checking, debugging containers are
available as GNU extensions. These debugging containers are
functionally equivalent to the standard drop-in containers used in
@@ -19,6 +19,6 @@
mode or with debug mode. The
following table provides the names and headers of the debugging
containers:
-</p><div class="table"><a id="id672482"></a><p class="title"><b>Table 30.1. Debugging Containers</b></p><div class="table-contents"><table summary="Debugging Containers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::bitset</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="classname">__gnu_debug::bitset</code></td><td align="left"><code class="filename">bitset</code></td></tr><tr><td align="left"><code class="classname">std::deque</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="classname">__gnu_debug::deque</code></td><td align="left"><code class="filename">deque</code></td></tr><tr><td align="left"><code class="classname">std::list</code></td><td align="left"><code class="filename">list</code></td><td align="left"><code class="classname">__gnu_debug::list</code></td><td align="left"><code class="filename">list</code></td></tr><tr><td align="left"><code class="classname">std::map</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::map</code></td><td align="left"><code class="filename">map</code></td></tr><tr><td align="left"><code class="classname">std::multimap</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::multimap</code></td><td align="left"><code class="filename">map</code></td></tr><tr><td align="left"><code class="classname">std::multiset</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::multiset</code></td><td align="left"><code class="filename">set</code></td></tr><tr><td align="left"><code class="classname">std::set</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::set</code></td><td align="left"><code class="filename">set</code></td></tr><tr><td align="left"><code class="classname">std::string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::string</code></td><td align="left"><code class="filename">string</code></td></tr><tr><td align="left"><code class="classname">std::wstring</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::wstring</code></td><td align="left"><code class="filename">string</code></td></tr><tr><td align="left"><code class="classname">std::basic_string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::basic_string</code></td><td align="left"><code class="filename">string</code></td></tr><tr><td align="left"><code class="classname">std::vector</code></td><td align="left"><code class="filename">vector</code></td><td align="left"><code class="classname">__gnu_debug::vector</code></td><td align="left"><code class="filename">vector</code></td></tr></tbody></table></div></div><br class="table-break" /><p>In addition, when compiling in C++0x mode, these additional
+</p><div class="table"><a id="id536896"></a><p class="title"><b>Table 30.1. Debugging Containers</b></p><div class="table-contents"><table summary="Debugging Containers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::bitset</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="classname">__gnu_debug::bitset</code></td><td align="left"><code class="filename">bitset</code></td></tr><tr><td align="left"><code class="classname">std::deque</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="classname">__gnu_debug::deque</code></td><td align="left"><code class="filename">deque</code></td></tr><tr><td align="left"><code class="classname">std::list</code></td><td align="left"><code class="filename">list</code></td><td align="left"><code class="classname">__gnu_debug::list</code></td><td align="left"><code class="filename">list</code></td></tr><tr><td align="left"><code class="classname">std::map</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::map</code></td><td align="left"><code class="filename">map</code></td></tr><tr><td align="left"><code class="classname">std::multimap</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::multimap</code></td><td align="left"><code class="filename">map</code></td></tr><tr><td align="left"><code class="classname">std::multiset</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::multiset</code></td><td align="left"><code class="filename">set</code></td></tr><tr><td align="left"><code class="classname">std::set</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::set</code></td><td align="left"><code class="filename">set</code></td></tr><tr><td align="left"><code class="classname">std::string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::string</code></td><td align="left"><code class="filename">string</code></td></tr><tr><td align="left"><code class="classname">std::wstring</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::wstring</code></td><td align="left"><code class="filename">string</code></td></tr><tr><td align="left"><code class="classname">std::basic_string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::basic_string</code></td><td align="left"><code class="filename">string</code></td></tr><tr><td align="left"><code class="classname">std::vector</code></td><td align="left"><code class="filename">vector</code></td><td align="left"><code class="classname">__gnu_debug::vector</code></td><td align="left"><code class="filename">vector</code></td></tr></tbody></table></div></div><br class="table-break" /><p>In addition, when compiling in C++0x mode, these additional
containers have additional debug capability.
-</p><div class="table"><a id="id646525"></a><p class="title"><b>Table 30.2. Debugging Containers C++0x</b></p><div class="table-contents"><table summary="Debugging Containers C++0x" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::unordered_map</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_map</code></td><td align="left"><code class="filename">unordered_map</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multimap</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multimap</code></td><td align="left"><code class="filename">unordered_map</code></td></tr><tr><td align="left"><code class="classname">std::unordered_set</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_set</code></td><td align="left"><code class="filename">unordered_set</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multiset</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multiset</code></td><td align="left"><code class="filename">unordered_set</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt12ch30s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt12ch30s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
+</p><div class="table"><a id="id509362"></a><p class="title"><b>Table 30.2. Debugging Containers C++0x</b></p><div class="table-contents"><table summary="Debugging Containers C++0x" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::unordered_map</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_map</code></td><td align="left"><code class="filename">unordered_map</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multimap</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multimap</code></td><td align="left"><code class="filename">unordered_map</code></td></tr><tr><td align="left"><code class="classname">std::unordered_set</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_set</code></td><td align="left"><code class="filename">unordered_set</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multiset</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multiset</code></td><td align="left"><code class="filename">unordered_set</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt12ch30s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt12ch30s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch30s04.html b/libstdc++-v3/doc/html/manual/bk01pt12ch30s04.html
index 32dc8d72c01..862789635a7 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch30s04.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch30s04.html
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="debug_mode.html" title="Chapter 30. Debug Mode" /><link rel="prev" href="bk01pt12ch30s03.html" title="Using" /><link rel="next" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch30s03.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.design"></a>Design</h2></div></div></div><p>
- </p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.goals"></a>Goals</h3></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="debug_mode.html" title="Chapter 30. Debug Mode" /><link rel="prev" href="bk01pt12ch30s03.html" title="Using" /><link rel="next" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch30s03.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.design"></a>Design</h2></div></div></div><p>
+ </p><div class="sect2" title="Goals"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.goals"></a>Goals</h3></div></div></div><p>
</p><p> The libstdc++ debug mode replaces unsafe (but efficient) standard
containers and iterators with semantically equivalent safe standard
containers and iterators to aid in debugging user programs. The
- following goals directed the design of the libstdc++ debug mode:</p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Correctness</em></span>: the libstdc++ debug mode must not change
+ following goals directed the design of the libstdc++ debug mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Correctness</em></span>: the libstdc++ debug mode must not change
the semantics of the standard library for all cases specified in
the ANSI/ISO C++ standard. The essence of this constraint is that
any valid C++ program should behave in the same manner regardless
@@ -16,18 +16,18 @@
valid. A program that is not valid C++ (e.g., invokes undefined
behavior) is not required to behave similarly, although the debug
mode will abort with a diagnostic when it detects undefined
- behavior.</p></li><li><p><span class="emphasis"><em>Performance</em></span>: the additional of the libstdc++ debug mode
+ behavior.</p></li><li class="listitem"><p><span class="emphasis"><em>Performance</em></span>: the additional of the libstdc++ debug mode
must not affect the performance of the library when it is compiled
in release mode. Performance of the libstdc++ debug mode is
secondary (and, in fact, will be worse than the release
- mode).</p></li><li><p><span class="emphasis"><em>Usability</em></span>: the libstdc++ debug mode should be easy to
+ mode).</p></li><li class="listitem"><p><span class="emphasis"><em>Usability</em></span>: the libstdc++ debug mode should be easy to
use. It should be easily incorporated into the user's development
environment (e.g., by requiring only a single new compiler switch)
and should produce reasonable diagnostics when it detects a
problem with the user program. Usability also involves detection
of errors when using the debug mode incorrectly, e.g., by linking
a release-compiled object against a debug-compiled object if in
- fact the resulting program will not run correctly.</p></li><li><p><span class="emphasis"><em>Minimize recompilation</em></span>: While it is expected that
+ fact the resulting program will not run correctly.</p></li><li class="listitem"><p><span class="emphasis"><em>Minimize recompilation</em></span>: While it is expected that
users recompile at least part of their program to use debug
mode, the amount of recompilation affects the
detect-compile-debug turnaround time. This indirectly affects the
@@ -39,24 +39,24 @@
higher-numbered conformance levels are more usable (i.e., require
less recompilation) but are more complicated to implement than
the lower-numbered conformance levels.
- </p><div class="orderedlist"><ol type="1"><li><p><span class="emphasis"><em>Full recompilation</em></span>: The user must recompile his or
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><span class="emphasis"><em>Full recompilation</em></span>: The user must recompile his or
her entire application and all C++ libraries it depends on,
including the C++ standard library that ships with the
compiler. This must be done even if only a small part of the
- program can use debugging features.</p></li><li><p><span class="emphasis"><em>Full user recompilation</em></span>: The user must recompile
+ program can use debugging features.</p></li><li class="listitem"><p><span class="emphasis"><em>Full user recompilation</em></span>: The user must recompile
his or her entire application and all C++ libraries it depends
on, but not the C++ standard library itself. This must be done
even if only a small part of the program can use debugging
features. This can be achieved given a full recompilation
system by compiling two versions of the standard library when
the compiler is installed and linking against the appropriate
- one, e.g., a multilibs approach.</p></li><li><p><span class="emphasis"><em>Partial recompilation</em></span>: The user must recompile the
+ one, e.g., a multilibs approach.</p></li><li class="listitem"><p><span class="emphasis"><em>Partial recompilation</em></span>: The user must recompile the
parts of his or her application and the C++ libraries it
depends on that will use the debugging facilities
directly. This means that any code that uses the debuggable
standard containers would need to be recompiled, but code
that does not use them (but may, for instance, use IOStreams)
- would not have to be recompiled.</p></li><li><p><span class="emphasis"><em>Per-use recompilation</em></span>: The user must recompile the
+ would not have to be recompiled.</p></li><li class="listitem"><p><span class="emphasis"><em>Per-use recompilation</em></span>: The user must recompile the
parts of his or her application and the C++ libraries it
depends on where debugging should occur, and any other code
that interacts with those containers. This means that a set of
@@ -74,7 +74,7 @@
behavior is technically a violation of the One Definition
Rule, this ability tends to be very important in
practice. The libstdc++ debug mode supports this level of
- recompilation. </p></li><li><p><span class="emphasis"><em>Per-unit recompilation</em></span>: The user must only
+ recompilation. </p></li><li class="listitem"><p><span class="emphasis"><em>Per-unit recompilation</em></span>: The user must only
recompile the translation units where checking should occur,
regardless of where debuggable standard containers are
used. This has also been dubbed "<code class="code">-g</code> mode",
@@ -89,10 +89,10 @@
(performance regression) or allocating extra memory associated
with each iterator with <code class="code">new</code> (changes the program
semantics).</p></li></ol></div><p>
- </p></li></ul></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.methods"></a>Methods</h3></div></div></div><p>
+ </p></li></ul></div></div><div class="sect2" title="Methods"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.methods"></a>Methods</h3></div></div></div><p>
</p><p>This section provides an overall view of the design of the
libstdc++ debug mode and details the relationship between design
- decisions and the stated design goals.</p><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.wrappers"></a>The Wrapper Model</h4></div></div></div><p>The libstdc++ debug mode uses a wrapper model where the
+ decisions and the stated design goals.</p><div class="sect3" title="The Wrapper Model"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.wrappers"></a>The Wrapper Model</h4></div></div></div><p>The libstdc++ debug mode uses a wrapper model where the
debugging versions of library components (e.g., iterators and
containers) form a layer on top of the release versions of the
library components. The debugging components first verify that the
@@ -109,19 +109,19 @@
their associated containers, which are necessary to detect certain
types of standard library usage errors such as dereferencing
past-the-end iterators or inserting into a container using an
- iterator from a different container.</p><div class="sect4" lang="en" xml:lang="en"><div class="titlepage"><div><div><h5 class="title"><a id="debug_mode.design.methods.safe_iter"></a>Safe Iterators</h5></div></div></div><p>Iterator wrappers provide a debugging layer over any iterator that
+ iterator from a different container.</p><div class="sect4" title="Safe Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="debug_mode.design.methods.safe_iter"></a>Safe Iterators</h5></div></div></div><p>Iterator wrappers provide a debugging layer over any iterator that
is attached to a particular container, and will manage the
information detailing the iterator's state (singular,
dereferenceable, etc.) and tracking the container to which the
iterator is attached. Because iterators have a well-defined, common
interface the iterator wrapper is implemented with the iterator
adaptor class template <code class="code">__gnu_debug::_Safe_iterator</code>,
- which takes two template parameters:</p><div class="itemizedlist"><ul type="disc"><li><p><code class="code">Iterator</code>: The underlying iterator type, which must
+ which takes two template parameters:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">Iterator</code>: The underlying iterator type, which must
be either the <code class="code">iterator</code> or <code class="code">const_iterator</code>
- typedef from the sequence type this iterator can reference.</p></li><li><p><code class="code">Sequence</code>: The type of sequence that this iterator
+ typedef from the sequence type this iterator can reference.</p></li><li class="listitem"><p><code class="code">Sequence</code>: The type of sequence that this iterator
references. This sequence must be a safe sequence (discussed below)
whose <code class="code">iterator</code> or <code class="code">const_iterator</code> typedef
- is the type of the safe iterator.</p></li></ul></div></div><div class="sect4" lang="en" xml:lang="en"><div class="titlepage"><div><div><h5 class="title"><a id="debug_mode.design.methods.safe_seq"></a>Safe Sequences (Containers)</h5></div></div></div><p>Container wrappers provide a debugging layer over a particular
+ is the type of the safe iterator.</p></li></ul></div></div><div class="sect4" title="Safe Sequences (Containers)"><div class="titlepage"><div><div><h5 class="title"><a id="debug_mode.design.methods.safe_seq"></a>Safe Sequences (Containers)</h5></div></div></div><p>Container wrappers provide a debugging layer over a particular
container type. Because containers vary greatly in the member
functions they support and the semantics of those member functions
(especially in the area of iterator invalidation), container
@@ -157,7 +157,7 @@ template&lt;typename _Tp, typename _Allocator = allocator&lt;_Tp&gt;
// duplicate std::list interface with debugging semantics
};
-</pre></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.precond"></a>Precondition Checking</h4></div></div></div><p>The debug mode operates primarily by checking the preconditions of
+</pre></div></div><div class="sect3" title="Precondition Checking"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.precond"></a>Precondition Checking</h4></div></div></div><p>The debug mode operates primarily by checking the preconditions of
all standard library operations that it supports. Preconditions that
are always checked (regardless of whether or not we are in debug
mode) are checked via the <code class="code">__check_xxx</code> macros defined
@@ -184,7 +184,7 @@ template&lt;typename _Tp, typename _Allocator = allocator&lt;_Tp&gt;
cousin <code class="code">_GLIBCXX_DEBUG_PEDASSERT</code>, or the assertion
check macro that supports more advance formulation of error
messages, <code class="code">_GLIBCXX_DEBUG_VERIFY</code>. These macros are
- documented more thoroughly in the debug mode source code.</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.coexistence"></a>Release- and debug-mode coexistence</h4></div></div></div><p>The libstdc++ debug mode is the first debug mode we know of that
+ documented more thoroughly in the debug mode source code.</p></div><div class="sect3" title="Release- and debug-mode coexistence"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.coexistence"></a>Release- and debug-mode coexistence</h4></div></div></div><p>The libstdc++ debug mode is the first debug mode we know of that
is able to provide the "Per-use recompilation" (4) guarantee, that
allows release-compiled and debug-compiled code to be linked and
executed together without causing unpredictable behavior. This
@@ -200,7 +200,7 @@ template&lt;typename _Tp, typename _Allocator = allocator&lt;_Tp&gt;
recompilation but have had to give up some checking of the
<code class="code">std::basic_string</code> class template (namely, safe
iterators).
-</p><div class="sect4" lang="en" xml:lang="en"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.compile"></a>Compile-time coexistence of release- and debug-mode components</h5></div></div></div><p>Both the release-mode components and the debug-mode
+</p><div class="sect4" title="Compile-time coexistence of release- and debug-mode components"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.compile"></a>Compile-time coexistence of release- and debug-mode components</h5></div></div></div><p>Both the release-mode components and the debug-mode
components need to exist within a single translation unit so that
the debug versions can wrap the release versions. However, only one
of these components should be user-visible at any particular
@@ -254,7 +254,7 @@ namespace std
// namespace __debug __attribute__ ((strong));
inline namespace __debug { }
}
-</pre></div><div class="sect4" lang="en" xml:lang="en"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.link"></a>Link- and run-time coexistence of release- and
+</pre></div><div class="sect4" title="Link- and run-time coexistence of release- and debug-mode components"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.link"></a>Link- and run-time coexistence of release- and
debug-mode components</h5></div></div></div><p>Because each component has a distinct and separate release and
debug implementation, there are are no issues with link-time
coexistence: the separate namespaces result in different mangled
@@ -301,11 +301,11 @@ test02()
release-mode <code class="code">basic_string</code>? While the answer could be
"both", and the difference hidden via renaming a la the
debug/release containers, we must note two things about locale
- facets:</p><div class="orderedlist"><ol type="1"><li><p>They exist as shared state: one can create a facet in one
+ facets:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>They exist as shared state: one can create a facet in one
translation unit and access the facet via the same type name in a
different translation unit. This means that we cannot have two
different versions of locale facets, because the types would not be
- the same across debug/release-mode translation unit barriers.</p></li><li><p>They have virtual functions returning strings: these functions
+ the same across debug/release-mode translation unit barriers.</p></li><li class="listitem"><p>They have virtual functions returning strings: these functions
mangle in the same way regardless of the mangling of their return
types (see above), and their precise signatures can be relied upon
by users because they may be overridden in derived classes.</p></li></ol></div><p>With the design of libstdc++ debug mode, we cannot effectively hide
@@ -316,24 +316,24 @@ test02()
changes. The effect on users is expected to be minimal, as there are
simple alternatives (e.g., <code class="code">__gnu_debug::basic_string</code>),
and the usability benefit we gain from the ability to mix debug- and
- release-compiled translation units is enormous.</p></div><div class="sect4" lang="en" xml:lang="en"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.alt"></a>Alternatives for Coexistence</h5></div></div></div><p>The coexistence scheme above was chosen over many alternatives,
+ release-compiled translation units is enormous.</p></div><div class="sect4" title="Alternatives for Coexistence"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.alt"></a>Alternatives for Coexistence</h5></div></div></div><p>The coexistence scheme above was chosen over many alternatives,
including language-only solutions and solutions that also required
extensions to the C++ front end. The following is a partial list of
- solutions, with justifications for our rejection of each.</p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Completely separate debug/release libraries</em></span>: This is by
+ solutions, with justifications for our rejection of each.</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Completely separate debug/release libraries</em></span>: This is by
far the simplest implementation option, where we do not allow any
coexistence of debug- and release-compiled translation units in a
program. This solution has an extreme negative affect on usability,
because it is quite likely that some libraries an application
depends on cannot be recompiled easily. This would not meet
our <span class="emphasis"><em>usability</em></span> or <span class="emphasis"><em>minimize recompilation</em></span> criteria
- well.</p></li><li><p><span class="emphasis"><em>Add a <code class="code">Debug</code> boolean template parameter</em></span>:
+ well.</p></li><li class="listitem"><p><span class="emphasis"><em>Add a <code class="code">Debug</code> boolean template parameter</em></span>:
Partial specialization could be used to select the debug
implementation when <code class="code">Debug == true</code>, and the state
of <code class="code">_GLIBCXX_DEBUG</code> could decide whether the
default <code class="code">Debug</code> argument is <code class="code">true</code>
or <code class="code">false</code>. This option would break conformance with the
C++ standard in both debug <span class="emphasis"><em>and</em></span> release modes. This would
- not meet our <span class="emphasis"><em>correctness</em></span> criteria. </p></li><li><p><span class="emphasis"><em>Packaging a debug flag in the allocators</em></span>: We could
+ not meet our <span class="emphasis"><em>correctness</em></span> criteria. </p></li><li class="listitem"><p><span class="emphasis"><em>Packaging a debug flag in the allocators</em></span>: We could
reuse the <code class="code">Allocator</code> template parameter of containers
by adding a sentinel wrapper <code class="code">debug&lt;&gt;</code> that
signals the user's intention to use debugging, and pick up
@@ -344,18 +344,18 @@ test02()
(and more importantly), users that specify allocators instead of
implicitly using the default allocator would not get debugging
containers. Thus this solution fails the <span class="emphasis"><em>correctness</em></span>
- criteria.</p></li><li><p><span class="emphasis"><em>Define debug containers in another namespace, and employ
+ criteria.</p></li><li class="listitem"><p><span class="emphasis"><em>Define debug containers in another namespace, and employ
a <code class="code">using</code> declaration (or directive)</em></span>: This is an
enticing option, because it would eliminate the need for
the <code class="code">link_name</code> extension by aliasing the
templates. However, there is no true template aliasing mechanism
is C++, because both <code class="code">using</code> directives and using
declarations disallow specialization. This method fails
- the <span class="emphasis"><em>correctness</em></span> criteria.</p></li><li><p><span class="emphasis"><em> Use implementation-specific properties of anonymous
+ 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
namespaces. </em></span>
See <a class="ulink" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00004.html" target="_top"> this post
</a>
- This method fails the <span class="emphasis"><em>correctness</em></span> criteria.</p></li><li><p><span class="emphasis"><em>Extension: allow reopening on namespaces</em></span>: This would
+ 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
allow the debug mode to effectively alias the
namespace <code class="code">std</code> to an internal namespace, such
as <code class="code">__gnu_std_debug</code>, so that it is completely
@@ -366,7 +366,7 @@ test02()
instance, the program would have two <code class="code">std::cout</code>
objects! This solution would fails the <span class="emphasis"><em>minimize
recompilation</em></span> requirement, because we would only be able to
- support option (1) or (2).</p></li><li><p><span class="emphasis"><em>Extension: use link name</em></span>: This option involves
+ support option (1) or (2).</p></li><li class="listitem"><p><span class="emphasis"><em>Extension: use link name</em></span>: This option involves
complicated re-naming between debug-mode and release-mode
components at compile time, and then a g++ extension called <span class="emphasis"><em>
link name </em></span> to recover the original names at link time. There
@@ -388,23 +388,23 @@ test02()
that breaks user specialization), and additional testcases will be
added as we are able to identify other typical problem cases. These
test cases will serve as a benchmark by which we can compare debug
- mode implementations.</p></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.other"></a>Other Implementations</h3></div></div></div><p>
+ mode implementations.</p></div></div></div><div class="sect2" title="Other Implementations"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.other"></a>Other Implementations</h3></div></div></div><p>
</p><p> There are several existing implementations of debug modes for C++
standard library implementations, although none of them directly
supports debugging for programs using libstdc++. The existing
- implementations include:</p><div class="itemizedlist"><ul type="disc"><li><p><a class="ulink" href="http://www.mathcs.sjsu.edu/faculty/horstman/safestl.html" target="_top">SafeSTL</a>:
+ implementations include:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="ulink" href="http://www.mathcs.sjsu.edu/faculty/horstman/safestl.html" target="_top">SafeSTL</a>:
SafeSTL was the original debugging version of the Standard Template
Library (STL), implemented by Cay S. Horstmann on top of the
Hewlett-Packard STL. Though it inspired much work in this area, it
has not been kept up-to-date for use with modern compilers or C++
- standard library implementations.</p></li><li><p><a class="ulink" href="http://www.stlport.org/" target="_top">STLport</a>: STLport is a free
+ standard library implementations.</p></li><li class="listitem"><p><a class="ulink" href="http://www.stlport.org/" target="_top">STLport</a>: STLport is a free
implementation of the C++ standard library derived from the <a class="ulink" href="http://www.sgi.com/tech/stl/" target="_top">SGI implementation</a>, and
ported to many other platforms. It includes a debug mode that uses a
wrapper model (that in some ways inspired the libstdc++ debug mode
design), although at the time of this writing the debug mode is
somewhat incomplete and meets only the "Full user recompilation" (2)
recompilation guarantee by requiring the user to link against a
- different library in debug mode vs. release mode.</p></li><li><p>Metrowerks CodeWarrior: The C++ standard library
+ different library in debug mode vs. release mode.</p></li><li class="listitem"><p>Metrowerks CodeWarrior: The C++ standard library
that ships with Metrowerks CodeWarrior includes a debug mode. It is
a full debug-mode implementation (including debugging for
CodeWarrior extensions) and is easy to use, although it meets only
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch31s02.html b/libstdc++-v3/doc/html/manual/bk01pt12ch31s02.html
index 9418c79cdfe..64acc0aa5c3 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch31s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch31s02.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Semantics</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /><link rel="prev" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /><link rel="next" href="bk01pt12ch31s03.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 31. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch31s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.semantics"></a>Semantics</h2></div></div></div><p> The parallel mode STL algorithms are currently not exception-safe,
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Semantics</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /><link rel="prev" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /><link rel="next" href="bk01pt12ch31s03.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 31. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch31s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Semantics"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.semantics"></a>Semantics</h2></div></div></div><p> The parallel mode STL algorithms are currently not exception-safe,
i.e. user-defined functors must not throw exceptions.
Also, the order of execution is not guaranteed for some functions, of course.
Therefore, user-defined functors should not have any concurrent side effects.
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch31s03.html b/libstdc++-v3/doc/html/manual/bk01pt12ch31s03.html
index 265a3116022..542d9bed0c9 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch31s03.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch31s03.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Using</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /><link rel="prev" href="bk01pt12ch31s02.html" title="Semantics" /><link rel="next" href="bk01pt12ch31s04.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch31s02.html">Prev</a> </td><th width="60%" align="center">Chapter 31. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch31s04.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.using"></a>Using</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.prereq_flags"></a>Prerequisite Compiler Flags</h3></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Using</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /><link rel="prev" href="bk01pt12ch31s02.html" title="Semantics" /><link rel="next" href="bk01pt12ch31s04.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch31s02.html">Prev</a> </td><th width="60%" align="center">Chapter 31. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch31s04.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Using"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.using"></a>Using</h2></div></div></div><div class="sect2" title="Prerequisite Compiler Flags"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.prereq_flags"></a>Prerequisite Compiler Flags</h3></div></div></div><p>
Any use of parallel functionality requires additional compiler
and runtime support, in particular support for OpenMP. Adding this support is
not difficult: just compile your application with the compiler
@@ -17,7 +17,7 @@ In addition, hardware that supports atomic operations and a compiler
as <code class="literal">-march=i686</code>,
<code class="literal">-march=native</code> or <code class="literal">-mcpu=v9</code>. See
the GCC manual for more information.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.parallel_mode"></a>Using Parallel Mode</h3></div></div></div><p>
+</p></div><div class="sect2" title="Using Parallel Mode"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.parallel_mode"></a>Using Parallel Mode</h3></div></div></div><p>
To use the libstdc++ parallel mode, compile your application with
the prerequisite flags as detailed above, and in addition
add <code class="constant">-D_GLIBCXX_PARALLEL</code>. This will convert all
@@ -34,7 +34,7 @@ In addition, hardware that supports atomic operations and a compiler
if no instantiation of a container is passed between the two
translation units. Parallel mode functionality has distinct linkage,
and cannot be confused with normal mode symbols.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.specific"></a>Using Specific Parallel Components</h3></div></div></div><p>When it is not feasible to recompile your entire application, or
+</p></div><div class="sect2" title="Using Specific Parallel Components"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.specific"></a>Using Specific Parallel Components</h3></div></div></div><p>When it is not feasible to recompile your entire application, or
only specific algorithms need to be parallel-aware, individual
parallel algorithms can be made available explicitly. These
parallel algorithms are functionally equivalent to the standard
@@ -63,4 +63,4 @@ Then compile this code with the prerequisite compiler flags
flags for atomic operations.)
</p><p> The following table provides the names and headers of all the
parallel algorithms that can be used in a similar manner:
-</p><div class="table"><a id="id731921"></a><p class="title"><b>Table 31.1. Parallel Algorithms</b></p><div class="table-contents"><table summary="Parallel Algorithms" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Algorithm</th><th align="left">Header</th><th align="left">Parallel algorithm</th><th align="left">Parallel header</th></tr></thead><tbody><tr><td align="left"><code class="function">std::accumulate</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::accumulate</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_difference</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_difference</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::inner_product</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::inner_product</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::partial_sum</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::partial_sum</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::equal</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::equal</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_first_of</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_first_of</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::for_each</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::for_each</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::lexicographical_compare</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::lexicographical_compare</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::mismatch</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::mismatch</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::transform</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::transform</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::max_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::max_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::merge</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::merge</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::min_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::min_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::nth_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::nth_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partial_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partial_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partition</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partition</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::random_shuffle</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::random_shuffle</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_union</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_union</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_intersection</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_intersection</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_symmetric_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_symmetric_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::stable_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::stable_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::unique_copy</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::unique_copy</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt12ch31s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt12ch31s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
+</p><div class="table"><a id="id463234"></a><p class="title"><b>Table 31.1. Parallel Algorithms</b></p><div class="table-contents"><table summary="Parallel Algorithms" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Algorithm</th><th align="left">Header</th><th align="left">Parallel algorithm</th><th align="left">Parallel header</th></tr></thead><tbody><tr><td align="left"><code class="function">std::accumulate</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::accumulate</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_difference</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_difference</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::inner_product</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::inner_product</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::partial_sum</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::partial_sum</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::equal</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::equal</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_first_of</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_first_of</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::for_each</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::for_each</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::lexicographical_compare</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::lexicographical_compare</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::mismatch</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::mismatch</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::transform</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::transform</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::max_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::max_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::merge</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::merge</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::min_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::min_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::nth_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::nth_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partial_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partial_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partition</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partition</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::random_shuffle</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::random_shuffle</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_union</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_union</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_intersection</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_intersection</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_symmetric_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_symmetric_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::stable_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::stable_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::unique_copy</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::unique_copy</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt12ch31s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt12ch31s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch31s04.html b/libstdc++-v3/doc/html/manual/bk01pt12ch31s04.html
index 26ea42d8398..16178cbfca2 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch31s04.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch31s04.html
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /><link rel="prev" href="bk01pt12ch31s03.html" title="Using" /><link rel="next" href="bk01pt12ch31s05.html" title="Testing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch31s03.html">Prev</a> </td><th width="60%" align="center">Chapter 31. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch31s05.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.design"></a>Design</h2></div></div></div><p>
- </p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.intro"></a>Interface Basics</h3></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /><link rel="prev" href="bk01pt12ch31s03.html" title="Using" /><link rel="next" href="bk01pt12ch31s05.html" title="Testing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch31s03.html">Prev</a> </td><th width="60%" align="center">Chapter 31. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch31s05.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.design"></a>Design</h2></div></div></div><p>
+ </p><div class="sect2" title="Interface Basics"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.intro"></a>Interface Basics</h3></div></div></div><p>
All parallel algorithms are intended to have signatures that are
equivalent to the ISO C++ algorithms replaced. For instance, the
<code class="function">std::adjacent_find</code> function is declared as:
@@ -36,13 +36,13 @@ function, if no parallel functions are deemed worthy), based on either
compile-time or run-time conditions.
</p><p> The available signature options are specific for the different
algorithms/algorithm classes.</p><p> The general view of overloads for the parallel algorithms look like this:
-</p><div class="itemizedlist"><ul type="disc"><li><p>ISO C++ signature</p></li><li><p>ISO C++ signature + sequential_tag argument</p></li><li><p>ISO C++ signature + algorithm-specific tag type
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>ISO C++ signature</p></li><li class="listitem"><p>ISO C++ signature + sequential_tag argument</p></li><li class="listitem"><p>ISO C++ signature + algorithm-specific tag type
(several signatures)</p></li></ul></div><p> Please note that the implementation may use additional functions
(designated with the <code class="code">_switch</code> suffix) to dispatch from the
ISO C++ signature to the correct parallel version. Also, some of the
algorithms do not have support for run-time conditions, so the last
overload is therefore missing.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.tuning"></a>Configuration and Tuning</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.omp"></a>Setting up the OpenMP Environment</h4></div></div></div><p>
+</p></div><div class="sect2" title="Configuration and Tuning"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.tuning"></a>Configuration and Tuning</h3></div></div></div><div class="sect3" title="Setting up the OpenMP Environment"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.omp"></a>Setting up the OpenMP Environment</h4></div></div></div><p>
Several aspects of the overall runtime environment can be manipulated
by standard OpenMP function calls.
</p><p>
@@ -72,7 +72,7 @@ Other parts of the runtime environment able to be manipulated include
nested parallelism (<code class="function">omp_set_nested</code>), schedule kind
(<code class="function">omp_set_schedule</code>), and others. See the OpenMP
documentation for more information.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.compile"></a>Compile Time Switches</h4></div></div></div><p>
+</p></div><div class="sect3" title="Compile Time Switches"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.compile"></a>Compile Time Switches</h4></div></div></div><p>
To force an algorithm to execute sequentially, even though parallelism
is switched on in general via the macro <code class="constant">_GLIBCXX_PARALLEL</code>,
add <code class="classname">__gnu_parallel::sequential_tag()</code> to the end
@@ -126,7 +126,7 @@ several additional choices, namely
<code class="code">__gnu_parallel::balanced_quicksort_tag</code>.
Multiway mergesort comes with the two splitting strategies for multi-way
merging. The quicksort options cannot be used for <code class="code">stable_sort</code>.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.settings"></a>Run Time Settings and Defaults</h4></div></div></div><p>
+</p></div><div class="sect3" title="Run Time Settings and Defaults"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.settings"></a>Run Time Settings and Defaults</h4></div></div></div><p>
The default parallelization strategy, the choice of specific algorithm
strategy, the minimum threshold limits for individual parallel
algorithms, and aspects of the underlying hardware can be specified as
@@ -194,7 +194,7 @@ int main()
return 0;
}
-</pre></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.impl"></a>Implementation Namespaces</h3></div></div></div><p> One namespace contain versions of code that are always
+</pre></div></div><div class="sect2" title="Implementation Namespaces"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.impl"></a>Implementation Namespaces</h3></div></div></div><p> One namespace contain versions of code that are always
explicitly sequential:
<code class="code">__gnu_serial</code>.
</p><p> Two namespaces contain the parallel mode:
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch31s05.html b/libstdc++-v3/doc/html/manual/bk01pt12ch31s05.html
index 18598fcb319..6a10f32eea9 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch31s05.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch31s05.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Testing</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /><link rel="prev" href="bk01pt12ch31s04.html" title="Design" /><link rel="next" href="profile_mode.html" title="Chapter 32. Profile Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch31s04.html">Prev</a> </td><th width="60%" align="center">Chapter 31. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.test"></a>Testing</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Testing</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /><link rel="prev" href="bk01pt12ch31s04.html" title="Design" /><link rel="next" href="profile_mode.html" title="Chapter 32. Profile Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch31s04.html">Prev</a> </td><th width="60%" align="center">Chapter 31. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Testing"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.test"></a>Testing</h2></div></div></div><p>
Both the normal conformance and regression tests and the
supplemental performance tests work.
</p><p>
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch32s02.html b/libstdc++-v3/doc/html/manual/bk01pt12ch32s02.html
index 70f0eef3199..e3db40de94f 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch32s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch32s02.html
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="prev" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="next" href="bk01pt12ch32s03.html" title="Extensions for Custom Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 32. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch32s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.design"></a>Design</h2></div></div></div><p>
-</p><div class="table"><a id="id647548"></a><p class="title"><b>Table 32.1. Code Location</b></p><div class="table-contents"><table summary="Code Location" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Code Location</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left"><code class="code">libstdc++-v3/include/std/*</code></td><td align="left">Preprocessor code to redirect to profile extension headers.</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/*</code></td><td align="left">Profile extension public headers (map, vector, ...).</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/impl/*</code></td><td align="left">Profile extension internals. Implementation files are
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="prev" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="next" href="bk01pt12ch32s03.html" title="Extensions for Custom Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 32. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch32s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.design"></a>Design</h2></div></div></div><p>
+</p><div class="table"><a id="id415042"></a><p class="title"><b>Table 32.1. Code Location</b></p><div class="table-contents"><table summary="Code Location" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Code Location</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left"><code class="code">libstdc++-v3/include/std/*</code></td><td align="left">Preprocessor code to redirect to profile extension headers.</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/*</code></td><td align="left">Profile extension public headers (map, vector, ...).</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/impl/*</code></td><td align="left">Profile extension internals. Implementation files are
only included from <code class="code">impl/profiler.h</code>, which is the only
file included from the public headers.</td></tr></tbody></table></div></div><br class="table-break" /><p>
-</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.wrapper"></a>Wrapper Model</h3></div></div></div><p>
+</p><div class="sect2" title="Wrapper Model"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.wrapper"></a>Wrapper Model</h3></div></div></div><p>
In order to get our instrumented library version included instead of the
release one,
we use the same wrapper model as the debug mode.
@@ -25,7 +25,7 @@
Currently, mixing the profile mode with debug and parallel extensions is
not allowed. Mixing them at compile time will result in preprocessor errors.
Mixing them at link time is undefined.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.instrumentation"></a>Instrumentation</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Instrumentation"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.instrumentation"></a>Instrumentation</h3></div></div></div><p>
Instead of instrumenting every public entry and exit point,
we chose to add instrumentation on demand, as needed
by individual diagnostics.
@@ -44,7 +44,7 @@
</p><p>
All the instrumentation on/off compile time switches live in
<code class="code">include/profile/profiler.h</code>.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.rtlib"></a>Run Time Behavior</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Run Time Behavior"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.rtlib"></a>Run Time Behavior</h3></div></div></div><p>
For practical reasons, the instrumentation library processes the trace
partially
rather than dumping it to disk in raw form. Each event is processed when
@@ -63,25 +63,25 @@
For details, see
<a class="ulink" href="http://dx.doi.org/10.1109/CGO.2009.36" target="_top">paper presented at
CGO 2009</a>.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.analysis"></a>Analysis and Diagnostics</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Analysis and Diagnostics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.analysis"></a>Analysis and Diagnostics</h3></div></div></div><p>
Final analysis takes place offline, and it is based entirely on the
generated trace and debugging info in the application binary.
See section Diagnostics for a list of analysis types that we plan to support.
</p><p>
The input to the analysis is a table indexed by profile type and call stack.
The data type for each entry depends on the profile type.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.cost-model"></a>Cost Model</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Cost Model"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.cost-model"></a>Cost Model</h3></div></div></div><p>
While it is likely that cost models become complex as we get into
more sophisticated analysis, we will try to follow a simple set of rules
at the beginning.
- </p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Relative benefit estimation:</em></span>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Relative benefit estimation:</em></span>
The idea is to estimate or measure the cost of all operations
in the original scenario versus the scenario we advise to switch to.
For instance, when advising to change a vector to a list, an occurrence
of the <code class="code">insert</code> method will generally count as a benefit.
Its magnitude depends on (1) the number of elements that get shifted
and (2) whether it triggers a reallocation.
- </p></li><li><p><span class="emphasis"><em>Synthetic measurements:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Synthetic measurements:</em></span>
We will measure the relative difference between similar operations on
different containers. We plan to write a battery of small tests that
compare the times of the executions of similar methods on different
@@ -89,16 +89,16 @@
If this training phase is very quick, we may decide to perform it at
library initialization time. The results can be cached on disk and reused
across runs.
- </p></li><li><p><span class="emphasis"><em>Timers:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Timers:</em></span>
We plan to use timers for operations of larger granularity, such as sort.
For instance, we can switch between different sort methods on the fly
and report the one that performs best for each call context.
- </p></li><li><p><span class="emphasis"><em>Show stoppers:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Show stoppers:</em></span>
We may decide that the presence of an operation nullifies the advice.
For instance, when considering switching from <code class="code">set</code> to
<code class="code">unordered_set</code>, if we detect use of operator <code class="code">++</code>,
we will simply not issue the advice, since this could signal that the use
- care require a sorted container.</p></li></ul></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.reports"></a>Reports</h3></div></div></div><p>
+ care require a sorted container.</p></li></ul></div></div><div class="sect2" title="Reports"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.reports"></a>Reports</h3></div></div></div><p>
There are two types of reports. First, if we recognize a pattern for which
we have a substitute that is likely to give better performance, we print
the advice and estimated performance gain. The advice is usually associated
@@ -110,7 +110,7 @@ the top 10 <code class="code">multimap</code> locations
which have the worst data locality in actual traversals.
Although this does not offer a solution,
it helps the user focus on the key problems and ignore the uninteresting ones.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.testing"></a>Testing</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Testing"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.testing"></a>Testing</h3></div></div></div><p>
First, we want to make sure we preserve the behavior of the release mode.
You can just type <code class="code">"make check-profile"</code>, which
builds and runs the whole test suite in profile mode.
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch32s03.html b/libstdc++-v3/doc/html/manual/bk01pt12ch32s03.html
index 36aaf9392da..f943e20f0e7 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch32s03.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch32s03.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Extensions for Custom Containers</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="prev" href="bk01pt12ch32s02.html" title="Design" /><link rel="next" href="bk01pt12ch32s04.html" title="Empirical Cost Model" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Extensions for Custom Containers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch32s02.html">Prev</a> </td><th width="60%" align="center">Chapter 32. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch32s04.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.api"></a>Extensions for Custom Containers</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Extensions for Custom Containers</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="prev" href="bk01pt12ch32s02.html" title="Design" /><link rel="next" href="bk01pt12ch32s04.html" title="Empirical Cost Model" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Extensions for Custom Containers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch32s02.html">Prev</a> </td><th width="60%" align="center">Chapter 32. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch32s04.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Extensions for Custom Containers"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.api"></a>Extensions for Custom Containers</h2></div></div></div><p>
Many large projects use their own data structures instead of the ones in the
standard library. If these data structures are similar in functionality
to the standard library, they can be instrumented with the same hooks
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch32s04.html b/libstdc++-v3/doc/html/manual/bk01pt12ch32s04.html
index 4246904d4fe..70a142871d2 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch32s04.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch32s04.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Empirical Cost Model</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="prev" href="bk01pt12ch32s03.html" title="Extensions for Custom Containers" /><link rel="next" href="bk01pt12ch32s05.html" title="Implementation Issues" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Empirical Cost Model</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch32s03.html">Prev</a> </td><th width="60%" align="center">Chapter 32. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch32s05.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.cost_model"></a>Empirical Cost Model</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Empirical Cost Model</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="prev" href="bk01pt12ch32s03.html" title="Extensions for Custom Containers" /><link rel="next" href="bk01pt12ch32s05.html" title="Implementation Issues" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Empirical Cost Model</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch32s03.html">Prev</a> </td><th width="60%" align="center">Chapter 32. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch32s05.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Empirical Cost Model"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.cost_model"></a>Empirical Cost Model</h2></div></div></div><p>
Currently, the cost model uses formulas with predefined relative weights
for alternative containers or container implementations. For instance,
iterating through a vector is X times faster than iterating through a list.
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch32s05.html b/libstdc++-v3/doc/html/manual/bk01pt12ch32s05.html
index 42fae0c1ed6..d64fd47518f 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch32s05.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch32s05.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Implementation Issues</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="prev" href="bk01pt12ch32s04.html" title="Empirical Cost Model" /><link rel="next" href="bk01pt12ch32s06.html" title="Developer Information" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation Issues</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch32s04.html">Prev</a> </td><th width="60%" align="center">Chapter 32. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch32s06.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.implementation"></a>Implementation Issues</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stack"></a>Stack Traces</h3></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Implementation Issues</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="prev" href="bk01pt12ch32s04.html" title="Empirical Cost Model" /><link rel="next" href="bk01pt12ch32s06.html" title="Developer Information" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation Issues</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch32s04.html">Prev</a> </td><th width="60%" align="center">Chapter 32. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch32s06.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Implementation Issues"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.implementation"></a>Implementation Issues</h2></div></div></div><div class="sect2" title="Stack Traces"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stack"></a>Stack Traces</h3></div></div></div><p>
Accurate stack traces are needed during profiling since we group events by
call context and dynamic instance. Without accurate traces, diagnostics
may be hard to interpret. For instance, when giving advice to the user
@@ -11,24 +11,24 @@
<code class="code">_GLIBCXX_PROFILE_STACK_DEPTH</code> can be set
to 0 if you are willing to give up call context information, or to a small
positive value to reduce run time overhead.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.symbols"></a>Symbolization of Instruction Addresses</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Symbolization of Instruction Addresses"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.symbols"></a>Symbolization of Instruction Addresses</h3></div></div></div><p>
The profiling and analysis phases use only instruction addresses.
An external utility such as addr2line is needed to postprocess the result.
We do not plan to add symbolization support in the profile extension.
This would require access to symbol tables, debug information tables,
external programs or libraries and other system dependent information.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.concurrency"></a>Concurrency</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Concurrency"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.concurrency"></a>Concurrency</h3></div></div></div><p>
Our current model is simplistic, but precise.
We cannot afford to approximate because some of our diagnostics require
precise matching of operations to container instance and call context.
During profiling, we keep a single information table per diagnostic.
There is a single lock per information table.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stdlib-in-proflib"></a>Using the Standard Library in the Instrumentation Implementation</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Using the Standard Library in the Instrumentation Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stdlib-in-proflib"></a>Using the Standard Library in the Instrumentation Implementation</h3></div></div></div><p>
As much as we would like to avoid uses of stdlibc++ within our
instrumentation library, containers such as unordered_map are very
appealing. We plan to use them as long as they are named properly
to avoid ambiguity.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.malloc-hooks"></a>Malloc Hooks</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Malloc Hooks"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.malloc-hooks"></a>Malloc Hooks</h3></div></div></div><p>
User applications/libraries can provide malloc hooks.
When the implementation of the malloc hooks uses stdlibc++, there can
be an infinite cycle between the profile mode instrumentation and the
@@ -42,7 +42,7 @@
uses non-recursive locks.
XXX: A definitive solution to this problem would be for the profile extension
to use a custom allocator internally, and perhaps not to use libstdc++.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.construction-destruction"></a>Construction and Destruction of Global Objects</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Construction and Destruction of Global Objects"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.construction-destruction"></a>Construction and Destruction of Global Objects</h3></div></div></div><p>
The profiling library state is initialized at the first call to a profiling
method. This allows us to record the construction of all global objects.
However, we cannot do the same at destruction time. The trace is written
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch32s06.html b/libstdc++-v3/doc/html/manual/bk01pt12ch32s06.html
index 475b2d4fffc..ec752d398de 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch32s06.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch32s06.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Developer Information</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="prev" href="bk01pt12ch32s05.html" title="Implementation Issues" /><link rel="next" href="bk01pt12ch32s07.html" title="Diagnostics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Developer Information</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch32s05.html">Prev</a> </td><th width="60%" align="center">Chapter 32. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch32s07.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.developer"></a>Developer Information</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.bigpic"></a>Big Picture</h3></div></div></div><p>The profile mode headers are included with
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Developer Information</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="prev" href="bk01pt12ch32s05.html" title="Implementation Issues" /><link rel="next" href="bk01pt12ch32s07.html" title="Diagnostics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Developer Information</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch32s05.html">Prev</a> </td><th width="60%" align="center">Chapter 32. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch32s07.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Developer Information"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.developer"></a>Developer Information</h2></div></div></div><div class="sect2" title="Big Picture"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.bigpic"></a>Big Picture</h3></div></div></div><p>The profile mode headers are included with
<code class="code">-D_GLIBCXX_PROFILE</code> through preprocessor directives in
<code class="code">include/std/*</code>.
</p><p>Instrumented implementations are provided in
@@ -14,7 +14,7 @@
must ensure (1) that the call is guarded against reentrance and
(2) that the call can be turned off at compile time using a
<code class="code">-D_GLIBCXX_PROFILE_...</code> compiler option.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.howto"></a>How To Add A Diagnostic</h3></div></div></div><p>Let's say the diagnostic name is "magic".
+ </p></div><div class="sect2" title="How To Add A Diagnostic"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.howto"></a>How To Add A Diagnostic</h3></div></div></div><p>Let's say the diagnostic name is "magic".
</p><p>If you need to instrument a header not already under
<code class="code">include/profile/*</code>, first edit the corresponding header
under <code class="code">include/std/</code> and add a preprocessor directive such
@@ -36,15 +36,15 @@
Hook names must start with <code class="code">__profcxx_</code>.
Make sure they transform
in no code with <code class="code">-D_NO_GLBICXX_PROFILE_MAGIC</code>.
- Make sure all calls to any method in namespace <code class="code">__cxxprof_impl</code>
+ Make sure all calls to any method in namespace <code class="code">__gnu_profile</code>
is protected against reentrance using macro
- <code class="code">_GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD</code>.
- All names of methods in namespace <code class="code">__cxxprof_impl</code> called from
+ <code class="code">_GLIBCXX_PROFILE_REENTRANCE_GUARD</code>.
+ All names of methods in namespace <code class="code">__gnu_profile</code> called from
<code class="code">profiler.h</code> must start with <code class="code">__trace_magic_</code>.
</p><p>Add the implementation of the diagnostic.
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
Create new file <code class="code">include/profile/impl/profiler_magic.h</code>.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Define class <code class="code">__magic_info: public __object_info_base</code>.
This is the representation of a line in the object table.
The <code class="code">__merge</code> method is used to aggregate information
@@ -53,10 +53,10 @@
as a number of small operations, e.g., number of words copied.
The <code class="code">__write</code> method is used to produce the raw trace.
The <code class="code">__advice</code> method is used to produce the advice string.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Define class <code class="code">__magic_stack_info: public __magic_info</code>.
This defines the content of a line in the stack table.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Define class <code class="code">__trace_magic: public __trace_base&lt;__magic_info,
__magic_stack_info&gt;</code>.
It defines the content of the trace associated with this diagnostic.
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch32s07.html b/libstdc++-v3/doc/html/manual/bk01pt12ch32s07.html
index cbe09f0f19d..b1f835d39b8 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch32s07.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch32s07.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Diagnostics</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="prev" href="bk01pt12ch32s06.html" title="Developer Information" /><link rel="next" href="ext_allocators.html" title="Chapter 33. Allocators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Diagnostics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch32s06.html">Prev</a> </td><th width="60%" align="center">Chapter 32. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="ext_allocators.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.diagnostics"></a>Diagnostics</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Diagnostics</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 32. Profile Mode" /><link rel="prev" href="bk01pt12ch32s06.html" title="Developer Information" /><link rel="next" href="ext_allocators.html" title="Chapter 33. Allocators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Diagnostics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch32s06.html">Prev</a> </td><th width="60%" align="center">Chapter 32. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="ext_allocators.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Diagnostics"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.diagnostics"></a>Diagnostics</h2></div></div></div><p>
The table below presents all the diagnostics we intend to implement.
Each diagnostic has a corresponding compile time switch
<code class="code">-D_GLIBCXX_PROFILE_&lt;diagnostic&gt;</code>.
@@ -18,7 +18,7 @@
A high accuracy means that the diagnostic is unlikely to be wrong.
These grades are not perfect. They are just meant to guide users with
specific needs or time budgets.
- </p><div class="table"><a id="id521055"></a><p class="title"><b>Table 32.2. Diagnostics</b></p><div class="table-contents"><table summary="Diagnostics" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Group</th><th align="left">Flag</th><th align="left">Benefit</th><th align="left">Cost</th><th align="left">Freq.</th><th align="left">Implemented</th></tr></thead><tbody><tr><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.containers" target="_top">
+ </p><div class="table"><a id="id447842"></a><p class="title"><b>Table 32.2. Diagnostics</b></p><div class="table-contents"><table summary="Diagnostics" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Group</th><th align="left">Flag</th><th align="left">Benefit</th><th align="left">Cost</th><th align="left">Freq.</th><th align="left">Implemented</th></tr></thead><tbody><tr><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.containers" target="_top">
CONTAINERS</a></td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.hashtable_too_small" target="_top">
HASHTABLE_TOO_SMALL</a></td><td align="left">10</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.hashtable_too_large" target="_top">
HASHTABLE_TOO_LARGE</a></td><td align="left">5</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.inefficient_hash" target="_top">
@@ -35,44 +35,44 @@
LOCALITY</a></td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.locality.sw_prefetch" target="_top">
SOFTWARE_PREFETCH</a></td><td align="left">8</td><td align="left">8</td><td align="left"> </td><td align="left">5</td><td align="left">no</td></tr><tr><td align="left"> </td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.locality.linked" target="_top">
RBTREE_LOCALITY</a></td><td align="left">4</td><td align="left">8</td><td align="left"> </td><td align="left">5</td><td align="left">no</td></tr><tr><td align="left"> </td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.mthread.false_share" target="_top">
- FALSE_SHARING</a></td><td align="left">8</td><td align="left">10</td><td align="left"> </td><td align="left">10</td><td align="left">no</td></tr></tbody></table></div></div><br class="table-break" /><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.template"></a>Diagnostic Template</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+ FALSE_SHARING</a></td><td align="left">8</td><td align="left">10</td><td align="left"> </td><td align="left">10</td><td align="left">no</td></tr></tbody></table></div></div><br class="table-break" /><div class="sect2" title="Diagnostic Template"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.template"></a>Diagnostic Template</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_&lt;diagnostic&gt;</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> What problem will it diagnose?
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span>.
- What is the fundamental reason why this is a problem</p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> What problem will it diagnose?
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>.
+ What is the fundamental reason why this is a problem</p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>
Percentage reduction in execution time. When reduction is more than
a constant factor, describe the reduction rate formula.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span>
- What would the advise look like?</p></li><li><p><span class="emphasis"><em>To instrument:</em></span>
- What stdlibc++ components need to be instrumented?</p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
- How do we decide when to issue the advice?</p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
- How do we measure benefits? Math goes here.</p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>
+ What would the advise look like?</p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span>
+ What stdlibc++ components need to be instrumented?</p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
+ How do we decide when to issue the advice?</p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
+ How do we measure benefits? Math goes here.</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
program code
...
advice sample
</pre><p>
-</p></li></ul></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.containers"></a>Containers</h3></div></div></div><p>
+</p></li></ul></div></div><div class="sect2" title="Containers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.containers"></a>Containers</h3></div></div></div><p>
<span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_CONTAINERS</code>.
-</p><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_too_small"></a>Hashtable Too Small</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+</p><div class="sect3" title="Hashtable Too Small"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_too_small"></a>Hashtable Too Small</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_HASHTABLE_TOO_SMALL</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> Detect hashtables with many
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect hashtables with many
rehash operations, small construction size and large destruction size.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span> Rehash is very expensive.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span> Rehash is very expensive.
Read content, follow chains within bucket, evaluate hash function, place at
- new location in different order.</p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span> 36%.
+ new location in different order.</p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span> 36%.
Code similar to example below.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>
Set initial size to N at construction site S.
- </p></li><li><p><span class="emphasis"><em>To instrument:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span>
<code class="code">unordered_set, unordered_map</code> constructor, destructor, rehash.
- </p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
For each dynamic instance of <code class="code">unordered_[multi]set|map</code>,
record initial size and call context of the constructor.
Record size increase, if any, after each relevant operation such as insert.
- Record the estimated rehash cost.</p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
- Number of individual rehash operations * cost per rehash.</p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ Record the estimated rehash cost.</p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
+ Number of individual rehash operations * cost per rehash.</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
1 unordered_set&lt;int&gt; us;
2 for (int k = 0; k &lt; 1000000; ++k) {
@@ -81,24 +81,24 @@ advice sample
foo.cc:1: advice: Changing initial unordered_set size from 10 to 1000000 saves 1025530 rehash operations.
</pre><p>
-</p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_too_large"></a>Hashtable Too Large</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="sect3" title="Hashtable Too Large"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_too_large"></a>Hashtable Too Large</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_HASHTABLE_TOO_LARGE</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> Detect hashtables which are
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect hashtables which are
never filled up because fewer elements than reserved are ever
inserted.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span> Save memory, which
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span> Save memory, which
is good in itself and may also improve memory reference performance through
- fewer cache and TLB misses.</p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span> unknown.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span>
+ fewer cache and TLB misses.</p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span> unknown.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>
Set initial size to N at construction site S.
- </p></li><li><p><span class="emphasis"><em>To instrument:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span>
<code class="code">unordered_set, unordered_map</code> constructor, destructor, rehash.
- </p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
For each dynamic instance of <code class="code">unordered_[multi]set|map</code>,
record initial size and call context of the constructor, and correlate it
with its size at destruction time.
- </p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
- Number of iteration operations + memory saved.</p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
+ Number of iteration operations + memory saved.</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
1 vector&lt;unordered_set&lt;int&gt;&gt; v(100000, unordered_set&lt;int&gt;(100)) ;
2 for (int k = 0; k &lt; 100000; ++k) {
@@ -110,25 +110,25 @@ foo.cc:1: advice: Changing initial unordered_set size from 10 to 1000000 saves 1
foo.cc:1: advice: Changing initial unordered_set size from 100 to 10 saves N
bytes of memory and M iteration steps.
</pre><p>
-</p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.inefficient_hash"></a>Inefficient Hash</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="sect3" title="Inefficient Hash"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.inefficient_hash"></a>Inefficient Hash</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_INEFFICIENT_HASH</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> Detect hashtables with polarized
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect hashtables with polarized
distribution.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span> A non-uniform
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span> A non-uniform
distribution may lead to long chains, thus possibly increasing complexity
by a factor up to the number of elements.
- </p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span> factor up
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span> factor up
to container size.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span> Change hash function
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span> Change hash function
for container built at site S. Distribution score = N. Access score = S.
Longest chain = C, in bucket B.
- </p></li><li><p><span class="emphasis"><em>To instrument:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span>
<code class="code">unordered_set, unordered_map</code> constructor, destructor, [],
insert, iterator.
- </p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
Count the exact number of link traversals.
- </p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
- Total number of links traversed.</p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
+ Total number of links traversed.</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
class dumb_hash {
public:
@@ -141,22 +141,22 @@ class dumb_hash {
hs.find(i);
}
</pre><p>
-</p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_too_small"></a>Vector Too Small</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="sect3" title="Vector Too Small"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_too_small"></a>Vector Too Small</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_VECTOR_TOO_SMALL</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span>Detect vectors with many
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span>Detect vectors with many
resize operations, small construction size and large destruction size..
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span>Resizing can be expensive.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>Resizing can be expensive.
Copying large amounts of data takes time. Resizing many small vectors may
- have allocation overhead and affect locality.</p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span>%.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span>
- Set initial size to N at construction site S.</p></li><li><p><span class="emphasis"><em>To instrument:</em></span><code class="code">vector</code>.
- </p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ have allocation overhead and affect locality.</p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>%.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>
+ Set initial size to N at construction site S.</p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span><code class="code">vector</code>.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
For each dynamic instance of <code class="code">vector</code>,
record initial size and call context of the constructor.
Record size increase, if any, after each relevant operation such as
<code class="code">push_back</code>. Record the estimated resize cost.
- </p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
- Total number of words copied * time to copy a word.</p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
+ Total number of words copied * time to copy a word.</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
1 vector&lt;int&gt; v;
2 for (int k = 0; k &lt; 1000000; ++k) {
@@ -166,21 +166,21 @@ class dumb_hash {
foo.cc:1: advice: Changing initial vector size from 10 to 1000000 saves
copying 4000000 bytes and 20 memory allocations and deallocations.
</pre><p>
-</p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_too_large"></a>Vector Too Large</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="sect3" title="Vector Too Large"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_too_large"></a>Vector Too Large</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_VECTOR_TOO_LARGE</code>
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span>Detect vectors which are
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span>Detect vectors which are
never filled up because fewer elements than reserved are ever
inserted.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span>Save memory, which
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>Save memory, which
is good in itself and may also improve memory reference performance through
- fewer cache and TLB misses.</p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span>%.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span>
- Set initial size to N at construction site S.</p></li><li><p><span class="emphasis"><em>To instrument:</em></span><code class="code">vector</code>.
- </p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ fewer cache and TLB misses.</p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>%.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>
+ Set initial size to N at construction site S.</p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span><code class="code">vector</code>.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
For each dynamic instance of <code class="code">vector</code>,
record initial size and call context of the constructor, and correlate it
- with its size at destruction time.</p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
- Total amount of memory saved.</p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ with its size at destruction time.</p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
+ Total amount of memory saved.</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
1 vector&lt;vector&lt;int&gt;&gt; v(100000, vector&lt;int&gt;(100)) ;
2 for (int k = 0; k &lt; 100000; ++k) {
@@ -192,27 +192,27 @@ copying 4000000 bytes and 20 memory allocations and deallocations.
foo.cc:1: advice: Changing initial vector size from 100 to 10 saves N
bytes of memory and may reduce the number of cache and TLB misses.
</pre><p>
-</p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_to_hashtable"></a>Vector to Hashtable</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="sect3" title="Vector to Hashtable"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_to_hashtable"></a>Vector to Hashtable</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_VECTOR_TO_HASHTABLE</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> Detect uses of
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect uses of
<code class="code">vector</code> that can be substituted with <code class="code">unordered_set</code>
to reduce execution time.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>
Linear search in a vector is very expensive, whereas searching in a hashtable
- is very quick.</p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span>factor up
+ is very quick.</p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>factor up
to container size.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span>Replace
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>Replace
<code class="code">vector</code> with <code class="code">unordered_set</code> at site S.
- </p></li><li><p><span class="emphasis"><em>To instrument:</em></span><code class="code">vector</code>
- operations and access methods.</p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span><code class="code">vector</code>
+ operations and access methods.</p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
For each dynamic instance of <code class="code">vector</code>,
record call context of the constructor. Issue the advice only if the
only methods called on this <code class="code">vector</code> are <code class="code">push_back</code>,
<code class="code">insert</code> and <code class="code">find</code>.
- </p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
Cost(vector::push_back) + cost(vector::insert) + cost(find, vector) -
cost(unordered_set::insert) + cost(unordered_set::find).
- </p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
1 vector&lt;int&gt; v;
...
@@ -223,24 +223,24 @@ bytes of memory and may reduce the number of cache and TLB misses.
foo.cc:1: advice: Changing "vector" to "unordered_set" will save about 500,000
comparisons.
</pre><p>
-</p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_to_vector"></a>Hashtable to Vector</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="sect3" title="Hashtable to Vector"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_to_vector"></a>Hashtable to Vector</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_HASHTABLE_TO_VECTOR</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> Detect uses of
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect uses of
<code class="code">unordered_set</code> that can be substituted with <code class="code">vector</code>
to reduce execution time.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span>
- Hashtable iterator is slower than vector iterator.</p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span>95%.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span>Replace
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>
+ Hashtable iterator is slower than vector iterator.</p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>95%.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>Replace
<code class="code">unordered_set</code> with <code class="code">vector</code> at site S.
- </p></li><li><p><span class="emphasis"><em>To instrument:</em></span><code class="code">unordered_set</code>
- operations and access methods.</p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span><code class="code">unordered_set</code>
+ operations and access methods.</p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
For each dynamic instance of <code class="code">unordered_set</code>,
record call context of the constructor. Issue the advice only if the
number of <code class="code">find</code>, <code class="code">insert</code> and <code class="code">[]</code>
operations on this <code class="code">unordered_set</code> are small relative to the
number of elements, and methods <code class="code">begin</code> or <code class="code">end</code>
- are invoked (suggesting iteration).</p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
- Number of .</p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ are invoked (suggesting iteration).</p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
+ Number of .</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
1 unordered_set&lt;int&gt; us;
...
@@ -252,27 +252,27 @@ comparisons.
foo.cc:1: advice: Changing "unordered_set" to "vector" will save about N
indirections and may achieve better data locality.
</pre><p>
-</p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_to_list"></a>Vector to List</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="sect3" title="Vector to List"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_to_list"></a>Vector to List</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_VECTOR_TO_LIST</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> Detect cases where
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect cases where
<code class="code">vector</code> could be substituted with <code class="code">list</code> for
better performance.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>
Inserting in the middle of a vector is expensive compared to inserting in a
list.
- </p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span>factor up to
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>factor up to
container size.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span>Replace vector with list
- at site S.</p></li><li><p><span class="emphasis"><em>To instrument:</em></span><code class="code">vector</code>
- operations and access methods.</p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>Replace vector with list
+ at site S.</p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span><code class="code">vector</code>
+ operations and access methods.</p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
For each dynamic instance of <code class="code">vector</code>,
record the call context of the constructor. Record the overhead of each
<code class="code">insert</code> operation based on current size and insert position.
Report instance with high insertion overhead.
- </p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
(Sum(cost(vector::method)) - Sum(cost(list::method)), for
method in [push_back, insert, erase])
- + (Cost(iterate vector) - Cost(iterate list))</p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ + (Cost(iterate vector) - Cost(iterate list))</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
1 vector&lt;int&gt; v;
2 for (int i = 0; i &lt; 10000; ++i) {
@@ -282,22 +282,22 @@ indirections and may achieve better data locality.
foo.cc:1: advice: Changing "vector" to "list" will save about 5,000,000
operations.
</pre><p>
-</p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.list_to_vector"></a>List to Vector</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="sect3" title="List to Vector"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.list_to_vector"></a>List to Vector</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_LIST_TO_VECTOR</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> Detect cases where
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect cases where
<code class="code">list</code> could be substituted with <code class="code">vector</code> for
better performance.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>
Iterating through a vector is faster than through a list.
- </p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span>64%.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span>Replace list with vector
- at site S.</p></li><li><p><span class="emphasis"><em>To instrument:</em></span><code class="code">vector</code>
- operations and access methods.</p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>64%.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>Replace list with vector
+ at site S.</p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span><code class="code">vector</code>
+ operations and access methods.</p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
Issue the advice if there are no <code class="code">insert</code> operations.
- </p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
(Sum(cost(vector::method)) - Sum(cost(list::method)), for
method in [push_back, insert, erase])
- + (Cost(iterate vector) - Cost(iterate list))</p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ + (Cost(iterate vector) - Cost(iterate list))</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
1 list&lt;int&gt; l;
...
@@ -309,23 +309,23 @@ operations.
foo.cc:1: advice: Changing "list" to "vector" will save about 1000000 indirect
memory references.
</pre><p>
-</p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.assoc_ord_to_unord"></a>Ordered to Unordered Associative Container</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="sect3" title="Ordered to Unordered Associative Container"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.assoc_ord_to_unord"></a>Ordered to Unordered Associative Container</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_ORDERED_TO_UNORDERED</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> Detect cases where ordered
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect cases where ordered
associative containers can be replaced with unordered ones.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>
Insert and search are quicker in a hashtable than in
- a red-black tree.</p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span>52%.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span>
- Replace set with unordered_set at site S.</p></li><li><p><span class="emphasis"><em>To instrument:</em></span>
+ a red-black tree.</p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>52%.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>
+ Replace set with unordered_set at site S.</p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span>
<code class="code">set</code>, <code class="code">multiset</code>, <code class="code">map</code>,
- <code class="code">multimap</code> methods.</p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ <code class="code">multimap</code> methods.</p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
Issue the advice only if we are not using operator <code class="code">++</code> on any
iterator on a particular <code class="code">[multi]set|map</code>.
- </p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
(Sum(cost(hashtable::method)) - Sum(cost(rbtree::method)), for
method in [insert, erase, find])
- + (Cost(iterate hashtable) - Cost(iterate rbtree))</p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ + (Cost(iterate hashtable) - Cost(iterate rbtree))</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
1 set&lt;int&gt; s;
2 for (int i = 0; i &lt; 100000; ++i) {
@@ -336,43 +336,43 @@ memory references.
7 sum += *s.find(i);
8 }
</pre><p>
-</p></li></ul></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.algorithms"></a>Algorithms</h3></div></div></div><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div></div><div class="sect2" title="Algorithms"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.algorithms"></a>Algorithms</h3></div></div></div><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_ALGORITHMS</code>.
- </p><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.algorithms.sort"></a>Sort Algorithm Performance</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+ </p><div class="sect3" title="Sort Algorithm Performance"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.algorithms.sort"></a>Sort Algorithm Performance</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_SORT</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> Give measure of sort algorithm
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Give measure of sort algorithm
performance based on actual input. For instance, advise Radix Sort over
Quick Sort for a particular call context.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>
See papers:
<a class="ulink" href="http://portal.acm.org/citation.cfm?doid=1065944.1065981" target="_top">
A framework for adaptive algorithm selection in STAPL</a> and
<a class="ulink" href="http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=4228227" target="_top">
Optimizing Sorting with Machine Learning Algorithms</a>.
- </p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span>60%.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span> Change sort algorithm
- at site S from X Sort to Y Sort.</p></li><li><p><span class="emphasis"><em>To instrument:</em></span> <code class="code">sort</code>
- algorithm.</p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>60%.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span> Change sort algorithm
+ at site S from X Sort to Y Sort.</p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span> <code class="code">sort</code>
+ algorithm.</p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
Issue the advice if the cost model tells us that another sort algorithm
would do better on this input. Requires us to know what algorithm we
- are using in our sort implementation in release mode.</p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
- Runtime(algo) for algo in [radix, quick, merge, ...]</p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ are using in our sort implementation in release mode.</p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
+ Runtime(algo) for algo in [radix, quick, merge, ...]</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
</pre><p>
-</p></li></ul></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.locality"></a>Data Locality</h3></div></div></div><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div></div><div class="sect2" title="Data Locality"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.locality"></a>Data Locality</h3></div></div></div><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_LOCALITY</code>.
- </p><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.locality.sw_prefetch"></a>Need Software Prefetch</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+ </p><div class="sect3" title="Need Software Prefetch"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.locality.sw_prefetch"></a>Need Software Prefetch</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_SOFTWARE_PREFETCH</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> Discover sequences of indirect
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Discover sequences of indirect
memory accesses that are not regular, thus cannot be predicted by
hardware prefetchers.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>
Indirect references are hard to predict and are very expensive when they
- miss in caches.</p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span>25%.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span> Insert prefetch
- instruction.</p></li><li><p><span class="emphasis"><em>To instrument:</em></span> Vector iterator and
+ miss in caches.</p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>25%.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span> Insert prefetch
+ instruction.</p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span> Vector iterator and
access operator [].
- </p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
First, get cache line size and page size from system.
Then record iterator dereference sequences for which the value is a pointer.
For each sequence within a container, issue a warning if successive pointer
@@ -389,9 +389,9 @@ memory references.
created by understanding the capability of the hardware prefetcher.
This model could be trained automatically by running a set of synthetic
cases.
- </p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
Total distance between pointer values of successive elements in vectors
- of pointers.</p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ of pointers.</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
1 int zero = 0;
2 vector&lt;int*&gt; v(10000000, &amp;zero);
@@ -404,28 +404,28 @@ memory references.
foo.cc:7: advice: Insert prefetch instruction.
</pre><p>
-</p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.locality.linked"></a>Linked Structure Locality</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="sect3" title="Linked Structure Locality"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.locality.linked"></a>Linked Structure Locality</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_RBTREE_LOCALITY</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> Give measure of locality of
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Give measure of locality of
objects stored in linked structures (lists, red-black trees and hashtables)
with respect to their actual traversal patterns.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span>Allocation can be tuned
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>Allocation can be tuned
to a specific traversal pattern, to result in better data locality.
See paper:
<a class="ulink" href="http://www.springerlink.com/content/8085744l00x72662/" target="_top">
Custom Memory Allocation for Free</a>.
- </p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span>30%.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>30%.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>
High scatter score N for container built at site S.
Consider changing allocation sequence or choosing a structure conscious
- allocator.</p></li><li><p><span class="emphasis"><em>To instrument:</em></span> Methods of all
- containers using linked structures.</p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ allocator.</p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span> Methods of all
+ containers using linked structures.</p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
First, get cache line size and page size from system.
Then record the number of successive elements that are on different line
or page, for each traversal method such as <code class="code">find</code>. Give advice
only if the ratio between this number and the number of total node hops
- is above a threshold.</p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
- Sum(same_cache_line(this,previous))</p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ is above a threshold.</p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
+ Sum(same_cache_line(this,previous))</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
1 set&lt;int&gt; s;
2 for (int i = 0; i &lt; 10000000; ++i) {
@@ -449,58 +449,58 @@ foo.cc:7: advice: Insert prefetch instruction.
foo.cc:5: advice: High scatter score NNN for set built here. Consider changing
the allocation sequence or switching to a structure conscious allocator.
</pre><p>
-</p></li></ul></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.mthread"></a>Multithreaded Data Access</h3></div></div></div><p>
+</p></li></ul></div></div></div><div class="sect2" title="Multithreaded Data Access"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.mthread"></a>Multithreaded Data Access</h3></div></div></div><p>
The diagnostics in this group are not meant to be implemented short term.
They require compiler support to know when container elements are written
to. Instrumentation can only tell us when elements are referenced.
</p><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_MULTITHREADED</code>.
- </p><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.mthread.ddtest"></a>Data Dependence Violations at Container Level</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+ </p><div class="sect3" title="Data Dependence Violations at Container Level"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.mthread.ddtest"></a>Data Dependence Violations at Container Level</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_DDTEST</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> Detect container elements
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect container elements
that are referenced from multiple threads in the parallel region or
across parallel regions.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>
Sharing data between threads requires communication and perhaps locking,
which may be expensive.
- </p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span>?%.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span> Change data
- distribution or parallel algorithm.</p></li><li><p><span class="emphasis"><em>To instrument:</em></span> Container access methods
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>?%.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span> Change data
+ distribution or parallel algorithm.</p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span> Container access methods
and iterators.
- </p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
Keep a shadow for each container. Record iterator dereferences and
container member accesses. Issue advice for elements referenced by
multiple threads.
See paper: <a class="ulink" href="http://portal.acm.org/citation.cfm?id=207110.207148" target="_top">
The LRPD test: speculative run-time parallelization of loops with
privatization and reduction parallelization</a>.
- </p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
Number of accesses to elements referenced from multiple threads
- </p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
</pre><p>
-</p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.mthread.false_share"></a>False Sharing</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="sect3" title="False Sharing"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.mthread.false_share"></a>False Sharing</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_FALSE_SHARING</code>.
- </p></li><li><p><span class="emphasis"><em>Goal:</em></span> Detect elements in the
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect elements in the
same container which share a cache line, are written by at least one
thread, and accessed by different threads.
- </p></li><li><p><span class="emphasis"><em>Fundamentals:</em></span> Under these assumptions,
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span> Under these assumptions,
cache protocols require
communication to invalidate lines, which may be expensive.
- </p></li><li><p><span class="emphasis"><em>Sample runtime reduction:</em></span>68%.
- </p></li><li><p><span class="emphasis"><em>Recommendation:</em></span> Reorganize container
- or use padding to avoid false sharing.</p></li><li><p><span class="emphasis"><em>To instrument:</em></span> Container access methods
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>68%.
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span> Reorganize container
+ or use padding to avoid false sharing.</p></li><li class="listitem"><p><span class="emphasis"><em>To instrument:</em></span> Container access methods
and iterators.
- </p></li><li><p><span class="emphasis"><em>Analysis:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Analysis:</em></span>
First, get the cache line size.
For each shared container, record all the associated iterator dereferences
and member access methods with the thread id. Compare the address lists
across threads to detect references in two different threads to the same
cache line. Issue a warning only if the ratio to total references is
significant. Do the same for iterator dereference values if they are
- pointers.</p></li><li><p><span class="emphasis"><em>Cost model:</em></span>
+ pointers.</p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
Number of accesses to same cache line from different threads.
- </p></li><li><p><span class="emphasis"><em>Example:</em></span>
+ </p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
</p><pre class="programlisting">
1 vector&lt;int&gt; v(2, 0);
2 #pragma omp parallel for shared(v, SIZE) schedule(static, 1)
@@ -512,7 +512,7 @@ OMP_NUM_THREADS=2 ./a.out
foo.cc:1: advice: Change container structure or padding to avoid false
sharing in multithreaded access at foo.cc:4. Detected N shared cache lines.
</pre><p>
-</p></li></ul></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.statistics"></a>Statistics</h3></div></div></div><p>
+</p></li></ul></div></div></div><div class="sect2" title="Statistics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.statistics"></a>Statistics</h3></div></div></div><p>
<span class="emphasis"><em>Switch:</em></span>
<code class="code">_GLIBCXX_PROFILE_STATISTICS</code>.
</p><p>
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch34s02.html b/libstdc++-v3/doc/html/manual/bk01pt12ch34s02.html
index e1588498eb9..70e4d924cec 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch34s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch34s02.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HP/SGI</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="ext_containers.html" title="Chapter 34. Containers" /><link rel="prev" href="ext_containers.html" title="Chapter 34. Containers" /><link rel="next" href="bk01pt12ch34s03.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 width="20%" align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><th width="60%" align="center">Chapter 34. Containers</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch34s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.sgi"></a>HP/SGI</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HP/SGI</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="ext_containers.html" title="Chapter 34. Containers" /><link rel="prev" href="ext_containers.html" title="Chapter 34. Containers" /><link rel="next" href="bk01pt12ch34s03.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 width="20%" align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><th width="60%" align="center">Chapter 34. Containers</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch34s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="HP/SGI"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.sgi"></a>HP/SGI</h2></div></div></div><p>
</p><p>A few extensions and nods to backwards-compatibility have been made with
containers. Those dealing with older SGI-style allocators are dealt with
elsewhere. The remaining ones all deal with bits:
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch34s03.html b/libstdc++-v3/doc/html/manual/bk01pt12ch34s03.html
index 3e3b28d9998..b9f0849bf5a 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch34s03.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch34s03.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Deprecated HP/SGI</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="ext_containers.html" title="Chapter 34. Containers" /><link rel="prev" href="bk01pt12ch34s02.html" title="HP/SGI" /><link rel="next" href="ext_utilities.html" title="Chapter 35. 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 width="20%" align="left"><a accesskey="p" href="bk01pt12ch34s02.html">Prev</a> </td><th width="60%" align="center">Chapter 34. Containers</th><td width="20%" align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.deprecated_sgi"></a>Deprecated HP/SGI</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Deprecated HP/SGI</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="ext_containers.html" title="Chapter 34. Containers" /><link rel="prev" href="bk01pt12ch34s02.html" title="HP/SGI" /><link rel="next" href="ext_utilities.html" title="Chapter 35. 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 width="20%" align="left"><a accesskey="p" href="bk01pt12ch34s02.html">Prev</a> </td><th width="60%" align="center">Chapter 34. Containers</th><td width="20%" align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Deprecated HP/SGI"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.deprecated_sgi"></a>Deprecated HP/SGI</h2></div></div></div><p>
The SGI hashing classes <code class="classname">hash_set</code> and
<code class="classname">hash_set</code> have been deprecated by the
unordered_set, unordered_multiset, unordered_map,
@@ -37,7 +37,7 @@
functions, as well as some extra constructors specifying the number
of buckets, etc.
</p><p>Why would you want to use a hashing class instead of the
- “<span class="quote">normal</span>â€implementations? Matt Austern writes:
+ <span class="quote">“<span class="quote">normal</span>â€</span>implementations? Matt Austern writes:
</p><div class="blockquote"><blockquote class="blockquote"><p>
<span class="emphasis"><em>[W]ith a well chosen hash function, hash tables
generally provide much better average-case performance than
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch41s02.html b/libstdc++-v3/doc/html/manual/bk01pt12ch41s02.html
index cd976c38f26..7d839e152ee 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch41s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch41s02.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Implementation</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="ext_concurrency.html" title="Chapter 41. Concurrency" /><link rel="prev" href="ext_concurrency.html" title="Chapter 41. Concurrency" /><link rel="next" href="bk01pt12ch41s03.html" title="Use" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 41. Concurrency</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch41s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.impl"></a>Implementation</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.impl.atomic_fallbacks"></a>Using Builtin Atomic Functions</h3></div></div></div><p>The functions for atomic operations described above are either
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Implementation</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="ext_concurrency.html" title="Chapter 41. Concurrency" /><link rel="prev" href="ext_concurrency.html" title="Chapter 41. Concurrency" /><link rel="next" href="bk01pt12ch41s03.html" title="Use" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 41. Concurrency</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch41s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Implementation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.impl"></a>Implementation</h2></div></div></div><div class="sect2" title="Using Builtin Atomic Functions"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.impl.atomic_fallbacks"></a>Using Builtin Atomic Functions</h3></div></div></div><p>The functions for atomic operations described above are either
implemented via compiler intrinsics (if the underlying host is
capable) or by library fallbacks.</p><p>Compiler intrinsics (builtins) are always preferred. However, as
the compiler builtins for atomics are not universally implemented,
@@ -18,14 +18,14 @@ If builtins are possible for bool-sized integral types,
If builtins are possible for int-sized integral types,
<code class="code">_GLIBCXX_ATOMIC_BUILTINS_4</code> will be defined.
</p><p>For the following hosts, intrinsics are enabled by default.
-</p><div class="itemizedlist"><ul type="disc"><li><p>alpha</p></li><li><p>ia64</p></li><li><p>powerpc</p></li><li><p>s390</p></li></ul></div><p>For others, some form of <code class="code">-march</code> may work. On
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>alpha</p></li><li class="listitem"><p>ia64</p></li><li class="listitem"><p>powerpc</p></li><li class="listitem"><p>s390</p></li></ul></div><p>For others, some form of <code class="code">-march</code> may work. On
non-ancient x86 hardware, <code class="code">-march=native</code> usually does the
trick.</p><p> For hosts without compiler intrinsics, but with capable
hardware, hand-crafted assembly is selected. This is the case for the following hosts:
-</p><div class="itemizedlist"><ul type="disc"><li><p>cris</p></li><li><p>hppa</p></li><li><p>i386</p></li><li><p>i486</p></li><li><p>m48k</p></li><li><p>mips</p></li><li><p>sparc</p></li></ul></div><p>And for the rest, a simulated atomic lock via pthreads.
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>cris</p></li><li class="listitem"><p>hppa</p></li><li class="listitem"><p>i386</p></li><li class="listitem"><p>i486</p></li><li class="listitem"><p>m48k</p></li><li class="listitem"><p>mips</p></li><li class="listitem"><p>sparc</p></li></ul></div><p>And for the rest, a simulated atomic lock via pthreads.
</p><p> Detailed information about compiler intrinsics for atomic operations can be found in the GCC <a class="ulink" href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html" target="_top"> documentation</a>.
</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>.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.impl.thread"></a>Thread Abstraction</h3></div></div></div><p>A thin layer above IEEE 1003.1 (i.e. pthreads) is used to abstract
+</p></div><div class="sect2" title="Thread Abstraction"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.impl.thread"></a>Thread Abstraction</h3></div></div></div><p>A thin layer above IEEE 1003.1 (i.e. pthreads) is used to abstract
the thread interface for GCC. This layer is called "gthread," and is
comprised of one header file that wraps the host's default thread layer with
a POSIX-like interface.
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch41s03.html b/libstdc++-v3/doc/html/manual/bk01pt12ch41s03.html
index cba67ced6b4..deb28ca2ca4 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12ch41s03.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12ch41s03.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Use</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="ext_concurrency.html" title="Chapter 41. Concurrency" /><link rel="prev" href="bk01pt12ch41s02.html" title="Implementation" /><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">Use</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch41s02.html">Prev</a> </td><th width="60%" align="center">Chapter 41. Concurrency</th><td width="20%" align="right"> <a accesskey="n" href="appendix_contributing.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.use"></a>Use</h2></div></div></div><p>Typical usage of the last two constructs is demonstrated as follows:
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Use</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="ext_concurrency.html" title="Chapter 41. Concurrency" /><link rel="prev" href="bk01pt12ch41s02.html" title="Implementation" /><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">Use</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch41s02.html">Prev</a> </td><th width="60%" align="center">Chapter 41. Concurrency</th><td width="20%" align="right"> <a accesskey="n" href="appendix_contributing.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Use"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.use"></a>Use</h2></div></div></div><p>Typical usage of the last two constructs is demonstrated as follows:
</p><pre class="programlisting">
#include &lt;ext/concurrence.h&gt;
diff --git a/libstdc++-v3/doc/html/manual/bk01pt12pr03.html b/libstdc++-v3/doc/html/manual/bk01pt12pr03.html
index 68f3a89765d..a68ddced46d 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt12pr03.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt12pr03.html
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="extensions.html" title="Part XII.  Extensions" /><link rel="next" href="ext_compile_checks.html" title="Chapter 29. Compile Time Checks" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="extensions.html" title="Part XII.  Extensions" /><link rel="next" href="ext_compile_checks.html" title="Chapter 29. Compile Time Checks" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr /></div><div class="preface" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="id646774"></a></h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr /></div><div class="preface"><div class="titlepage"><div><div><h2 class="title"><a id="id455799"></a></h2></div></div></div><p>
Here we will make an attempt at describing the non-Standard extensions to
the library. Some of these are from SGI's STL, some of these are GNU's,
and some just seemed to appear on the doorstep.
</p><p><span class="emphasis"><em>Before</em></span> you leap in and use any of these
extensions, be aware of two things:
-</p><div class="orderedlist"><ol type="1"><li><p>
+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
Non-Standard means exactly that.
</p><p>
The behavior, and the very
@@ -18,7 +18,7 @@ extensions, be aware of two things:
revision of C++.) Also, other platforms, other compilers, other
versions of g++ or libstdc++ may not recognize these names, or
treat them differently, or...
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
You should know how to access these headers properly.
</p></li></ol></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part XII. 
Extensions
diff --git a/libstdc++-v3/doc/html/manual/bugs.html b/libstdc++-v3/doc/html/manual/bugs.html
index 12ed9a966fa..20da4a8fbf4 100644
--- a/libstdc++-v3/doc/html/manual/bugs.html
+++ b/libstdc++-v3/doc/html/manual/bugs.html
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Bugs</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="status.html" title="Chapter 1. Status" /><link rel="prev" href="license.html" title="License" /><link rel="next" href="setup.html" title="Chapter 2. Setup" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Bugs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="license.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td width="20%" align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.bugs"></a>Bugs</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.impl"></a>Implementation Bugs</h3></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Bugs</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="status.html" title="Chapter 1. Status" /><link rel="prev" href="license.html" title="License" /><link rel="next" href="setup.html" title="Chapter 2. Setup" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Bugs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="license.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td width="20%" align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Bugs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.bugs"></a>Bugs</h2></div></div></div><div class="sect2" title="Implementation Bugs"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.impl"></a>Implementation Bugs</h3></div></div></div><p>
Information on known bugs, details on efforts to fix them, and
- fixed bugs are all available as part of the GCC bug tracking
- system, <a class="ulink" href="http://gcc.gnu.org/bugzilla" target="_top">bugzilla</a>, with the
- category set to <code class="literal">libstdc++</code>.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.iso"></a>Standard Bugs</h3></div></div></div><p>
+ fixed bugs are all available as part of the <a class="ulink" href="http://gcc.gnu.org/bugs/" target="_top">GCC bug tracking system</a>,
+ with the category set to <code class="literal">libstdc++</code>.
+ </p></div><div class="sect2" title="Standard Bugs"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.iso"></a>Standard Bugs</h3></div></div></div><p>
Everybody's got issues. Even the C++ Standard Library.
</p><p>
The Library Working Group, or LWG, is the ISO subcommittee responsible
@@ -248,7 +247,7 @@
</p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-defects.html#409" target="_top">409</a>:
<span class="emphasis"><em>Closing an fstream should clear the error state</em></span>
</span></dt><dd><p>Have <code class="code">open</code> clear the error flags.
- </p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-active.html#431" target="_top">431</a>:
+ </p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-closed.html#431" target="_top">431</a>:
<span class="emphasis"><em>Swapping containers with unequal allocators</em></span>
</span></dt><dd><p>Implement Option 3, as per N1599.
</p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-defects.html#432" target="_top">432</a>:
@@ -286,6 +285,11 @@
and Assignable?</em></span>
</span></dt><dd><p>In case of input_iterator/output_iterator rely on Assignability of
input_iterator' value_type.
+ </p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-active.html#539" target="_top">539</a>:
+ <span class="emphasis"><em>partial_sum and adjacent_difference should mention
+ requirements</em></span>
+ </span></dt><dd><p>We were almost doing the right thing, just use std::move
+ in adjacent_difference.
</p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-defects.html#541" target="_top">541</a>:
<span class="emphasis"><em>shared_ptr template assignment and void</em></span>
</span></dt><dd><p>Add an auto_ptr&lt;void&gt; specialization.
@@ -301,7 +305,7 @@
</p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-defects.html#596" target="_top">596</a>:
<span class="emphasis"><em>27.8.1.3 Table 112 omits "a+" and "a+b" modes</em></span>
</span></dt><dd><p>Add the missing modes to fopen_mode.
- </p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-active.html#630" target="_top">630</a>:
+ </p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-defects.html#630" target="_top">630</a>:
<span class="emphasis"><em>arrays of valarray</em></span>
</span></dt><dd><p>Implement the simple resolution.
</p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-defects.html#660" target="_top">660</a>:
@@ -317,7 +321,7 @@
</p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-defects.html#695" target="_top">695</a>:
<span class="emphasis"><em>ctype&lt;char&gt;::classic_table() not accessible</em></span>
</span></dt><dd><p>Make the member functions table and classic_table public.
- </p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-active.html#696" target="_top">696</a>:
+ </p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-defects.html#696" target="_top">696</a>:
<span class="emphasis"><em>istream::operator&gt;&gt;(int&amp;) broken</em></span>
</span></dt><dd><p>Implement the straightforward resolution.
</p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-defects.html#761" target="_top">761</a>:
@@ -341,4 +345,8 @@
</p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-defects.html#853" target="_top">853</a>:
<span class="emphasis"><em>to_string needs updating with zero and one</em></span>
</span></dt><dd><p>Update / add the signatures.
+ </p></dd><dt><span class="term"><a class="ulink" href="../ext/lwg-active.html#865" target="_top">865</a>:
+ <span class="emphasis"><em>More algorithms that throw away information</em></span>
+ </span></dt><dd><p>The traditional HP / SGI return type and value is blessed
+ by the resolution of the DR.
</p></dd></dl></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="license.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="status.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">License </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 2. Setup</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/codecvt.html b/libstdc++-v3/doc/html/manual/codecvt.html
index 0ac3285f1e9..93582a9765c 100644
--- a/libstdc++-v3/doc/html/manual/codecvt.html
+++ b/libstdc++-v3/doc/html/manual/codecvt.html
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>codecvt</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; codecvt&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="facets.html" title="Chapter 15. Facets aka Categories" /><link rel="prev" href="facets.html" title="Chapter 15. Facets aka Categories" /><link rel="next" href="messages.html" title="messages" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">codecvt</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="facets.html">Prev</a> </td><th width="60%" align="center">Chapter 15. Facets aka Categories</th><td width="20%" align="right"> <a accesskey="n" href="messages.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.localization.facet.codecvt"></a>codecvt</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>codecvt</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; codecvt&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="facets.html" title="Chapter 15. Facets aka Categories" /><link rel="prev" href="facets.html" title="Chapter 15. Facets aka Categories" /><link rel="next" href="messages.html" title="messages" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">codecvt</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="facets.html">Prev</a> </td><th width="60%" align="center">Chapter 15. Facets aka Categories</th><td width="20%" align="right"> <a accesskey="n" href="messages.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="codecvt"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.localization.facet.codecvt"></a>codecvt</h2></div></div></div><p>
The standard class codecvt attempts to address conversions between
different character encoding schemes. In particular, the standard
attempts to detail conversions between the implementation-defined wide
characters (hereafter referred to as wchar_t) and the standard type
-char that is so beloved in classic “<span class="quote">C</span>†(which can now be
+char that is so beloved in classic <span class="quote">“<span class="quote">C</span>â€</span> (which can now be
referred to as narrow characters.) This document attempts to describe
how the GNU libstdc++ implementation deals with the conversion between
wide and narrow characters, and also presents a framework for dealing
@@ -14,7 +14,7 @@ including Unicode and UTF8. Design issues and requirements are
addressed, and examples of correct usage for both the required
specializations for wide and narrow characters and the
implementation-provided extended functionality are given.
-</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="facet.codecvt.req"></a>Requirements</h3></div></div></div><p>
+</p><div class="sect2" title="Requirements"><div class="titlepage"><div><div><h3 class="title"><a id="facet.codecvt.req"></a>Requirements</h3></div></div></div><p>
Around page 425 of the C++ Standard, this charming heading comes into view:
</p><div class="blockquote"><blockquote class="blockquote"><p>
22.2.1.5 - Template class codecvt
@@ -60,7 +60,7 @@ third template parameter, stateT.</p><p>
Two: The required conversions, by specifying mbstate_t as the third
template parameter, imply an implementation strategy that is mostly
(or wholly) based on the underlying C library, and the functions
-mcsrtombs and wcsrtombs in particular.</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="facet.codecvt.design"></a>Design</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="codecvt.design.wchar_t_size"></a><span class="type">wchar_t</span> Size</h4></div></div></div><p>
+mcsrtombs and wcsrtombs in particular.</p></div><div class="sect2" title="Design"><div class="titlepage"><div><div><h3 class="title"><a id="facet.codecvt.design"></a>Design</h3></div></div></div><div class="sect3" title="wchar_t Size"><div class="titlepage"><div><div><h4 class="title"><a id="codecvt.design.wchar_t_size"></a><span class="type">wchar_t</span> Size</h4></div></div></div><p>
The simple implementation detail of wchar_t's size seems to
repeatedly confound people. Many systems use a two byte,
unsigned integral type to represent wide characters, and use an
@@ -72,7 +72,7 @@ mcsrtombs and wcsrtombs in particular.</p></div><div class="sect2" lang="en" xml
size for the type wchar_t.
</p><p>
Thus, portable C++ code cannot assume a byte size (or endianness) either.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="codecvt.design.unicode"></a>Support for Unicode</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Support for Unicode"><div class="titlepage"><div><div><h4 class="title"><a id="codecvt.design.unicode"></a>Support for Unicode</h4></div></div></div><p>
Probably the most frequently asked question about code conversion
is: "So dudes, what's the deal with Unicode strings?"
The dude part is optional, but apparently the usefulness of
@@ -89,7 +89,7 @@ mcsrtombs and wcsrtombs in particular.</p></div><div class="sect2" lang="en" xml
needed is some kind of generalized type that accounts for the
issues that abstract encodings will need. The minimum information
that is required includes:
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
Identifiers for each of the codesets involved in the
conversion. For example, using the iconv family of functions
from the Single Unix Specification (what used to be called
@@ -115,32 +115,32 @@ encodings (i.e. "UCS-2" and "UTF-8") are necessary,
although for other,
non-iconv implementations a table of enumerated values or some other
mechanism may be required.
-</p></li><li><p>
+</p></li><li class="listitem"><p>
Maximum length of the identifying string literal.
-</p></li><li><p>
+</p></li><li class="listitem"><p>
Some encodings require explicit endian-ness. As such, some kind
of endian marker or other byte-order marker will be necessary. See
"Footnotes for C/C++ developers" in Haible for more information on
UCS-2/Unicode endian issues. (Summary: big endian seems most likely,
however implementations, most notably Microsoft, vary.)
-</p></li><li><p>
+</p></li><li class="listitem"><p>
Types representing the conversion state, for conversions involving
the machinery in the "C" library, or the conversion descriptor, for
conversions using iconv (such as the type iconv_t.) Note that the
conversion descriptor encodes more information than a simple encoding
state type.
-</p></li><li><p>
+</p></li><li class="listitem"><p>
Conversion descriptors for both directions of encoding. (i.e., both
UCS-2 to UTF-8 and UTF-8 to UCS-2.)
-</p></li><li><p>
+</p></li><li class="listitem"><p>
Something to indicate if the conversion requested if valid.
-</p></li><li><p>
+</p></li><li class="listitem"><p>
Something to represent if the conversion descriptors are valid.
-</p></li><li><p>
+</p></li><li class="listitem"><p>
Some way to enforce strict type checking on the internal and
external types. As part of this, the size of the internal and
external types will need to be known.
-</p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="codecvt.design.issues"></a>Other Issues</h4></div></div></div><p>
+</p></li></ul></div></div><div class="sect3" title="Other Issues"><div class="titlepage"><div><div><h4 class="title"><a id="codecvt.design.issues"></a>Other Issues</h4></div></div></div><p>
In addition, multi-threaded and multi-locale environments also impact
the design and requirements for code conversions. In particular, they
affect the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt;
@@ -172,7 +172,7 @@ For the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt; ,
conversions are made between the internal character set (always UCS4
on GNU/Linux) and whatever the currently selected locale for the
LC_CTYPE category implements.
-</p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="facet.codecvt.impl"></a>Implementation</h3></div></div></div><p>
+</p></div></div><div class="sect2" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="facet.codecvt.impl"></a>Implementation</h3></div></div></div><p>
The two required specializations are implemented as follows:
</p><p>
<code class="code">
@@ -274,7 +274,7 @@ Definitions for all the required codecvt member functions are provided
for this specialization, and usage of codecvt&lt;internal character type,
external character type, encoding_state&gt; is consistent with other
codecvt usage.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="facet.codecvt.use"></a>Use</h3></div></div></div><p>A conversions involving string literal.</p><pre class="programlisting">
+</p></div><div class="sect2" title="Use"><div class="titlepage"><div><div><h3 class="title"><a id="facet.codecvt.use"></a>Use</h3></div></div></div><p>A conversions involving string literal.</p><pre class="programlisting">
typedef codecvt_base::result result;
typedef unsigned short unicode_t;
typedef unicode_t int_type;
@@ -311,67 +311,67 @@ codecvt usage.
VERIFY( !int_traits::compare(i_arr, i_lit, size) );
VERIFY( efrom_next == e_lit + size );
VERIFY( ito_next == i_arr + size );
-</pre></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="facet.codecvt.future"></a>Future</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>
+</pre></div><div class="sect2" title="Future"><div class="titlepage"><div><div><h3 class="title"><a id="facet.codecvt.future"></a>Future</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
a. things that are sketchy, or remain unimplemented:
do_encoding, max_length and length member functions
are only weakly implemented. I have no idea how to do
this correctly, and in a generic manner. Nathan?
-</p></li><li><p>
+</p></li><li class="listitem"><p>
b. conversions involving std::string
- </p><div class="itemizedlist"><ul type="circle"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
how should operators != and == work for string of
different/same encoding?
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
what is equal? A byte by byte comparison or an
encoding then byte comparison?
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
conversions between narrow, wide, and unicode strings
- </p></li></ul></div></li><li><p>
+ </p></li></ul></div></li><li class="listitem"><p>
c. conversions involving std::filebuf and std::ostream
-</p><div class="itemizedlist"><ul type="circle"><li><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
how to initialize the state object in a
standards-conformant manner?
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
how to synchronize the "C" and "C++"
conversion information?
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
wchar_t/char internal buffers and conversions between
internal/external buffers?
- </p></li></ul></div></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="facet.codecvt.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id703118"></a><p><span class="title"><i>
+ </p></li></ul></div></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="facet.codecvt.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id450608"></a><p><span class="title"><i>
The GNU C Library
- </i>. </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="id644322"></a><p><span class="title"><i>
+ </i>. </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" title="Correspondence"><a id="id463298"></a><p><span class="title"><i>
Correspondence
- </i>. </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="id644350"></a><p><span class="title"><i>
+ </i>. </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" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id463327"></a><p><span class="title"><i>
ISO/IEC 14882:1998 Programming languages - C++
- </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id660838"></a><p><span class="title"><i>
+ </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id476050"></a><p><span class="title"><i>
ISO/IEC 9899:1999 Programming languages - C
- </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id660857"></a><p><span class="title"><i>
+ </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)"><a id="id476068"></a><p><span class="title"><i>
The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
</i>. </span><span class="copyright">Copyright © 1999
The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span><span class="biblioid">
<a class="ulink" href="http://www.unix.org/version3/ieee_std.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id686728"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id509125"></a><p><span class="title"><i>
The C++ Programming Language, Special Edition
</i>. </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">
Addison Wesley
- . </span></span></p></div><div class="biblioentry"><a id="id720408"></a><p><span class="title"><i>
+ . </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id409160"></a><p><span class="title"><i>
Standard C++ IOStreams and Locales
</i>. </span><span class="subtitle">
Advanced Programmer's Guide and Reference
. </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">
Addison Wesley Longman
- . </span></span></p></div><div class="biblioentry"><a id="id692630"></a><p><span class="title"><i>
+ . </span></span></p></div><div class="biblioentry" title="A brief description of Normative Addendum 1"><a id="id521729"></a><p><span class="title"><i>
A brief description of Normative Addendum 1
</i>. </span><span class="author"><span class="firstname">Clive</span> <span class="surname">Feather</span>. </span><span class="pagenums">Extended Character Sets. </span><span class="biblioid">
<a class="ulink" href="http://www.lysator.liu.se/c/na1.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id617963"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="The Unicode HOWTO"><a id="id510891"></a><p><span class="title"><i>
The Unicode HOWTO
</i>. </span><span class="author"><span class="firstname">Bruno</span> <span class="surname">Haible</span>. </span><span class="biblioid">
<a class="ulink" href="ftp://ftp.ilog.fr/pub/Users/haible/utf8/Unicode-HOWTO.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id681295"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="UTF-8 and Unicode FAQ for Unix/Linux"><a id="id510919"></a><p><span class="title"><i>
UTF-8 and Unicode FAQ for Unix/Linux
</i>. </span><span class="author"><span class="firstname">Markus</span> <span class="surname">Khun</span>. </span><span class="biblioid">
<a class="ulink" href="http://www.cl.cam.ac.uk/~mgk25/unicode.html" target="_top">
diff --git a/libstdc++-v3/doc/html/manual/complex.html b/libstdc++-v3/doc/html/manual/complex.html
index ac08c806093..cb82e609eab 100644
--- a/libstdc++-v3/doc/html/manual/complex.html
+++ b/libstdc++-v3/doc/html/manual/complex.html
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 21. Complex</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="numerics.html" title="Part X.  Numerics" /><link rel="prev" href="numerics.html" title="Part X.  Numerics" /><link rel="next" href="generalized_numeric_operations.html" title="Chapter 22. Generalized Operations" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 21. Complex</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="numerics.html">Prev</a> </td><th width="60%" align="center">Part X. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 21. Complex</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="numerics.html" title="Part X.  Numerics" /><link rel="prev" href="numerics.html" title="Part X.  Numerics" /><link rel="next" href="generalized_numeric_operations.html" title="Chapter 22. Generalized Operations" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 21. Complex</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="numerics.html">Prev</a> </td><th width="60%" align="center">Part X. 
Numerics
-</th><td width="20%" align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.numerics.complex"></a>Chapter 21. Complex</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="complex.html#numerics.complex.processing">complex Processing</a></span></dt></dl></div><p>
- </p><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="numerics.complex.processing"></a>complex Processing</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 21. Complex"><div class="titlepage"><div><div><h2 class="title"><a id="manual.numerics.complex"></a>Chapter 21. Complex</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="complex.html#numerics.complex.processing">complex Processing</a></span></dt></dl></div><p>
+ </p><div class="sect1" title="complex Processing"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="numerics.complex.processing"></a>complex Processing</h2></div></div></div><p>
</p><p>Using <code class="code">complex&lt;&gt;</code> becomes even more comple- er, sorry,
<span class="emphasis"><em>complicated</em></span>, with the not-quite-gratuitously-incompatible
addition of complex types to the C language. David Tribble has
diff --git a/libstdc++-v3/doc/html/manual/configure.html b/libstdc++-v3/doc/html/manual/configure.html
index dce1c94e1eb..d7cde522e82 100644
--- a/libstdc++-v3/doc/html/manual/configure.html
+++ b/libstdc++-v3/doc/html/manual/configure.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Configure</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="setup.html" title="Chapter 2. Setup" /><link rel="prev" href="setup.html" title="Chapter 2. Setup" /><link rel="next" href="make.html" title="Make" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Configure</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="setup.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td width="20%" align="right"> <a accesskey="n" href="make.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.configure"></a>Configure</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Configure</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="setup.html" title="Chapter 2. Setup" /><link rel="prev" href="setup.html" title="Chapter 2. Setup" /><link rel="next" href="make.html" title="Make" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Configure</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="setup.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td width="20%" align="right"> <a accesskey="n" href="make.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Configure"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.configure"></a>Configure</h2></div></div></div><p>
When configuring libstdc++, you'll have to configure the entire
<span class="emphasis"><em>gccsrcdir</em></span> directory. Consider using the
toplevel gcc configuration option
diff --git a/libstdc++-v3/doc/html/manual/containers.html b/libstdc++-v3/doc/html/manual/containers.html
index 9fc6bcdab56..e198f77a440 100644
--- a/libstdc++-v3/doc/html/manual/containers.html
+++ b/libstdc++-v3/doc/html/manual/containers.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part VII.  Containers</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="messages.html" title="messages" /><link rel="next" href="sequences.html" title="Chapter 16. Sequences" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part VII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part VII.  Containers</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="messages.html" title="messages" /><link rel="next" href="sequences.html" title="Chapter 16. Sequences" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part VII. 
Containers
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="messages.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="sequences.html">Next</a></td></tr></table><hr /></div><div class="part" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="manual.containers"></a>Part VII. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="messages.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="sequences.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part VII.  Containers"><div class="titlepage"><div><div><h1 class="title"><a id="manual.containers"></a>Part VII. 
Containers
- <a id="id644180" class="indexterm"></a>
+ <a id="id432644" class="indexterm"></a>
</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="sequences.html">16. Sequences</a></span></dt><dd><dl><dt><span class="sect1"><a href="sequences.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="sect2"><a href="sequences.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="sect1"><a href="vector.html">vector</a></span></dt><dd><dl><dt><span class="sect2"><a href="vector.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="associative.html">17. Associative</a></span></dt><dd><dl><dt><span class="sect1"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="sect1"><a href="bitset.html">bitset</a></span></dt><dd><dl><dt><span class="sect2"><a href="bitset.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="sect2"><a href="bitset.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="containers_and_c.html">18. Interacting with C</a></span></dt><dd><dl><dt><span class="sect1"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="messages.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="sequences.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">messages </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 16. Sequences</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/containers_and_c.html b/libstdc++-v3/doc/html/manual/containers_and_c.html
index 1ea55b3cfd3..3f658590f44 100644
--- a/libstdc++-v3/doc/html/manual/containers_and_c.html
+++ b/libstdc++-v3/doc/html/manual/containers_and_c.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 18. Interacting with C</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="containers.html" title="Part VII.  Containers" /><link rel="prev" href="bitset.html" title="bitset" /><link rel="next" href="iterators.html" title="Part VIII.  Iterators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 18. Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bitset.html">Prev</a> </td><th width="60%" align="center">Part VII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 18. Interacting with C</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="containers.html" title="Part VII.  Containers" /><link rel="prev" href="bitset.html" title="bitset" /><link rel="next" href="iterators.html" title="Part VIII.  Iterators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 18. Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bitset.html">Prev</a> </td><th width="60%" align="center">Part VII. 
Containers
-</th><td width="20%" align="right"> <a accesskey="n" href="iterators.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.containers.c"></a>Chapter 18. Interacting with C</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.c.vs_array"></a>Containers vs. Arrays</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="iterators.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 18. Interacting with C"><div class="titlepage"><div><div><h2 class="title"><a id="manual.containers.c"></a>Chapter 18. Interacting with C</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></div><div class="sect1" title="Containers vs. Arrays"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.c.vs_array"></a>Containers vs. Arrays</h2></div></div></div><p>
You're writing some code and can't decide whether to use builtin
arrays or some kind of container. There are compelling reasons
to use one of the container classes, but you're afraid that
@@ -13,7 +13,7 @@
</p><p>
If your code makes use of the standard algorithms, this isn't as
scary as it sounds. The algorithms don't know, nor care, about
- the kind of “<span class="quote">container</span>†on which they work, since
+ the kind of <span class="quote">“<span class="quote">container</span>â€</span> on which they work, since
the algorithms are only given endpoints to work with. For the
container classes, these are iterators (usually
<code class="code">begin()</code> and <code class="code">end()</code>, but not always).
diff --git a/libstdc++-v3/doc/html/manual/debug.html b/libstdc++-v3/doc/html/manual/debug.html
index d1a4fb2232b..e05fb66b802 100644
--- a/libstdc++-v3/doc/html/manual/debug.html
+++ b/libstdc++-v3/doc/html/manual/debug.html
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Debugging Support</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_exceptions.html" title="Exceptions" /><link rel="next" href="support.html" title="Part II.  Support" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Debugging Support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_exceptions.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="support.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.debug"></a>Debugging Support</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Debugging Support</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_exceptions.html" title="Exceptions" /><link rel="next" href="support.html" title="Part II.  Support" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Debugging Support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_exceptions.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="support.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Debugging Support"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.debug"></a>Debugging Support</h2></div></div></div><p>
There are numerous things that can be done to improve the ease with
which C++ binaries are debugged when using the GNU tool chain. Here
are some of them.
-</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="debug.compiler"></a>Using <span class="command"><strong>g++</strong></span></h3></div></div></div><p>
+</p><div class="sect2" title="Using g++"><div class="titlepage"><div><div><h3 class="title"><a id="debug.compiler"></a>Using <span class="command"><strong>g++</strong></span></h3></div></div></div><p>
Compiler flags determine how debug information is transmitted
between compilation and debug or analysis tools.
</p><p>
@@ -31,7 +31,7 @@
Many other options are available: please see <a class="ulink" href="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options" target="_top">"Options
for Debugging Your Program"</a> in Using the GNU Compiler
Collection (GCC) for a complete list.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="debug.req"></a>Debug Versions of Library Binary Files</h3></div></div></div><p>
+</p></div><div class="sect2" title="Debug Versions of Library Binary Files"><div class="titlepage"><div><div><h3 class="title"><a id="debug.req"></a>Debug Versions of Library Binary Files</h3></div></div></div><p>
If you would like debug symbols in libstdc++, there are two ways to
build libstdc++ with debug flags. The first is to run make from the
toplevel in a freshly-configured tree with
@@ -52,7 +52,7 @@
</pre><p>
This quick and dirty approach is often sufficient for quick
debugging tasks, when you cannot or don't want to recompile your
- application to use the <a class="link" href="debug_mode.html" title="Chapter 30. Debug Mode">debug mode</a>.</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="debug.memory"></a>Memory Leak Hunting</h3></div></div></div><p>
+ application to use the <a class="link" href="debug_mode.html" title="Chapter 30. Debug Mode">debug mode</a>.</p></div><div class="sect2" title="Memory Leak Hunting"><div class="titlepage"><div><div><h3 class="title"><a id="debug.memory"></a>Memory Leak Hunting</h3></div></div></div><p>
There are various third party memory tracing and debug utilities
that can be used to provide detailed memory allocation information
about C++ code. An exhaustive list of tools is not going to be
@@ -121,7 +121,7 @@
up the runtime environment, library, and test file, might be:
</p><pre class="programlisting">
valgrind -v --num-callers=20 --leak-check=yes --leak-resolution=high --show-reachable=yes a.out
-</pre></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="debug.gdb"></a>Using <span class="command"><strong>gdb</strong></span></h3></div></div></div><p>
+</pre></div><div class="sect2" title="Using gdb"><div class="titlepage"><div><div><h3 class="title"><a id="debug.gdb"></a>Using <span class="command"><strong>gdb</strong></span></h3></div></div></div><p>
</p><p>
Many options are available for gdb itself: please see <a class="ulink" href="http://sources.redhat.com/gdb/current/onlinedocs/gdb_13.html#SEC125" target="_top">
"GDB features for C++" </a> in the gdb documentation. Also
@@ -174,16 +174,16 @@
on-line versions of the GDB user manual in GDB's homepage, at
<a class="ulink" href="http://sourceware.org/gdb/" target="_top"> "GDB: The GNU Project
Debugger" </a>.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="debug.exceptions"></a>Tracking uncaught exceptions</h3></div></div></div><p>
+</p></div><div class="sect2" title="Tracking uncaught exceptions"><div class="titlepage"><div><div><h3 class="title"><a id="debug.exceptions"></a>Tracking uncaught exceptions</h3></div></div></div><p>
The <a class="link" href="verbose_termination.html" title="Verbose Terminate Handler">verbose
termination handler</a> gives information about uncaught
exceptions which are killing the program. It is described in the
linked-to page.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="debug.debug_mode"></a>Debug Mode</h3></div></div></div><p> The <a class="link" href="debug_mode.html" title="Chapter 30. Debug Mode">Debug Mode</a>
+</p></div><div class="sect2" title="Debug Mode"><div class="titlepage"><div><div><h3 class="title"><a id="debug.debug_mode"></a>Debug Mode</h3></div></div></div><p> The <a class="link" href="debug_mode.html" title="Chapter 30. Debug Mode">Debug Mode</a>
has compile and run-time checks for many containers.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="debug.compile_time_checks"></a>Compile Time Checking</h3></div></div></div><p> The <a class="link" href="ext_compile_checks.html" title="Chapter 29. Compile Time Checks">Compile-Time
+ </p></div><div class="sect2" title="Compile Time Checking"><div class="titlepage"><div><div><h3 class="title"><a id="debug.compile_time_checks"></a>Compile Time Checking</h3></div></div></div><p> The <a class="link" href="ext_compile_checks.html" title="Chapter 29. Compile Time Checks">Compile-Time
Checks</a> Extension has compile-time checks for many algorithms.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="debug.profile_mode"></a>Profile-based Performance Analysis</h3></div></div></div><p> The <a class="link" href="profile_mode.html" title="Chapter 32. Profile Mode">Profile-based
+ </p></div><div class="sect2" title="Profile-based Performance Analysis"><div class="titlepage"><div><div><h3 class="title"><a id="debug.profile_mode"></a>Profile-based Performance Analysis</h3></div></div></div><p> The <a class="link" href="profile_mode.html" title="Chapter 32. Profile Mode">Profile-based
Performance Analysis</a> Extension has performance checks for many
algorithms.
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_exceptions.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="support.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Exceptions </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Part II. 
diff --git a/libstdc++-v3/doc/html/manual/debug_mode.html b/libstdc++-v3/doc/html/manual/debug_mode.html
index bebd380b89b..9231ca944b7 100644
--- a/libstdc++-v3/doc/html/manual/debug_mode.html
+++ b/libstdc++-v3/doc/html/manual/debug_mode.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 30. Debug Mode</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_compile_checks.html" title="Chapter 29. Compile Time Checks" /><link rel="next" href="bk01pt12ch30s02.html" title="Semantics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 30. Debug Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_compile_checks.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 30. Debug Mode</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_compile_checks.html" title="Chapter 29. Compile Time Checks" /><link rel="next" href="bk01pt12ch30s02.html" title="Semantics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 30. Debug Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_compile_checks.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch30s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode"></a>Chapter 30. Debug Mode</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch30s02.html">Semantics</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch30s03.html">Using</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch30s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch30s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch30s04.html">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch30s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch30s04.html#debug_mode.design.methods">Methods</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch30s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.intro"></a>Intro</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch30s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 30. Debug Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode"></a>Chapter 30. Debug Mode</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch30s02.html">Semantics</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch30s03.html">Using</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch30s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch30s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch30s04.html">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch30s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch30s04.html#debug_mode.design.methods">Methods</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch30s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></div><div class="sect1" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.intro"></a>Intro</h2></div></div></div><p>
By default, libstdc++ is built with efficiency in mind, and
therefore performs little or no error checking that is not
required by the C++ standard. This means that programs that
@@ -20,11 +20,11 @@
The libstdc++ debug mode performs checking for many areas of the
C++ standard, but the focus is on checking interactions among
standard iterators, containers, and algorithms, including:
- </p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Safe iterators</em></span>: Iterators keep track of the
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Safe iterators</em></span>: Iterators keep track of the
container whose elements they reference, so errors such as
incrementing a past-the-end iterator or dereferencing an iterator
that points to a container that has been destructed are diagnosed
- immediately.</p></li><li><p><span class="emphasis"><em>Algorithm preconditions</em></span>: Algorithms attempt to
+ immediately.</p></li><li class="listitem"><p><span class="emphasis"><em>Algorithm preconditions</em></span>: Algorithms attempt to
validate their input parameters to detect errors as early as
possible. For instance, the <code class="code">set_intersection</code>
algorithm requires that its iterator
diff --git a/libstdc++-v3/doc/html/manual/diagnostics.html b/libstdc++-v3/doc/html/manual/diagnostics.html
index b869aec22f8..1e6746ac5ea 100644
--- a/libstdc++-v3/doc/html/manual/diagnostics.html
+++ b/libstdc++-v3/doc/html/manual/diagnostics.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part III.  Diagnostics</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="verbose_termination.html" title="Verbose Terminate Handler" /><link rel="next" href="exceptions.html" title="Chapter 7. Exceptions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part III. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part III.  Diagnostics</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="verbose_termination.html" title="Verbose Terminate Handler" /><link rel="next" href="exceptions.html" title="Chapter 7. Exceptions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part III. 
Diagnostics
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="verbose_termination.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="exceptions.html">Next</a></td></tr></table><hr /></div><div class="part" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="manual.diagnostics"></a>Part III. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="verbose_termination.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="exceptions.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part III.  Diagnostics"><div class="titlepage"><div><div><h1 class="title"><a id="manual.diagnostics"></a>Part III. 
Diagnostics
- <a id="id702920" class="indexterm"></a>
+ <a id="id481780" class="indexterm"></a>
</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="exceptions.html">7. Exceptions</a></span></dt><dd><dl><dt><span class="sect1"><a href="exceptions.html#manual.diagnostics.exceptions.hierarchy">Exception Classes</a></span></dt><dt><span class="sect1"><a href="bk01pt03ch07s02.html">Adding Data to Exceptions</a></span></dt></dl></dd><dt><span class="chapter"><a href="bk01pt03ch08.html">8. Concept Checking</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="verbose_termination.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="exceptions.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Verbose Terminate Handler </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 7. Exceptions</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/documentation_style.html b/libstdc++-v3/doc/html/manual/documentation_style.html
index e8d7831cb5c..6cb74dce14c 100644
--- a/libstdc++-v3/doc/html/manual/documentation_style.html
+++ b/libstdc++-v3/doc/html/manual/documentation_style.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Documentation Style</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><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="source_design_notes.html" title="Design Notes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Documentation Style</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_code_style.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Documentation Style</title><meta name="generator" content="DocBook XSL 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 Documentation" /><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="source_design_notes.html" title="Design Notes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Documentation Style</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_code_style.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
Contributing
-</th><td width="20%" align="right"> <a accesskey="n" href="source_design_notes.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.doc_style"></a>Documentation Style</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="doc_style.doxygen"></a>Doxygen</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.prereq"></a>Prerequisites</h4></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="source_design_notes.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Documentation Style"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.doc_style"></a>Documentation Style</h2></div></div></div><div class="sect2" title="Doxygen"><div class="titlepage"><div><div><h3 class="title"><a id="doc_style.doxygen"></a>Doxygen</h3></div></div></div><div class="sect3" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.prereq"></a>Prerequisites</h4></div></div></div><p>
Prerequisite tools are Bash 2.x,
<a class="ulink" href="http://www.doxygen.org/" target="_top">Doxygen</a>, and
the <a class="ulink" href="http://www.gnu.org/software/coreutils/" target="_top">GNU
@@ -15,7 +15,7 @@
graphs, the
<a class="ulink" href="http://www.graphviz.org" target="_top">Graphviz</a>
package will need to be installed.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.rules"></a>Generating the Doxygen Files</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Generating the Doxygen Files"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.rules"></a>Generating the Doxygen Files</h4></div></div></div><p>
The following Makefile rules run Doxygen to generate HTML
docs, XML docs, and the man pages.
</p><p>
@@ -35,7 +35,7 @@
If you wish to tweak the Doxygen settings, do so by editing
<code class="filename">doc/doxygen/user.cfg.in</code>. Notes to fellow
library hackers are written in triple-# comments.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.markup"></a>Markup</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Markup"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.markup"></a>Markup</h4></div></div></div><p>
In general, libstdc++ files should be formatted according to
the rules found in the
<a class="link" href="source_code_style.html" title="Coding Style">Coding Standard</a>. Before
@@ -43,7 +43,7 @@
make sure that the initial formatting is sound.
</p><p>
Adding Doxygen markup to a file (informally called
- “<span class="quote">doxygenating</span>â€) is very simple. The Doxygen manual can be
+ <span class="quote">“<span class="quote">doxygenating</span>â€</span>) is very simple. The Doxygen manual can be
found
<a class="ulink" href="http://www.stack.nl/~dimitri/doxygen/download.html#latestman" target="_top">here</a>.
We try to use a very-recent version of Doxygen.
@@ -58,14 +58,14 @@
</p><p>
These points accompany the first list in section 3.1 of the
Doxygen manual:
- </p><div class="orderedlist"><ol type="1"><li><p>Use the Javadoc style...</p></li><li><p>
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Use the Javadoc style...</p></li><li class="listitem"><p>
...not the Qt style. The intermediate *'s are preferred.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Use the triple-slash style only for one-line comments (the
- “<span class="quote">brief</span>†mode). Very recent versions of Doxygen permit
+ <span class="quote">“<span class="quote">brief</span>â€</span> mode). Very recent versions of Doxygen permit
full-mode comments in triple-slash blocks, but the
formatting still comes out wonky.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
This is disgusting. Don't do this.
</p></li></ol></div><p>
Use the @-style of commands, not the !-style. Please be
@@ -73,24 +73,24 @@
time it doesn't matter; doxygen absorbs most whitespace, and
both HTML and *roff are agnostic about whitespace. However,
in &lt;pre&gt; blocks and @code/@endcode sections, spacing can
- have “<span class="quote">interesting</span>†effects.
+ have <span class="quote">“<span class="quote">interesting</span>â€</span> effects.
</p><p>
Use either kind of grouping, as
appropriate. <code class="filename">doxygroups.cc</code> exists for this
purpose. See <code class="filename">stl_iterator.h</code> for a good example
- of the “<span class="quote">other</span>†kind of grouping.
+ of the <span class="quote">“<span class="quote">other</span>â€</span> kind of grouping.
</p><p>
Please use markup tags like @p and @a when referring to things
such as the names of function parameters. Use @e for emphasis
when necessary. Use @c to refer to other standard names.
(Examples of all these abound in the present code.)
- </p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="doc_style.docbook"></a>Docbook</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"></a>Prerequisites</h4></div></div></div><p>
+ </p></div></div><div class="sect2" title="Docbook"><div class="titlepage"><div><div><h3 class="title"><a id="doc_style.docbook"></a>Docbook</h3></div></div></div><div class="sect3" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"></a>Prerequisites</h4></div></div></div><p>
Editing the DocBook sources requires an XML editor. Many
exist: some notable options
include <span class="command"><strong>emacs</strong></span>, <span class="application">Kate</span>,
or <span class="application">Conglomerate</span>.
</p><p>
- Some editors support special “<span class="quote">XML Validation</span>â€
+ Some editors support special <span class="quote">“<span class="quote">XML Validation</span>â€</span>
modes that can validate the file as it is
produced. Recommended is the <span class="command"><strong>nXML Mode</strong></span>
for <span class="command"><strong>emacs</strong></span>.
@@ -133,7 +133,7 @@
<strong class="userinput"><code>
xmllint --noout --valid <code class="filename">xml/index.xml</code>
</code></strong>
- </pre></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.rules"></a>Generating the DocBook Files</h4></div></div></div><p>
+ </pre></div><div class="sect3" title="Generating the DocBook Files"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.rules"></a>Generating the DocBook Files</h4></div></div></div><p>
The following Makefile rules generate (in order): an HTML
version of all the documentation, a PDF version of the same, a
single XML document, and the result of validating the entire XML
@@ -146,7 +146,7 @@ xmllint --noout --valid <code class="filename">xml/index.xml</code>
</p><pre class="screen"><strong class="userinput"><code>make doc-xml-single</code></strong></pre><p>
</p><p>
</p><pre class="screen"><strong class="userinput"><code>make doc-xml-validate</code></strong></pre><p>
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.examples"></a>File Organization and Basics</h4></div></div></div><div class="literallayout"><p><br />
+ </p></div><div class="sect3" title="File Organization and Basics"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.examples"></a>File Organization and Basics</h4></div></div></div><div class="literallayout"><p><br />
      <span class="emphasis"><em>Which files are important</em></span><br />
<br />
      All Docbook files are in the directory<br />
@@ -206,16 +206,16 @@ xmllint --noout --valid <code class="filename">xml/index.xml</code>
      &lt;/book&gt;<br />
<br />
      &lt;/set&gt;<br />
-    </p></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.markup"></a>Markup By Example</h4></div></div></div><p>
+    </p></div></div><div class="sect3" title="Markup By Example"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.markup"></a>Markup By Example</h4></div></div></div><p>
Complete details on Docbook markup can be found in the DocBook Element
Reference, <a class="ulink" href="http://www.docbook.org/tdg/en/html/part2.html" target="_top">online</a>. An
incomplete reference for HTML to Docbook conversion is detailed in the
table below.
-</p><div class="table"><a id="id740402"></a><p class="title"><b>Table A.1. HTML to Docbook XML markup comparison</b></p><div class="table-contents"><table summary="HTML to Docbook XML markup comparison" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">XML</th></tr></thead><tbody><tr><td align="left">&lt;p&gt;</td><td align="left">&lt;para&gt;</td></tr><tr><td align="left">&lt;pre&gt;</td><td align="left">&lt;computeroutput&gt;, &lt;programlisting&gt;,
+</p><div class="table"><a id="id414841"></a><p class="title"><b>Table A.1. HTML to Docbook XML markup comparison</b></p><div class="table-contents"><table summary="HTML to Docbook XML markup comparison" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">XML</th></tr></thead><tbody><tr><td align="left">&lt;p&gt;</td><td align="left">&lt;para&gt;</td></tr><tr><td align="left">&lt;pre&gt;</td><td align="left">&lt;computeroutput&gt;, &lt;programlisting&gt;,
&lt;literallayout&gt;</td></tr><tr><td align="left">&lt;ul&gt;</td><td align="left">&lt;itemizedlist&gt;</td></tr><tr><td align="left">&lt;ol&gt;</td><td align="left">&lt;orderedlist&gt;</td></tr><tr><td align="left">&lt;il&gt;</td><td align="left">&lt;listitem&gt;</td></tr><tr><td align="left">&lt;dl&gt;</td><td align="left">&lt;variablelist&gt;</td></tr><tr><td align="left">&lt;dt&gt;</td><td align="left">&lt;term&gt;</td></tr><tr><td align="left">&lt;dd&gt;</td><td align="left">&lt;listitem&gt;</td></tr><tr><td align="left">&lt;a href=""&gt;</td><td align="left">&lt;ulink url=""&gt;</td></tr><tr><td align="left">&lt;code&gt;</td><td align="left">&lt;literal&gt;, &lt;programlisting&gt;</td></tr><tr><td align="left">&lt;strong&gt;</td><td align="left">&lt;emphasis&gt;</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">&lt;emphasis&gt;</td></tr><tr><td align="left">"</td><td align="left">&lt;quote&gt;</td></tr></tbody></table></div></div><br class="table-break" /><p>
And examples of detailed markup for which there are no real HTML
equivalents are listed in the table below.
-</p><div class="table"><a id="id613462"></a><p class="title"><b>Table A.2. Docbook XML Element Use</b></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Element</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left">&lt;structname&gt;</td><td align="left">&lt;structname&gt;char_traits&lt;/structname&gt;</td></tr><tr><td align="left">&lt;classname&gt;</td><td align="left">&lt;classname&gt;string&lt;/classname&gt;</td></tr><tr><td align="left">&lt;function&gt;</td><td align="left">
+</p><div class="table"><a id="id516730"></a><p class="title"><b>Table A.2. Docbook XML Element Use</b></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Element</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left">&lt;structname&gt;</td><td align="left">&lt;structname&gt;char_traits&lt;/structname&gt;</td></tr><tr><td align="left">&lt;classname&gt;</td><td align="left">&lt;classname&gt;string&lt;/classname&gt;</td></tr><tr><td align="left">&lt;function&gt;</td><td align="left">
<p>&lt;function&gt;clear()&lt;/function&gt;</p>
<p>&lt;function&gt;fs.clear()&lt;/function&gt;</p>
</td></tr><tr><td align="left">&lt;type&gt;</td><td align="left">&lt;type&gt;long long&lt;/type&gt;</td></tr><tr><td align="left">&lt;varname&gt;</td><td align="left">&lt;varname&gt;fs&lt;/varname&gt;</td></tr><tr><td align="left">&lt;literal&gt;</td><td align="left">
diff --git a/libstdc++-v3/doc/html/manual/dynamic_memory.html b/libstdc++-v3/doc/html/manual/dynamic_memory.html
index 0779d6cc247..e23fdf5c272 100644
--- a/libstdc++-v3/doc/html/manual/dynamic_memory.html
+++ b/libstdc++-v3/doc/html/manual/dynamic_memory.html
@@ -1,28 +1,28 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 5. Dynamic Memory</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="support.html" title="Part II.  Support" /><link rel="prev" href="bk01pt02ch04s03.html" title="NULL" /><link rel="next" href="termination.html" title="Chapter 6. Termination" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. Dynamic Memory</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt02ch04s03.html">Prev</a> </td><th width="60%" align="center">Part II. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 5. Dynamic Memory</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="support.html" title="Part II.  Support" /><link rel="prev" href="bk01pt02ch04s03.html" title="NULL" /><link rel="next" href="termination.html" title="Chapter 6. Termination" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. Dynamic Memory</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt02ch04s03.html">Prev</a> </td><th width="60%" align="center">Part II. 
Support
-</th><td width="20%" align="right"> <a accesskey="n" href="termination.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.support.memory"></a>Chapter 5. Dynamic Memory</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="termination.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 5. Dynamic Memory"><div class="titlepage"><div><div><h2 class="title"><a id="manual.support.memory"></a>Chapter 5. Dynamic Memory</h2></div></div></div><p>
There are six flavors each of <code class="function">new</code> and
<code class="function">delete</code>, so make certain that you're using the right
ones. Here are quickie descriptions of <code class="function">new</code>:
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
single object form, throwing a
<code class="classname">bad_alloc</code> on errors; this is what most
people are used to using
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Single object "nothrow" form, returning NULL on errors
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Array <code class="function">new</code>, throwing
<code class="classname">bad_alloc</code> on errors
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Array nothrow <code class="function">new</code>, returning
<code class="constant">NULL</code> on errors
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Placement <code class="function">new</code>, which does nothing (like
it's supposed to)
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Placement array <code class="function">new</code>, which also does
nothing
</p></li></ul></div><p>
@@ -36,7 +36,7 @@
NULL pointer! Nothing happens, by definition. That is not the
same thing as deleting a pointer twice.
</p><p>
- By default, if one of the “<span class="quote">throwing <code class="function">new</code>s</span>†can't
+ By default, if one of the <span class="quote">“<span class="quote">throwing <code class="function">new</code>s</span>â€</span> can't
allocate the memory requested, it tosses an instance of a
<code class="classname">bad_alloc</code> exception (or, technically, some class derived
from it). You can change this by writing your own function (called a
diff --git a/libstdc++-v3/doc/html/manual/exceptions.html b/libstdc++-v3/doc/html/manual/exceptions.html
index 83eb8892fa4..572bee01af5 100644
--- a/libstdc++-v3/doc/html/manual/exceptions.html
+++ b/libstdc++-v3/doc/html/manual/exceptions.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 7. Exceptions</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="diagnostics.html" title="Part III.  Diagnostics" /><link rel="prev" href="diagnostics.html" title="Part III.  Diagnostics" /><link rel="next" href="bk01pt03ch07s02.html" title="Adding Data to Exceptions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 7. Exceptions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="diagnostics.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 7. Exceptions</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="diagnostics.html" title="Part III.  Diagnostics" /><link rel="prev" href="diagnostics.html" title="Part III.  Diagnostics" /><link rel="next" href="bk01pt03ch07s02.html" title="Adding Data to Exceptions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 7. Exceptions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="diagnostics.html">Prev</a> </td><th width="60%" align="center">Part III. 
Diagnostics
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch07s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.diagnostics.exceptions"></a>Chapter 7. Exceptions</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="exceptions.html#manual.diagnostics.exceptions.hierarchy">Exception Classes</a></span></dt><dt><span class="sect1"><a href="bk01pt03ch07s02.html">Adding Data to Exceptions</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.diagnostics.exceptions.hierarchy"></a>Exception Classes</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch07s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 7. Exceptions"><div class="titlepage"><div><div><h2 class="title"><a id="manual.diagnostics.exceptions"></a>Chapter 7. Exceptions</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="exceptions.html#manual.diagnostics.exceptions.hierarchy">Exception Classes</a></span></dt><dt><span class="sect1"><a href="bk01pt03ch07s02.html">Adding Data to Exceptions</a></span></dt></dl></div><div class="sect1" title="Exception Classes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.diagnostics.exceptions.hierarchy"></a>Exception Classes</h2></div></div></div><p>
All exception objects are defined in one of the standard header
files: <code class="filename">exception</code>,
<code class="filename">stdexcept</code>, <code class="filename">new</code>, and
diff --git a/libstdc++-v3/doc/html/manual/ext_algorithms.html b/libstdc++-v3/doc/html/manual/ext_algorithms.html
index eadb4441b1e..02231d43e4d 100644
--- a/libstdc++-v3/doc/html/manual/ext_algorithms.html
+++ b/libstdc++-v3/doc/html/manual/ext_algorithms.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 36. Algorithms</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_utilities.html" title="Chapter 35. Utilities" /><link rel="next" href="ext_numerics.html" title="Chapter 37. Numerics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 36. Algorithms</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 36. Algorithms</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_utilities.html" title="Chapter 35. Utilities" /><link rel="next" href="ext_numerics.html" title="Chapter 37. Numerics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 36. Algorithms</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="ext_numerics.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.algorithms"></a>Chapter 36. Algorithms</h2></div></div></div><p>25.1.6 (count, count_if) is extended with two more versions of count
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_numerics.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 36. Algorithms"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.algorithms"></a>Chapter 36. Algorithms</h2></div></div></div><p>25.1.6 (count, count_if) is extended with two more versions of count
and count_if. The standard versions return their results. The
additional signatures return void, but take a final parameter by
reference to which they assign their results, e.g.,
@@ -15,7 +15,7 @@
copy_n (_InputIter first, _Size count, _OutputIter result);</pre><p>which copies the first 'count' elements at 'first' into 'result'.
</p><p>25.3 (sorting 'n' heaps 'n' stuff) is extended with some helper
predicates. Look in the doxygen-generated pages for notes on these.
-</p><div class="itemizedlist"><ul type="disc"><li><p><code class="code">is_heap</code> tests whether or not a range is a heap.</p></li><li><p><code class="code">is_sorted</code> tests whether or not a range is sorted in
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">is_heap</code> tests whether or not a range is a heap.</p></li><li class="listitem"><p><code class="code">is_sorted</code> tests whether or not a range is sorted in
nondescending order.</p></li></ul></div><p>25.3.8 (lexicographical_compare) is extended with
</p><pre class="programlisting">
lexicographical_compare_3way(_InputIter1 first1, _InputIter1 last1,
diff --git a/libstdc++-v3/doc/html/manual/ext_allocators.html b/libstdc++-v3/doc/html/manual/ext_allocators.html
index cec9f8228a0..d1af7e13639 100644
--- a/libstdc++-v3/doc/html/manual/ext_allocators.html
+++ b/libstdc++-v3/doc/html/manual/ext_allocators.html
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 33. Allocators</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="bk01pt12ch32s07.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 33. Allocators</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch32s07.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 33. Allocators</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="bk01pt12ch32s07.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 33. Allocators</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch32s07.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator"></a>Chapter 33. Allocators</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ext_allocators.html#manual.ext.allocator.mt">mt_allocator</a></span></dt><dd><dl><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.design_issues">Design Issues</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.example_single">Single Thread Example</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.example_multi">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="sect1"><a href="bitmap_allocator.html">bitmap_allocator</a></span></dt><dd><dl><dt><span class="sect2"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="sect2"><a href="bitmap_allocator.html#allocator.bitmap.impl">Implementation</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.allocator.mt"></a>mt_allocator</h2></div></div></div><p>
-</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.intro"></a>Intro</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 33. Allocators"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator"></a>Chapter 33. Allocators</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ext_allocators.html#manual.ext.allocator.mt">mt_allocator</a></span></dt><dd><dl><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.design_issues">Design Issues</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.example_single">Single Thread Example</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.example_multi">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="sect1"><a href="bitmap_allocator.html">bitmap_allocator</a></span></dt><dd><dl><dt><span class="sect2"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="sect2"><a href="bitmap_allocator.html#allocator.bitmap.impl">Implementation</a></span></dt></dl></dd></dl></div><div class="sect1" title="mt_allocator"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.allocator.mt"></a>mt_allocator</h2></div></div></div><p>
+</p><div class="sect2" title="Intro"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.intro"></a>Intro</h3></div></div></div><p>
The mt allocator [hereinafter referred to simply as "the allocator"]
is a fixed size (power of two) allocator that was initially
developed specifically to suit the needs of multi threaded
@@ -20,7 +20,7 @@
</p><p>
The aim of this document is to describe - from an application point of
view - the "inner workings" of the allocator.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.design_issues"></a>Design Issues</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.mt.overview"></a>Overview</h4></div></div></div><p> There are three general components to the allocator: a datum
+</p></div><div class="sect2" title="Design Issues"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.design_issues"></a>Design Issues</h3></div></div></div><div class="sect3" title="Overview"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.mt.overview"></a>Overview</h4></div></div></div><p> There are three general components to the allocator: a datum
describing the characteristics of the memory pool, a policy class
containing this pool that links instantiation types to common or
individual pools, and a class inheriting from the policy class that is
@@ -56,10 +56,10 @@ tuning, for instance.
</pre><p> This class has the interface required for standard library allocator
classes, namely member functions <code class="code">allocate</code> and
<code class="code">deallocate</code>, plus others.
-</p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.impl"></a>Implementation</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.mt.tune"></a>Tunable Parameters</h4></div></div></div><p>Certain allocation parameters can be modified, or tuned. There
+</p></div></div><div class="sect2" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.impl"></a>Implementation</h3></div></div></div><div class="sect3" title="Tunable Parameters"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.mt.tune"></a>Tunable Parameters</h4></div></div></div><p>Certain allocation parameters can be modified, or tuned. There
exists a nested <code class="code">struct __pool_base::_Tune</code> that contains all
these parameters, which include settings for
-</p><div class="itemizedlist"><ul type="disc"><li><p>Alignment</p></li><li><p>Maximum bytes before calling <code class="code">::operator new</code> directly</p></li><li><p>Minimum bytes</p></li><li><p>Size of underlying global allocations</p></li><li><p>Maximum number of supported threads</p></li><li><p>Migration of deallocations to the global free list</p></li><li><p>Shunt for global <code class="code">new</code> and <code class="code">delete</code></p></li></ul></div><p>Adjusting parameters for a given instance of an allocator can only
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Alignment</p></li><li class="listitem"><p>Maximum bytes before calling <code class="code">::operator new</code> directly</p></li><li class="listitem"><p>Minimum bytes</p></li><li class="listitem"><p>Size of underlying global allocations</p></li><li class="listitem"><p>Maximum number of supported threads</p></li><li class="listitem"><p>Migration of deallocations to the global free list</p></li><li class="listitem"><p>Shunt for global <code class="code">new</code> and <code class="code">delete</code></p></li></ul></div><p>Adjusting parameters for a given instance of an allocator can only
happen before any allocations take place, when the allocator itself is
initialized. For instance:
</p><pre class="programlisting">
@@ -95,7 +95,7 @@ int main()
return 0;
}
-</pre></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.mt.init"></a>Initialization</h4></div></div></div><p>
+</pre></div><div class="sect3" title="Initialization"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.mt.init"></a>Initialization</h4></div></div></div><p>
The static variables (pointers to freelists, tuning parameters etc)
are initialized as above, or are set to the global defaults.
</p><p>
@@ -187,7 +187,7 @@ The _S_initialize() function:
for this specific bin. This only occurs when a number of blocks
are grabbed from the global list to a thread specific list or when
a thread decides to return some blocks to the global freelist.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.mt.deallocation"></a>Deallocation Notes</h4></div></div></div><p> Notes about deallocation. This allocator does not explicitly
+</p></div><div class="sect3" title="Deallocation Notes"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.mt.deallocation"></a>Deallocation Notes</h4></div></div></div><p> Notes about deallocation. This allocator does not explicitly
release memory. Because of this, memory debugging programs like
valgrind or purify may notice leaks: sorry about this
inconvenience. Operating systems will reclaim allocated memory at
@@ -214,7 +214,7 @@ implementation-specific, and subject to change. For an example of a
pool that frees memory, see the following
<a class="ulink" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc?view=markup" target="_top">
example.</a>
-</p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.example_single"></a>Single Thread Example</h3></div></div></div><p>
+</p></div></div><div class="sect2" title="Single Thread Example"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.example_single"></a>Single Thread Example</h3></div></div></div><p>
Let's start by describing how the data on a freelist is laid out in memory.
This is the first two blocks in freelist for thread id 3 in bin 3 (8 bytes):
</p><pre class="programlisting">
@@ -290,7 +290,7 @@ of the global freelist and update the pointer as needed
The decision to add deallocated blocks to the front of the freelist was made
after a set of performance measurements that showed that this is roughly 10%
faster than maintaining a set of "last pointers" as well.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.example_multi"></a>Multiple Thread Example</h3></div></div></div><p>
+</p></div><div class="sect2" title="Multiple Thread Example"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.example_multi"></a>Multiple Thread Example</h3></div></div></div><p>
In the ST example we never used the thread_id variable present in each block.
Let's start by explaining the purpose of this in a MT application.
</p><p>
diff --git a/libstdc++-v3/doc/html/manual/ext_compile_checks.html b/libstdc++-v3/doc/html/manual/ext_compile_checks.html
index fa438da43de..104d81a9908 100644
--- a/libstdc++-v3/doc/html/manual/ext_compile_checks.html
+++ b/libstdc++-v3/doc/html/manual/ext_compile_checks.html
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 29. Compile Time Checks</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="bk01pt12pr03.html" title="" /><link rel="next" href="debug_mode.html" title="Chapter 30. Debug Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 29. Compile Time Checks</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12pr03.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 29. Compile Time Checks</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="bk01pt12pr03.html" title="" /><link rel="next" href="debug_mode.html" title="Chapter 30. Debug Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 29. Compile Time Checks</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12pr03.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="debug_mode.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.compile_checks"></a>Chapter 29. Compile Time Checks</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="debug_mode.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 29. Compile Time Checks"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.compile_checks"></a>Chapter 29. Compile Time Checks</h2></div></div></div><p>
Also known as concept checking.
</p><p>In 1999, SGI added <span class="emphasis"><em>concept checkers</em></span> to their implementation
of the STL: code which checked the template parameters of
instantiated pieces of the STL, in order to insure that the parameters
being used met the requirements of the standard. For example,
the Standard requires that types passed as template parameters to
- <code class="code">vector</code> be “<span class="quote">Assignable</span>†(which means what you think
+ <code class="code">vector</code> be <span class="quote">“<span class="quote">Assignable</span>â€</span> (which means what you think
it means). The checking was done during compilation, and none of
the code was executed at runtime.
</p><p>Unfortunately, the size of the compiler files grew significantly
diff --git a/libstdc++-v3/doc/html/manual/ext_concurrency.html b/libstdc++-v3/doc/html/manual/ext_concurrency.html
index 9fa8f74d7b1..0d660c7402c 100644
--- a/libstdc++-v3/doc/html/manual/ext_concurrency.html
+++ b/libstdc++-v3/doc/html/manual/ext_concurrency.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 41. Concurrency</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_demangling.html" title="Chapter 40. Demangling" /><link rel="next" href="bk01pt12ch41s02.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 41. Concurrency</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 41. Concurrency</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_demangling.html" title="Chapter 40. Demangling" /><link rel="next" href="bk01pt12ch41s02.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 41. Concurrency</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch41s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency"></a>Chapter 41. Concurrency</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="sect2"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch41s02.html">Implementation</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch41s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch41s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch41s03.html">Use</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.design"></a>Design</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.threads"></a>Interface to Locks and Mutexes</h3></div></div></div><p>The file &lt;ext/concurrence.h&gt; contains all the higher-level
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch41s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 41. Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency"></a>Chapter 41. Concurrency</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="sect2"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch41s02.html">Implementation</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch41s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch41s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch41s03.html">Use</a></span></dt></dl></div><div class="sect1" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.design"></a>Design</h2></div></div></div><div class="sect2" title="Interface to Locks and Mutexes"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.threads"></a>Interface to Locks and Mutexes</h3></div></div></div><p>The file &lt;ext/concurrence.h&gt; contains all the higher-level
constructs for playing with threads. In contrast to the atomics layer,
the concurrence layer consists largely of types. All types are defined within <code class="code">namespace __gnu_cxx</code>.
</p><p>
@@ -16,9 +16,9 @@ that support multiple threads.)
available locking
policies: <code class="code">_S_single</code>, <code class="code">_S_mutex</code>,
and <code class="code">_S_atomic</code>.
-</p><div class="itemizedlist"><ul type="disc"><li><p><code class="code">_S_single</code></p><p>Indicates single-threaded code that does not need locking.
-</p></li><li><p><code class="code">_S_mutex</code></p><p>Indicates multi-threaded code using thread-layer abstractions.
-</p></li><li><p><code class="code">_S_atomic</code></p><p>Indicates multi-threaded code using atomic operations.
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">_S_single</code></p><p>Indicates single-threaded code that does not need locking.
+</p></li><li class="listitem"><p><code class="code">_S_mutex</code></p><p>Indicates multi-threaded code using thread-layer abstractions.
+</p></li><li class="listitem"><p><code class="code">_S_atomic</code></p><p>Indicates multi-threaded code using atomic operations.
</p></li></ul></div><p>The compile-time constant <code class="code">__default_lock_policy</code> is set
to one of the three values above, depending on characteristics of the
host environment and the current compilation flags.
@@ -30,7 +30,7 @@ community. This version takes a <code class="code">__mutex</code> reference, and
locks it during construction of <code class="code">__scoped_locke</code> and
unlocks it during destruction. This is an efficient way of locking
critical sections, while retaining exception-safety.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.atomics"></a>Interface to Atomic Functions</h3></div></div></div><p>
+</p></div><div class="sect2" title="Interface to Atomic Functions"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.atomics"></a>Interface to Atomic Functions</h3></div></div></div><p>
Two functions and one type form the base of atomic support.
</p><p>The type <code class="code">_Atomic_word</code> is a signed integral type
supporting atomic operations.
@@ -44,12 +44,12 @@ void
__atomic_add_dispatch(volatile _Atomic_word*, int);
</pre><p>Both of these functions are declared in the header file
&lt;ext/atomicity.h&gt;, and are in <code class="code">namespace __gnu_cxx</code>.
-</p><div class="itemizedlist"><ul type="disc"><li><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="code">
__exchange_and_add_dispatch
</code>
</p><p>Adds the second argument's value to the first argument. Returns the old value.
-</p></li><li><p>
+</p></li><li class="listitem"><p>
<code class="code">
__atomic_add_dispatch
</code>
@@ -63,11 +63,11 @@ __exchange_and_add_dispatch
</code>
</p><p>
Calls through to either of:
-</p><div class="itemizedlist"><ul type="disc"><li><p><code class="code">__exchange_and_add</code>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">__exchange_and_add</code>
</p><p>Multi-thread version. Inlined if compiler-generated builtin atomics
can be used, otherwise resolved at link time to a non-builtin code
sequence.
-</p></li><li><p><code class="code">__exchange_and_add_single</code>
+</p></li><li class="listitem"><p><code class="code">__exchange_and_add_single</code>
</p><p>Single threaded version. Inlined.</p></li></ul></div><p>However, only <code class="code">__exchange_and_add_dispatch</code>
and <code class="code">__atomic_add_dispatch</code> should be used. These functions
can be used in a portable manner, regardless of the specific
diff --git a/libstdc++-v3/doc/html/manual/ext_containers.html b/libstdc++-v3/doc/html/manual/ext_containers.html
index 47ada7b5db6..5b767d27922 100644
--- a/libstdc++-v3/doc/html/manual/ext_containers.html
+++ b/libstdc++-v3/doc/html/manual/ext_containers.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 34. Containers</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="bitmap_allocator.html" title="bitmap_allocator" /><link rel="next" href="bk01pt12ch34s02.html" title="HP/SGI" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 34. Containers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 34. Containers</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="bitmap_allocator.html" title="bitmap_allocator" /><link rel="next" href="bk01pt12ch34s02.html" title="HP/SGI" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 34. Containers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch34s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers"></a>Chapter 34. Containers</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ext_containers.html#manual.ext.containers.pbds">Policy Based Data Structures</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch34s02.html">HP/SGI</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch34s03.html">Deprecated HP/SGI</a></span></dt></dl></div><p>
- </p><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.pbds"></a>Policy Based Data Structures</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch34s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 34. Containers"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers"></a>Chapter 34. Containers</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ext_containers.html#manual.ext.containers.pbds">Policy Based Data Structures</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch34s02.html">HP/SGI</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch34s03.html">Deprecated HP/SGI</a></span></dt></dl></div><p>
+ </p><div class="sect1" title="Policy Based Data Structures"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.pbds"></a>Policy Based Data Structures</h2></div></div></div><p>
<a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/index.html" target="_top">More details here</a>.
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt12ch34s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">bitmap_allocator </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> HP/SGI</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/ext_demangling.html b/libstdc++-v3/doc/html/manual/ext_demangling.html
index 46866b82bf9..8952d5718d8 100644
--- a/libstdc++-v3/doc/html/manual/ext_demangling.html
+++ b/libstdc++-v3/doc/html/manual/ext_demangling.html
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 40. Demangling</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_io.html" title="Chapter 39. Input and Output" /><link rel="next" href="ext_concurrency.html" title="Chapter 41. Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 40. Demangling</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 40. Demangling</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_io.html" title="Chapter 39. Input and Output" /><link rel="next" href="ext_concurrency.html" title="Chapter 41. Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 40. Demangling</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.demangle"></a>Chapter 40. Demangling</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 40. Demangling"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.demangle"></a>Chapter 40. Demangling</h2></div></div></div><p>
Transforming C++ ABI identifiers (like RTTI symbols) into the
original C++ source identifiers is called
- “<span class="quote">demangling.</span>â€
+ <span class="quote">“<span class="quote">demangling.</span>â€</span>
</p><p>
If you have read the <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaceabi.html" target="_top">source
documentation for <code class="code">namespace abi</code></a> then you are
diff --git a/libstdc++-v3/doc/html/manual/ext_io.html b/libstdc++-v3/doc/html/manual/ext_io.html
index d257c2c51e5..796c311f3e6 100644
--- a/libstdc++-v3/doc/html/manual/ext_io.html
+++ b/libstdc++-v3/doc/html/manual/ext_io.html
@@ -1,41 +1,41 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 39. Input and Output</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_iterators.html" title="Chapter 38. Iterators" /><link rel="next" href="ext_demangling.html" title="Chapter 40. Demangling" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 39. Input and Output</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 39. Input and Output</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_iterators.html" title="Chapter 38. Iterators" /><link rel="next" href="ext_demangling.html" title="Chapter 40. Demangling" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 39. Input and Output</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.io"></a>Chapter 39. Input and Output</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 39. Input and Output"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.io"></a>Chapter 39. Input and Output</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></div><p>
Extensions allowing <code class="code">filebuf</code>s to be constructed from
"C" types like FILE*s and file descriptors.
- </p><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.io.filebuf_derived"></a>Derived filebufs</h2></div></div></div><p>The v2 library included non-standard extensions to construct
+ </p><div class="sect1" title="Derived filebufs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.io.filebuf_derived"></a>Derived filebufs</h2></div></div></div><p>The v2 library included non-standard extensions to construct
<code class="code">std::filebuf</code>s from C stdio types such as
<code class="code">FILE*</code>s and POSIX file descriptors.
Today the recommended way to use stdio types with libstdc++
IOStreams is via the <code class="code">stdio_filebuf</code> class (see below),
but earlier releases provided slightly different mechanisms.
- </p><div class="itemizedlist"><ul type="disc"><li><p>3.0.x <code class="code">filebuf</code>s have another ctor with this signature:
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>3.0.x <code class="code">filebuf</code>s have another ctor with this signature:
<code class="code">basic_filebuf(__c_file_type*, ios_base::openmode, int_type);
</code>
This comes in very handy in a number of places, such as
attaching Unix sockets, pipes, and anything else which uses file
descriptors, into the IOStream buffering classes. The three
arguments are as follows:
- </p><div class="itemizedlist"><ul type="circle"><li><p><code class="code">__c_file_type* F </code>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p><code class="code">__c_file_type* F </code>
// the __c_file_type typedef usually boils down to stdio's FILE
- </p></li><li><p><code class="code">ios_base::openmode M </code>
+ </p></li><li class="listitem"><p><code class="code">ios_base::openmode M </code>
// same as all the other uses of openmode
- </p></li><li><p><code class="code">int_type B </code>
+ </p></li><li class="listitem"><p><code class="code">int_type B </code>
// buffer size, defaults to BUFSIZ if not specified
</p></li></ul></div><p>
For those wanting to use file descriptors instead of FILE*'s, I
invite you to contemplate the mysteries of C's <code class="code">fdopen()</code>.
- </p></li><li><p>In library snapshot 3.0.95 and later, <code class="code">filebuf</code>s bring
+ </p></li><li class="listitem"><p>In library snapshot 3.0.95 and later, <code class="code">filebuf</code>s bring
back an old extension: the <code class="code">fd()</code> member function. The
integer returned from this function can be used for whatever file
descriptors can be used for on your platform. Naturally, the
library cannot track what you do on your own with a file descriptor,
so if you perform any I/O directly, don't expect the library to be
aware of it.
- </p></li><li><p>Beginning with 3.1, the extra <code class="code">filebuf</code> constructor and
+ </p></li><li class="listitem"><p>Beginning with 3.1, the extra <code class="code">filebuf</code> constructor and
the <code class="code">fd()</code> function were removed from the standard
filebuf. Instead, <code class="code">&lt;ext/stdio_filebuf.h&gt;</code> contains
a derived class called
diff --git a/libstdc++-v3/doc/html/manual/ext_iterators.html b/libstdc++-v3/doc/html/manual/ext_iterators.html
index 20be5ac7831..88259a8ace9 100644
--- a/libstdc++-v3/doc/html/manual/ext_iterators.html
+++ b/libstdc++-v3/doc/html/manual/ext_iterators.html
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 38. Iterators</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_numerics.html" title="Chapter 37. Numerics" /><link rel="next" href="ext_io.html" title="Chapter 39. Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 38. Iterators</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 38. Iterators</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_numerics.html" title="Chapter 37. Numerics" /><link rel="next" href="ext_io.html" title="Chapter 39. Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 38. Iterators</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="ext_io.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.iterators"></a>Chapter 38. Iterators</h2></div></div></div><p>24.3.2 describes <code class="code">struct iterator</code>, which didn't exist in the
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_io.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 38. Iterators"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.iterators"></a>Chapter 38. Iterators</h2></div></div></div><p>24.3.2 describes <code class="code">struct iterator</code>, which didn't exist in the
original HP STL implementation (the language wasn't rich enough at the
time). For backwards compatibility, base classes are provided which
declare the same nested typedefs:
-</p><div class="itemizedlist"><ul type="disc"><li><p>input_iterator</p></li><li><p>output_iterator</p></li><li><p>forward_iterator</p></li><li><p>bidirectional_iterator</p></li><li><p>random_access_iterator</p></li></ul></div><p>24.3.4 describes iterator operation <code class="code">distance</code>, which takes
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>input_iterator</p></li><li class="listitem"><p>output_iterator</p></li><li class="listitem"><p>forward_iterator</p></li><li class="listitem"><p>bidirectional_iterator</p></li><li class="listitem"><p>random_access_iterator</p></li></ul></div><p>24.3.4 describes iterator operation <code class="code">distance</code>, which takes
two iterators and returns a result. It is extended by another signature
which takes two iterators and a reference to a result. The result is
modified, and the function returns nothing.
diff --git a/libstdc++-v3/doc/html/manual/ext_numerics.html b/libstdc++-v3/doc/html/manual/ext_numerics.html
index dc47b617dbf..e8f86678a7c 100644
--- a/libstdc++-v3/doc/html/manual/ext_numerics.html
+++ b/libstdc++-v3/doc/html/manual/ext_numerics.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 37. Numerics</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_algorithms.html" title="Chapter 36. Algorithms" /><link rel="next" href="ext_iterators.html" title="Chapter 38. Iterators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 37. Numerics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 37. Numerics</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="ext_algorithms.html" title="Chapter 36. Algorithms" /><link rel="next" href="ext_iterators.html" title="Chapter 38. Iterators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 37. Numerics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="ext_iterators.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.numerics"></a>Chapter 37. Numerics</h2></div></div></div><p>26.4, the generalized numeric operations such as accumulate, are extended
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_iterators.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 37. Numerics"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.numerics"></a>Chapter 37. Numerics</h2></div></div></div><p>26.4, the generalized numeric operations such as accumulate, are extended
with the following functions:
</p><pre class="programlisting">
power (x, n);
diff --git a/libstdc++-v3/doc/html/manual/ext_utilities.html b/libstdc++-v3/doc/html/manual/ext_utilities.html
index cf475c6f064..2685de374b9 100644
--- a/libstdc++-v3/doc/html/manual/ext_utilities.html
+++ b/libstdc++-v3/doc/html/manual/ext_utilities.html
@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 35. Utilities</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="bk01pt12ch34s03.html" title="Deprecated HP/SGI" /><link rel="next" href="ext_algorithms.html" title="Chapter 36. Algorithms" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 35. Utilities</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch34s03.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 35. Utilities</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="bk01pt12ch34s03.html" title="Deprecated HP/SGI" /><link rel="next" href="ext_algorithms.html" title="Chapter 36. Algorithms" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 35. Utilities</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch34s03.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.util"></a>Chapter 35. Utilities</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 35. Utilities"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.util"></a>Chapter 35. Utilities</h2></div></div></div><p>
The &lt;functional&gt; header contains many additional functors
and helper functions, extending section 20.3. They are
implemented in the file stl_function.h:
- </p><div class="itemizedlist"><ul type="disc"><li><p><code class="code">identity_element</code> for addition and multiplication. *
- </p></li><li><p>The functor <code class="code">identity</code>, whose <code class="code">operator()</code>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">identity_element</code> for addition and multiplication. *
+ </p></li><li class="listitem"><p>The functor <code class="code">identity</code>, whose <code class="code">operator()</code>
returns the argument unchanged. *
- </p></li><li><p>Composition functors <code class="code">unary_function</code> and
+ </p></li><li class="listitem"><p>Composition functors <code class="code">unary_function</code> and
<code class="code">binary_function</code>, and their helpers <code class="code">compose1</code>
and <code class="code">compose2</code>. *
- </p></li><li><p><code class="code">select1st</code> and <code class="code">select2nd</code>, to strip pairs. *
- </p></li><li><p><code class="code">project1st</code> and <code class="code">project2nd</code>. * </p></li><li><p>A set of functors/functions which always return the same result. They
+ </p></li><li class="listitem"><p><code class="code">select1st</code> and <code class="code">select2nd</code>, to strip pairs. *
+ </p></li><li class="listitem"><p><code class="code">project1st</code> and <code class="code">project2nd</code>. * </p></li><li class="listitem"><p>A set of functors/functions which always return the same result. They
are <code class="code">constant_void_fun</code>, <code class="code">constant_binary_fun</code>,
<code class="code">constant_unary_fun</code>, <code class="code">constant0</code>,
- <code class="code">constant1</code>, and <code class="code">constant2</code>. * </p></li><li><p>The class <code class="code">subtractive_rng</code>. * </p></li><li><p>mem_fun adaptor helpers <code class="code">mem_fun1</code> and
+ <code class="code">constant1</code>, and <code class="code">constant2</code>. * </p></li><li class="listitem"><p>The class <code class="code">subtractive_rng</code>. * </p></li><li class="listitem"><p>mem_fun adaptor helpers <code class="code">mem_fun1</code> and
<code class="code">mem_fun1_ref</code> are provided for backwards compatibility. </p></li></ul></div><p>
20.4.1 can use several different allocators; they are described on the
main extensions page.
diff --git a/libstdc++-v3/doc/html/manual/extensions.html b/libstdc++-v3/doc/html/manual/extensions.html
index e80e4110ec5..65e842c8b9d 100644
--- a/libstdc++-v3/doc/html/manual/extensions.html
+++ b/libstdc++-v3/doc/html/manual/extensions.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part XII.  Extensions</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt11ch28s02.html" title="Performance" /><link rel="next" href="bk01pt12pr03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part XII.  Extensions</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt11ch28s02.html" title="Performance" /><link rel="next" href="bk01pt12pr03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part XII. 
Extensions
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt11ch28s02.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12pr03.html">Next</a></td></tr></table><hr /></div><div class="part" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext"></a>Part XII. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt11ch28s02.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12pr03.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part XII.  Extensions"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext"></a>Part XII. 
Extensions
- <a id="id646766" class="indexterm"></a>
+ <a id="id455790" class="indexterm"></a>
</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="bk01pt12pr03.html"></a></span></dt><dt><span class="chapter"><a href="ext_compile_checks.html">29. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="debug_mode.html">30. Debug Mode</a></span></dt><dd><dl><dt><span class="sect1"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch30s02.html">Semantics</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch30s03.html">Using</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch30s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch30s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch30s04.html">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch30s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch30s04.html#debug_mode.design.methods">Methods</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch30s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="parallel_mode.html">31. Parallel Mode</a></span></dt><dd><dl><dt><span class="sect1"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch31s02.html">Semantics</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch31s03.html">Using</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch31s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch31s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch31s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch31s04.html">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch31s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch31s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch31s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch31s05.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">32. Profile Mode</a></span></dt><dd><dl><dt><span class="sect1"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="sect2"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="sect2"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch32s02.html">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch32s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch32s04.html">Empirical Cost Model</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch32s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch32s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch32s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch32s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.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">33. Allocators</a></span></dt><dd><dl><dt><span class="sect1"><a href="ext_allocators.html#manual.ext.allocator.mt">mt_allocator</a></span></dt><dd><dl><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.design_issues">Design Issues</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.example_single">Single Thread Example</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.example_multi">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="sect1"><a href="bitmap_allocator.html">bitmap_allocator</a></span></dt><dd><dl><dt><span class="sect2"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="sect2"><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">34. Containers</a></span></dt><dd><dl><dt><span class="sect1"><a href="ext_containers.html#manual.ext.containers.pbds">Policy Based Data Structures</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch34s02.html">HP/SGI</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch34s03.html">Deprecated HP/SGI</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_utilities.html">35. Utilities</a></span></dt><dt><span class="chapter"><a href="ext_algorithms.html">36. Algorithms</a></span></dt><dt><span class="chapter"><a href="ext_numerics.html">37. Numerics</a></span></dt><dt><span class="chapter"><a href="ext_iterators.html">38. Iterators</a></span></dt><dt><span class="chapter"><a href="ext_io.html">39. Input and Output</a></span></dt><dd><dl><dt><span class="sect1"><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">40. Demangling</a></span></dt><dt><span class="chapter"><a href="ext_concurrency.html">41. Concurrency</a></span></dt><dd><dl><dt><span class="sect1"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="sect2"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch41s02.html">Implementation</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch41s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch41s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch41s03.html">Use</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt11ch28s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt12pr03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Performance </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/facets.html b/libstdc++-v3/doc/html/manual/facets.html
index ff42a5bbe0a..e19c10dc38e 100644
--- a/libstdc++-v3/doc/html/manual/facets.html
+++ b/libstdc++-v3/doc/html/manual/facets.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 15. Facets aka Categories</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="localization.html" title="Part VI.  Localization" /><link rel="prev" href="locales.html" title="Chapter 14. Locales" /><link rel="next" href="codecvt.html" title="codecvt" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 15. Facets aka Categories</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="locales.html">Prev</a> </td><th width="60%" align="center">Part VI. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 15. Facets aka Categories</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="localization.html" title="Part VI.  Localization" /><link rel="prev" href="locales.html" title="Chapter 14. Locales" /><link rel="next" href="codecvt.html" title="codecvt" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 15. Facets aka Categories</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="locales.html">Prev</a> </td><th width="60%" align="center">Part VI. 
Localization
-</th><td width="20%" align="right"> <a accesskey="n" href="codecvt.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.localization.facet"></a>Chapter 15. Facets aka Categories</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="facets.html#manual.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="sect2"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="sect1"><a href="codecvt.html">codecvt</a></span></dt><dd><dl><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.design">Design</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.use">Use</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="sect1"><a href="messages.html">messages</a></span></dt><dd><dl><dt><span class="sect2"><a href="messages.html#facet.messages.req">Requirements</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.design">Design</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.use">Use</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.localization.facet.ctype"></a>ctype</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="facet.ctype.impl"></a>Implementation</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id639240"></a>Specializations</h4></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="codecvt.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 15. Facets aka Categories"><div class="titlepage"><div><div><h2 class="title"><a id="manual.localization.facet"></a>Chapter 15. Facets aka Categories</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="facets.html#manual.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="sect2"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="sect1"><a href="codecvt.html">codecvt</a></span></dt><dd><dl><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.design">Design</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.use">Use</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="sect1"><a href="messages.html">messages</a></span></dt><dd><dl><dt><span class="sect2"><a href="messages.html#facet.messages.req">Requirements</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.design">Design</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.use">Use</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></div><div class="sect1" title="ctype"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.localization.facet.ctype"></a>ctype</h2></div></div></div><div class="sect2" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="facet.ctype.impl"></a>Implementation</h3></div></div></div><div class="sect3" title="Specializations"><div class="titlepage"><div><div><h4 class="title"><a id="id454077"></a>Specializations</h4></div></div></div><p>
For the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt; ,
conversions are made between the internal character set (always UCS4
on GNU/Linux) and whatever the currently selected locale for the
@@ -28,47 +28,47 @@ to wchar_t and wcsrtombs for conversions between wchar_t and char.
</p><p>
Neither of these two required specializations deals with Unicode
characters.
-</p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="facet.ctype.future"></a>Future</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>
+</p></div></div><div class="sect2" title="Future"><div class="titlepage"><div><div><h3 class="title"><a id="facet.ctype.future"></a>Future</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
How to deal with the global locale issue?
- </p></li><li><p>
- How to deal with different types than char, wchar_t? </p></li><li><p>
+ </p></li><li class="listitem"><p>
+ How to deal with different types than char, wchar_t? </p></li><li class="listitem"><p>
Overlap between codecvt/ctype: narrow/widen
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Mask typedef in codecvt_base, argument types in codecvt. what
is know about this type?
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Why mask* argument in codecvt?
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Can this be made (more) generic? is there a simple way to
straighten out the configure-time mess that is a by-product of
this class?
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Get the ctype&lt;wchar_t&gt;::mask stuff under control. Need to
make some kind of static table, and not do lookup every time
somebody hits the do_is... functions. Too bad we can't just
redefine mask for ctype&lt;wchar_t&gt;
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Rename abstract base class. See if just smash-overriding is a
better approach. Clarify, add sanity to naming.
- </p></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="facet.ctype.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id621794"></a><p><span class="title"><i>
+ </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="facet.ctype.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id452097"></a><p><span class="title"><i>
The GNU C Library
- </i>. </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="id641198"></a><p><span class="title"><i>
+ </i>. </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" title="Correspondence"><a id="id471567"></a><p><span class="title"><i>
Correspondence
- </i>. </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="id734835"></a><p><span class="title"><i>
+ </i>. </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" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id471595"></a><p><span class="title"><i>
ISO/IEC 14882:1998 Programming languages - C++
- </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id629980"></a><p><span class="title"><i>
+ </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id427317"></a><p><span class="title"><i>
ISO/IEC 9899:1999 Programming languages - C
- </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id629998"></a><p><span class="title"><i>
+ </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)"><a id="id427335"></a><p><span class="title"><i>
The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
</i>. </span><span class="copyright">Copyright © 1999
The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span><span class="biblioid">
<a class="ulink" href="http://www.unix.org/version3/ieee_std.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id619025"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id424311"></a><p><span class="title"><i>
The C++ Programming Language, Special Edition
</i>. </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">
Addison Wesley
- . </span></span></p></div><div class="biblioentry"><a id="id637327"></a><p><span class="title"><i>
+ . </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id417496"></a><p><span class="title"><i>
Standard C++ IOStreams and Locales
</i>. </span><span class="subtitle">
Advanced Programmer's Guide and Reference
diff --git a/libstdc++-v3/doc/html/manual/fstreams.html b/libstdc++-v3/doc/html/manual/fstreams.html
index bd8e8260988..6b0a06bca32 100644
--- a/libstdc++-v3/doc/html/manual/fstreams.html
+++ b/libstdc++-v3/doc/html/manual/fstreams.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 27. File Based Streams</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="io.html" title="Part XI.  Input and Output" /><link rel="prev" href="stringstreams.html" title="Chapter 26. Memory Based Streams" /><link rel="next" href="bk01pt11ch27s02.html" title="Binary Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 27. File Based Streams</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><th width="60%" align="center">Part XI. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 27. File Based Streams</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="io.html" title="Part XI.  Input and Output" /><link rel="prev" href="stringstreams.html" title="Chapter 26. Memory Based Streams" /><link rel="next" href="bk01pt11ch27s02.html" title="Binary Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 27. File Based Streams</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><th width="60%" align="center">Part XI. 
Input and Output
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt11ch27s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.io.filestreams"></a>Chapter 27. File Based Streams</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="fstreams.html#manual.io.filestreams.copying_a_file">Copying a File</a></span></dt><dt><span class="sect1"><a href="bk01pt11ch27s02.html">Binary Input and Output</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.io.filestreams.copying_a_file"></a>Copying a File</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt11ch27s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 27. File Based Streams"><div class="titlepage"><div><div><h2 class="title"><a id="manual.io.filestreams"></a>Chapter 27. File Based Streams</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="fstreams.html#manual.io.filestreams.copying_a_file">Copying a File</a></span></dt><dt><span class="sect1"><a href="bk01pt11ch27s02.html">Binary Input and Output</a></span></dt></dl></div><div class="sect1" title="Copying a File"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.io.filestreams.copying_a_file"></a>Copying a File</h2></div></div></div><p>
</p><p>So you want to copy a file quickly and easily, and most important,
completely portably. And since this is C++, you have an open
ifstream (call it IN) and an open ofstream (call it OUT):
diff --git a/libstdc++-v3/doc/html/manual/functors.html b/libstdc++-v3/doc/html/manual/functors.html
index eb469ed0b29..eca77856530 100644
--- a/libstdc++-v3/doc/html/manual/functors.html
+++ b/libstdc++-v3/doc/html/manual/functors.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 9. Functors</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="utilities.html" title="Part IV.  Utilities" /><link rel="prev" href="utilities.html" title="Part IV.  Utilities" /><link rel="next" href="pairs.html" title="Chapter 10. Pairs" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 9. Functors</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="utilities.html">Prev</a> </td><th width="60%" align="center">Part IV. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 9. Functors</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="utilities.html" title="Part IV.  Utilities" /><link rel="prev" href="utilities.html" title="Part IV.  Utilities" /><link rel="next" href="pairs.html" title="Chapter 10. Pairs" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 9. Functors</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="utilities.html">Prev</a> </td><th width="60%" align="center">Part IV. 
Utilities
-</th><td width="20%" align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.util.functors"></a>Chapter 9. Functors</h2></div></div></div><p>If you don't know what functors are, you're not alone. Many people
+</th><td width="20%" align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 9. Functors"><div class="titlepage"><div><div><h2 class="title"><a id="manual.util.functors"></a>Chapter 9. Functors</h2></div></div></div><p>If you don't know what functors are, you're not alone. Many people
get slightly the wrong idea. In the interest of not reinventing
the wheel, we will refer you to the introduction to the functor
concept written by SGI as part of their STL, in
diff --git a/libstdc++-v3/doc/html/manual/fundamental_types.html b/libstdc++-v3/doc/html/manual/fundamental_types.html
index df1570c9824..0196e5a8dec 100644
--- a/libstdc++-v3/doc/html/manual/fundamental_types.html
+++ b/libstdc++-v3/doc/html/manual/fundamental_types.html
@@ -1,37 +1,37 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 4. Types</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="support.html" title="Part II.  Support" /><link rel="prev" href="bk01pt02pr01.html" title="" /><link rel="next" href="bk01pt02ch04s02.html" title="Numeric Properties" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. Types</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt02pr01.html">Prev</a> </td><th width="60%" align="center">Part II. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 4. Types</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="support.html" title="Part II.  Support" /><link rel="prev" href="bk01pt02pr01.html" title="" /><link rel="next" href="bk01pt02ch04s02.html" title="Numeric Properties" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. Types</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt02pr01.html">Prev</a> </td><th width="60%" align="center">Part II. 
Support
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt02ch04s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.support.types"></a>Chapter 4. Types</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="fundamental_types.html#manual.support.types.fundamental">Fundamental Types</a></span></dt><dt><span class="sect1"><a href="bk01pt02ch04s02.html">Numeric Properties</a></span></dt><dt><span class="sect1"><a href="bk01pt02ch04s03.html">NULL</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.support.types.fundamental"></a>Fundamental Types</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt02ch04s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 4. Types"><div class="titlepage"><div><div><h2 class="title"><a id="manual.support.types"></a>Chapter 4. Types</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="fundamental_types.html#manual.support.types.fundamental">Fundamental Types</a></span></dt><dt><span class="sect1"><a href="bk01pt02ch04s02.html">Numeric Properties</a></span></dt><dt><span class="sect1"><a href="bk01pt02ch04s03.html">NULL</a></span></dt></dl></div><div class="sect1" title="Fundamental Types"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.support.types.fundamental"></a>Fundamental Types</h2></div></div></div><p>
C++ has the following builtin types:
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
char
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
signed char
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
unsigned char
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
signed short
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
signed int
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
signed long
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
unsigned short
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
unsigned int
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
unsigned long
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
bool
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
wchar_t
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
float
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
double
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
long double
</p></li></ul></div><p>
These fundamental types are always available, without having to
diff --git a/libstdc++-v3/doc/html/manual/generalized_numeric_operations.html b/libstdc++-v3/doc/html/manual/generalized_numeric_operations.html
index dc9bdd1cadf..74e54b47d44 100644
--- a/libstdc++-v3/doc/html/manual/generalized_numeric_operations.html
+++ b/libstdc++-v3/doc/html/manual/generalized_numeric_operations.html
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 22. Generalized Operations</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="numerics.html" title="Part X.  Numerics" /><link rel="prev" href="complex.html" title="Chapter 21. Complex" /><link rel="next" href="numerics_and_c.html" title="Chapter 23. Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 22. Generalized Operations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="complex.html">Prev</a> </td><th width="60%" align="center">Part X. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 22. Generalized Operations</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="numerics.html" title="Part X.  Numerics" /><link rel="prev" href="complex.html" title="Chapter 21. Complex" /><link rel="next" href="numerics_and_c.html" title="Chapter 23. Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 22. Generalized Operations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="complex.html">Prev</a> </td><th width="60%" align="center">Part X. 
Numerics
-</th><td width="20%" align="right"> <a accesskey="n" href="numerics_and_c.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.numerics.generalized_ops"></a>Chapter 22. Generalized Operations</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="numerics_and_c.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 22. Generalized Operations"><div class="titlepage"><div><div><h2 class="title"><a id="manual.numerics.generalized_ops"></a>Chapter 22. Generalized Operations</h2></div></div></div><p>
</p><p>There are four generalized functions in the &lt;numeric&gt; header
that follow the same conventions as those in &lt;algorithm&gt;. Each
of them is overloaded: one signature for common default operations,
and a second for fully general operations. Their names are
self-explanatory to anyone who works with numerics on a regular basis:
- </p><div class="itemizedlist"><ul type="disc"><li><p><code class="code">accumulate</code></p></li><li><p><code class="code">inner_product</code></p></li><li><p><code class="code">partial_sum</code></p></li><li><p><code class="code">adjacent_difference</code></p></li></ul></div><p>Here is a simple example of the two forms of <code class="code">accumulate</code>.
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">accumulate</code></p></li><li class="listitem"><p><code class="code">inner_product</code></p></li><li class="listitem"><p><code class="code">partial_sum</code></p></li><li class="listitem"><p><code class="code">adjacent_difference</code></p></li></ul></div><p>Here is a simple example of the two forms of <code class="code">accumulate</code>.
</p><pre class="programlisting">
int ar[50];
int someval = somefunction();
diff --git a/libstdc++-v3/doc/html/manual/internals.html b/libstdc++-v3/doc/html/manual/internals.html
index aca09ecaf51..cc6df8ba72c 100644
--- a/libstdc++-v3/doc/html/manual/internals.html
+++ b/libstdc++-v3/doc/html/manual/internals.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Porting to New Hardware or Operating Systems</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><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="test.html" title="Test" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Porting to New Hardware or Operating Systems</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_porting.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Porting to New Hardware or Operating Systems</title><meta name="generator" content="DocBook XSL 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 Documentation" /><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="test.html" title="Test" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Porting to New Hardware or Operating Systems</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_porting.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
Porting and Maintenance
-</th><td width="20%" align="right"> <a accesskey="n" href="test.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.internals"></a>Porting to New Hardware or Operating Systems</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="test.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Porting to New Hardware or Operating Systems"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.internals"></a>Porting to New Hardware or Operating Systems</h2></div></div></div><p>
</p><p>This document explains how to port libstdc++ (the GNU C++ library) to
a new target.
</p><p>In order to make the GNU C++ library (libstdc++) work with a new
@@ -20,7 +20,7 @@ works. It is difficult to test the C++ compiler without a working
library, but you should at least try some minimal test cases.
</p><p>(Note that what we think of as a "target," the library refers to as
a "host." The comment at the top of <code class="code">configure.ac</code> explains why.)
- </p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="internals.os"></a>Operating System</h3></div></div></div><p>If you are porting to a new operating system (as opposed to a new chip
+ </p><div class="sect2" title="Operating System"><div class="titlepage"><div><div><h3 class="title"><a id="internals.os"></a>Operating System</h3></div></div></div><p>If you are porting to a new operating system (as opposed to a new chip
using an existing operating system), you will need to create a new
directory in the <code class="code">config/os</code> hierarchy. For example, the IRIX
configuration files are all in <code class="code">config/os/irix</code>. There is no set
@@ -99,7 +99,7 @@ this:
#endif
</pre><p>We recommend copying an existing <code class="code">os_defines.h</code> to use as a
starting point.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="internals.cpu"></a>CPU</h3></div></div></div><p>If you are porting to a new chip (as opposed to a new operating system
+ </p></div><div class="sect2" title="CPU"><div class="titlepage"><div><div><h3 class="title"><a id="internals.cpu"></a>CPU</h3></div></div></div><p>If you are porting to a new chip (as opposed to a new operating system
running on an existing chip), you will need to create a new directory in the
<code class="code">config/cpu</code> hierarchy. Much like the <a class="link" href="internals.html#internals.os" title="Operating System">Operating system</a> setup,
there are no strict rules on how to organize the CPU configuration
@@ -117,7 +117,7 @@ example, <code class="code">alpha</code>, <code class="code">alphaev5</code>, an
</p><p>The <code class="code">cpu_include_dir</code> sets default locations for the files controlling
<a class="link" href="internals.html#internals.thread_safety" title="Thread Safety">Thread safety</a> and <a class="link" href="internals.html#internals.numeric_limits" title="Numeric Limits">Numeric limits</a>, if the defaults are not
appropriate for your chip.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="internals.char_types"></a>Character Types</h3></div></div></div><p>The library requires that you provide three header files to implement
+ </p></div><div class="sect2" title="Character Types"><div class="titlepage"><div><div><h3 class="title"><a id="internals.char_types"></a>Character Types</h3></div></div></div><p>The library requires that you provide three header files to implement
character classification, analogous to that provided by the C libraries
<code class="code">&lt;ctype.h&gt;</code> header. You can model these on the files provided in
<code class="code">config/os/generic</code>. However, these files will almost
@@ -279,7 +279,7 @@ from <code class="code">__low</code> up until <code class="code">__high</code> i
++__low;
return __low;
}
-</pre></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="internals.thread_safety"></a>Thread Safety</h3></div></div></div><p>The C++ library string functionality requires a couple of atomic
+</pre></div><div class="sect2" title="Thread Safety"><div class="titlepage"><div><div><h3 class="title"><a id="internals.thread_safety"></a>Thread Safety</h3></div></div></div><p>The C++ library string functionality requires a couple of atomic
operations to provide thread-safety. If you don't take any special
action, the library will use stub versions of these functions that are
not thread-safe. They will work fine, unless your applications are
@@ -334,7 +334,7 @@ must be equivalent to those provided here, but using atomic operations:
{
*__mem += __val;
}
-</pre></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="internals.numeric_limits"></a>Numeric Limits</h3></div></div></div><p>The C++ library requires information about the fundamental data types,
+</pre></div><div class="sect2" title="Numeric Limits"><div class="titlepage"><div><div><h3 class="title"><a id="internals.numeric_limits"></a>Numeric Limits</h3></div></div></div><p>The C++ library requires information about the fundamental data types,
such as the minimum and maximum representable values of each type.
You can define each of these values individually, but it is usually
easiest just to indicate how many bits are used in each of the data
@@ -346,7 +346,7 @@ same values, you can provide a CPU-specific file instead so that you
do not have to provide the same definitions for each operating system.
To take that approach, create a new file called <code class="code">cpu_limits.h</code> in
your CPU configuration directory (see <a class="link" href="internals.html#internals.cpu" title="CPU">CPU</a>).
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="internals.libtool"></a>Libtool</h3></div></div></div><p>The C++ library is compiled, archived and linked with libtool.
+ </p></div><div class="sect2" title="Libtool"><div class="titlepage"><div><div><h3 class="title"><a id="internals.libtool"></a>Libtool</h3></div></div></div><p>The C++ library is compiled, archived and linked with libtool.
Explaining the full workings of libtool is beyond the scope of this
document, but there are a few, particular bits that are necessary for
porting.
diff --git a/libstdc++-v3/doc/html/manual/intro.html b/libstdc++-v3/doc/html/manual/intro.html
index 350d617ccc2..a5858916238 100644
--- a/libstdc++-v3/doc/html/manual/intro.html
+++ b/libstdc++-v3/doc/html/manual/intro.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part I.  Introduction</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><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="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. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part I.  Introduction</title><meta name="generator" content="DocBook XSL 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 Documentation" /><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="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. 
Introduction
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="spine.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr></table><hr /></div><div class="part" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="manual.intro"></a>Part I. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="spine.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part I.  Introduction"><div class="titlepage"><div><div><h1 class="title"><a id="manual.intro"></a>Part I. 
Introduction
- <a id="id690392" class="indexterm"></a>
-</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="sect1"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="sect2"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="sect1"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="sect2"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="sect2"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="sect1"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="sect2"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="sect2"><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="sect1"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="sect1"><a href="configure.html">Configure</a></span></dt><dt><span class="sect1"><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="sect1"><a href="using.html#manual.intro.using.lib">Linking Library Binary Files</a></span></dt><dt><span class="sect1"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and namespace std</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_macros.html">Macros</a></span></dt><dt><span class="sect1"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt></dl></dd><dt><span class="sect1"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="sect2"><a href="debug.html#debug.compiler">Using g++</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.gdb">Using gdb</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="spine.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 1. Status</td></tr></table></div></body></html>
+ <a id="id509165" class="indexterm"></a>
+</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="sect1"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="sect2"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="sect1"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="sect2"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="sect2"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="sect1"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="sect2"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="sect2"><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="sect1"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="sect1"><a href="configure.html">Configure</a></span></dt><dt><span class="sect1"><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="sect1"><a href="using.html#manual.intro.using.lib">Linking Library Binary Files</a></span></dt><dt><span class="sect1"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="sect2"><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="sect2"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_macros.html">Macros</a></span></dt><dt><span class="sect1"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt></dl></dd><dt><span class="sect1"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="sect2"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="sect2"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="sect2"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="spine.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 1. Status</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/io.html b/libstdc++-v3/doc/html/manual/io.html
index 1ede95bdcda..8c2c572db3c 100644
--- a/libstdc++-v3/doc/html/manual/io.html
+++ b/libstdc++-v3/doc/html/manual/io.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part XI.  Input and Output</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt10ch23s02.html" title="C99" /><link rel="next" href="iostream_objects.html" title="Chapter 24. Iostream Objects" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part XI. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part XI.  Input and Output</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt10ch23s02.html" title="C99" /><link rel="next" href="iostream_objects.html" title="Chapter 24. Iostream Objects" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part XI. 
Input and Output
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt10ch23s02.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="iostream_objects.html">Next</a></td></tr></table><hr /></div><div class="part" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="manual.io"></a>Part XI. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt10ch23s02.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="iostream_objects.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part XI.  Input and Output"><div class="titlepage"><div><div><h1 class="title"><a id="manual.io"></a>Part XI. 
Input and Output
- <a id="id585725" class="indexterm"></a>
+ <a id="id436023" class="indexterm"></a>
</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="iostream_objects.html">24. Iostream Objects</a></span></dt><dt><span class="chapter"><a href="streambufs.html">25. Stream Buffers</a></span></dt><dd><dl><dt><span class="sect1"><a href="streambufs.html#io.streambuf.derived">Derived streambuf Classes</a></span></dt><dt><span class="sect1"><a href="bk01pt11ch25s02.html">Buffering</a></span></dt></dl></dd><dt><span class="chapter"><a href="stringstreams.html">26. Memory Based Streams</a></span></dt><dd><dl><dt><span class="sect1"><a href="stringstreams.html#manual.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></dd><dt><span class="chapter"><a href="fstreams.html">27. File Based Streams</a></span></dt><dd><dl><dt><span class="sect1"><a href="fstreams.html#manual.io.filestreams.copying_a_file">Copying a File</a></span></dt><dt><span class="sect1"><a href="bk01pt11ch27s02.html">Binary Input and Output</a></span></dt></dl></dd><dt><span class="chapter"><a href="io_and_c.html">28. Interacting with C</a></span></dt><dd><dl><dt><span class="sect1"><a href="io_and_c.html#manual.io.c.FILE">Using FILE* and file descriptors</a></span></dt><dt><span class="sect1"><a href="bk01pt11ch28s02.html">Performance</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt10ch23s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="iostream_objects.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">C99 </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 24. Iostream Objects</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/io_and_c.html b/libstdc++-v3/doc/html/manual/io_and_c.html
index e5fe3c77da2..33b5796ca27 100644
--- a/libstdc++-v3/doc/html/manual/io_and_c.html
+++ b/libstdc++-v3/doc/html/manual/io_and_c.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 28. Interacting with C</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="io.html" title="Part XI.  Input and Output" /><link rel="prev" href="bk01pt11ch27s02.html" title="Binary Input and Output" /><link rel="next" href="bk01pt11ch28s02.html" title="Performance" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 28. Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt11ch27s02.html">Prev</a> </td><th width="60%" align="center">Part XI. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 28. Interacting with C</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="io.html" title="Part XI.  Input and Output" /><link rel="prev" href="bk01pt11ch27s02.html" title="Binary Input and Output" /><link rel="next" href="bk01pt11ch28s02.html" title="Performance" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 28. Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt11ch27s02.html">Prev</a> </td><th width="60%" align="center">Part XI. 
Input and Output
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt11ch28s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.io.c"></a>Chapter 28. Interacting with C</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="io_and_c.html#manual.io.c.FILE">Using FILE* and file descriptors</a></span></dt><dt><span class="sect1"><a href="bk01pt11ch28s02.html">Performance</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.io.c.FILE"></a>Using FILE* and file descriptors</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt11ch28s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 28. Interacting with C"><div class="titlepage"><div><div><h2 class="title"><a id="manual.io.c"></a>Chapter 28. Interacting with C</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="io_and_c.html#manual.io.c.FILE">Using FILE* and file descriptors</a></span></dt><dt><span class="sect1"><a href="bk01pt11ch28s02.html">Performance</a></span></dt></dl></div><div class="sect1" title="Using FILE* and file descriptors"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.io.c.FILE"></a>Using FILE* and file descriptors</h2></div></div></div><p>
See the <a class="link" href="ext_io.html" title="Chapter 39. Input and Output">extensions</a> for using
<span class="type">FILE</span> and <span class="type">file descriptors</span> with
<code class="classname">ofstream</code> and
diff --git a/libstdc++-v3/doc/html/manual/iostream_objects.html b/libstdc++-v3/doc/html/manual/iostream_objects.html
index 704aa7de1b0..1133edec3ab 100644
--- a/libstdc++-v3/doc/html/manual/iostream_objects.html
+++ b/libstdc++-v3/doc/html/manual/iostream_objects.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 24. Iostream Objects</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="io.html" title="Part XI.  Input and Output" /><link rel="prev" href="io.html" title="Part XI.  Input and Output" /><link rel="next" href="streambufs.html" title="Chapter 25. Stream Buffers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 24. Iostream Objects</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io.html">Prev</a> </td><th width="60%" align="center">Part XI. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 24. Iostream Objects</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="io.html" title="Part XI.  Input and Output" /><link rel="prev" href="io.html" title="Part XI.  Input and Output" /><link rel="next" href="streambufs.html" title="Chapter 25. Stream Buffers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 24. Iostream Objects</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io.html">Prev</a> </td><th width="60%" align="center">Part XI. 
Input and Output
-</th><td width="20%" align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.io.objects"></a>Chapter 24. Iostream Objects</h2></div></div></div><p>To minimize the time you have to wait on the compiler, it's good to
+</th><td width="20%" align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 24. Iostream Objects"><div class="titlepage"><div><div><h2 class="title"><a id="manual.io.objects"></a>Chapter 24. Iostream Objects</h2></div></div></div><p>To minimize the time you have to wait on the compiler, it's good to
only include the headers you really need. Many people simply include
&lt;iostream&gt; when they don't need to -- and that can <span class="emphasis"><em>penalize
your runtime as well.</em></span> Here are some tips on which header to use
diff --git a/libstdc++-v3/doc/html/manual/iterators.html b/libstdc++-v3/doc/html/manual/iterators.html
index a002097bfcd..5122b6bef04 100644
--- a/libstdc++-v3/doc/html/manual/iterators.html
+++ b/libstdc++-v3/doc/html/manual/iterators.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part VIII.  Iterators</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bitset.html" title="bitset" /><link rel="next" href="bk01pt08ch19.html" title="Chapter 19. Predefined" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part VIII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part VIII.  Iterators</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bitset.html" title="bitset" /><link rel="next" href="bk01pt08ch19.html" title="Chapter 19. Predefined" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part VIII. 
Iterators
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bitset.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt08ch19.html">Next</a></td></tr></table><hr /></div><div class="part" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="manual.iterators"></a>Part VIII. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bitset.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt08ch19.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part VIII.  Iterators"><div class="titlepage"><div><div><h1 class="title"><a id="manual.iterators"></a>Part VIII. 
Iterators
- <a id="id632651" class="indexterm"></a>
+ <a id="id437851" class="indexterm"></a>
</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="bk01pt08ch19.html">19. Predefined</a></span></dt><dd><dl><dt><span class="sect1"><a href="bk01pt08ch19.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="sect1"><a href="bk01pt08ch19s02.html">One Past the End</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bitset.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt08ch19.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">bitset </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 19. Predefined</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/license.html b/libstdc++-v3/doc/html/manual/license.html
index 086902de214..f660ff378a0 100644
--- a/libstdc++-v3/doc/html/manual/license.html
+++ b/libstdc++-v3/doc/html/manual/license.html
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>License</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="status.html" title="Chapter 1. Status" /><link rel="prev" href="status.html" title="Chapter 1. Status" /><link rel="next" href="bugs.html" title="Bugs" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="status.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td width="20%" align="right"> <a accesskey="n" href="bugs.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.license"></a>License</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>License</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="status.html" title="Chapter 1. Status" /><link rel="prev" href="status.html" title="Chapter 1. Status" /><link rel="next" href="bugs.html" title="Bugs" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="status.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td width="20%" align="right"> <a accesskey="n" href="bugs.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="License"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.license"></a>License</h2></div></div></div><p>
There are two licenses affecting GNU libstdc++: one for the code,
and one for the documentation.
</p><p>
There is a license section in the FAQ regarding common <a class="link" href="../faq.html#faq.license" title="License">questions</a>. If you have more
questions, ask the FSF or the <a class="ulink" href="http://gcc.gnu.org/lists.html" target="_top">gcc mailing list</a>.
- </p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.license.gpl"></a>The Code: GPL</h3></div></div></div><p>
+ </p><div class="sect2" title="The Code: GPL"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.license.gpl"></a>The Code: GPL</h3></div></div></div><p>
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>,
with the addition under section 7 of an exception described in
- the “<span class="quote">GCC Runtime Library Exception, version 3.1</span>â€
+ the <span class="quote">“<span class="quote">GCC Runtime Library Exception, version 3.1</span>â€</span>
as follows (or see the file COPYING.RUNTIME):
</p><div class="literallayout"><p><br />
GCC RUNTIME LIBRARY EXCEPTION<br />
@@ -87,7 +87,7 @@ requirements of the license of GCC.<br />
    </p></div><p>
Hopefully that text is self-explanatory. If it isn't, you need to speak
to your lawyer, or the Free Software Foundation.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.license.fdl"></a>The Documentation: GPL, FDL</h3></div></div></div><p>
+ </p></div><div class="sect2" title="The Documentation: GPL, FDL"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.license.fdl"></a>The Documentation: GPL, FDL</h3></div></div></div><p>
The documentation shipped with the library and made available over
the web, excluding the pages generated from source comments, are
copyrighted by the Free Software Foundation, and placed under the
diff --git a/libstdc++-v3/doc/html/manual/locales.html b/libstdc++-v3/doc/html/manual/locales.html
index 296e8aecbba..4bf83c79ecc 100644
--- a/libstdc++-v3/doc/html/manual/locales.html
+++ b/libstdc++-v3/doc/html/manual/locales.html
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 14. Locales</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="localization.html" title="Part VI.  Localization" /><link rel="prev" href="localization.html" title="Part VI.  Localization" /><link rel="next" href="facets.html" title="Chapter 15. Facets aka Categories" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 14. Locales</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="localization.html">Prev</a> </td><th width="60%" align="center">Part VI. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 14. Locales</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="localization.html" title="Part VI.  Localization" /><link rel="prev" href="localization.html" title="Part VI.  Localization" /><link rel="next" href="facets.html" title="Chapter 15. Facets aka Categories" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 14. Locales</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="localization.html">Prev</a> </td><th width="60%" align="center">Part VI. 
Localization
-</th><td width="20%" align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.localization.locales"></a>Chapter 14. Locales</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="locales.html#manual.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="sect2"><a href="locales.html#locales.locale.req">Requirements</a></span></dt><dt><span class="sect2"><a href="locales.html#locales.locale.design">Design</a></span></dt><dt><span class="sect2"><a href="locales.html#locales.locale.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="locales.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.localization.locales.locale"></a>locale</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 14. Locales"><div class="titlepage"><div><div><h2 class="title"><a id="manual.localization.locales"></a>Chapter 14. Locales</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="locales.html#manual.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="sect2"><a href="locales.html#locales.locale.req">Requirements</a></span></dt><dt><span class="sect2"><a href="locales.html#locales.locale.design">Design</a></span></dt><dt><span class="sect2"><a href="locales.html#locales.locale.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="locales.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></div><div class="sect1" title="locale"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.localization.locales.locale"></a>locale</h2></div></div></div><p>
Describes the basic locale object, including nested
classes id, facet, and the reference-counted implementation object,
class _Impl.
-</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="locales.locale.req"></a>Requirements</h3></div></div></div><p>
+</p><div class="sect2" title="Requirements"><div class="titlepage"><div><div><h3 class="title"><a id="locales.locale.req"></a>Requirements</h3></div></div></div><p>
Class locale is non-templatized and has two distinct types nested
inside of it:
</p><div class="blockquote"><blockquote class="blockquote"><p>
@@ -21,11 +21,11 @@ called numpunct is the data objects that can be used to query for the
thousands separator is in the German locale.
</p><p>
Literally, a facet is strictly defined:
-</p><div class="itemizedlist"><ul type="disc"><li><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
Containing the following public data member:
</p><p>
<code class="code">static locale::id id;</code>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Derived from another facet:
</p><p>
<code class="code">class gnu_codecvt: public std::ctype&lt;user-defined-type&gt;</code>
@@ -43,14 +43,14 @@ class id
</em></span>
</p></blockquote></div><p>
Provides an index for looking up specific facets.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="locales.locale.design"></a>Design</h3></div></div></div><p>
+</p></div><div class="sect2" title="Design"><div class="titlepage"><div><div><h3 class="title"><a id="locales.locale.design"></a>Design</h3></div></div></div><p>
The major design challenge is fitting an object-orientated and
non-global locale design on top of POSIX and other relevant standards,
which include the Single Unix (nee X/Open.)
</p><p>
Because C and earlier versions of POSIX fall down so completely,
portability is an issue.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="locales.locale.impl"></a>Implementation</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="locale.impl.c"></a>Interacting with "C" locales</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>
+</p></div><div class="sect2" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="locales.locale.impl"></a>Implementation</h3></div></div></div><div class="sect3" title="Interacting with &quot;C&quot; locales"><div class="titlepage"><div><div><h4 class="title"><a id="locale.impl.c"></a>Interacting with "C" locales</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="code">`locale -a`</code> displays available locales.
</p><div class="blockquote"><blockquote class="blockquote"><pre class="programlisting">
af_ZA
@@ -351,7 +351,7 @@ zh_HK.utf8
zh_TW
zh_TW.euctw
zh_TW.utf8
-</pre></blockquote></div></li><li><p>
+</pre></blockquote></div></li><li class="listitem"><p>
<code class="code">`locale`</code> displays environmental variables that
impact how locale("") will be deduced.
</p><div class="blockquote"><blockquote class="blockquote"><pre class="programlisting">
@@ -380,43 +380,43 @@ global locale" (emphasis Paolo), that is:
particular on the working of locale(""), which constructs the locale
object from the environment of the running program, that is, in
practice, the set of LC_ALL, LANG, etc. variable of the shell.
-</p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="locales.locale.future"></a>Future</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>
+</p></div></div><div class="sect2" title="Future"><div class="titlepage"><div><div><h3 class="title"><a id="locales.locale.future"></a>Future</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
Locale initialization: at what point does _S_classic, _S_global
get initialized? Can named locales assume this initialization
has already taken place?
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Document how named locales error check when filling data
members. I.e., a fr_FR locale that doesn't have
numpunct::truename(): does it use "true"? Or is it a blank
string? What's the convention?
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Explain how locale aliasing happens. When does "de_DE" use "de"
information? What is the rule for locales composed of just an
ISO language code (say, "de") and locales with both an ISO
language code and ISO country code (say, "de_DE").
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
What should non-required facet instantiations do? If the
generic implementation is provided, then how to end-users
provide specializations?
- </p></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="locales.locale.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id658666"></a><p><span class="title"><i>
+ </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="locales.locale.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id508650"></a><p><span class="title"><i>
The GNU C Library
- </i>. </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="id679103"></a><p><span class="title"><i>
+ </i>. </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" title="Correspondence"><a id="id448472"></a><p><span class="title"><i>
Correspondence
- </i>. </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="id635262"></a><p><span class="title"><i>
+ </i>. </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" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id429400"></a><p><span class="title"><i>
ISO/IEC 14882:1998 Programming languages - C++
- </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id709948"></a><p><span class="title"><i>
+ </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id429418"></a><p><span class="title"><i>
ISO/IEC 9899:1999 Programming languages - C
- </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id709967"></a><p><span class="title"><i>
+ </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)"><a id="id474897"></a><p><span class="title"><i>
The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
</i>. </span><span class="copyright">Copyright © 1999
The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span><span class="biblioid">
<a class="ulink" href="http://www.unix.org/version3/ieee_std.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id618881"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id474924"></a><p><span class="title"><i>
The C++ Programming Language, Special Edition
</i>. </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">
Addison Wesley
- . </span></span></p></div><div class="biblioentry"><a id="id641063"></a><p><span class="title"><i>
+ . </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id436766"></a><p><span class="title"><i>
Standard C++ IOStreams and Locales
</i>. </span><span class="subtitle">
Advanced Programmer's Guide and Reference
diff --git a/libstdc++-v3/doc/html/manual/localization.html b/libstdc++-v3/doc/html/manual/localization.html
index 152956fa176..05133c37eda 100644
--- a/libstdc++-v3/doc/html/manual/localization.html
+++ b/libstdc++-v3/doc/html/manual/localization.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part VI.  Localization</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt05ch13s06.html" title="CString (MFC)" /><link rel="next" href="locales.html" title="Chapter 14. Locales" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part VI. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part VI.  Localization</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt05ch13s06.html" title="CString (MFC)" /><link rel="next" href="locales.html" title="Chapter 14. Locales" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part VI. 
Localization
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt05ch13s06.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="locales.html">Next</a></td></tr></table><hr /></div><div class="part" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="manual.localization"></a>Part VI. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt05ch13s06.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="locales.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part VI.  Localization"><div class="titlepage"><div><div><h1 class="title"><a id="manual.localization"></a>Part VI. 
Localization
- <a id="id585411" class="indexterm"></a>
+ <a id="id423124" class="indexterm"></a>
</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="locales.html">14. Locales</a></span></dt><dd><dl><dt><span class="sect1"><a href="locales.html#manual.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="sect2"><a href="locales.html#locales.locale.req">Requirements</a></span></dt><dt><span class="sect2"><a href="locales.html#locales.locale.design">Design</a></span></dt><dt><span class="sect2"><a href="locales.html#locales.locale.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="locales.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="facets.html">15. Facets aka Categories</a></span></dt><dd><dl><dt><span class="sect1"><a href="facets.html#manual.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="sect2"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="sect1"><a href="codecvt.html">codecvt</a></span></dt><dd><dl><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.design">Design</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.use">Use</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="sect1"><a href="messages.html">messages</a></span></dt><dd><dl><dt><span class="sect2"><a href="messages.html#facet.messages.req">Requirements</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.design">Design</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.use">Use</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt05ch13s06.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="locales.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">CString (MFC) </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 14. Locales</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/make.html b/libstdc++-v3/doc/html/manual/make.html
index 2563d277938..d3066e93934 100644
--- a/libstdc++-v3/doc/html/manual/make.html
+++ b/libstdc++-v3/doc/html/manual/make.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Make</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="setup.html" title="Chapter 2. Setup" /><link rel="prev" href="configure.html" title="Configure" /><link rel="next" href="using.html" title="Chapter 3. Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Make</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="configure.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td width="20%" align="right"> <a accesskey="n" href="using.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.make"></a>Make</h2></div></div></div><p>If you have never done this before, you should read the basic
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Make</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="setup.html" title="Chapter 2. Setup" /><link rel="prev" href="configure.html" title="Configure" /><link rel="next" href="using.html" title="Chapter 3. Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Make</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="configure.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td width="20%" align="right"> <a accesskey="n" href="using.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Make"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.make"></a>Make</h2></div></div></div><p>If you have never done this before, you should read the basic
<a class="ulink" href="http://gcc.gnu.org/install/" target="_top">GCC Installation
Instructions</a> first. Read <span class="emphasis"><em>all of them</em></span>.
<span class="emphasis"><em>Twice.</em></span>
diff --git a/libstdc++-v3/doc/html/manual/memory.html b/libstdc++-v3/doc/html/manual/memory.html
index b49003b7a82..89e1e9021de 100644
--- a/libstdc++-v3/doc/html/manual/memory.html
+++ b/libstdc++-v3/doc/html/manual/memory.html
@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 11. Memory</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="utilities.html" title="Part IV.  Utilities" /><link rel="prev" href="pairs.html" title="Chapter 10. Pairs" /><link rel="next" href="auto_ptr.html" title="auto_ptr" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. Memory</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pairs.html">Prev</a> </td><th width="60%" align="center">Part IV. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 11. Memory</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="utilities.html" title="Part IV.  Utilities" /><link rel="prev" href="pairs.html" title="Chapter 10. Pairs" /><link rel="next" href="auto_ptr.html" title="auto_ptr" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. Memory</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pairs.html">Prev</a> </td><th width="60%" align="center">Part IV. 
Utilities
-</th><td width="20%" align="right"> <a accesskey="n" href="auto_ptr.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.util.memory"></a>Chapter 11. Memory</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="memory.html#manual.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="sect2"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="sect1"><a href="auto_ptr.html">auto_ptr</a></span></dt><dd><dl><dt><span class="sect2"><a href="auto_ptr.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="sect2"><a href="auto_ptr.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="sect1"><a href="shared_ptr.html">shared_ptr</a></span></dt><dd><dl><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.using">Use</a></span></dt><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="auto_ptr.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 11. Memory"><div class="titlepage"><div><div><h2 class="title"><a id="manual.util.memory"></a>Chapter 11. Memory</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="memory.html#manual.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="sect2"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="sect1"><a href="auto_ptr.html">auto_ptr</a></span></dt><dd><dl><dt><span class="sect2"><a href="auto_ptr.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="sect2"><a href="auto_ptr.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="sect1"><a href="shared_ptr.html">shared_ptr</a></span></dt><dd><dl><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.using">Use</a></span></dt><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></div><p>
Memory contains three general areas. First, function and operator
calls via <code class="function">new</code> and <code class="function">delete</code>
operator or member function calls. Second, allocation via
<code class="classname">allocator</code>. And finally, smart pointer and
intelligent pointer abstractions.
- </p><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.util.memory.allocator"></a>Allocators</h2></div></div></div><p>
+ </p><div class="sect1" title="Allocators"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.util.memory.allocator"></a>Allocators</h2></div></div></div><p>
Memory management for Standard Library entities is encapsulated in a
class template called <code class="classname">allocator</code>. The
<code class="classname">allocator</code> abstraction is used throughout the
library in <code class="classname">string</code>, container classes,
algorithms, and parts of iostreams. This class, and base classes of
- it, are the superset of available free store (“<span class="quote">heap</span>â€)
+ it, are the superset of available free store (<span class="quote">“<span class="quote">heap</span>â€</span>)
management classes.
-</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.req"></a>Requirements</h3></div></div></div><p>
+</p><div class="sect2" title="Requirements"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.req"></a>Requirements</h3></div></div></div><p>
The C++ standard only gives a few directives in this area:
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
When you add elements to a container, and the container must
allocate more memory to hold them, the container makes the
request via its <span class="type">Allocator</span> template
@@ -27,10 +27,10 @@
<span class="type">allocator_type</span>. This includes adding chars
to the string class, which acts as a regular STL container in
this respect.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
The default <span class="type">Allocator</span> argument of every
container-of-T is <code class="classname">allocator&lt;T&gt;</code>.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
The interface of the <code class="classname">allocator&lt;T&gt;</code> class is
extremely simple. It has about 20 public declarations (nested
typedefs, member functions, etc), but the two which concern us most
@@ -44,7 +44,7 @@
<span class="type">T</span>'s to allocate space for, <span class="emphasis"><em>not their
total size</em></span>.
(This is a simplification; the real signatures use nested typedefs.)
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
The storage is obtained by calling <code class="function">::operator
new</code>, but it is unspecified when or how
often this function is called. The use of the
@@ -54,7 +54,7 @@
</p></li></ul></div><p>
Complete details cam be found in the C++ standard, look in
<code class="constant">[20.4 Memory]</code>.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.design_issues"></a>Design Issues</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Design Issues"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.design_issues"></a>Design Issues</h3></div></div></div><p>
The easiest way of fulfilling the requirements is to call
<code class="function">operator new</code> each time a container needs
memory, and to call <code class="function">operator delete</code> each time
@@ -93,7 +93,7 @@
or loading and unloading shared objects in memory. As such, using
caching allocators on systems that do not support
<code class="function">abi::__cxa_atexit</code> is not recommended.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.impl"></a>Implementation</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id712986"></a>Interface Design</h4></div></div></div><p>
+ </p></div><div class="sect2" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.impl"></a>Implementation</h3></div></div></div><div class="sect3" title="Interface Design"><div class="titlepage"><div><div><h4 class="title"><a id="id481448"></a>Interface Design</h4></div></div></div><p>
The only allocator interface that
is support is the standard C++ interface. As such, all STL
containers have been adjusted, and all external allocators have
@@ -106,7 +106,7 @@
</p><p>
The base class that <code class="classname">allocator</code> is derived from
may not be user-configurable.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id629278"></a>Selecting Default Allocation Policy</h4></div></div></div><p>
+</p></div><div class="sect3" title="Selecting Default Allocation Policy"><div class="titlepage"><div><div><h4 class="title"><a id="id522854"></a>Selecting Default Allocation Policy</h4></div></div></div><p>
It's difficult to pick an allocation strategy that will provide
maximum utility, without excessively penalizing some behavior. In
fact, it's difficult just deciding which typical actions to measure
@@ -114,7 +114,7 @@
</p><p>
Three synthetic benchmarks have been created that provide data
that is used to compare different C++ allocators. These tests are:
- </p><div class="orderedlist"><ol type="1"><li><p>
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
Insertion.
</p><p>
Over multiple iterations, various STL container
@@ -123,7 +123,7 @@
Test source for <a class="ulink" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/sequence.cc?view=markup" target="_top">sequence</a>
and <a class="ulink" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/associative.cc?view=markup" target="_top">associative</a>
containers.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Insertion and erasure in a multi-threaded environment.
</p><p>
This test shows the ability of the allocator to reclaim memory
@@ -131,7 +131,7 @@
for memory resources.
Test source
<a class="ulink" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert_erase/associative.cc?view=markup" target="_top">here</a>.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
A threaded producer/consumer model.
</p><p>
Test source for
@@ -143,7 +143,7 @@
The current default choice for
<code class="classname">allocator</code> is
<code class="classname">__gnu_cxx::new_allocator</code>.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id711751"></a>Disabling Memory Caching</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Disabling Memory Caching"><div class="titlepage"><div><div><h4 class="title"><a id="id496610"></a>Disabling Memory Caching</h4></div></div></div><p>
In use, <code class="classname">allocator</code> may allocate and
deallocate using implementation-specified strategies and
heuristics. Because of this, every call to an allocator object's
@@ -179,7 +179,7 @@
environment, it likely means that you linked against objects
built against the older library (objects which might still using the
cached allocations...).
- </p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.using"></a>Using a Specific Allocator</h3></div></div></div><p>
+ </p></div></div><div class="sect2" title="Using a Specific Allocator"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.using"></a>Using a Specific Allocator</h3></div></div></div><p>
You can specify different memory management schemes on a
per-container basis, by overriding the default
<span class="type">Allocator</span> template parameter. For example, an easy
@@ -190,7 +190,7 @@
Likewise, a debugging form of whichever allocator is currently in use:
</p><pre class="programlisting">
std::deque &lt;int, __gnu_cxx::debug_allocator&lt;std::allocator&lt;int&gt; &gt; &gt; debug_deque;
- </pre></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.custom"></a>Custom Allocators</h3></div></div></div><p>
+ </pre></div><div class="sect2" title="Custom Allocators"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.custom"></a>Custom Allocators</h3></div></div></div><p>
Writing a portable C++ allocator would dictate that the interface
would look much like the one specified for
<code class="classname">allocator</code>. Additional member functions, but
@@ -199,7 +199,7 @@
Probably the best place to start would be to copy one of the
extension allocators: say a simple one like
<code class="classname">new_allocator</code>.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.ext"></a>Extension Allocators</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Extension Allocators"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.ext"></a>Extension Allocators</h3></div></div></div><p>
Several other allocators are provided as part of this
implementation. The location of the extension allocators and their
names have changed, but in all cases, functionality is
@@ -209,12 +209,12 @@
chart to track the changes.
</p><p>
More details on each of these extension allocators follows.
- </p><div class="orderedlist"><ol type="1"><li><p>
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
<code class="classname">new_allocator</code>
</p><p>
Simply wraps <code class="function">::operator new</code>
and <code class="function">::operator delete</code>.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="classname">malloc_allocator</code>
</p><p>
Simply wraps <code class="function">malloc</code> and
@@ -222,7 +222,7 @@
out-of-memory handler (for
<code class="function">new</code>/<code class="function">delete</code> this is
taken care of elsewhere).
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="classname">array_allocator</code>
</p><p>
Allows allocations of known and fixed sizes using existing
@@ -235,7 +235,7 @@
allows the use of STL abstractions without runtime
complications or overhead, even in situations such as program
startup. For usage examples, please consult the testsuite.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="classname">debug_allocator</code>
</p><p>
A wrapper around an arbitrary allocator A. It passes on
@@ -244,13 +244,13 @@
to <code class="function">deallocate()</code>, the stored size is
checked, and <code class="function">assert()</code> is used to
guarantee they match.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="classname">throw_allocator</code>
</p><p>
Includes memory tracking and marking abilities as well as hooks for
throwing exceptions at configurable intervals (including random,
all, none).
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="classname">__pool_alloc</code>
</p><p>
A high-performance, single pool allocator. The reusable
@@ -296,23 +296,23 @@
(Note that the GCC thread abstraction layer allows us to provide
safe zero-overhead stubs for the threading routines, if threads
were disabled at configuration time.)
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="classname">__mt_alloc</code>
</p><p>
A high-performance fixed-size allocator with
exponentially-increasing allocations. It has its own
documentation, found <a class="link" href="ext_allocators.html#manual.ext.allocator.mt" title="mt_allocator">here</a>.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="classname">bitmap_allocator</code>
</p><p>
A high-performance allocator that uses a bit-map to keep track
of the used and unused memory locations. It has its own
documentation, found <a class="link" href="bitmap_allocator.html" title="bitmap_allocator">here</a>.
- </p></li></ol></div></div><div class="bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id710951"></a><p><span class="title"><i>
+ </p></li></ol></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id431127"></a><p><span class="title"><i>
ISO/IEC 14882:1998 Programming languages - C++
</i>. </span>
isoc++_1998
- <span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry"><a id="id710966"></a><p><span class="title"><i>The Standard Librarian: What Are Allocators Good
+ <span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry" title="The Standard Librarian: What Are Allocators Good"><a id="id431142"></a><p><span class="title"><i>The Standard Librarian: What Are Allocators Good
</i>. </span>
austernm
<span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
@@ -320,28 +320,28 @@
. </span></span><span class="biblioid">
<a class="ulink" href="http://www.cuj.com/documents/s=8000/cujcexp1812austern/" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id644430"></a><p><span class="title"><i>The Hoard Memory Allocator</i>. </span>
+ . </span></p></div><div class="biblioentry" title="The Hoard Memory Allocator"><a id="id413862"></a><p><span class="title"><i>The Hoard Memory Allocator</i>. </span>
emeryb
<span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span><span class="biblioid">
<a class="ulink" href="http://www.cs.umass.edu/~emery/hoard/" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id689922"></a><p><span class="title"><i>Reconsidering Custom Memory Allocation</i>. </span>
+ . </span></p></div><div class="biblioentry" title="Reconsidering Custom Memory Allocation"><a id="id499755"></a><p><span class="title"><i>Reconsidering Custom Memory Allocation</i>. </span>
bergerzorn
<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><span class="biblioid">
<a class="ulink" href="http://www.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id709355"></a><p><span class="title"><i>Allocator Types</i>. </span>
+ . </span></p></div><div class="biblioentry" title="Allocator Types"><a id="id434571"></a><p><span class="title"><i>Allocator Types</i>. </span>
kreftlanger
<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">
C/C++ Users Journal
. </span></span><span class="biblioid">
<a class="ulink" href="http://www.langer.camelot.de/Articles/C++Report/Allocators/Allocators.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id642689"></a><p><span class="title"><i>The C++ Programming Language</i>. </span>
+ . </span></p></div><div class="biblioentry" title="The C++ Programming Language"><a id="id477417"></a><p><span class="title"><i>The C++ Programming Language</i>. </span>
tcpl
<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">
Addison Wesley
- . </span></span></p></div><div class="biblioentry"><a id="id614194"></a><p><span class="title"><i>Yalloc: A Recycling C++ Allocator</i>. </span>
+ . </span></span></p></div><div class="biblioentry" title="Yalloc: A Recycling C++ Allocator"><a id="id425118"></a><p><span class="title"><i>Yalloc: A Recycling C++ Allocator</i>. </span>
yenf
<span class="author"><span class="firstname">Felix</span> <span class="surname">Yen</span>. </span><span class="copyright">Copyright © . </span><span class="biblioid">
<a class="ulink" href="http://home.earthlink.net/~brimar/yalloc/" target="_top">
diff --git a/libstdc++-v3/doc/html/manual/messages.html b/libstdc++-v3/doc/html/manual/messages.html
index e21adac3025..6646aecbd83 100644
--- a/libstdc++-v3/doc/html/manual/messages.html
+++ b/libstdc++-v3/doc/html/manual/messages.html
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>messages</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; messages&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="facets.html" title="Chapter 15. Facets aka Categories" /><link rel="prev" href="codecvt.html" title="codecvt" /><link rel="next" href="containers.html" title="Part VII.  Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">messages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="codecvt.html">Prev</a> </td><th width="60%" align="center">Chapter 15. Facets aka Categories</th><td width="20%" align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.localization.facet.messages"></a>messages</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>messages</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; messages&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="facets.html" title="Chapter 15. Facets aka Categories" /><link rel="prev" href="codecvt.html" title="codecvt" /><link rel="next" href="containers.html" title="Part VII.  Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">messages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="codecvt.html">Prev</a> </td><th width="60%" align="center">Chapter 15. Facets aka Categories</th><td width="20%" align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="messages"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.localization.facet.messages"></a>messages</h2></div></div></div><p>
The std::messages facet implements message retrieval functionality
equivalent to Java's java.text.MessageFormat .using either GNU gettext
or IEEE 1003.1-200 functions.
-</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="facet.messages.req"></a>Requirements</h3></div></div></div><p>
+</p><div class="sect2" title="Requirements"><div class="titlepage"><div><div><h3 class="title"><a id="facet.messages.req"></a>Requirements</h3></div></div></div><p>
The std::messages facet is probably the most vaguely defined facet in
the standard library. It's assumed that this facility was built into
the standard library in order to convert string literals from one
@@ -53,7 +53,7 @@ be found, returns dfault.
-6- Effects: Releases unspecified resources associated with cat.
-7- Notes: The limit on such resources, if any, is implementation-defined.
</em></span>
-</p></blockquote></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="facet.messages.design"></a>Design</h3></div></div></div><p>
+</p></blockquote></div></div><div class="sect2" title="Design"><div class="titlepage"><div><div><h3 class="title"><a id="facet.messages.design"></a>Design</h3></div></div></div><p>
A couple of notes on the standard.
</p><p>
First, why is <code class="code">messages_base::catalog</code> specified as a typedef
@@ -85,7 +85,7 @@ It is implicitly assumed that the locale for the default message
string in 'get' is in the "C" locale. Thus, all source code is assumed
to be written in English, so translations are always from "en_US" to
other, explicitly named locales.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="facet.messages.impl"></a>Implementation</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="messages.impl.models"></a>Models</h4></div></div></div><p>
+</p></div><div class="sect2" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="facet.messages.impl"></a>Implementation</h3></div></div></div><div class="sect3" title="Models"><div class="titlepage"><div><div><h4 class="title"><a id="messages.impl.models"></a>Models</h4></div></div></div><p>
This is a relatively simple class, on the face of it. The standard
specifies very little in concrete terms, so generic
implementations that are conforming yet do very little are the
@@ -96,11 +96,11 @@ other, explicitly named locales.
</p><p>
Three different mechanisms have been provided, selectable via
configure flags:
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
generic
</p><p>
This model does very little, and is what is used by default.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
gnu
</p><p>
The gnu model is complete and fully tested. It's based on the
@@ -110,7 +110,7 @@ other, explicitly named locales.
relatively straight-forward process and is lightly documented
below, and fully documented in gettext's distributed
documentation.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
ieee_1003.1-200x
</p><p>
This is a complete, though untested, implementation based on
@@ -126,7 +126,7 @@ A new, standards-conformant non-virtual member function signature was
added for 'open' so that a directory could be specified with a given
message catalog. This simplifies calling conventions for the gnu
model.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="messages.impl.gnu"></a>The GNU Model</h4></div></div></div><p>
+</p></div><div class="sect3" title="The GNU Model"><div class="titlepage"><div><div><h4 class="title"><a id="messages.impl.gnu"></a>The GNU Model</h4></div></div></div><p>
The messages facet, because it is retrieving and converting
between characters sets, depends on the ctype and perhaps the
codecvt facet in a given locale. In addition, underlying "C"
@@ -138,38 +138,38 @@ model.
Making the message catalogs can be initially tricky, but become
quite simple with practice. For complete info, see the gettext
documentation. Here's an idea of what is required:
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
Make a source file with the required string literals that need
to be translated. See <code class="code">intl/string_literals.cc</code> for
an example.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Make initial catalog (see "4 Making the PO Template File" from
the gettext docs).</p><p>
<code class="code"> xgettext --c++ --debug string_literals.cc -o libstdc++.pot </code>
- </p></li><li><p>Make language and country-specific locale catalogs.</p><p>
+ </p></li><li class="listitem"><p>Make language and country-specific locale catalogs.</p><p>
<code class="code">cp libstdc++.pot fr_FR.po</code>
</p><p>
<code class="code">cp libstdc++.pot de_DE.po</code>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Edit localized catalogs in emacs so that strings are
translated.
</p><p>
<code class="code">emacs fr_FR.po</code>
- </p></li><li><p>Make the binary mo files.</p><p>
+ </p></li><li class="listitem"><p>Make the binary mo files.</p><p>
<code class="code">msgfmt fr_FR.po -o fr_FR.mo</code>
</p><p>
<code class="code">msgfmt de_DE.po -o de_DE.mo</code>
- </p></li><li><p>Copy the binary files into the correct directory structure.</p><p>
+ </p></li><li class="listitem"><p>Copy the binary files into the correct directory structure.</p><p>
<code class="code">cp fr_FR.mo (dir)/fr_FR/LC_MESSAGES/libstdc++.mo</code>
</p><p>
<code class="code">cp de_DE.mo (dir)/de_DE/LC_MESSAGES/libstdc++.mo</code>
- </p></li><li><p>Use the new message catalogs.</p><p>
+ </p></li><li class="listitem"><p>Use the new message catalogs.</p><p>
<code class="code">locale loc_de("de_DE");</code>
</p><p>
<code class="code">
use_facet&lt;messages&lt;char&gt; &gt;(loc_de).open("libstdc++", locale(), dir);
</code>
- </p></li></ul></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="facet.messages.use"></a>Use</h3></div></div></div><p>
+ </p></li></ul></div></div></div><div class="sect2" title="Use"><div class="titlepage"><div><div><h3 class="title"><a id="facet.messages.use"></a>Use</h3></div></div></div><p>
A simple example using the GNU model of message conversion.
</p><pre class="programlisting">
#include &lt;iostream&gt;
@@ -191,9 +191,9 @@ void test01()
cout &lt;&lt; "thank you in german:" &lt;&lt; s02 &lt;&lt; '\n';
mssg_de.close(cat_de);
}
-</pre></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="facet.messages.future"></a>Future</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>
+</pre></div><div class="sect2" title="Future"><div class="titlepage"><div><div><h3 class="title"><a id="facet.messages.future"></a>Future</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
Things that are sketchy, or remain unimplemented:
- </p><div class="itemizedlist"><ul type="circle"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
_M_convert_from_char, _M_convert_to_char are in flux,
depending on how the library ends up doing character set
conversions. It might not be possible to do a real character
@@ -201,13 +201,13 @@ void test01()
parameter for messages is not enough to instantiate the
codecvt facet (1 supplied, need at least 2 but would prefer
3).
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
There are issues with gettext needing the global locale set
to extract a message. This dependence on the global locale
makes the current "gnu" model non MT-safe. Future versions
of glibc, i.e. glibc 2.3.x will fix this, and the C++ library
bits are already in place.
- </p></li></ul></div></li><li><p>
+ </p></li></ul></div></li><li class="listitem"><p>
Development versions of the GNU "C" library, glibc 2.3 will allow
a more efficient, MT implementation of std::messages, and will
allow the removal of the _M_name_messages data member. If this is
@@ -216,7 +216,7 @@ void test01()
version of the "C" library is released, the marked parts of the
messages implementation can be switched over to the new "C"
library functionality.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
At some point in the near future, std::numpunct will probably use
std::messages facilities to implement truename/falsename
correctly. This is currently not done, but entries in
@@ -225,7 +225,7 @@ void test01()
configure/make hassles to make the installed library search its
own catalog. Currently the libstdc++.mo catalog is only searched
for the testsuite cases involving messages members.
- </p></li><li><p> The following member functions:</p><p>
+ </p></li><li class="listitem"><p> The following member functions:</p><p>
<code class="code">
catalog
open(const basic_string&lt;char&gt;&amp; __s, const locale&amp; __loc) const
@@ -241,38 +241,38 @@ void test01()
model. As of this writing, it is unknown how to query to see
if a specified message catalog exists using the gettext
package.
- </p></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="facet.messages.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id699687"></a><p><span class="title"><i>
+ </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="facet.messages.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id420938"></a><p><span class="title"><i>
The GNU C Library
</i>. </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="id622574"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Correspondence"><a id="id500134"></a><p><span class="title"><i>
Correspondence
- </i>. </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="id630269"></a><p><span class="title"><i>
+ </i>. </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" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id504300"></a><p><span class="title"><i>
ISO/IEC 14882:1998 Programming languages - C++
- </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id630287"></a><p><span class="title"><i>
+ </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id504319"></a><p><span class="title"><i>
ISO/IEC 9899:1999 Programming languages - C
- </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id630306"></a><p><span class="title"><i>
+ </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x)"><a id="id504337"></a><p><span class="title"><i>
System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x)
</i>. </span><span class="copyright">Copyright © 1999
The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span><span class="biblioid">
<a class="ulink" href="http://www.opengroup.org/austin/" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id567615"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id431617"></a><p><span class="title"><i>
The C++ Programming Language, Special Edition
</i>. </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">
Addison Wesley
- . </span></span></p></div><div class="biblioentry"><a id="id621555"></a><p><span class="title"><i>
+ . </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id413449"></a><p><span class="title"><i>
Standard C++ IOStreams and Locales
</i>. </span><span class="subtitle">
Advanced Programmer's Guide and Reference
. </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">
Addison Wesley Longman
- . </span></span></p></div><div class="biblioentry"><a id="id646611"></a><p><span class="title"><i>
+ . </span></span></p></div><div class="biblioentry" title="Java 2 Platform, Standard Edition, v 1.3.1 API Specification"><a id="id507891"></a><p><span class="title"><i>
Java 2 Platform, Standard Edition, v 1.3.1 API Specification
</i>. </span><span class="pagenums">java.util.Properties, java.text.MessageFormat,
java.util.Locale, java.util.ResourceBundle. </span><span class="biblioid">
<a class="ulink" href="http://java.sun.com/reference/api/index.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id682026"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="GNU gettext tools, version 0.10.38, Native Language Support Library and Tools."><a id="id507912"></a><p><span class="title"><i>
GNU gettext tools, version 0.10.38, Native Language Support
Library and Tools.
</i>. </span><span class="biblioid">
diff --git a/libstdc++-v3/doc/html/manual/numerics.html b/libstdc++-v3/doc/html/manual/numerics.html
index 457f548f437..2974fdd0997 100644
--- a/libstdc++-v3/doc/html/manual/numerics.html
+++ b/libstdc++-v3/doc/html/manual/numerics.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part X.  Numerics</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt09ch20.html" title="Chapter 20. Mutating" /><link rel="next" href="complex.html" title="Chapter 21. Complex" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part X. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part X.  Numerics</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt09ch20.html" title="Chapter 20. Mutating" /><link rel="next" href="complex.html" title="Chapter 21. Complex" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part X. 
Numerics
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt09ch20.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="complex.html">Next</a></td></tr></table><hr /></div><div class="part" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="manual.numerics"></a>Part X. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt09ch20.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="complex.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part X.  Numerics"><div class="titlepage"><div><div><h1 class="title"><a id="manual.numerics"></a>Part X. 
Numerics
- <a id="id624917" class="indexterm"></a>
+ <a id="id427052" class="indexterm"></a>
</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="complex.html">21. Complex</a></span></dt><dd><dl><dt><span class="sect1"><a href="complex.html#numerics.complex.processing">complex Processing</a></span></dt></dl></dd><dt><span class="chapter"><a href="generalized_numeric_operations.html">22. Generalized Operations</a></span></dt><dt><span class="chapter"><a href="numerics_and_c.html">23. Interacting with C</a></span></dt><dd><dl><dt><span class="sect1"><a href="numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="sect1"><a href="bk01pt10ch23s02.html">C99</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt09ch20.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="complex.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 20. Mutating </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 21. Complex</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/numerics_and_c.html b/libstdc++-v3/doc/html/manual/numerics_and_c.html
index 1179f0d5af7..0bd1b809371 100644
--- a/libstdc++-v3/doc/html/manual/numerics_and_c.html
+++ b/libstdc++-v3/doc/html/manual/numerics_and_c.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 23. Interacting with C</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="numerics.html" title="Part X.  Numerics" /><link rel="prev" href="generalized_numeric_operations.html" title="Chapter 22. Generalized Operations" /><link rel="next" href="bk01pt10ch23s02.html" title="C99" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 23. Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><th width="60%" align="center">Part X. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 23. Interacting with C</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="numerics.html" title="Part X.  Numerics" /><link rel="prev" href="generalized_numeric_operations.html" title="Chapter 22. Generalized Operations" /><link rel="next" href="bk01pt10ch23s02.html" title="C99" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 23. Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><th width="60%" align="center">Part X. 
Numerics
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt10ch23s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.numerics.c"></a>Chapter 23. Interacting with C</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="sect1"><a href="bk01pt10ch23s02.html">C99</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="numerics.c.array"></a>Numerics vs. Arrays</h2></div></div></div><p>One of the major reasons why FORTRAN can chew through numbers so well
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt10ch23s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 23. Interacting with C"><div class="titlepage"><div><div><h2 class="title"><a id="manual.numerics.c"></a>Chapter 23. Interacting with C</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="sect1"><a href="bk01pt10ch23s02.html">C99</a></span></dt></dl></div><div class="sect1" title="Numerics vs. Arrays"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="numerics.c.array"></a>Numerics vs. Arrays</h2></div></div></div><p>One of the major reasons why FORTRAN can chew through numbers so well
is that it is defined to be free of pointer aliasing, an assumption
that C89 is not allowed to make, and neither is C++98. C99 adds a new
keyword, <code class="code">restrict</code>, to apply to individual pointers. The
diff --git a/libstdc++-v3/doc/html/manual/pairs.html b/libstdc++-v3/doc/html/manual/pairs.html
index 99c9e7bc9b5..3b4981bbaa8 100644
--- a/libstdc++-v3/doc/html/manual/pairs.html
+++ b/libstdc++-v3/doc/html/manual/pairs.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 10. Pairs</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="utilities.html" title="Part IV.  Utilities" /><link rel="prev" href="functors.html" title="Chapter 9. Functors" /><link rel="next" href="memory.html" title="Chapter 11. Memory" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. Pairs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="functors.html">Prev</a> </td><th width="60%" align="center">Part IV. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 10. Pairs</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="utilities.html" title="Part IV.  Utilities" /><link rel="prev" href="functors.html" title="Chapter 9. Functors" /><link rel="next" href="memory.html" title="Chapter 11. Memory" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. Pairs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="functors.html">Prev</a> </td><th width="60%" align="center">Part IV. 
Utilities
-</th><td width="20%" align="right"> <a accesskey="n" href="memory.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.util.pairs"></a>Chapter 10. Pairs</h2></div></div></div><p>The <code class="code">pair&lt;T1,T2&gt;</code> is a simple and handy way to
+</th><td width="20%" align="right"> <a accesskey="n" href="memory.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 10. Pairs"><div class="titlepage"><div><div><h2 class="title"><a id="manual.util.pairs"></a>Chapter 10. Pairs</h2></div></div></div><p>The <code class="code">pair&lt;T1,T2&gt;</code> is a simple and handy way to
carry around a pair of objects. One is of type T1, and another of
type T2; they may be the same type, but you don't get anything
extra if they are. The two members can be accessed directly, as
diff --git a/libstdc++-v3/doc/html/manual/parallel_mode.html b/libstdc++-v3/doc/html/manual/parallel_mode.html
index 635ef1dd6a1..c17295d06be 100644
--- a/libstdc++-v3/doc/html/manual/parallel_mode.html
+++ b/libstdc++-v3/doc/html/manual/parallel_mode.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 31. Parallel Mode</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="bk01pt12ch30s04.html" title="Design" /><link rel="next" href="bk01pt12ch31s02.html" title="Semantics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 31. Parallel Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch30s04.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 31. Parallel Mode</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="bk01pt12ch30s04.html" title="Design" /><link rel="next" href="bk01pt12ch31s02.html" title="Semantics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 31. Parallel Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch30s04.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch31s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode"></a>Chapter 31. Parallel Mode</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch31s02.html">Semantics</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch31s03.html">Using</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch31s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch31s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch31s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch31s04.html">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch31s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch31s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch31s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch31s05.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
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch31s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 31. Parallel Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode"></a>Chapter 31. Parallel Mode</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch31s02.html">Semantics</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch31s03.html">Using</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch31s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch31s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch31s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch31s04.html">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch31s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch31s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch31s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch31s05.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
implementation of many algorithms the C++ Standard Library.
</p><p>
Several of the standard algorithms, for instance
@@ -11,13 +11,13 @@ Several of the standard algorithms, for instance
annotations. These parallel mode constructs and can be invoked by
explicit source declaration or by compiling existing sources with a
specific compiler flag.
-</p><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.intro"></a>Intro</h2></div></div></div><p>The following library components in the include
-<code class="filename">numeric</code> are included in the parallel mode:</p><div class="itemizedlist"><ul type="disc"><li><p><code class="function">std::accumulate</code></p></li><li><p><code class="function">std::adjacent_difference</code></p></li><li><p><code class="function">std::inner_product</code></p></li><li><p><code class="function">std::partial_sum</code></p></li></ul></div><p>The following library components in the include
-<code class="filename">algorithm</code> are included in the parallel mode:</p><div class="itemizedlist"><ul type="disc"><li><p><code class="function">std::adjacent_find</code></p></li><li><p><code class="function">std::count</code></p></li><li><p><code class="function">std::count_if</code></p></li><li><p><code class="function">std::equal</code></p></li><li><p><code class="function">std::find</code></p></li><li><p><code class="function">std::find_if</code></p></li><li><p><code class="function">std::find_first_of</code></p></li><li><p><code class="function">std::for_each</code></p></li><li><p><code class="function">std::generate</code></p></li><li><p><code class="function">std::generate_n</code></p></li><li><p><code class="function">std::lexicographical_compare</code></p></li><li><p><code class="function">std::mismatch</code></p></li><li><p><code class="function">std::search</code></p></li><li><p><code class="function">std::search_n</code></p></li><li><p><code class="function">std::transform</code></p></li><li><p><code class="function">std::replace</code></p></li><li><p><code class="function">std::replace_if</code></p></li><li><p><code class="function">std::max_element</code></p></li><li><p><code class="function">std::merge</code></p></li><li><p><code class="function">std::min_element</code></p></li><li><p><code class="function">std::nth_element</code></p></li><li><p><code class="function">std::partial_sort</code></p></li><li><p><code class="function">std::partition</code></p></li><li><p><code class="function">std::random_shuffle</code></p></li><li><p><code class="function">std::set_union</code></p></li><li><p><code class="function">std::set_intersection</code></p></li><li><p><code class="function">std::set_symmetric_difference</code></p></li><li><p><code class="function">std::set_difference</code></p></li><li><p><code class="function">std::sort</code></p></li><li><p><code class="function">std::stable_sort</code></p></li><li><p><code class="function">std::unique_copy</code></p></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="parallel_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry"><a id="id660222"></a><p><span class="title"><i>
+</p><div class="sect1" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.intro"></a>Intro</h2></div></div></div><p>The following library components in the include
+<code class="filename">numeric</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="function">std::accumulate</code></p></li><li class="listitem"><p><code class="function">std::adjacent_difference</code></p></li><li class="listitem"><p><code class="function">std::inner_product</code></p></li><li class="listitem"><p><code class="function">std::partial_sum</code></p></li></ul></div><p>The following library components in the include
+<code class="filename">algorithm</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="function">std::adjacent_find</code></p></li><li class="listitem"><p><code class="function">std::count</code></p></li><li class="listitem"><p><code class="function">std::count_if</code></p></li><li class="listitem"><p><code class="function">std::equal</code></p></li><li class="listitem"><p><code class="function">std::find</code></p></li><li class="listitem"><p><code class="function">std::find_if</code></p></li><li class="listitem"><p><code class="function">std::find_first_of</code></p></li><li class="listitem"><p><code class="function">std::for_each</code></p></li><li class="listitem"><p><code class="function">std::generate</code></p></li><li class="listitem"><p><code class="function">std::generate_n</code></p></li><li class="listitem"><p><code class="function">std::lexicographical_compare</code></p></li><li class="listitem"><p><code class="function">std::mismatch</code></p></li><li class="listitem"><p><code class="function">std::search</code></p></li><li class="listitem"><p><code class="function">std::search_n</code></p></li><li class="listitem"><p><code class="function">std::transform</code></p></li><li class="listitem"><p><code class="function">std::replace</code></p></li><li class="listitem"><p><code class="function">std::replace_if</code></p></li><li class="listitem"><p><code class="function">std::max_element</code></p></li><li class="listitem"><p><code class="function">std::merge</code></p></li><li class="listitem"><p><code class="function">std::min_element</code></p></li><li class="listitem"><p><code class="function">std::nth_element</code></p></li><li class="listitem"><p><code class="function">std::partial_sort</code></p></li><li class="listitem"><p><code class="function">std::partition</code></p></li><li class="listitem"><p><code class="function">std::random_shuffle</code></p></li><li class="listitem"><p><code class="function">std::set_union</code></p></li><li class="listitem"><p><code class="function">std::set_intersection</code></p></li><li class="listitem"><p><code class="function">std::set_symmetric_difference</code></p></li><li class="listitem"><p><code class="function">std::set_difference</code></p></li><li class="listitem"><p><code class="function">std::sort</code></p></li><li class="listitem"><p><code class="function">std::stable_sort</code></p></li><li class="listitem"><p><code class="function">std::unique_copy</code></p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="parallel_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry" title="Parallelization of Bulk Operations for STL Dictionaries"><a id="id417661"></a><p><span class="title"><i>
Parallelization of Bulk Operations for STL Dictionaries
</i>. </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">
Workshop on Highly Parallel Processing on a Chip (HPPC) 2007. (LNCS)
- . </span></span></p></div><div class="biblioentry"><a id="id660269"></a><p><span class="title"><i>
+ . </span></span></p></div><div class="biblioentry" title="The Multi-Core Standard Template Library"><a id="id486148"></a><p><span class="title"><i>
The Multi-Core Standard Template Library
</i>. </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">
Euro-Par 2007: Parallel Processing. (LNCS 4641)
diff --git a/libstdc++-v3/doc/html/manual/profile_mode.html b/libstdc++-v3/doc/html/manual/profile_mode.html
index e47ecdb67e1..7a94336bf84 100644
--- a/libstdc++-v3/doc/html/manual/profile_mode.html
+++ b/libstdc++-v3/doc/html/manual/profile_mode.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 32. Profile Mode</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="bk01pt12ch31s05.html" title="Testing" /><link rel="next" href="bk01pt12ch32s02.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 32. Profile Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch31s05.html">Prev</a> </td><th width="60%" align="center">Part XII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 32. Profile Mode</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="extensions.html" title="Part XII.  Extensions" /><link rel="prev" href="bk01pt12ch31s05.html" title="Testing" /><link rel="next" href="bk01pt12ch32s02.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 32. Profile Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch31s05.html">Prev</a> </td><th width="60%" align="center">Part XII. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch32s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode"></a>Chapter 32. Profile Mode</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="sect2"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="sect2"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch32s02.html">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch32s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch32s04.html">Empirical Cost Model</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch32s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch32s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch32s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch32s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.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="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.intro"></a>Intro</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch32s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 32. Profile Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode"></a>Chapter 32. Profile Mode</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="sect2"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="sect2"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch32s02.html">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch32s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch32s04.html">Empirical Cost Model</a></span></dt><dt><span class="sect1"><a href="bk01pt12ch32s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch32s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch32s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt12ch32s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dt><span class="sect2"><a href="bk01pt12ch32s07.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="sect1" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.intro"></a>Intro</h2></div></div></div><p>
<span class="emphasis"><em>Goal: </em></span>Give performance improvement advice based on
recognition of suboptimal usage patterns of the standard library.
</p><p>
@@ -16,25 +16,25 @@
CGO 2009</a>.
</p><p>
<span class="emphasis"><em>Strengths: </em></span>
-</p><div class="itemizedlist"><ul type="disc"><li><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
Unintrusive solution. The application code does not require any
modification.
- </p></li><li><p> The advice is call context sensitive, thus capable of
+ </p></li><li class="listitem"><p> The advice is call context sensitive, thus capable of
identifying precisely interesting dynamic performance behavior.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
The overhead model is pay-per-view. When you turn off a diagnostic class
at compile time, its overhead disappears.
</p></li></ul></div><p>
</p><p>
<span class="emphasis"><em>Drawbacks: </em></span>
-</p><div class="itemizedlist"><ul type="disc"><li><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
You must recompile the application code with custom options.
- </p></li><li><p>You must run the application on representative input.
+ </p></li><li class="listitem"><p>You must run the application on representative input.
The advice is input dependent.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
The execution time will increase, in some cases by factors.
</p></li></ul></div><p>
- </p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.using"></a>Using the Profile Mode</h3></div></div></div><p>
+ </p><div class="sect2" title="Using the Profile Mode"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.using"></a>Using the Profile Mode</h3></div></div></div><p>
This is the anticipated common workflow for program <code class="code">foo.cc</code>:
</p><pre class="programlisting">
$ cat foo.cc
@@ -54,10 +54,10 @@ vector-size: improvement = 3: call stack = 0x804842c ...
</pre><p>
</p><p>
Anatomy of a warning:
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
Warning id. This is a short descriptive string for the class
that this warning belongs to. E.g., "vector-to-list".
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Estimated improvement. This is an approximation of the benefit expected
from implementing the change suggested by the warning. It is given on
a log10 scale. Negative values mean that the alternative would actually
@@ -67,11 +67,11 @@ vector-size: improvement = 3: call stack = 0x804842c ...
which is around 10e5. The improvement from setting the initial size to
1024 is in the range of 10e3, since the overhead of dynamic resizing is
linear in this case.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Call stack. Currently, the addresses are printed without
symbol name or code location attribution.
Users are expected to postprocess the output using, for instance, addr2line.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
The warning message. For some warnings, this is static text, e.g.,
"change vector to list". For other warnings, such as the one above,
the message contains numeric advice, e.g., the suggested initial size
@@ -91,20 +91,20 @@ vector-size: improvement = 3: call stack = 0x804842c ...
We believe such warnings can help users understand the performance
behavior of their application better, which can lead to changes
at a higher abstraction level.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.tuning"></a>Tuning the Profile Mode</h3></div></div></div><p>Compile time switches and environment variables (see also file
+ </p></div><div class="sect2" title="Tuning the Profile Mode"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.tuning"></a>Tuning the Profile Mode</h3></div></div></div><p>Compile time switches and environment variables (see also file
profiler.h). Unless specified otherwise, they can be set at compile time
using -D_&lt;name&gt; or by setting variable &lt;name&gt;
in the environment where the program is run, before starting execution.
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="code">[NO]_GLIBCXX_PROFILE_&lt;diagnostic&gt;</code>:
enable/disable specific diagnostics.
See section Diagnostics for possible values.
(Environment variables not supported.)
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="code">GLIBCXX_PROFILE_TRACE_PATH_ROOT</code>: set an alternative root
path for the output files.
- </p></li><li><p>GLIBCXX_PROFILE_MAX_WARN_COUNT: set it to the maximum
- number of warnings desired. The default value is 10.</p></li><li><p>
+ </p></li><li class="listitem"><p>GLIBCXX_PROFILE_MAX_WARN_COUNT: set it to the maximum
+ number of warnings desired. The default value is 10.</p></li><li class="listitem"><p>
<code class="code">GLIBCXX_PROFILE_MAX_STACK_DEPTH</code>: if set to 0,
the advice will
be collected and reported for the program as a whole, and not for each
@@ -112,21 +112,21 @@ vector-size: improvement = 3: call stack = 0x804842c ...
This could also be used in continuous regression tests, where you
just need to know whether there is a regression or not.
The default value is 32.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="code">GLIBCXX_PROFILE_MEM_PER_DIAGNOSTIC</code>:
set a limit on how much memory to use for the accounting tables for each
diagnostic type. When this limit is reached, new events are ignored
until the memory usage decreases under the limit. Generally, this means
that newly created containers will not be instrumented until some
live containers are deleted. The default is 128 MB.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="code">GLIBCXX_PROFILE_NOTHREADS</code>:
Make the library not use threads. Otherwise, pthread mutexes are used
to protect access to internal data structures. This should be useful
only if the program is single threaded and you want to avoid the overhead
of aquiring/releasing locks unnecessarily.
(Environment variable not supported.)
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<code class="code">HAVE_EXECINFO_H</code>:
This name should be defined at library configuration time.
If your library was configured without <code class="code">execinfo.h</code>, but
@@ -135,7 +135,7 @@ vector-size: improvement = 3: call stack = 0x804842c ...
call context.
(Environment variable not supported.)
</p></li></ul></div><p>
- </p></div></div><div class="bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="profile_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry"><a id="id659013"></a><p><span class="title"><i>
+ </p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="profile_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry" title="Perflint: A Context Sensitive Performance Advisor for C++ Programs"><a id="id447328"></a><p><span class="title"><i>
Perflint: A Context Sensitive Performance Advisor for C++ Programs
</i>. </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">
Proceedings of the 2009 International Symposium on Code Generation
diff --git a/libstdc++-v3/doc/html/manual/sequences.html b/libstdc++-v3/doc/html/manual/sequences.html
index 1826bf16ac6..fd3ff148e54 100644
--- a/libstdc++-v3/doc/html/manual/sequences.html
+++ b/libstdc++-v3/doc/html/manual/sequences.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 16. Sequences</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="containers.html" title="Part VII.  Containers" /><link rel="prev" href="containers.html" title="Part VII.  Containers" /><link rel="next" href="vector.html" title="vector" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 16. Sequences</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="containers.html">Prev</a> </td><th width="60%" align="center">Part VII. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 16. Sequences</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="containers.html" title="Part VII.  Containers" /><link rel="prev" href="containers.html" title="Part VII.  Containers" /><link rel="next" href="vector.html" title="vector" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 16. Sequences</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="containers.html">Prev</a> </td><th width="60%" align="center">Part VII. 
Containers
-</th><td width="20%" align="right"> <a accesskey="n" href="vector.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.containers.sequences"></a>Chapter 16. Sequences</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="sequences.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="sect2"><a href="sequences.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="sect1"><a href="vector.html">vector</a></span></dt><dd><dl><dt><span class="sect2"><a href="vector.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.sequences.list"></a>list</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="sequences.list.size"></a>list::size() is O(n)</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="vector.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 16. Sequences"><div class="titlepage"><div><div><h2 class="title"><a id="manual.containers.sequences"></a>Chapter 16. Sequences</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="sequences.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="sect2"><a href="sequences.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="sect1"><a href="vector.html">vector</a></span></dt><dd><dl><dt><span class="sect2"><a href="vector.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></div><div class="sect1" title="list"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.sequences.list"></a>list</h2></div></div></div><div class="sect2" title="list::size() is O(n)"><div class="titlepage"><div><div><h3 class="title"><a id="sequences.list.size"></a>list::size() is O(n)</h3></div></div></div><p>
Yes it is, and that's okay. This is a decision that we preserved
when we imported SGI's STL implementation. The following is
quoted from <a class="ulink" href="http://www.sgi.com/tech/stl/FAQ.html" target="_top">their FAQ</a>:
@@ -22,9 +22,9 @@
themselves.
</p><p>
This choice is permitted by the C++ standard. The standard says
- that size() “<span class="quote">should</span>†be constant time, and
- “<span class="quote">should</span>†does not mean the same thing as
- “<span class="quote">shall</span>â€. This is the officially recommended ISO
+ that size() <span class="quote">“<span class="quote">should</span>â€</span> be constant time, and
+ <span class="quote">“<span class="quote">should</span>â€</span> does not mean the same thing as
+ <span class="quote">“<span class="quote">shall</span>â€</span>. This is the officially recommended ISO
wording for saying that an implementation is supposed to do
something unless there is a good reason not to.
</p><p>
diff --git a/libstdc++-v3/doc/html/manual/setup.html b/libstdc++-v3/doc/html/manual/setup.html
index 4d8f3d01172..684bd8ef629 100644
--- a/libstdc++-v3/doc/html/manual/setup.html
+++ b/libstdc++-v3/doc/html/manual/setup.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 2. Setup</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="bugs.html" title="Bugs" /><link rel="next" href="configure.html" title="Configure" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Setup</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bugs.html">Prev</a> </td><th width="60%" align="center">Part I. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 2. Setup</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="bugs.html" title="Bugs" /><link rel="next" href="configure.html" title="Configure" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Setup</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bugs.html">Prev</a> </td><th width="60%" align="center">Part I. 
Introduction
-</th><td width="20%" align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup"></a>Chapter 2. Setup</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="sect1"><a href="configure.html">Configure</a></span></dt><dt><span class="sect1"><a href="make.html">Make</a></span></dt></dl></div><p>To transform libstdc++ sources into installed include files
+</th><td width="20%" align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 2. Setup"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup"></a>Chapter 2. Setup</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="sect1"><a href="configure.html">Configure</a></span></dt><dt><span class="sect1"><a href="make.html">Make</a></span></dt></dl></div><p>To transform libstdc++ sources into installed include files
and properly built binaries useful for linking to other software is
a multi-step process. Steps include getting the sources,
configuring and building the sources, testing, and installation.
@@ -19,7 +19,7 @@
make install
</pre><p>
Each step is described in more detail in the following sections.
- </p><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.prereq"></a>Prerequisites</h2></div></div></div><p>
+ </p><div class="sect1" title="Prerequisites"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.prereq"></a>Prerequisites</h2></div></div></div><p>
Because libstdc++ is part of GCC, the primary source for
installation instructions is
<a class="ulink" href="http://gcc.gnu.org/install/" target="_top">the GCC install page</a>.
@@ -73,6 +73,8 @@ fr_FR@euro ISO-8859-15
is_IS UTF-8
it_IT ISO-8859-1
ja_JP.eucjp EUC-JP
+ru_RU.ISO-8859-5 ISO-8859-5
+ru_RU.UTF-8 UTF-8
se_NO.UTF-8 UTF-8
ta_IN UTF-8
zh_TW BIG5
@@ -86,16 +88,16 @@ zh_TW BIG5
necessary.
</p><p>
To install support for locales, do only one of the following:
- </p><div class="itemizedlist"><ul type="disc"><li><p>install all locales</p><div class="itemizedlist"><ul type="circle"><li><p>with RedHat Linux:
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>install all locales</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>with RedHat Linux:
</p><p> <code class="code"> export LC_ALL=C </code>
</p><p> <code class="code"> rpm -e glibc-common --nodeps </code>
</p><p>
<code class="code"> rpm -i --define "_install_langs all"
glibc-common-2.2.5-34.i386.rpm
</code>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Instructions for other operating systems solicited.
- </p></li></ul></div></li><li><p>install just the necessary locales</p><div class="itemizedlist"><ul type="circle"><li><p>with Debian Linux:</p><p> Add the above list, as shown, to the file
- <code class="code">/etc/locale.gen</code> </p><p> run <code class="code">/usr/sbin/locale-gen</code> </p></li><li><p>on most Unix-like operating systems:</p><p><code class="code"> localedef -i de_DE -f ISO-8859-1 de_DE </code></p><p>(repeat for each entry in the above list) </p></li><li><p>
+ </p></li></ul></div></li><li class="listitem"><p>install just the necessary locales</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>with Debian Linux:</p><p> Add the above list, as shown, to the file
+ <code class="code">/etc/locale.gen</code> </p><p> run <code class="code">/usr/sbin/locale-gen</code> </p></li><li class="listitem"><p>on most Unix-like operating systems:</p><p><code class="code"> localedef -i de_DE -f ISO-8859-1 de_DE </code></p><p>(repeat for each entry in the above list) </p></li><li class="listitem"><p>
Instructions for other operating systems solicited.
</p></li></ul></div></li></ul></div></dd></dl></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bugs.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Bugs </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Configure</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/shared_ptr.html b/libstdc++-v3/doc/html/manual/shared_ptr.html
index 978c7ec54c6..35522568c1b 100644
--- a/libstdc++-v3/doc/html/manual/shared_ptr.html
+++ b/libstdc++-v3/doc/html/manual/shared_ptr.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>shared_ptr</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; shared_ptr&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="memory.html" title="Chapter 11. Memory" /><link rel="prev" href="auto_ptr.html" title="auto_ptr" /><link rel="next" href="traits.html" title="Chapter 12. Traits" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">shared_ptr</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="auto_ptr.html">Prev</a> </td><th width="60%" align="center">Chapter 11. Memory</th><td width="20%" align="right"> <a accesskey="n" href="traits.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.util.memory.shared_ptr"></a>shared_ptr</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>shared_ptr</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; shared_ptr&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="memory.html" title="Chapter 11. Memory" /><link rel="prev" href="auto_ptr.html" title="auto_ptr" /><link rel="next" href="traits.html" title="Chapter 12. Traits" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">shared_ptr</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="auto_ptr.html">Prev</a> </td><th width="60%" align="center">Chapter 11. Memory</th><td width="20%" align="right"> <a accesskey="n" href="traits.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="shared_ptr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.util.memory.shared_ptr"></a>shared_ptr</h2></div></div></div><p>
The shared_ptr class template stores a pointer, usually obtained via new,
and implements shared ownership semantics.
-</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="shared_ptr.req"></a>Requirements</h3></div></div></div><p>
+</p><div class="sect2" title="Requirements"><div class="titlepage"><div><div><h3 class="title"><a id="shared_ptr.req"></a>Requirements</h3></div></div></div><p>
</p><p>
The standard deliberately doesn't require a reference-counted
implementation, allowing other techniques such as a
@@ -15,7 +15,7 @@ and implements shared ownership semantics.
shared_ptr in libstdc++ is derived from Boost's, so the same rules
apply.
</p><p>
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="shared_ptr.design_issues"></a>Design Issues</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Design Issues"><div class="titlepage"><div><div><h3 class="title"><a id="shared_ptr.design_issues"></a>Design Issues</h3></div></div></div><p>
The <code class="classname">shared_ptr</code> code is kindly donated to GCC by the Boost
project and the original authors of the code. The basic design and
algorithms are from Boost, the notes below describe details specific to
@@ -29,7 +29,7 @@ drops to zero.
Derived classes override those functions to destroy resources in a context
where the correct dynamic type is known. This is an application of the
technique known as type erasure.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="shared_ptr.impl"></a>Implementation</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id737043"></a>Class Hierarchy</h4></div></div></div><p>
+ </p></div><div class="sect2" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="shared_ptr.impl"></a>Implementation</h3></div></div></div><div class="sect3" title="Class Hierarchy"><div class="titlepage"><div><div><h4 class="title"><a id="id425497"></a>Class Hierarchy</h4></div></div></div><p>
A <code class="classname">shared_ptr&lt;T&gt;</code> contains a pointer of
type <span class="type">T*</span> and an object of type
<code class="classname">__shared_count</code>. The shared_count contains a
@@ -71,7 +71,7 @@ be forwarded to <span class="type">Tp</span>'s constructor.
Unlike the other <code class="classname">_Sp_counted_*</code> classes, this one is parameterized on the
type of object, not the type of pointer; this is purely a convenience
that simplifies the implementation slightly.
- </p></dd></dl></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id656080"></a>Thread Safety</h4></div></div></div><p>
+ </p></dd></dl></div></div><div class="sect3" title="Thread Safety"><div class="titlepage"><div><div><h4 class="title"><a id="id434024"></a>Thread Safety</h4></div></div></div><p>
The interface of <code class="classname">tr1::shared_ptr</code> was extended for C++0x
with support for rvalue-references and the other features from
N2351. As with other libstdc++ headers shared by TR1 and C++0x,
@@ -129,7 +129,7 @@ compiler, standard library, platform etc. For the version of
shared_ptr in libstdc++ the compiler and library are fixed, which
makes things much simpler: we have an atomic CAS or we don't, see Lock
Policy below for details.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id618309"></a>Selecting Lock Policy</h4></div></div></div><p>
+</p></div><div class="sect3" title="Selecting Lock Policy"><div class="titlepage"><div><div><h4 class="title"><a id="id425847"></a>Selecting Lock Policy</h4></div></div></div><p>
</p><p>
There is a single <code class="classname">_Sp_counted_base</code> class,
which is a template parameterized on the enum
@@ -145,7 +145,7 @@ specialization will be used. This design is necessary because it would
not be conforming for <code class="classname">shared_ptr</code> to have an
extra template parameter, even if it had a default value. The
available policies are:
- </p><div class="orderedlist"><ol type="1"><li><p>
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
<span class="type">_S_Atomic</span>
</p><p>
Selected when GCC supports a builtin atomic compare-and-swap operation
@@ -153,13 +153,13 @@ on the target processor (see <a class="ulink" href="http://gcc.gnu.org/onlinedoc
Builtins</a>.) The reference counts are maintained using a lock-free
algorithm and GCC's atomic builtins, which provide the required memory
synchronisation.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<span class="type">_S_Mutex</span>
</p><p>
The _Sp_counted_base specialization for this policy contains a mutex,
which is locked in add_ref_lock(). This policy is used when GCC's atomic
builtins aren't available so explicit memory barriers are needed in places.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<span class="type">_S_Single</span>
</p><p>
This policy uses a non-reentrant add_ref_lock() with no locking. It is
@@ -170,7 +170,7 @@ used when libstdc++ is built without <code class="literal">--enable-threads</cod
<code class="filename">ext/atomicity.h</code>, which detect if the program
is multi-threaded. If only one thread of execution exists in
the program then less expensive non-atomic operations are used.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id679959"></a>Dual C++0x and TR1 Implementation</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Dual C++0x and TR1 Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="id423572"></a>Dual C++0x and TR1 Implementation</h4></div></div></div><p>
The classes derived from <code class="classname">_Sp_counted_base</code> (see Class Hierarchy
below) and <code class="classname">__shared_count</code> are implemented separately for C++0x
and TR1, in <code class="filename">bits/boost_sp_shared_count.h</code> and
@@ -181,7 +181,7 @@ The TR1 implementation is considered relatively stable, so is unlikely to
change unless bug fixes require it. If the code that is common to both
C++0x and TR1 modes needs to diverge further then it might be necessary to
duplicate additional classes and only make changes to the C++0x versions.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id680859"></a>Related functions and classes</h4></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>,
+</p></div><div class="sect3" title="Related functions and classes"><div class="titlepage"><div><div><h4 class="title"><a id="id441850"></a>Related functions and classes</h4></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>,
<code class="code">const_pointer_cast</code></span></dt><dd><p>
As noted in N2351, these functions can be implemented non-intrusively using
the alias constructor. However the aliasing constructor is only available
@@ -214,10 +214,10 @@ is called. Users should not try to use this.
As well as the extra constructors, this implementation also needs some
members of _Sp_counted_deleter to be protected where they could otherwise
be private.
- </p></dd></dl></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="shared_ptr.using"></a>Use</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id715170"></a>Examples</h4></div></div></div><p>
+ </p></dd></dl></div></div></div><div class="sect2" title="Use"><div class="titlepage"><div><div><h3 class="title"><a id="shared_ptr.using"></a>Use</h3></div></div></div><div class="sect3" title="Examples"><div class="titlepage"><div><div><h4 class="title"><a id="id426020"></a>Examples</h4></div></div></div><p>
Examples of use can be found in the testsuite, under
<code class="filename">testsuite/tr1/2_general_utilities/shared_ptr</code>.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id686787"></a>Unresolved Issues</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Unresolved Issues"><div class="titlepage"><div><div><h4 class="title"><a id="id507059"></a>Unresolved Issues</h4></div></div></div><p>
The resolution to C++ Standard Library issue <a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#674" target="_top">674</a>,
"shared_ptr interface changes for consistency with N1856" will
need to be implemented after it is accepted into the working
@@ -260,12 +260,12 @@ be private.
Exposing the alias constructor in TR1 mode could simplify the
*_pointer_cast functions. Constructor could be private in TR1
mode, with the cast functions as friends.
- </p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="shared_ptr.ack"></a>Acknowledgments</h3></div></div></div><p>
+ </p></div></div><div class="sect2" title="Acknowledgments"><div class="titlepage"><div><div><h3 class="title"><a id="shared_ptr.ack"></a>Acknowledgments</h3></div></div></div><p>
The original authors of the Boost shared_ptr, which is really nice
code to work with, Peter Dimov in particular for his help and
invaluable advice on thread safety. Phillip Jordan and Paolo
Carlini for the lock policy implementation.
- </p></div><div class="bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="shared_ptr.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id622100"></a><p>[<abbr class="abbrev">
+ </p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="shared_ptr.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="Improving shared_ptr for C++0x, Revision 2"><a id="id428452"></a><p>[<abbr class="abbrev">
n2351
</abbr>] <span class="title"><i>
Improving shared_ptr for C++0x, Revision 2
@@ -274,7 +274,7 @@ be private.
. </span><span class="biblioid">
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2351.htm" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id622124"></a><p>[<abbr class="abbrev">
+ . </span></p></div><div class="biblioentry" title="C++ Standard Library Active Issues List (Revision R52)"><a id="id472454"></a><p>[<abbr class="abbrev">
n2456
</abbr>] <span class="title"><i>
C++ Standard Library Active Issues List (Revision R52)
@@ -283,7 +283,7 @@ be private.
. </span><span class="biblioid">
<a class="ulink" href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2456.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id635143"></a><p>[<abbr class="abbrev">
+ . </span></p></div><div class="biblioentry" title="Working Draft, Standard for Programming Language C++"><a id="id539282"></a><p>[<abbr class="abbrev">
n2461
</abbr>] <span class="title"><i>
Working Draft, Standard for Programming Language C++
@@ -292,7 +292,7 @@ be private.
. </span><span class="biblioid">
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id685426"></a><p>[<abbr class="abbrev">
+ . </span></p></div><div class="biblioentry" title="Boost C++ Libraries documentation - shared_ptr class template"><a id="id539306"></a><p>[<abbr class="abbrev">
boostshared_ptr
</abbr>] <span class="title"><i>
Boost C++ Libraries documentation - shared_ptr class template
diff --git a/libstdc++-v3/doc/html/manual/source_code_style.html b/libstdc++-v3/doc/html/manual/source_code_style.html
index 392a345c825..8b9932cd032 100644
--- a/libstdc++-v3/doc/html/manual/source_code_style.html
+++ b/libstdc++-v3/doc/html/manual/source_code_style.html
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Coding Style</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><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="documentation_style.html" title="Documentation Style" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Coding Style</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_organization.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Coding Style</title><meta name="generator" content="DocBook XSL 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 Documentation" /><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="documentation_style.html" title="Documentation Style" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Coding Style</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_organization.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
Contributing
-</th><td width="20%" align="right"> <a accesskey="n" href="documentation_style.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.coding_style"></a>Coding Style</h2></div></div></div><p>
- </p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="coding_style.bad_identifiers"></a>Bad Identifiers</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="documentation_style.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Coding Style"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.coding_style"></a>Coding Style</h2></div></div></div><p>
+ </p><div class="sect2" title="Bad Identifiers"><div class="titlepage"><div><div><h3 class="title"><a id="coding_style.bad_identifiers"></a>Bad Identifiers</h3></div></div></div><p>
Identifiers that conflict and should be avoided.
</p><div class="literallayout"><p><br />
-      This is the list of names “<span class="quote">reserved to the<br />
-      implementation</span>â€Â that have been claimed by certain<br />
+      This is the list of names <span class="quote">“<span class="quote">reserved to the<br />
+      implementation</span>â€</span> that have been claimed by certain<br />
      compilers and system headers of interest, and should not be used<br />
      in the library. It will grow, of course.  We generally are<br />
      interested in names that are not all-caps, except for those like<br />
@@ -192,7 +192,7 @@
      // long double conversion members mangled as __opr<br />
      // http://gcc.gnu.org/ml/libstdc++/1999-q4/msg00060.html<br />
      _opr<br />
-    </p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="coding_style.example"></a>By Example</h3></div></div></div><div class="literallayout"><p><br />
+    </p></div></div><div class="sect2" title="By Example"><div class="titlepage"><div><div><h3 class="title"><a id="coding_style.example"></a>By Example</h3></div></div></div><div class="literallayout"><p><br />
      This library is written to appropriate C++ coding standards. As such,<br />
      it is intended to precede the recommendations of the GNU Coding<br />
      Standard, which can be referenced in full here:<br />
diff --git a/libstdc++-v3/doc/html/manual/source_design_notes.html b/libstdc++-v3/doc/html/manual/source_design_notes.html
index d1f6f920e1a..fcd30e59939 100644
--- a/libstdc++-v3/doc/html/manual/source_design_notes.html
+++ b/libstdc++-v3/doc/html/manual/source_design_notes.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design Notes</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="documentation_style.html" title="Documentation Style" /><link rel="next" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Notes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="documentation_style.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design Notes</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="documentation_style.html" title="Documentation Style" /><link rel="next" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Notes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="documentation_style.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
Contributing
-</th><td width="20%" align="right"> <a accesskey="n" href="appendix_porting.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.design_notes"></a>Design Notes</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="appendix_porting.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Design Notes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.design_notes"></a>Design Notes</h2></div></div></div><p>
</p><div class="literallayout"><p><br />
<br />
    The Library<br />
diff --git a/libstdc++-v3/doc/html/manual/source_organization.html b/libstdc++-v3/doc/html/manual/source_organization.html
index b88511a9826..2ac9f9041a3 100644
--- a/libstdc++-v3/doc/html/manual/source_organization.html
+++ b/libstdc++-v3/doc/html/manual/source_organization.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Directory Layout and Source Conventions</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="next" href="source_code_style.html" title="Coding Style" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Directory Layout and Source Conventions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Directory Layout and Source Conventions</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="next" href="source_code_style.html" title="Coding Style" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Directory Layout and Source Conventions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
Contributing
-</th><td width="20%" align="right"> <a accesskey="n" href="source_code_style.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.organization"></a>Directory Layout and Source Conventions</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="source_code_style.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Directory Layout and Source Conventions"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.organization"></a>Directory Layout and Source Conventions</h2></div></div></div><p>
The unpacked source directory of libstdc++ contains the files
needed to create the GNU C++ Library.
</p><div class="literallayout"><p><br />
diff --git a/libstdc++-v3/doc/html/manual/spine.html b/libstdc++-v3/doc/html/manual/spine.html
index 09f971a46e3..65e95f350be 100644
--- a/libstdc++-v3/doc/html/manual/spine.html
+++ b/libstdc++-v3/doc/html/manual/spine.html
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The GNU C++ Library</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="prev" href="../spine.html" title="The GNU C++ Library Documentation" /><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</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="../spine.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr></table><hr /></div><div class="book" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="manual-index"></a>The GNU C++ Library</h1></div><div><p class="copyright">Copyright © 2009
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The GNU C++ Library</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="prev" href="../spine.html" title="The GNU C++ Library Documentation" /><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</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="../spine.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr></table><hr /></div><div class="book" title="The GNU C++ Library"><div class="titlepage"><div><div><h1 class="title"><a id="manual-index"></a>The GNU C++ Library</h1></div><div><p class="copyright">Copyright © 2009
<a class="ulink" href="http://www.fsf.org" target="_top">FSF</a>
- </p></div><div><div class="legalnotice"><a id="id699529"></a><p>
+ </p></div><div><div class="legalnotice" title="Legal Notice"><a id="id490520"></a><p>
<a class="link" href="license.html" title="License">License</a>
</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.
Introduction
-</a></span></dt><dd><dl><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="sect1"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="sect2"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="sect1"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="sect2"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="sect2"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="sect1"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="sect2"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="sect2"><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="sect1"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="sect1"><a href="configure.html">Configure</a></span></dt><dt><span class="sect1"><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="sect1"><a href="using.html#manual.intro.using.lib">Linking Library Binary Files</a></span></dt><dt><span class="sect1"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and namespace std</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_macros.html">Macros</a></span></dt><dt><span class="sect1"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt></dl></dd><dt><span class="sect1"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="sect2"><a href="debug.html#debug.compiler">Using g++</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.gdb">Using gdb</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="sect2"><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="support.html">II.
+</a></span></dt><dd><dl><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="sect1"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="sect2"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="sect1"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="sect2"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="sect2"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="sect1"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="sect2"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="sect2"><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="sect1"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="sect1"><a href="configure.html">Configure</a></span></dt><dt><span class="sect1"><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="sect1"><a href="using.html#manual.intro.using.lib">Linking Library Binary Files</a></span></dt><dt><span class="sect1"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="sect2"><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="sect2"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_macros.html">Macros</a></span></dt><dt><span class="sect1"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt></dl></dd><dt><span class="sect1"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="sect2"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="sect2"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="sect2"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="sect2"><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="support.html">II.
Support
</a></span></dt><dd><dl><dt><span class="preface"><a href="bk01pt02pr01.html"></a></span></dt><dt><span class="chapter"><a href="fundamental_types.html">4. Types</a></span></dt><dd><dl><dt><span class="sect1"><a href="fundamental_types.html#manual.support.types.fundamental">Fundamental Types</a></span></dt><dt><span class="sect1"><a href="bk01pt02ch04s02.html">Numeric Properties</a></span></dt><dt><span class="sect1"><a href="bk01pt02ch04s03.html">NULL</a></span></dt></dl></dd><dt><span class="chapter"><a href="dynamic_memory.html">5. Dynamic Memory</a></span></dt><dt><span class="chapter"><a href="termination.html">6. Termination</a></span></dt><dd><dl><dt><span class="sect1"><a href="termination.html#support.termination.handlers">Termination Handlers</a></span></dt><dt><span class="sect1"><a href="verbose_termination.html">Verbose Terminate Handler</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="diagnostics.html">III.
@@ -31,7 +31,7 @@
</a></span></dt><dd><dl><dt><span class="chapter"><a href="bk01pt08ch19.html">19. Predefined</a></span></dt><dd><dl><dt><span class="sect1"><a href="bk01pt08ch19.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="sect1"><a href="bk01pt08ch19s02.html">One Past the End</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="algorithms.html">IX.
Algorithms
-</a></span></dt><dd><dl><dt><span class="preface"><a href="bk01pt09pr02.html"></a></span></dt><dt><span class="chapter"><a href="bk01pt09ch20.html">20. Mutating</a></span></dt><dd><dl><dt><span class="sect1"><a href="bk01pt09ch20.html#algorithms.mutating.swap">swap</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt09ch20.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="numerics.html">X.
+</a></span></dt><dd><dl><dt><span class="preface"><a href="bk01pt09pr02.html"></a></span></dt><dt><span class="chapter"><a href="bk01pt09ch20.html">20. Mutating</a></span></dt><dd><dl><dt><span class="sect1"><a href="bk01pt09ch20.html#algorithms.mutating.swap"><code class="function">swap</code></a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt09ch20.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="numerics.html">X.
Numerics
</a></span></dt><dd><dl><dt><span class="chapter"><a href="complex.html">21. Complex</a></span></dt><dd><dl><dt><span class="sect1"><a href="complex.html#numerics.complex.processing">complex Processing</a></span></dt></dl></dd><dt><span class="chapter"><a href="generalized_numeric_operations.html">22. Generalized Operations</a></span></dt><dt><span class="chapter"><a href="numerics_and_c.html">23. Interacting with C</a></span></dt><dd><dl><dt><span class="sect1"><a href="numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="sect1"><a href="bk01pt10ch23s02.html">C99</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="io.html">XI.
@@ -46,12 +46,12 @@
</a></span></dt><dd><dl><dt><span class="sect1"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="sect1"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="sect2"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="sect1"><a href="documentation_style.html">Documentation Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="documentation_style.html#doc_style.doxygen">Doxygen</a></span></dt><dt><span class="sect2"><a href="documentation_style.html#doc_style.docbook">Docbook</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></dd><dt><span class="appendix"><a href="appendix_porting.html">B.
Porting and Maintenance
-</a></span></dt><dd><dl><dt><span class="sect1"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.map">Overview: What Comes from Where</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.enable">GLIBCXX_ENABLE, the --enable maker</a></span></dt></dl></dd><dt><span class="sect1"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="sect2"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="sect1"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="sect2"><a href="test.html#test.organization">Organization</a></span></dt><dt><span class="sect2"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dt><span class="sect2"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="sect2"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt></dl></dd><dt><span class="sect1"><a href="abi.html">ABI Policy and Guidelines</a></span></dt><dd><dl><dt><span class="sect2"><a href="abi.html#abi.cxx_interface">The C++ Interface</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.versioning">Versioning</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.changes_allowed">Allowed Changes</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.changes_no">Prohibited Changes</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.testing">Testing</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.issues">Outstanding Issues</a></span></dt></dl></dd><dt><span class="sect1"><a href="api.html">API Evolution and Deprecation History</a></span></dt><dd><dl><dt><span class="sect2"><a href="api.html#api.rel_300">3.0</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_310">3.1</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_320">3.2</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_330">3.3</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_340">3.4</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_400">4.0</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_410">4.1</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_420">4.2</a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_430">4.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="backwards.html">Backwards Compatibility</a></span></dt><dd><dl><dt><span class="sect2"><a href="backwards.html#backwards.first">First</a></span></dt><dt><span class="sect2"><a href="backwards.html#backwards.second">Second</a></span></dt><dt><span class="sect2"><a href="backwards.html#backwards.third">Third</a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="appendix_free.html">C.
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.map">Overview: What Comes from Where</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="sect2"><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="sect1"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="sect2"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="sect1"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="sect2"><a href="test.html#test.organization">Organization</a></span></dt><dt><span class="sect2"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dt><span class="sect2"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="sect2"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt><dt><span class="sect2"><a href="test.html#test.special">Special Topics</a></span></dt></dl></dd><dt><span class="sect1"><a href="abi.html">ABI Policy and Guidelines</a></span></dt><dd><dl><dt><span class="sect2"><a href="abi.html#abi.cxx_interface">The C++ Interface</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.versioning">Versioning</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.changes_allowed">Allowed Changes</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.changes_no">Prohibited Changes</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.testing">Testing</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.issues">Outstanding Issues</a></span></dt></dl></dd><dt><span class="sect1"><a href="api.html">API Evolution and Deprecation History</a></span></dt><dd><dl><dt><span class="sect2"><a href="api.html#api.rel_300"><code class="constant">3.0</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_310"><code class="constant">3.1</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_320"><code class="constant">3.2</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_330"><code class="constant">3.3</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_340"><code class="constant">3.4</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_400"><code class="constant">4.0</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_410"><code class="constant">4.1</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_420"><code class="constant">4.2</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_430"><code class="constant">4.3</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_440"><code class="constant">4.4</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_450"><code class="constant">4.5</code></a></span></dt></dl></dd><dt><span class="sect1"><a href="backwards.html">Backwards Compatibility</a></span></dt><dd><dl><dt><span class="sect2"><a href="backwards.html#backwards.first">First</a></span></dt><dt><span class="sect2"><a href="backwards.html#backwards.second">Second</a></span></dt><dt><span class="sect2"><a href="backwards.html#backwards.third">Third</a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="appendix_free.html">C.
Free Software Needs Free Documentation
</a></span></dt><dt><span class="appendix"><a href="appendix_gpl.html">D.
- GNU General Public License version 3
- </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt><dt><span class="index"><a href="bk01ix01.html">Index</a></span></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>1.1. <a href="status.html#id700007">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#id693868">C++ TR1 Implementation Status</a></dt><dt>1.3. <a href="status.html#id633674">C++ 200x Implementation Status</a></dt><dt>1.4. <a href="status.html#id631613">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using_headers.html#id651524">C++ 1998 Library Headers</a></dt><dt>3.2. <a href="using_headers.html#id639501">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.3. <a href="using_headers.html#id645876">C++ 200x Library Headers</a></dt><dt>3.4. <a href="using_headers.html#id646983">C++ 200x Library Headers for C Library Facilities</a></dt><dt>3.5. <a href="using_headers.html#id631952">C++ TR 1 Library Headers</a></dt><dt>3.6. <a href="using_headers.html#id636818">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.7. <a href="using_headers.html#id685876">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.8. <a href="using_headers.html#id639029">C++ ABI Headers</a></dt><dt>3.9. <a href="using_headers.html#id637647">Extension Headers</a></dt><dt>3.10. <a href="using_headers.html#id631989">Extension Debug Headers</a></dt><dt>3.11. <a href="using_headers.html#id521103">Extension Profile Headers</a></dt><dt>3.12. <a href="using_headers.html#id684216">Extension Parallel Headers</a></dt><dt>30.1. <a href="bk01pt12ch30s03.html#id672482">Debugging Containers</a></dt><dt>30.2. <a href="bk01pt12ch30s03.html#id646525">Debugging Containers C++0x</a></dt><dt>31.1. <a href="bk01pt12ch31s03.html#id731921">Parallel Algorithms</a></dt><dt>32.1. <a href="bk01pt12ch32s02.html#id647548">Code Location</a></dt><dt>32.2. <a href="bk01pt12ch32s07.html#id521055">Diagnostics</a></dt><dt>33.1. <a href="bitmap_allocator.html#id730908">Bitmap Allocator Memory Map</a></dt><dt>A.1. <a href="documentation_style.html#id740402">HTML to Docbook XML markup comparison</a></dt><dt>A.2. <a href="documentation_style.html#id613462">Docbook XML Element Use</a></dt><dt>B.1. <a href="api.html#id623096">Extension Allocators</a></dt><dt>B.2. <a href="api.html#id721371">Extension Allocators Continued</a></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="../spine.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library Documentation </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Part I. 
+ <acronym class="acronym">GNU</acronym> General Public License version 3
+ </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt><dt><span class="index"><a href="bk01ix01.html">Index</a></span></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>1.1. <a href="status.html#id486490">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#id455102">C++ 200x Implementation Status</a></dt><dt>1.3. <a href="status.html#id515485">C++ TR1 Implementation Status</a></dt><dt>1.4. <a href="status.html#id498950">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using_headers.html#id432611">C++ 1998 Library Headers</a></dt><dt>3.2. <a href="using_headers.html#id500479">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.3. <a href="using_headers.html#id381639">C++ 200x Library Headers</a></dt><dt>3.4. <a href="using_headers.html#id408539">C++ 200x Library Headers for C Library Facilities</a></dt><dt>3.5. <a href="using_headers.html#id428297">C++ TR 1 Library Headers</a></dt><dt>3.6. <a href="using_headers.html#id503776">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.7. <a href="using_headers.html#id454192">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.8. <a href="using_headers.html#id471051">C++ ABI Headers</a></dt><dt>3.9. <a href="using_headers.html#id428014">Extension Headers</a></dt><dt>3.10. <a href="using_headers.html#id496745">Extension Debug Headers</a></dt><dt>3.11. <a href="using_headers.html#id503586">Extension Profile Headers</a></dt><dt>3.12. <a href="using_headers.html#id436576">Extension Parallel Headers</a></dt><dt>30.1. <a href="bk01pt12ch30s03.html#id536896">Debugging Containers</a></dt><dt>30.2. <a href="bk01pt12ch30s03.html#id509362">Debugging Containers C++0x</a></dt><dt>31.1. <a href="bk01pt12ch31s03.html#id463234">Parallel Algorithms</a></dt><dt>32.1. <a href="bk01pt12ch32s02.html#id415042">Code Location</a></dt><dt>32.2. <a href="bk01pt12ch32s07.html#id447842">Diagnostics</a></dt><dt>33.1. <a href="bitmap_allocator.html#id530373">Bitmap Allocator Memory Map</a></dt><dt>A.1. <a href="documentation_style.html#id414841">HTML to Docbook XML markup comparison</a></dt><dt>A.2. <a href="documentation_style.html#id516730">Docbook XML Element Use</a></dt><dt>B.1. <a href="api.html#id516151">Extension Allocators</a></dt><dt>B.2. <a href="api.html#id535166">Extension Allocators Continued</a></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="../spine.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library Documentation </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Part I. 
Introduction
</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html
index 40dc1a26eb2..25cef369d53 100644
--- a/libstdc++-v3/doc/html/manual/status.html
+++ b/libstdc++-v3/doc/html/manual/status.html
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 1. Status</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="intro.html" title="Part I.  Introduction" /><link rel="next" href="license.html" title="License" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Status</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="intro.html">Prev</a> </td><th width="60%" align="center">Part I. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 1. Status</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="intro.html" title="Part I.  Introduction" /><link rel="next" href="license.html" title="License" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Status</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="intro.html">Prev</a> </td><th width="60%" align="center">Part I. 
Introduction
-</th><td width="20%" align="right"> <a accesskey="n" href="license.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status"></a>Chapter 1. Status</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="sect2"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="sect1"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="sect2"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="sect2"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="sect1"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="sect2"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="sect2"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.iso"></a>Implementation Status</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.1998"></a>C++ 1998/2003</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.status"></a>Implementation Status</h4></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="license.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 1. Status"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status"></a>Chapter 1. Status</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="sect2"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="sect1"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="sect2"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="sect2"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="sect1"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="sect2"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="sect2"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></div><div class="sect1" title="Implementation Status"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.iso"></a>Implementation Status</h2></div></div></div><div class="sect2" title="C++ 1998/2003"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.1998"></a>C++ 1998/2003</h3></div></div></div><div class="sect3" title="Implementation Status"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.status"></a>Implementation Status</h4></div></div></div><p>
This status table is based on the table of contents of ISO/IEC 14882:2003.
</p><p>
This page describes the C++0x support in mainline GCC SVN, not in any
particular release.
-</p><div class="table"><a id="id700007"></a><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 align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
+</p><div class="table"><a id="id486490"></a><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 align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
<span class="emphasis"><em>18</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Language support</em></span>
@@ -52,7 +52,7 @@ particular release.
<span class="emphasis"><em>Appendix D</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Compatibility features</em></span>
- </td></tr><tr><td align="left">D.1</td><td align="left">Increment operator with bool operand</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.2</td><td align="left"><code class="code">static</code> keyword</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.3</td><td align="left">Access declarations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.4</td><td align="left">Implicit conversion from const strings</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left">Old iostreams members</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left">char* streams</td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.specific"></a>Implementation Specific Behavior</h4></div></div></div><p>
+ </td></tr><tr><td align="left">D.1</td><td align="left">Increment operator with bool operand</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.2</td><td align="left"><code class="code">static</code> keyword</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.3</td><td align="left">Access declarations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.4</td><td align="left">Implicit conversion from const strings</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left">Old iostreams members</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left">char* streams</td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="sect3" title="Implementation Specific Behavior"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.specific"></a>Implementation Specific Behavior</h4></div></div></div><p>
The ISO standard defines the following phrase:
</p><div class="blockquote"><blockquote class="blockquote"><div class="variablelist"><dl><dt><span class="term">
<code class="code">[1.3.5] implementation-defined behavior</code>
@@ -142,23 +142,7 @@ particular release.
<a class="link" href="io.html" title="Part XI.  Input and Output">in this chapter</a>.
</p><p><span class="emphasis"><em>[27.8.1.4]/16</em></span> Calling <code class="code">fstream::sync</code> when
a get area exists will... whatever <code class="code">fflush()</code> does, I think.
- </p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr1"></a>C++ TR1</h3></div></div></div><p>
-This table is based on the table of contents of ISO/IEC DTR 19768
-Doc No: N1836=05-0096 Date: 2005-06-24
-Draft Technical Report on C++ Library Extensions
-</p><p>
-In this implementation the header names are prefixed by
-<code class="code">tr1/</code>, for instance <code class="code">&lt;tr1/functional&gt;</code>,
-<code class="code">&lt;tr1/memory&gt;</code>, and so on.
-</p><p>
-This page describes the TR1 support in mainline GCC SVN, not in any particular
-release.
-</p><div class="table"><a id="id693868"></a><p class="title"><b>Table 1.2. C++ TR1 Implementation Status</b></p><div class="table-contents"><table summary="C++ TR1 Implementation Status" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"><span class="emphasis"><em>2</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>General Utilities</em></span></td></tr><tr><td align="left">2.1</td><td align="left">Reference wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.1</td><td align="left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.2.1</td><td align="left"><code class="code">reference_wrapper</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.2</td><td align="left"><code class="code">reference_wrapper</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.3</td><td align="left"><code class="code">reference_wrapper</code> access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.4</td><td align="left"><code class="code">reference_wrapper</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.5</td><td align="left"><code class="code">reference_wrapper</code> helper functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.1</td><td align="left">Additions to header <code class="code">&lt;memory&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.2</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left"> </td><td align="left">
- <p>
- Uses code from
- <a class="ulink" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">boost::shared_ptr</a>.
- </p>
- </td></tr><tr><td align="left">2.2.3.1</td><td align="left"><code class="code">shared_ptr</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.2</td><td align="left"><code class="code">shared_ptr</code> destructor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.3</td><td align="left"><code class="code">shared_ptr</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.4</td><td align="left"><code class="code">shared_ptr</code> modifiers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.5</td><td align="left"><code class="code">shared_ptr</code> observers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.6</td><td align="left"><code class="code">shared_ptr</code> comparison</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.7</td><td align="left"><code class="code">shared_ptr</code> I/O</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.8</td><td align="left"><code class="code">shared_ptr</code> specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.9</td><td align="left"><code class="code">shared_ptr</code> casts</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.10</td><td align="left"><code class="code">get_deleter</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4</td><td align="left">Class template <code class="code">weak_ptr</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.4.1</td><td align="left"><code class="code">weak_ptr</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.2</td><td align="left"><code class="code">weak_ptr</code> destructor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.3</td><td align="left"><code class="code">weak_ptr</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.4</td><td align="left"><code class="code">weak_ptr</code> modifiers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.5</td><td align="left"><code class="code">weak_ptr</code> observers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.6</td><td align="left"><code class="code">weak_ptr</code> comparison</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.7</td><td align="left"><code class="code">weak_ptr</code> specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.5</td><td align="left">Class template <code class="code">enable_shared_from_this</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>3</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Function Objects</em></span></td></tr><tr><td align="left">3.1</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.2</td><td align="left">Additions to <code class="code">&lt;functional&gt; synopsis</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.3</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.4</td><td align="left">Function return types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.5</td><td align="left">Function template <code class="code">mem_fn</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6</td><td align="left">Function object binders</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.6.1</td><td align="left">Class template <code class="code">is_bind_expression</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6.2</td><td align="left">Class template <code class="code">is_placeholder</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6.3</td><td align="left">Function template <code class="code">bind</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6.4</td><td align="left">Placeholders</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7</td><td align="left">Polymorphic function wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.7.1</td><td align="left">Class <code class="code">bad_function_call<code class="code"></code></code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.1.1</td><td align="left"><code class="code">bad_function_call</code> constructor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2</td><td align="left">Class template <code class="code">function</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.7.2.1</td><td align="left"><code class="code">function</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.2</td><td align="left"><code class="code">function</code> modifiers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.3</td><td align="left"><code class="code">function</code> capacity</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.4</td><td align="left"><code class="code">function</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.5</td><td align="left"><code class="code">function</code> target access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.6</td><td align="left">undefined operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.7</td><td align="left">null pointer comparison operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.8</td><td align="left">specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>4</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Metaprogramming and type traits</em></span></td></tr><tr><td align="left">4.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.2</td><td align="left">Header <code class="code">&lt;type_traits&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.3</td><td align="left">Helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.4</td><td align="left">General Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.5</td><td align="left">Unary Type Traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">4.5.1</td><td align="left">Primary Type Categories</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.5.2</td><td align="left">Composite type traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.5.3</td><td align="left">Type properties</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.6</td><td align="left">Relationships between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7</td><td align="left">Transformations between types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">4.7.1</td><td align="left">Const-volatile modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7.2</td><td align="left">Reference modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7.3</td><td align="left">Array modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7.4</td><td align="left">Pointer modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.8</td><td align="left">Other transformations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.9</td><td align="left">Implementation requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>5</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Numerical Facilities</em></span></td></tr><tr><td align="left">5.1</td><td align="left">Random number generation</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">5.1.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.2</td><td align="left">Header <code class="code">&lt;random&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.3</td><td align="left">Class template <code class="code">variate_generator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4</td><td align="left">Random number engine class templates</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.1</td><td align="left">Class template <code class="code">linear_congruential</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.2</td><td align="left">Class template <code class="code">mersenne_twister</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.3</td><td align="left">Class template <code class="code">subtract_with_carry</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.4</td><td align="left">Class template <code class="code">subtract_with_carry_01</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.5</td><td align="left">Class template <code class="code">discard_block</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.6</td><td align="left">Class template <code class="code">xor_combine</code></td><td align="left">Y</td><td align="left">operator()() per N2079</td></tr><tr><td align="left">5.1.5</td><td align="left">Engines with predefined parameters</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.6</td><td align="left">Class <code class="code">random_device</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7</td><td align="left">Random distribution class templates</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.1</td><td align="left">Class template <code class="code">uniform_int</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.2</td><td align="left">Class <code class="code">bernoulli_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.3</td><td align="left">Class template <code class="code">geometric_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.4</td><td align="left">Class template <code class="code">poisson_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.5</td><td align="left">Class template <code class="code">binomial_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.6</td><td align="left">Class template <code class="code">uniform_real</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.7</td><td align="left">Class template <code class="code">exponential_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.8</td><td align="left">Class template <code class="code">normal_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.9</td><td align="left">Class template <code class="code">gamma_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2</td><td align="left">Mathematical special functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1</td><td align="left">Additions to header <code class="code">&lt;cmath&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.1</td><td align="left">associated Laguerre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.2</td><td align="left">associated Legendre functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.3</td><td align="left">beta function</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.4</td><td align="left">(complete) elliptic integral of the first kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.5</td><td align="left">(complete) elliptic integral of the second kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.6</td><td align="left">(complete) elliptic integral of the third kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.7</td><td align="left">confluent hypergeometric functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.8</td><td align="left">regular modified cylindrical Bessel functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.9</td><td align="left">cylindrical Bessel functions (of the first kind)</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.10</td><td align="left">irregular modified cylindrical Bessel functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.11</td><td align="left">cylindrical Neumann functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.12</td><td align="left">(incomplete) elliptic integral of the first kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.13</td><td align="left">(incomplete) elliptic integral of the second kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.14</td><td align="left">(incomplete) elliptic integral of the third kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.15</td><td align="left">exponential integral</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.16</td><td align="left">Hermite polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.17</td><td align="left">hypergeometric functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.18</td><td align="left">Laguerre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.19</td><td align="left">Legendre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.20</td><td align="left">Riemann zeta function</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.21</td><td align="left">spherical Bessel functions (of the first kind)</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.22</td><td align="left">spherical associated Legendre functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.23</td><td align="left">spherical Neumann functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.2</td><td align="left">Additions to header <code class="code">&lt;math.h&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>6</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Containers</em></span></td></tr><tr><td align="left">6.1</td><td align="left">Tuple types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.1</td><td align="left">Header <code class="code">&lt;tuple&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.2</td><td align="left">Additions to header <code class="code">&lt;utility&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3</td><td align="left">Class template <code class="code">tuple</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.1</td><td align="left">Construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.2</td><td align="left">Tuple creation functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.3</td><td align="left">Tuple helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.4</td><td align="left">Element access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.5</td><td align="left">Relational operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.4</td><td align="left">Pairs</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2</td><td align="left">Fixed size array</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.1</td><td align="left">Header <code class="code">&lt;array&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2</td><td align="left">Class template <code class="code">array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.1</td><td align="left"><code class="code">array</code> constructors, copy, and assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.2</td><td align="left"><code class="code">array</code> specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.3</td><td align="left"><code class="code">array</code> size</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.4</td><td align="left">Zero sized <code class="code">array</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.5</td><td align="left">Tuple interface to class template <code class="code">array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3</td><td align="left">Unordered associative containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.1</td><td align="left">Unordered associative container requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.1.1</td><td align="left">Exception safety guarantees</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.2</td><td align="left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.3</td><td align="left">Class template <code class="code">hash</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4</td><td align="left">Unordered associative container classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.1</td><td align="left">Header <code class="code">&lt;unordered_set&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.2</td><td align="left">Header <code class="code">&lt;unordered_map&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.3</td><td align="left">Class template <code class="code">unordered_set</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.3.1</td><td align="left"><code class="code">unordered_set</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.3.2</td><td align="left"><code class="code">unordered_set</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4</td><td align="left">Class template <code class="code">unordered_map</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4.1</td><td align="left"><code class="code">unordered_map</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4.2</td><td align="left"><code class="code">unordered_map</code> element access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4.3</td><td align="left"><code class="code">unordered_map</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.5</td><td align="left">Class template <code class="code">unordered_multiset<code class="code"></code></code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.5.1</td><td align="left"><code class="code">unordered_multiset</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.5.2</td><td align="left"><code class="code">unordered_multiset</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.6</td><td align="left">Class template <code class="code">unordered_multimap</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.6.1</td><td align="left"><code class="code">unordered_multimap</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.6.2</td><td align="left"><code class="code">unordered_multimap</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>7</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Regular Expressions</em></span></td></tr><tr bgcolor="#C8B0B0"><td align="left">7.1</td><td align="left">Definitions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.2</td><td align="left">Requirements</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.3</td><td align="left">Regular expressions summary</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.4</td><td align="left">Header <code class="code">&lt;regex&gt;</code> synopsis</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5</td><td align="left">Namespace <code class="code">tr1::regex_constants</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5.1</td><td align="left">Bitmask Type <code class="code">syntax_option_type</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5.2</td><td align="left">Bitmask Type <code class="code">regex_constants::match_flag_type</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5.3</td><td align="left">Implementation defined <code class="code">error_type</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.6</td><td align="left">Class <code class="code">regex_error</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.7</td><td align="left">Class template <code class="code">regex_traits</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8</td><td align="left">Class template <code class="code">basic_regex</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.1</td><td align="left"><code class="code">basic_regex</code> constants</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.2</td><td align="left"><code class="code">basic_regex</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.3</td><td align="left"><code class="code">basic_regex</code> assign</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.4</td><td align="left"><code class="code">basic_regex</code> constant operations</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.5</td><td align="left"><code class="code">basic_regex</code> locale</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.6</td><td align="left"><code class="code">basic_regex</code> swap</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.7</td><td align="left"><code class="code">basic_regex</code> non-member functions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.7.1</td><td align="left"><code class="code">basic_regex</code> non-member swap</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.9</td><td align="left">Class template <code class="code">sub_match</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.9.1</td><td align="left"><code class="code">sub_match</code> members</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.9.2</td><td align="left"><code class="code">sub_match</code> non-member operators</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10</td><td align="left">Class template <code class="code">match_results</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.1</td><td align="left"><code class="code">match_results</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.2</td><td align="left"><code class="code">match_results</code> size</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.3</td><td align="left"><code class="code">match_results</code> element access</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.4</td><td align="left"><code class="code">match_results</code> formatting</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.5</td><td align="left"><code class="code">match_results</code> allocator</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.6</td><td align="left"><code class="code">match_results</code> swap</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11</td><td align="left">Regular expression algorithms</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.1</td><td align="left">exceptions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.2</td><td align="left"><code class="code">regex_match</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.3</td><td align="left"><code class="code">regex_search</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.4</td><td align="left"><code class="code">regex_replace</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12</td><td align="left">Regular expression Iterators</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1</td><td align="left">Class template <code class="code">regex_iterator</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.1</td><td align="left"><code class="code">regex_iterator</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.2</td><td align="left"><code class="code">regex_iterator</code> comparisons</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.3</td><td align="left"><code class="code">regex_iterator</code> dereference</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.4</td><td align="left"><code class="code">regex_iterator</code> increment</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2</td><td align="left">Class template <code class="code">regex_token_iterator</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.1</td><td align="left"><code class="code">regex_token_iterator</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.2</td><td align="left"><code class="code">regex_token_iterator</code> comparisons</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.3</td><td align="left"><code class="code">regex_token_iterator</code> dereference</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.4</td><td align="left"><code class="code">regex_token_iterator</code> increment</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.13</td><td align="left">Modified ECMAScript regular expression grammar</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>8</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>C Compatibility</em></span></td></tr><tr><td align="left">8.1</td><td align="left">Additions to header <code class="code">&lt;complex&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.2</td><td align="left">Function <code class="code">acos</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.3</td><td align="left">Function <code class="code">asin</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.4</td><td align="left">Function <code class="code">atan</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.5</td><td align="left">Function <code class="code">acosh</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.6</td><td align="left">Function <code class="code">asinh</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.7</td><td align="left">Function <code class="code">atanh</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.8</td><td align="left">Function <code class="code">fabs</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.9</td><td align="left">Additional Overloads</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.2</td><td align="left">Header <code class="code">&lt;ccomplex&gt;</code></td><td align="left">N</td><td align="left">DR 551</td></tr><tr bgcolor="#C8B0B0"><td align="left">8.3</td><td align="left">Header <code class="code">&lt;complex.h&gt;</code></td><td align="left">N</td><td align="left">DR 551</td></tr><tr><td align="left">8.4</td><td align="left">Additions to header <code class="code">&lt;cctype&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.4.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.4.2</td><td align="left">Function <code class="code">isblank</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.5</td><td align="left">Additions to header <code class="code">&lt;ctype.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.6</td><td align="left">Header <code class="code">&lt;cfenv&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.6.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.6.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.7</td><td align="left">Header <code class="code">&lt;fenv.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.8</td><td align="left">Additions to header <code class="code">&lt;cfloat&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.9</td><td align="left">Additions to header <code class="code">&lt;float.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.10</td><td align="left">Additions to header <code class="code">&lt;ios&gt;</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.10.1</td><td align="left">Synopsis</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.10.2</td><td align="left">Function <code class="code">hexfloat</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">8.11</td><td align="left">Header <code class="code">&lt;cinttypes&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.11.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left">DR 557</td></tr><tr><td align="left">8.11.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.12</td><td align="left">Header <code class="code">&lt;inttypes.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.13</td><td align="left">Additions to header <code class="code">&lt;climits&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.14</td><td align="left">Additions to header <code class="code">&lt;limits.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.15</td><td align="left">Additions to header <code class="code">&lt;locale&gt;</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">8.16</td><td align="left">Additions to header <code class="code">&lt;cmath&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.3</td><td align="left">Function template definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.4</td><td align="left">Additional overloads</td><td align="left">Y</td><td align="left">DR 568; DR 550</td></tr><tr><td align="left">8.17</td><td align="left">Additions to header <code class="code">&lt;math.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.18</td><td align="left">Additions to header <code class="code">&lt;cstdarg&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.19</td><td align="left">Additions to header <code class="code">&lt;stdarg.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.20</td><td align="left">The header <code class="code">&lt;cstdbool&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.21</td><td align="left">The header <code class="code">&lt;stdbool.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.22</td><td align="left">The header <code class="code">&lt;cstdint&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.22.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.22.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.23</td><td align="left">The header <code class="code">&lt;stdint.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24</td><td align="left">Additions to header <code class="code">&lt;cstdio&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24.3</td><td align="left">Additional format specifiers</td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">8.24.4</td><td align="left">Additions to header <code class="code">&lt;stdio.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25</td><td align="left">Additions to header <code class="code">&lt;cstdlib&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.3</td><td align="left">Function <code class="code">abs</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.4</td><td align="left">Function <code class="code">div</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.26</td><td align="left">Additions to header <code class="code">&lt;stdlib.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.27</td><td align="left">Header <code class="code">&lt;ctgmath&gt;</code></td><td align="left">Y</td><td align="left">DR 551</td></tr><tr><td align="left">8.28</td><td align="left">Header <code class="code">&lt;tgmath.h&gt;</code></td><td align="left">Y</td><td align="left">DR 551</td></tr><tr><td align="left">8.29</td><td align="left">Additions to header <code class="code">&lt;ctime&gt;</code></td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">8.30</td><td align="left">Additions to header <code class="code">&lt;cwchar&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.30.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.30.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.30.3</td><td align="left">Additional wide format specifiers</td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">8.31</td><td align="left">Additions to header <code class="code">&lt;wchar.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.32</td><td align="left">Additions to header <code class="code">&lt;cwctype&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.32.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.32.2</td><td align="left">Function <code class="code">iswblank</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.33</td><td align="left">Additions to header <code class="code">&lt;wctype.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.200x"></a>C++ 200x</h3></div></div></div><p>
+ </p></div></div><div class="sect2" title="C++ 200x"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.200x"></a>C++ 200x</h3></div></div></div><p>
This table is based on the table of contents of ISO/IEC
Doc No: N2857=09-0047 Date: 2009-03-23
Working Draft, Standard for Programming Language C++
@@ -171,7 +155,7 @@ presence of the required flag.
</p><p>
This page describes the C++0x support in mainline GCC SVN, not in any
particular release.
-</p><div class="table"><a id="id633674"></a><p class="title"><b>Table 1.3. C++ 200x Implementation Status</b></p><div class="table-contents"><table summary="C++ 200x Implementation Status" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
+</p><div class="table"><a id="id455102"></a><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 align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
<span class="emphasis"><em>18</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Language support</em></span>
@@ -224,7 +208,7 @@ particular release.
<span class="emphasis"><em>29</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Atomic operations</em></span>
- </td></tr><tr><td align="left">29.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.2</td><td align="left">Header <code class="code">&lt;cstdatomic&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">29.3</td><td align="left">Order and consistency</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">29.4</td><td align="left">Lock-free property</td><td align="left">Y</td><td align="left">Based on _GLIBCXX_ATOMIC_PROPERTY</td></tr><tr><td align="left">29.5</td><td align="left">Atomic types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">29.5.1</td><td align="left">Integral types</td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">29.5.2</td><td align="left">Address types</td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">29.5.3</td><td align="left">Generic types</td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">29.6</td><td align="left">Operations on atomic types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.7</td><td align="left">Flag Type and operations</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">29.8</td><td align="left">Fences</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">
+ </td></tr><tr><td align="left">29.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.2</td><td align="left">Header <code class="code">&lt;atomic&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">29.3</td><td align="left">Order and consistency</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">29.4</td><td align="left">Lock-free property</td><td align="left">Y</td><td align="left">Based on _GLIBCXX_ATOMIC_PROPERTY</td></tr><tr><td align="left">29.5</td><td align="left">Atomic types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">29.5.1</td><td align="left">Integral types</td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">29.5.2</td><td align="left">Address types</td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">29.5.3</td><td align="left">Generic types</td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">29.6</td><td align="left">Operations on atomic types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.7</td><td align="left">Flag Type and operations</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">29.8</td><td align="left">Fences</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">
<span class="emphasis"><em>30</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Thread support</em></span>
@@ -232,7 +216,23 @@ particular release.
<span class="emphasis"><em>Appendix D</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Compatibility features</em></span>
- </td></tr><tr><td align="left">D.1</td><td align="left">Increment operator with bool operand</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.2</td><td align="left"><code class="code">static</code> keyword</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.3</td><td align="left">Access declarations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.4</td><td align="left">Implicit conversion from const strings</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left">Old iostreams members</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left">char* streams</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.8</td><td align="left">Binders</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.9</td><td align="left"><code class="code">auto_ptr</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.10</td><td align="left">Iterator primitives</td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr24733"></a>C++ TR 24733</h3></div></div></div><p>
+ </td></tr><tr><td align="left">D.1</td><td align="left">Increment operator with bool operand</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.2</td><td align="left"><code class="code">static</code> keyword</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.3</td><td align="left">Access declarations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.4</td><td align="left">Implicit conversion from const strings</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left">Old iostreams members</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left">char* streams</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.8</td><td align="left">Binders</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.9</td><td align="left"><code class="code">auto_ptr</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.10</td><td align="left">Iterator primitives</td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="sect2" title="C++ TR1"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr1"></a>C++ TR1</h3></div></div></div><p>
+This table is based on the table of contents of ISO/IEC DTR 19768
+Doc No: N1836=05-0096 Date: 2005-06-24
+Draft Technical Report on C++ Library Extensions
+</p><p>
+In this implementation the header names are prefixed by
+<code class="code">tr1/</code>, for instance <code class="code">&lt;tr1/functional&gt;</code>,
+<code class="code">&lt;tr1/memory&gt;</code>, and so on.
+</p><p>
+This page describes the TR1 support in mainline GCC SVN, not in any particular
+release.
+</p><div class="table"><a id="id515485"></a><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 align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"><span class="emphasis"><em>2</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>General Utilities</em></span></td></tr><tr><td align="left">2.1</td><td align="left">Reference wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.1</td><td align="left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.2.1</td><td align="left"><code class="code">reference_wrapper</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.2</td><td align="left"><code class="code">reference_wrapper</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.3</td><td align="left"><code class="code">reference_wrapper</code> access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.4</td><td align="left"><code class="code">reference_wrapper</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.5</td><td align="left"><code class="code">reference_wrapper</code> helper functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.1</td><td align="left">Additions to header <code class="code">&lt;memory&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.2</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left"> </td><td align="left">
+ <p>
+ Uses code from
+ <a class="ulink" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">boost::shared_ptr</a>.
+ </p>
+ </td></tr><tr><td align="left">2.2.3.1</td><td align="left"><code class="code">shared_ptr</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.2</td><td align="left"><code class="code">shared_ptr</code> destructor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.3</td><td align="left"><code class="code">shared_ptr</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.4</td><td align="left"><code class="code">shared_ptr</code> modifiers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.5</td><td align="left"><code class="code">shared_ptr</code> observers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.6</td><td align="left"><code class="code">shared_ptr</code> comparison</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.7</td><td align="left"><code class="code">shared_ptr</code> I/O</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.8</td><td align="left"><code class="code">shared_ptr</code> specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.9</td><td align="left"><code class="code">shared_ptr</code> casts</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.10</td><td align="left"><code class="code">get_deleter</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4</td><td align="left">Class template <code class="code">weak_ptr</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.4.1</td><td align="left"><code class="code">weak_ptr</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.2</td><td align="left"><code class="code">weak_ptr</code> destructor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.3</td><td align="left"><code class="code">weak_ptr</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.4</td><td align="left"><code class="code">weak_ptr</code> modifiers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.5</td><td align="left"><code class="code">weak_ptr</code> observers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.6</td><td align="left"><code class="code">weak_ptr</code> comparison</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.7</td><td align="left"><code class="code">weak_ptr</code> specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.5</td><td align="left">Class template <code class="code">enable_shared_from_this</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>3</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Function Objects</em></span></td></tr><tr><td align="left">3.1</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.2</td><td align="left">Additions to <code class="code">&lt;functional&gt; synopsis</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.3</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.4</td><td align="left">Function return types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.5</td><td align="left">Function template <code class="code">mem_fn</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6</td><td align="left">Function object binders</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.6.1</td><td align="left">Class template <code class="code">is_bind_expression</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6.2</td><td align="left">Class template <code class="code">is_placeholder</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6.3</td><td align="left">Function template <code class="code">bind</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6.4</td><td align="left">Placeholders</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7</td><td align="left">Polymorphic function wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.7.1</td><td align="left">Class <code class="code">bad_function_call<code class="code"></code></code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.1.1</td><td align="left"><code class="code">bad_function_call</code> constructor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2</td><td align="left">Class template <code class="code">function</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.7.2.1</td><td align="left"><code class="code">function</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.2</td><td align="left"><code class="code">function</code> modifiers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.3</td><td align="left"><code class="code">function</code> capacity</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.4</td><td align="left"><code class="code">function</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.5</td><td align="left"><code class="code">function</code> target access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.6</td><td align="left">undefined operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.7</td><td align="left">null pointer comparison operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.8</td><td align="left">specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>4</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Metaprogramming and type traits</em></span></td></tr><tr><td align="left">4.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.2</td><td align="left">Header <code class="code">&lt;type_traits&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.3</td><td align="left">Helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.4</td><td align="left">General Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.5</td><td align="left">Unary Type Traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">4.5.1</td><td align="left">Primary Type Categories</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.5.2</td><td align="left">Composite type traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.5.3</td><td align="left">Type properties</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.6</td><td align="left">Relationships between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7</td><td align="left">Transformations between types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">4.7.1</td><td align="left">Const-volatile modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7.2</td><td align="left">Reference modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7.3</td><td align="left">Array modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7.4</td><td align="left">Pointer modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.8</td><td align="left">Other transformations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.9</td><td align="left">Implementation requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>5</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Numerical Facilities</em></span></td></tr><tr><td align="left">5.1</td><td align="left">Random number generation</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">5.1.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.2</td><td align="left">Header <code class="code">&lt;random&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.3</td><td align="left">Class template <code class="code">variate_generator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4</td><td align="left">Random number engine class templates</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.1</td><td align="left">Class template <code class="code">linear_congruential</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.2</td><td align="left">Class template <code class="code">mersenne_twister</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.3</td><td align="left">Class template <code class="code">subtract_with_carry</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.4</td><td align="left">Class template <code class="code">subtract_with_carry_01</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.5</td><td align="left">Class template <code class="code">discard_block</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.6</td><td align="left">Class template <code class="code">xor_combine</code></td><td align="left">Y</td><td align="left">operator()() per N2079</td></tr><tr><td align="left">5.1.5</td><td align="left">Engines with predefined parameters</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.6</td><td align="left">Class <code class="code">random_device</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7</td><td align="left">Random distribution class templates</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.1</td><td align="left">Class template <code class="code">uniform_int</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.2</td><td align="left">Class <code class="code">bernoulli_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.3</td><td align="left">Class template <code class="code">geometric_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.4</td><td align="left">Class template <code class="code">poisson_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.5</td><td align="left">Class template <code class="code">binomial_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.6</td><td align="left">Class template <code class="code">uniform_real</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.7</td><td align="left">Class template <code class="code">exponential_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.8</td><td align="left">Class template <code class="code">normal_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.9</td><td align="left">Class template <code class="code">gamma_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2</td><td align="left">Mathematical special functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1</td><td align="left">Additions to header <code class="code">&lt;cmath&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.1</td><td align="left">associated Laguerre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.2</td><td align="left">associated Legendre functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.3</td><td align="left">beta function</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.4</td><td align="left">(complete) elliptic integral of the first kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.5</td><td align="left">(complete) elliptic integral of the second kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.6</td><td align="left">(complete) elliptic integral of the third kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.7</td><td align="left">confluent hypergeometric functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.8</td><td align="left">regular modified cylindrical Bessel functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.9</td><td align="left">cylindrical Bessel functions (of the first kind)</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.10</td><td align="left">irregular modified cylindrical Bessel functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.11</td><td align="left">cylindrical Neumann functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.12</td><td align="left">(incomplete) elliptic integral of the first kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.13</td><td align="left">(incomplete) elliptic integral of the second kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.14</td><td align="left">(incomplete) elliptic integral of the third kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.15</td><td align="left">exponential integral</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.16</td><td align="left">Hermite polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.17</td><td align="left">hypergeometric functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.18</td><td align="left">Laguerre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.19</td><td align="left">Legendre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.20</td><td align="left">Riemann zeta function</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.21</td><td align="left">spherical Bessel functions (of the first kind)</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.22</td><td align="left">spherical associated Legendre functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.23</td><td align="left">spherical Neumann functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.2</td><td align="left">Additions to header <code class="code">&lt;math.h&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>6</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Containers</em></span></td></tr><tr><td align="left">6.1</td><td align="left">Tuple types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.1</td><td align="left">Header <code class="code">&lt;tuple&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.2</td><td align="left">Additions to header <code class="code">&lt;utility&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3</td><td align="left">Class template <code class="code">tuple</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.1</td><td align="left">Construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.2</td><td align="left">Tuple creation functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.3</td><td align="left">Tuple helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.4</td><td align="left">Element access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.5</td><td align="left">Relational operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.4</td><td align="left">Pairs</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2</td><td align="left">Fixed size array</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.1</td><td align="left">Header <code class="code">&lt;array&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2</td><td align="left">Class template <code class="code">array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.1</td><td align="left"><code class="code">array</code> constructors, copy, and assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.2</td><td align="left"><code class="code">array</code> specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.3</td><td align="left"><code class="code">array</code> size</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.4</td><td align="left">Zero sized <code class="code">array</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.5</td><td align="left">Tuple interface to class template <code class="code">array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3</td><td align="left">Unordered associative containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.1</td><td align="left">Unordered associative container requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.1.1</td><td align="left">Exception safety guarantees</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.2</td><td align="left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.3</td><td align="left">Class template <code class="code">hash</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4</td><td align="left">Unordered associative container classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.1</td><td align="left">Header <code class="code">&lt;unordered_set&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.2</td><td align="left">Header <code class="code">&lt;unordered_map&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.3</td><td align="left">Class template <code class="code">unordered_set</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.3.1</td><td align="left"><code class="code">unordered_set</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.3.2</td><td align="left"><code class="code">unordered_set</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4</td><td align="left">Class template <code class="code">unordered_map</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4.1</td><td align="left"><code class="code">unordered_map</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4.2</td><td align="left"><code class="code">unordered_map</code> element access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4.3</td><td align="left"><code class="code">unordered_map</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.5</td><td align="left">Class template <code class="code">unordered_multiset<code class="code"></code></code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.5.1</td><td align="left"><code class="code">unordered_multiset</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.5.2</td><td align="left"><code class="code">unordered_multiset</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.6</td><td align="left">Class template <code class="code">unordered_multimap</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.6.1</td><td align="left"><code class="code">unordered_multimap</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.6.2</td><td align="left"><code class="code">unordered_multimap</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>7</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Regular Expressions</em></span></td></tr><tr bgcolor="#C8B0B0"><td align="left">7.1</td><td align="left">Definitions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.2</td><td align="left">Requirements</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.3</td><td align="left">Regular expressions summary</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.4</td><td align="left">Header <code class="code">&lt;regex&gt;</code> synopsis</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5</td><td align="left">Namespace <code class="code">tr1::regex_constants</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5.1</td><td align="left">Bitmask Type <code class="code">syntax_option_type</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5.2</td><td align="left">Bitmask Type <code class="code">regex_constants::match_flag_type</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5.3</td><td align="left">Implementation defined <code class="code">error_type</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.6</td><td align="left">Class <code class="code">regex_error</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.7</td><td align="left">Class template <code class="code">regex_traits</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8</td><td align="left">Class template <code class="code">basic_regex</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.1</td><td align="left"><code class="code">basic_regex</code> constants</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.2</td><td align="left"><code class="code">basic_regex</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.3</td><td align="left"><code class="code">basic_regex</code> assign</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.4</td><td align="left"><code class="code">basic_regex</code> constant operations</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.5</td><td align="left"><code class="code">basic_regex</code> locale</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.6</td><td align="left"><code class="code">basic_regex</code> swap</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.7</td><td align="left"><code class="code">basic_regex</code> non-member functions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.7.1</td><td align="left"><code class="code">basic_regex</code> non-member swap</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.9</td><td align="left">Class template <code class="code">sub_match</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.9.1</td><td align="left"><code class="code">sub_match</code> members</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.9.2</td><td align="left"><code class="code">sub_match</code> non-member operators</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10</td><td align="left">Class template <code class="code">match_results</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.1</td><td align="left"><code class="code">match_results</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.2</td><td align="left"><code class="code">match_results</code> size</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.3</td><td align="left"><code class="code">match_results</code> element access</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.4</td><td align="left"><code class="code">match_results</code> formatting</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.5</td><td align="left"><code class="code">match_results</code> allocator</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.6</td><td align="left"><code class="code">match_results</code> swap</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11</td><td align="left">Regular expression algorithms</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.1</td><td align="left">exceptions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.2</td><td align="left"><code class="code">regex_match</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.3</td><td align="left"><code class="code">regex_search</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.4</td><td align="left"><code class="code">regex_replace</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12</td><td align="left">Regular expression Iterators</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1</td><td align="left">Class template <code class="code">regex_iterator</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.1</td><td align="left"><code class="code">regex_iterator</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.2</td><td align="left"><code class="code">regex_iterator</code> comparisons</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.3</td><td align="left"><code class="code">regex_iterator</code> dereference</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.4</td><td align="left"><code class="code">regex_iterator</code> increment</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2</td><td align="left">Class template <code class="code">regex_token_iterator</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.1</td><td align="left"><code class="code">regex_token_iterator</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.2</td><td align="left"><code class="code">regex_token_iterator</code> comparisons</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.3</td><td align="left"><code class="code">regex_token_iterator</code> dereference</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.4</td><td align="left"><code class="code">regex_token_iterator</code> increment</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.13</td><td align="left">Modified ECMAScript regular expression grammar</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>8</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>C Compatibility</em></span></td></tr><tr><td align="left">8.1</td><td align="left">Additions to header <code class="code">&lt;complex&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.2</td><td align="left">Function <code class="code">acos</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.3</td><td align="left">Function <code class="code">asin</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.4</td><td align="left">Function <code class="code">atan</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.5</td><td align="left">Function <code class="code">acosh</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.6</td><td align="left">Function <code class="code">asinh</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.7</td><td align="left">Function <code class="code">atanh</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.8</td><td align="left">Function <code class="code">fabs</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.9</td><td align="left">Additional Overloads</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.2</td><td align="left">Header <code class="code">&lt;ccomplex&gt;</code></td><td align="left">N</td><td align="left">DR 551</td></tr><tr bgcolor="#C8B0B0"><td align="left">8.3</td><td align="left">Header <code class="code">&lt;complex.h&gt;</code></td><td align="left">N</td><td align="left">DR 551</td></tr><tr><td align="left">8.4</td><td align="left">Additions to header <code class="code">&lt;cctype&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.4.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.4.2</td><td align="left">Function <code class="code">isblank</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.5</td><td align="left">Additions to header <code class="code">&lt;ctype.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.6</td><td align="left">Header <code class="code">&lt;cfenv&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.6.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.6.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.7</td><td align="left">Header <code class="code">&lt;fenv.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.8</td><td align="left">Additions to header <code class="code">&lt;cfloat&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.9</td><td align="left">Additions to header <code class="code">&lt;float.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.10</td><td align="left">Additions to header <code class="code">&lt;ios&gt;</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.10.1</td><td align="left">Synopsis</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.10.2</td><td align="left">Function <code class="code">hexfloat</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">8.11</td><td align="left">Header <code class="code">&lt;cinttypes&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.11.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left">DR 557</td></tr><tr><td align="left">8.11.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.12</td><td align="left">Header <code class="code">&lt;inttypes.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.13</td><td align="left">Additions to header <code class="code">&lt;climits&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.14</td><td align="left">Additions to header <code class="code">&lt;limits.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.15</td><td align="left">Additions to header <code class="code">&lt;locale&gt;</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">8.16</td><td align="left">Additions to header <code class="code">&lt;cmath&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.3</td><td align="left">Function template definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.4</td><td align="left">Additional overloads</td><td align="left">Y</td><td align="left">DR 568; DR 550</td></tr><tr><td align="left">8.17</td><td align="left">Additions to header <code class="code">&lt;math.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.18</td><td align="left">Additions to header <code class="code">&lt;cstdarg&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.19</td><td align="left">Additions to header <code class="code">&lt;stdarg.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.20</td><td align="left">The header <code class="code">&lt;cstdbool&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.21</td><td align="left">The header <code class="code">&lt;stdbool.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.22</td><td align="left">The header <code class="code">&lt;cstdint&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.22.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.22.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.23</td><td align="left">The header <code class="code">&lt;stdint.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24</td><td align="left">Additions to header <code class="code">&lt;cstdio&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24.3</td><td align="left">Additional format specifiers</td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">8.24.4</td><td align="left">Additions to header <code class="code">&lt;stdio.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25</td><td align="left">Additions to header <code class="code">&lt;cstdlib&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.3</td><td align="left">Function <code class="code">abs</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.4</td><td align="left">Function <code class="code">div</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.26</td><td align="left">Additions to header <code class="code">&lt;stdlib.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.27</td><td align="left">Header <code class="code">&lt;ctgmath&gt;</code></td><td align="left">Y</td><td align="left">DR 551</td></tr><tr><td align="left">8.28</td><td align="left">Header <code class="code">&lt;tgmath.h&gt;</code></td><td align="left">Y</td><td align="left">DR 551</td></tr><tr><td align="left">8.29</td><td align="left">Additions to header <code class="code">&lt;ctime&gt;</code></td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">8.30</td><td align="left">Additions to header <code class="code">&lt;cwchar&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.30.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.30.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.30.3</td><td align="left">Additional wide format specifiers</td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">8.31</td><td align="left">Additions to header <code class="code">&lt;wchar.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.32</td><td align="left">Additions to header <code class="code">&lt;cwctype&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.32.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.32.2</td><td align="left">Function <code class="code">iswblank</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.33</td><td align="left">Additions to header <code class="code">&lt;wctype.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="sect2" title="C++ TR 24733"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr24733"></a>C++ TR 24733</h3></div></div></div><p>
This table is based on the table of contents of
ISO/IEC TR 24733 Date: 2009-08-28
Extension for the programming language C++ to support
@@ -240,7 +240,7 @@ decimal floating-point arithmetic
</p><p>
This page describes the TR 24733 support in mainline GCC SVN, not in any
particular release.
-</p><div class="table"><a id="id631613"></a><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 align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
+</p><div class="table"><a id="id498950"></a><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 align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
<span class="emphasis"><em>0</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Introduction</em></span>
diff --git a/libstdc++-v3/doc/html/manual/streambufs.html b/libstdc++-v3/doc/html/manual/streambufs.html
index c8fc68abf2d..388e5721275 100644
--- a/libstdc++-v3/doc/html/manual/streambufs.html
+++ b/libstdc++-v3/doc/html/manual/streambufs.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 25. Stream Buffers</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="io.html" title="Part XI.  Input and Output" /><link rel="prev" href="iostream_objects.html" title="Chapter 24. Iostream Objects" /><link rel="next" href="bk01pt11ch25s02.html" title="Buffering" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 25. Stream Buffers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="iostream_objects.html">Prev</a> </td><th width="60%" align="center">Part XI. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 25. Stream Buffers</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="io.html" title="Part XI.  Input and Output" /><link rel="prev" href="iostream_objects.html" title="Chapter 24. Iostream Objects" /><link rel="next" href="bk01pt11ch25s02.html" title="Buffering" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 25. Stream Buffers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="iostream_objects.html">Prev</a> </td><th width="60%" align="center">Part XI. 
Input and Output
-</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt11ch25s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.io.streambufs"></a>Chapter 25. Stream Buffers</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="streambufs.html#io.streambuf.derived">Derived streambuf Classes</a></span></dt><dt><span class="sect1"><a href="bk01pt11ch25s02.html">Buffering</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="io.streambuf.derived"></a>Derived streambuf Classes</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt11ch25s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 25. Stream Buffers"><div class="titlepage"><div><div><h2 class="title"><a id="manual.io.streambufs"></a>Chapter 25. Stream Buffers</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="streambufs.html#io.streambuf.derived">Derived streambuf Classes</a></span></dt><dt><span class="sect1"><a href="bk01pt11ch25s02.html">Buffering</a></span></dt></dl></div><div class="sect1" title="Derived streambuf Classes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="io.streambuf.derived"></a>Derived streambuf Classes</h2></div></div></div><p>
</p><p>Creating your own stream buffers for I/O can be remarkably easy.
If you are interested in doing so, we highly recommend two very
excellent books:
diff --git a/libstdc++-v3/doc/html/manual/strings.html b/libstdc++-v3/doc/html/manual/strings.html
index a1e78f27289..7f377095f25 100644
--- a/libstdc++-v3/doc/html/manual/strings.html
+++ b/libstdc++-v3/doc/html/manual/strings.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part V.  Strings</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="shared_ptr.html" title="shared_ptr" /><link rel="next" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part V. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part V.  Strings</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="shared_ptr.html" title="shared_ptr" /><link rel="next" href="bk01pt05ch13.html" title="Chapter 13. String Classes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part V. 
Strings
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="shared_ptr.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt05ch13.html">Next</a></td></tr></table><hr /></div><div class="part" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="manual.strings"></a>Part V. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="shared_ptr.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt05ch13.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part V.  Strings"><div class="titlepage"><div><div><h1 class="title"><a id="manual.strings"></a>Part V. 
Strings
- <a id="id710761" class="indexterm"></a>
+ <a id="id540522" class="indexterm"></a>
</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="bk01pt05ch13.html">13. String Classes</a></span></dt><dd><dl><dt><span class="sect1"><a href="bk01pt05ch13.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s02.html">Case Sensitivity</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s03.html">Arbitrary Character Types</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s04.html">Tokenizing</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s05.html">Shrink to Fit</a></span></dt><dt><span class="sect1"><a href="bk01pt05ch13s06.html">CString (MFC)</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="shared_ptr.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt05ch13.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">shared_ptr </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 13. String Classes</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/stringstreams.html b/libstdc++-v3/doc/html/manual/stringstreams.html
index ff21ecd1cce..718965570e4 100644
--- a/libstdc++-v3/doc/html/manual/stringstreams.html
+++ b/libstdc++-v3/doc/html/manual/stringstreams.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 26. Memory Based Streams</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="io.html" title="Part XI.  Input and Output" /><link rel="prev" href="bk01pt11ch25s02.html" title="Buffering" /><link rel="next" href="fstreams.html" title="Chapter 27. File Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 26. Memory Based Streams</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt11ch25s02.html">Prev</a> </td><th width="60%" align="center">Part XI. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 26. Memory Based Streams</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="io.html" title="Part XI.  Input and Output" /><link rel="prev" href="bk01pt11ch25s02.html" title="Buffering" /><link rel="next" href="fstreams.html" title="Chapter 27. File Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 26. Memory Based Streams</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt11ch25s02.html">Prev</a> </td><th width="60%" align="center">Part XI. 
Input and Output
-</th><td width="20%" align="right"> <a accesskey="n" href="fstreams.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.io.memstreams"></a>Chapter 26. Memory Based Streams</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="stringstreams.html#manual.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.io.memstreams.compat"></a>Compatibility With strstream</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="fstreams.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 26. Memory Based Streams"><div class="titlepage"><div><div><h2 class="title"><a id="manual.io.memstreams"></a>Chapter 26. Memory Based Streams</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="stringstreams.html#manual.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></div><div class="sect1" title="Compatibility With strstream"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.io.memstreams.compat"></a>Compatibility With strstream</h2></div></div></div><p>
</p><p>Stringstreams (defined in the header <code class="code">&lt;sstream&gt;</code>)
are in this author's opinion one of the coolest things since
sliced time. An example of their use is in the Received Wisdom
diff --git a/libstdc++-v3/doc/html/manual/support.html b/libstdc++-v3/doc/html/manual/support.html
index fb217b89a0d..588cb219b7d 100644
--- a/libstdc++-v3/doc/html/manual/support.html
+++ b/libstdc++-v3/doc/html/manual/support.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part II.  Support</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="debug.html" title="Debugging Support" /><link rel="next" href="bk01pt02pr01.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part II.  Support</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="debug.html" title="Debugging Support" /><link rel="next" href="bk01pt02pr01.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. 
Support
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt02pr01.html">Next</a></td></tr></table><hr /></div><div class="part" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="manual.support"></a>Part II. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt02pr01.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part II.  Support"><div class="titlepage"><div><div><h1 class="title"><a id="manual.support"></a>Part II. 
Support
- <a id="id652738" class="indexterm"></a>
+ <a id="id507707" class="indexterm"></a>
</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="bk01pt02pr01.html"></a></span></dt><dt><span class="chapter"><a href="fundamental_types.html">4. Types</a></span></dt><dd><dl><dt><span class="sect1"><a href="fundamental_types.html#manual.support.types.fundamental">Fundamental Types</a></span></dt><dt><span class="sect1"><a href="bk01pt02ch04s02.html">Numeric Properties</a></span></dt><dt><span class="sect1"><a href="bk01pt02ch04s03.html">NULL</a></span></dt></dl></dd><dt><span class="chapter"><a href="dynamic_memory.html">5. Dynamic Memory</a></span></dt><dt><span class="chapter"><a href="termination.html">6. Termination</a></span></dt><dd><dl><dt><span class="sect1"><a href="termination.html#support.termination.handlers">Termination Handlers</a></span></dt><dt><span class="sect1"><a href="verbose_termination.html">Verbose Terminate Handler</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="debug.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt02pr01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Debugging Support </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/termination.html b/libstdc++-v3/doc/html/manual/termination.html
index bf3b74ca515..ff86016f613 100644
--- a/libstdc++-v3/doc/html/manual/termination.html
+++ b/libstdc++-v3/doc/html/manual/termination.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 6. Termination</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="support.html" title="Part II.  Support" /><link rel="prev" href="dynamic_memory.html" title="Chapter 5. Dynamic Memory" /><link rel="next" href="verbose_termination.html" title="Verbose Terminate Handler" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 6. Termination</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dynamic_memory.html">Prev</a> </td><th width="60%" align="center">Part II. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 6. Termination</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="support.html" title="Part II.  Support" /><link rel="prev" href="dynamic_memory.html" title="Chapter 5. Dynamic Memory" /><link rel="next" href="verbose_termination.html" title="Verbose Terminate Handler" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 6. Termination</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dynamic_memory.html">Prev</a> </td><th width="60%" align="center">Part II. 
Support
-</th><td width="20%" align="right"> <a accesskey="n" href="verbose_termination.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.support.termination"></a>Chapter 6. Termination</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="termination.html#support.termination.handlers">Termination Handlers</a></span></dt><dt><span class="sect1"><a href="verbose_termination.html">Verbose Terminate Handler</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="support.termination.handlers"></a>Termination Handlers</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="verbose_termination.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 6. Termination"><div class="titlepage"><div><div><h2 class="title"><a id="manual.support.termination"></a>Chapter 6. Termination</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="termination.html#support.termination.handlers">Termination Handlers</a></span></dt><dt><span class="sect1"><a href="verbose_termination.html">Verbose Terminate Handler</a></span></dt></dl></div><div class="sect1" title="Termination Handlers"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="support.termination.handlers"></a>Termination Handlers</h2></div></div></div><p>
Not many changes here to <code class="filename">cstdlib</code>. You should note that the
<code class="function">abort()</code> function does not call the
destructors of automatic nor static objects, so if you're
@@ -15,14 +15,14 @@
The good old <code class="function">exit()</code> function can be a bit
funky, too, until you look closer. Basically, three points to
remember are:
- </p><div class="orderedlist"><ol type="1"><li><p>
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
Static objects are destroyed in reverse order of their creation.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Functions registered with <code class="function">atexit()</code> are called in
reverse order of registration, once per registration call.
(This isn't actually new.)
- </p></li><li><p>
- The previous two actions are “<span class="quote">interleaved,</span>†that is,
+ </p></li><li class="listitem"><p>
+ The previous two actions are <span class="quote">“<span class="quote">interleaved,</span>â€</span> that is,
given this pseudocode:
</p><pre class="programlisting">
extern "C or C++" void f1 (void);
diff --git a/libstdc++-v3/doc/html/manual/test.html b/libstdc++-v3/doc/html/manual/test.html
index 80988a4febe..ce8fa2a942d 100644
--- a/libstdc++-v3/doc/html/manual/test.html
+++ b/libstdc++-v3/doc/html/manual/test.html
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="internals.html" title="Porting to New Hardware or Operating Systems" /><link rel="next" href="abi.html" title="ABI Policy and Guidelines" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Test</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="internals.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="internals.html" title="Porting to New Hardware or Operating Systems" /><link rel="next" href="abi.html" title="ABI Policy and Guidelines" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Test</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="internals.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
Porting and Maintenance
-</th><td width="20%" align="right"> <a accesskey="n" href="abi.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.test"></a>Test</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="abi.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Test"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.test"></a>Test</h2></div></div></div><p>
The libstdc++ testsuite includes testing for standard conformance,
regressions, ABI, and performance.
-</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="test.organization"></a>Organization</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="test.organization.layout"></a>Directory Layout</h4></div></div></div><p>
+</p><div class="sect2" title="Organization"><div class="titlepage"><div><div><h3 class="title"><a id="test.organization"></a>Organization</h3></div></div></div><div class="sect3" title="Directory Layout"><div class="titlepage"><div><div><h4 class="title"><a id="test.organization.layout"></a>Directory Layout</h4></div></div></div><p>
The directory <span class="emphasis"><em>libsrcdir/testsuite</em></span> contains the
individual test cases organized in sub-directories corresponding to
chapters of the C++ standard (detailed below), the dejagnu test
harness support files, and sources to various testsuite utilities
that are packaged in a separate testing library.
-</p><p>
+</p><p>
All test cases for functionality required by the runtime components
of the C++ standard (ISO 14882) are files within the following
directories.
@@ -27,6 +27,9 @@ regressions, ABI, and performance.
25_algorithms
26_numerics
27_io
+28_regex
+29_atomics
+30_threads
</pre><p>
In addition, the following directories include test files:
</p><pre class="programlisting">
@@ -35,7 +38,6 @@ backward Tests for backwards compatibility and deprecated features.
demangle Tests for __cxa_demangle, the IA 64 C++ ABI demangler
ext Tests for extensions.
performance Tests for performance analysis, and performance regressions.
-thread Tests for threads.
</pre><p>
Some directories don't have test files, but instead contain
auxiliary information:
@@ -74,38 +76,38 @@ util Files for libtestc++, utilities and testing routines.
21_strings/basic_string/find/wchar_t/3.cc
</pre><p>
All new tests should be written with the policy of one test
- case, one file in mind.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="test.organization.naming"></a>Naming Conventions</h4></div></div></div><p>
+ case, one file in mind.
+ </p></div><div class="sect3" title="Naming Conventions"><div class="titlepage"><div><div><h4 class="title"><a id="test.organization.naming"></a>Naming Conventions</h4></div></div></div><p>
In addition, there are some special names and suffixes that are
used within the testsuite to designate particular kinds of
tests.
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<span class="emphasis"><em>_xin.cc</em></span>
</p><p>
This test case expects some kind of interactive input in order
to finish or pass. At the moment, the interactive tests are not
run by default. Instead, they are run by hand, like:
- </p><pre class="programlisting">
+ </p><pre class="programlisting">
g++ 27_io/objects/char/3_xin.cc
cat 27_io/objects/char/3_xin.in | a.out
- </pre></li><li><p>
+ </pre></li><li class="listitem"><p>
<span class="emphasis"><em>.in</em></span>
</p><p>
This file contains the expected input for the corresponding <span class="emphasis"><em>
_xin.cc</em></span> test case.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>_neg.cc</em></span>
</p><p>
This test case is expected to fail: it's a negative test. At the
moment, these are almost always compile time errors.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>char</em></span>
</p><p>
This can either be a directory name or part of a longer file
name, and indicates that this file, or the files within this
directory are testing the <code class="code">char</code> instantiation of a
template.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>wchar_t</em></span>
</p><p>
This can either be a directory name or part of a longer file
@@ -114,14 +116,14 @@ cat 27_io/objects/char/3_xin.in | a.out
a template. Some hosts do not support <code class="code">wchar_t</code>
functionality, so for these targets, all of these tests will not
be run.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>thread</em></span>
</p><p>
This can either be a directory name or part of a longer file
name, and indicates that this file, or the files within this
directory are testing situations where multiple threads are
being used.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>performance</em></span>
</p><p>
This can either be an enclosing directory name or part of a
@@ -129,7 +131,7 @@ cat 27_io/objects/char/3_xin.in | a.out
analyze runtime performance, for performance regression testing,
or for other optimization related analysis. At the moment, these
test cases are not run by default.
- </p></li></ul></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="test.run"></a>Running the Testsuite</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.basic"></a>Basic</h4></div></div></div><p>
+ </p></li></ul></div></div></div><div class="sect2" title="Running the Testsuite"><div class="titlepage"><div><div><h3 class="title"><a id="test.run"></a>Running the Testsuite</h3></div></div></div><div class="sect3" title="Basic"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.basic"></a>Basic</h4></div></div></div><p>
You can check the status of the build without installing it
using the dejagnu harness, much like the rest of the gcc
tools.</p><pre class="programlisting"> make check</pre><p>in the <span class="emphasis"><em>libbuilddir</em></span> directory.</p><p>or</p><pre class="programlisting"> make check-target-libstdc++-v3</pre><p>in the <span class="emphasis"><em>gccbuilddir</em></span> directory.
@@ -149,7 +151,7 @@ cat 27_io/objects/char/3_xin.in | a.out
archived on a daily basis on the <a class="ulink" href="http://gcc.gnu.org/ml/gcc-testresults/current" target="_top">gcc-testresults</a>
mailing list. Please check either of these places for a similar
combination of source version, operating system, and host CPU.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.variations"></a>Variations</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Variations"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.variations"></a>Variations</h4></div></div></div><p>
There are several options for running tests, including testing
the regression tests, testing a subset of the regression tests,
testing the performance tests, testing just compilation, testing
@@ -185,7 +187,7 @@ make check-target-libstdc++-v3 RUNTESTFLAGS="--target_board=calmrisc32-sid"
--target=xscale-elf (newlib/sim)
make check-target-libstdc++-v3 RUNTESTFLAGS="--target_board=arm-sim"
-</pre><p>
+</pre><p>
Also, here is an example of how to run the libstdc++ testsuite
for a multilibed build directory with different ABI settings:
</p><pre class="programlisting">
@@ -207,7 +209,7 @@ runtest --tool libstdc++ --srcdir=/path/to/gcc/libstdc++-v3/testsuite
same name as files created by other testsuites (like the ones
for GCC and G++), so you should not try to run all the
testsuites in parallel from the same directory.
- </p><p>
+ </p><p>
In addition, there are some testing options that are mostly of
interest to library maintainers and system integrators. As such,
these tests may not work on all cpu and host combinations, and
@@ -220,32 +222,32 @@ runtest --tool libstdc++ --srcdir=/path/to/gcc/libstdc++-v3/testsuite
</pre><p>
Five files are generated that determine what test files
are run. These files are:
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<span class="emphasis"><em>testsuite_files</em></span>
- </p><p>
+ </p><p>
This is a list of all the test cases that will be run. Each
test case is on a separate line, given with an absolute path
from the <span class="emphasis"><em>libsrcdir/testsuite</em></span> directory.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>testsuite_files_interactive</em></span>
- </p><p>
+ </p><p>
This is a list of all the interactive test cases, using the
same format as the file list above. These tests are not run
by default.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>testsuite_files_performance</em></span>
- </p><p>
+ </p><p>
This is a list of all the performance test cases, using the
same format as the file list above. These tests are not run
by default.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>testsuite_thread</em></span>
- </p><p>
+ </p><p>
This file indicates that the host system can run tests which
involved multiple threads.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>testsuite_wchar_t</em></span>
- </p><p>
+ </p><p>
This file indicates that the host system can run the wchar_t
tests, and corresponds to the macro definition <code class="code">
_GLIBCXX_USE_WCHAR_T</code> in the file c++config.h.
@@ -254,7 +256,7 @@ runtest --tool libstdc++ --srcdir=/path/to/gcc/libstdc++-v3/testsuite
</pre><p>
The library ABI can be tested. This involves testing the shared
library against an ABI-defining previous version of symbol
- exports.
+ exports.
</p><pre class="programlisting">
make check-compile
</pre><p>
@@ -275,7 +277,7 @@ runtest --tool libstdc++ --srcdir=/path/to/gcc/libstdc++-v3/testsuite
We are interested in any strange failures of the testsuite;
please email the main libstdc++ mailing list if you see
something odd or have questions.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.permutations"></a>Permutations</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Permutations"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.permutations"></a>Permutations</h4></div></div></div><p>
To run the libstdc++ test suite under the <a class="link" href="debug_mode.html" title="Chapter 30. Debug Mode">debug mode</a>, edit
<code class="filename">libstdc++-v3/scripts/testsuite_flags</code> to add the
compile-time flag <code class="constant">-D_GLIBCXX_DEBUG</code> to the
@@ -295,10 +297,10 @@ runtest --tool libstdc++ --srcdir=/path/to/gcc/libstdc++-v3/testsuite
Or, just run the testsuites with <code class="constant">CXXFLAGS</code>
set to <code class="constant">-D_GLIBCXX_DEBUG</code> or
<code class="constant">-D_GLIBCXX_PARALLEL</code>.
- </p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="test.new_tests"></a>Writing a new test case</h3></div></div></div><p>
+ </p></div></div><div class="sect2" title="Writing a new test case"><div class="titlepage"><div><div><h3 class="title"><a id="test.new_tests"></a>Writing a new test case</h3></div></div></div><p>
The first step in making a new test case is to choose the correct
directory and file name, given the organization as previously
- described.
+ described.
</p><p>
All files are copyright the FSF, and GPL'd: this is very
important. The first copyright year should correspond to the date
@@ -406,7 +408,7 @@ up in the normal.exp file.
// { dg-options "-O0" { target *-*-* } }
</pre><p>
More examples can be found in the libstdc++-v3/testsuite/*/*.cc files.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="test.harness"></a>Test Harness and Utilities</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="test.harness.dejagnu"></a>Dejagnu Harness Details</h4></div></div></div><p>
+ </p></div><div class="sect2" title="Test Harness and Utilities"><div class="titlepage"><div><div><h3 class="title"><a id="test.harness"></a>Test Harness and Utilities</h3></div></div></div><div class="sect3" title="Dejagnu Harness Details"><div class="titlepage"><div><div><h4 class="title"><a id="test.harness.dejagnu"></a>Dejagnu Harness Details</h4></div></div></div><p>
Underlying details of testing for conformance and regressions are
abstracted via the GNU Dejagnu package. This is similar to the
rest of GCC.
@@ -433,7 +435,7 @@ callbacks loaded from the support library.
</p><p>The <code class="code">config</code> directory is searched for any particular "target
board" information unique to this library. This is currently unused and sets
only default variables.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="test.harness.utils"></a>Utilities</h4></div></div></div><p>
+</p></div><div class="sect3" title="Utilities"><div class="titlepage"><div><div><h4 class="title"><a id="test.harness.utils"></a>Utilities</h4></div></div></div><p>
</p><p>
The testsuite directory also contains some files that implement
functionality that is intended to make writing test cases easier,
@@ -445,48 +447,188 @@ only default variables.
during testing.
</p><p>
These files include the following functionality:
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<span class="emphasis"><em>testsuite_abi.h</em></span>,
<span class="emphasis"><em>testsuite_abi.cc</em></span>,
<span class="emphasis"><em>testsuite_abi_check.cc</em></span>
</p><p>
- Creates the executable <span class="emphasis"><em>abi_check</em></span>.
- Used to check correctness of symbol versioning, visibility of
- exported symbols, and compatibility on symbols in the shared
- library, for hosts that support this feature. More information
- can be found in the ABI documentation <a class="link" href="abi.html" title="ABI Policy and Guidelines">here</a>
- </p></li><li><p>
+ Creates the executable <span class="emphasis"><em>abi_check</em></span>.
+ Used to check correctness of symbol versioning, visibility of
+ exported symbols, and compatibility on symbols in the shared
+ library, for hosts that support this feature. More information
+ can be found in the ABI documentation <a class="link" href="abi.html" title="ABI Policy and Guidelines">here</a>
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>testsuite_allocator.h</em></span>,
<span class="emphasis"><em>testsuite_allocator.cc</em></span>
</p><p>
- Contains specialized allocators that keep track of construction
- and destruction. Also, support for overriding global new and
- delete operators, including verification that new and delete
- are called during execution, and that allocation over max_size
- fails.
- </p></li><li><p>
+ Contains specialized allocators that keep track of construction
+ and destruction. Also, support for overriding global new and
+ delete operators, including verification that new and delete
+ are called during execution, and that allocation over max_size
+ fails.
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>testsuite_character.h</em></span>
</p><p>
- Contains <code class="code">std::char_traits</code> and
- <code class="code">std::codecvt</code> specializations for a user-defined
- POD.
- </p></li><li><p>
+ Contains <code class="code">std::char_traits</code> and
+ <code class="code">std::codecvt</code> specializations for a user-defined
+ POD.
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>testsuite_hooks.h</em></span>,
<span class="emphasis"><em>testsuite_hooks.cc</em></span>
</p><p>
A large number of utilities, including:
- </p><div class="itemizedlist"><ul type="circle"><li><p>VERIFY</p></li><li><p>set_memory_limits</p></li><li><p>verify_demangle</p></li><li><p>run_tests_wrapped_locale</p></li><li><p>run_tests_wrapped_env</p></li><li><p>try_named_locale</p></li><li><p>try_mkfifo</p></li><li><p>func_callback</p></li><li><p>counter</p></li><li><p>copy_tracker</p></li><li><p>copy_constructor</p></li><li><p>assignment_operator</p></li><li><p>destructor</p></li><li><p>pod_char, pod_int and associated char_traits specializations</p></li></ul></div></li><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>VERIFY</p></li><li class="listitem"><p>set_memory_limits</p></li><li class="listitem"><p>verify_demangle</p></li><li class="listitem"><p>run_tests_wrapped_locale</p></li><li class="listitem"><p>run_tests_wrapped_env</p></li><li class="listitem"><p>try_named_locale</p></li><li class="listitem"><p>try_mkfifo</p></li><li class="listitem"><p>func_callback</p></li><li class="listitem"><p>counter</p></li><li class="listitem"><p>copy_tracker</p></li><li class="listitem"><p>copy_constructor</p></li><li class="listitem"><p>assignment_operator</p></li><li class="listitem"><p>destructor</p></li><li class="listitem"><p>pod_char, pod_int and associated char_traits specializations</p></li></ul></div></li><li class="listitem"><p>
<span class="emphasis"><em>testsuite_io.h</em></span>
</p><p>
Error, exception, and constraint checking for
<code class="code">std::streambuf, std::basic_stringbuf, std::basic_filebuf</code>.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>testsuite_iterators.h</em></span>
</p><p>
Wrappers for various iterators.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
<span class="emphasis"><em>testsuite_performance.h</em></span>
</p><p>
A number of class abstractions for performance counters, and
reporting functions including:
- </p><div class="itemizedlist"><ul type="circle"><li><p>time_counter</p></li><li><p>resource_counter</p></li><li><p>report_performance</p></li></ul></div></li></ul></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="internals.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="abi.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Porting to New Hardware or Operating Systems </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> ABI Policy and Guidelines</td></tr></table></div></body></html>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>time_counter</p></li><li class="listitem"><p>resource_counter</p></li><li class="listitem"><p>report_performance</p></li></ul></div></li></ul></div></div></div><div class="sect2" title="Special Topics"><div class="titlepage"><div><div><h3 class="title"><a id="test.special"></a>Special Topics</h3></div></div></div><div class="sect3" title="Qualifying Exception Safety Guarantees"><div class="titlepage"><div><div><h4 class="title"><a id="test.exception.safety"></a>
+ Qualifying Exception Safety Guarantees
+ <a id="id461124" class="indexterm"></a>
+</h4></div></div></div><div class="sect4" title="Overview"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.overview"></a>Overview</h5></div></div></div><p>
+ Testing is composed of running a particular test sequence,
+ and looking at what happens to the surrounding code when
+ exceptions are thrown. Each test is composed of measuring
+ initial state, executing a particular sequence of code under
+ some instrumented conditions, measuring a final state, and
+ then examining the differences between the two states.
+ </p><p>
+ Test sequences are composed of constructed code sequences
+ that exercise a particular function or member function, and
+ either confirm no exceptions were generated, or confirm the
+ consistency/coherency of the test subject in the event of a
+ thrown exception.
+ </p><p>
+ Random code paths can be constructed using the the basic test
+ sequences and instrumentation as above, only combined in a
+ random or pseudo-random way.
+ </p><p> To compute the code paths that throw, test instruments
+ are used that throw on allocation events
+ (<code class="classname">__gnu_cxx::throw_allocator_random</code>
+ and <code class="classname">__gnu_cxx::throw_allocator_limit</code>)
+ and copy, assignment, comparison, increment, swap, and
+ various operators
+ (<code class="classname">__gnu_cxx::throw_type_random</code>
+ and <code class="classname">__gnu_cxx::throw_type_limit</code>). Looping
+ through a given test sequence and conditionally throwing in
+ all instrumented places. Then, when the test sequence
+ completes without an exception being thrown, assume all
+ potential error paths have been exercised in a sequential
+ manner.
+ </p></div><div class="sect4" title="Existing tests"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.status"></a>
+ Existing tests
+</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ Ad Hoc
+ </p><p>
+ For example,
+ <code class="filename">testsuite/23_containers/list/modifiers/3.cc</code>.
+ </p></li><li class="listitem"><p>
+ Policy Based Data Structures
+ </p><p>
+ For example, take the test
+ functor <code class="classname">rand_reg_test</code> in
+ in <code class="filename">testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc</code>. This uses <code class="classname">container_rand_regression_test</code> in
+<code class="filename">testsuite/util/regression/rand/assoc/container_rand_regression_test.h</code>.
+
+ </p><p>
+ Which has several tests for container member functions,
+Includes control and test container objects. Configuration includes
+random seed, iterations, number of distinct values, and the
+probability that and exception will be thrown. Assumes instantiating
+container uses an extension
+allocator, <code class="classname">__gnu_cxx::throw_allocator_random</code>,
+as the allocator type.
+ </p></li><li class="listitem"><p>
+ C++0x Container Requirements.
+ </p><p>
+ Coverage is currently limited to testing container
+ requirements for exception safety,
+ although <code class="classname">__gnu_cxx::throw_type</code> meets
+ the additional type requirements for testing numeric data
+ structures and instantiating algorithms.
+ </p><p>
+ Of particular interest is extending testing to algorithms and
+ then to parallel algorithms. Also io, and locales.
+ </p></li></ul></div></div><div class="sect4" title="C++0x Requirements Test Sequence Descriptions"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.containers"></a>
+C++0x Requirements Test Sequence Descriptions
+</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ Basic
+ </p><p>
+ Basic consistency on exception propagation tests. For
+ each container, an object of that container is constructed,
+ a specific member function is exercised in
+ a <code class="literal">try</code> block, and then any thrown
+ exceptions lead to error checking in the appropriate
+ <code class="literal">catch</code> block. The container's use of
+ resources is compared to the container's use prior to the
+ test block. Resource monitoring is limited to allocations
+ made through the container's <span class="type">allocator_type</span>,
+ which should be sufficient for container data
+ structures. Included in these tests are member functions
+ are <span class="type">iterator</span> and <span class="type">const_iterator</span>
+ operations, <code class="function">pop_front</code>, <code class="function">pop_back</code>, <code class="function">push_front</code>, <code class="function">push_back</code>, <code class="function">insert</code>, <code class="function">erase</code>, <code class="function">swap</code>, <code class="function">clear</code>,
+ and <code class="function">rehash</code>. The container in question is
+ instantiated with two instrumented template arguments,
+ with <code class="classname">__gnu_cxx::throw_allocator_limit</code>
+ as the allocator type, and
+ with <code class="classname">__gnu_cxx::throw_type_limit</code> as
+ the value type. This allows the test to loop through
+ conditional throw points.
+ </p><p>
+ The general form is demonstrated in
+ <code class="filename">testsuite/23_containers/list/requirements/exception/basic.cc
+ </code>. The instantiating test object is <code class="classname">__gnu_test::basic_safety</code> and is detailed in <code class="filename">testsuite/util/exception/safety.h</code>.
+ </p></li><li class="listitem"><p>
+ Generation Prohibited
+ </p><p>
+ Exception generation tests. For each container, an object of
+ that container is constructed and all member functions
+ required to not throw exceptions are exercised. Included in
+ these tests are member functions
+ are <span class="type">iterator</span> and <span class="type">const_iterator</span> operations, <code class="function">erase</code>, <code class="function">pop_front</code>, <code class="function">pop_back</code>, <code class="function">swap</code>,
+ and <code class="function">clear</code>. The container in question is
+ instantiated with two instrumented template arguments,
+ with <code class="classname">__gnu_cxx::throw_allocator_random</code>
+ as the allocator type, and
+ with <code class="classname">__gnu_cxx::throw_type_random</code> as
+ the value type. This test does not loop, an instead is sudden
+ death: first error fails.
+ </p><p>
+ The general form is demonstrated in
+ <code class="filename">testsuite/23_containers/list/requirements/exception/generation_prohibited.cc
+ </code>. The instantiating test object is <code class="classname">__gnu_test::generation_prohibited</code> and is detailed in <code class="filename">testsuite/util/exception/safety.h</code>.
+ </p></li><li class="listitem"><p>
+ Propagation Consistent
+ </p><p>
+ Container rollback on exception propagation tests. For
+ each container, an object of that container is constructed,
+ a specific member function that requires rollback to a previous
+ known good state is exercised in
+ a <code class="literal">try</code> block, and then any thrown
+ exceptions lead to error checking in the appropriate
+ <code class="literal">catch</code> block. The container is compared to
+ the container's last known good state using such parameters
+ as size, contents, and iterator references. Included in these
+ tests are member functions
+ are <code class="function">push_front</code>, <code class="function">push_back</code>, <code class="function">insert</code>,
+ and <code class="function">rehash</code>. The container in question is
+ instantiated with two instrumented template arguments,
+ with <code class="classname">__gnu_cxx::throw_allocator_limit</code>
+ as the allocator type, and
+ with <code class="classname">__gnu_cxx::throw_type_limit</code> as
+ the value type. This allows the test to loop through
+ conditional throw points.
+ </p><p>
+ The general form demonstrated in
+ <code class="filename">testsuite/23_containers/list/requirements/exception/propagation_coherent.cc
+ </code>. The instantiating test object is <code class="classname">__gnu_test::propagation_coherent</code> and is detailed in <code class="filename">testsuite/util/exception/safety.h</code>.
+ </p></li></ul></div></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="internals.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="abi.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Porting to New Hardware or Operating Systems </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> ABI Policy and Guidelines</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/traits.html b/libstdc++-v3/doc/html/manual/traits.html
index ee5e9d423ae..1d1e6fb75bf 100644
--- a/libstdc++-v3/doc/html/manual/traits.html
+++ b/libstdc++-v3/doc/html/manual/traits.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 12. Traits</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="utilities.html" title="Part IV.  Utilities" /><link rel="prev" href="shared_ptr.html" title="shared_ptr" /><link rel="next" href="strings.html" title="Part V.  Strings" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 12. Traits</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="shared_ptr.html">Prev</a> </td><th width="60%" align="center">Part IV. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 12. Traits</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="utilities.html" title="Part IV.  Utilities" /><link rel="prev" href="shared_ptr.html" title="shared_ptr" /><link rel="next" href="strings.html" title="Part V.  Strings" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 12. Traits</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="shared_ptr.html">Prev</a> </td><th width="60%" align="center">Part IV. 
Utilities
-</th><td width="20%" align="right"> <a accesskey="n" href="strings.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.util.traits"></a>Chapter 12. Traits</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="strings.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 12. Traits"><div class="titlepage"><div><div><h2 class="title"><a id="manual.util.traits"></a>Chapter 12. Traits</h2></div></div></div><p>
</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="shared_ptr.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="utilities.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="strings.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">shared_ptr </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Part V. 
Strings
diff --git a/libstdc++-v3/doc/html/manual/using.html b/libstdc++-v3/doc/html/manual/using.html
index 1d63cb53087..e84ce3a1ba1 100644
--- a/libstdc++-v3/doc/html/manual/using.html
+++ b/libstdc++-v3/doc/html/manual/using.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 3. Using</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="make.html" title="Make" /><link rel="next" href="using_headers.html" title="Headers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><th width="60%" align="center">Part I. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 3. Using</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="make.html" title="Make" /><link rel="next" href="using_headers.html" title="Headers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><th width="60%" align="center">Part I. 
Introduction
-</th><td width="20%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using"></a>Chapter 3. Using</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="using.html#manual.intro.using.lib">Linking Library Binary Files</a></span></dt><dt><span class="sect1"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and namespace std</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_macros.html">Macros</a></span></dt><dt><span class="sect1"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt></dl></dd><dt><span class="sect1"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="sect2"><a href="debug.html#debug.compiler">Using g++</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.gdb">Using gdb</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.lib"></a>Linking Library Binary Files</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 3. Using"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using"></a>Chapter 3. Using</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="using.html#manual.intro.using.lib">Linking Library Binary Files</a></span></dt><dt><span class="sect1"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="sect2"><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="sect2"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_macros.html">Macros</a></span></dt><dt><span class="sect1"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt></dl></dd><dt><span class="sect1"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="sect2"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="sect2"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="sect2"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></div><div class="sect1" title="Linking Library Binary Files"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.lib"></a>Linking Library Binary Files</h2></div></div></div><p>
If you only built a static library (libstdc++.a), or if you
specified static linking, you don't have to worry about this.
But if you built a shared library (libstdc++.so) and linked
@@ -13,26 +13,26 @@
Methods vary for different platforms and different styles, but
the usual ones are printed to the screen during installation.
They include:
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
At runtime set LD_LIBRARY_PATH in your environment
correctly, so that the shared library for libstdc++ can be
found and loaded. Be certain that you understand all of the
other implications and behavior of LD_LIBRARY_PATH first
(few people do, and they get into trouble).
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Compile the path to find the library at runtime into the
program. This can be done by passing certain options to
g++, which will in turn pass them on to the linker. The
exact format of the options is dependent on which linker you
use:
- </p><div class="itemizedlist"><ul type="circle"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
GNU ld (default on Linux):<code class="literal">-Wl,--rpath,<code class="filename">destdir</code>/lib</code>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
IRIX ld:<code class="literal">
-Wl,-rpath,<code class="filename">destdir</code>/lib</code>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Solaris ld:<code class="literal">-Wl,-R<code class="filename">destdir</code>/lib</code>
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
More...? Let us know!
</p></li></ul></div></li></ul></div><p>
Use the <span class="command"><strong>ldd</strong></span> utility to show which library the
diff --git a/libstdc++-v3/doc/html/manual/using_concurrency.html b/libstdc++-v3/doc/html/manual/using_concurrency.html
index 45a0e7d784d..74b92b5b6c3 100644
--- a/libstdc++-v3/doc/html/manual/using_concurrency.html
+++ b/libstdc++-v3/doc/html/manual/using_concurrency.html
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Concurrency</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_macros.html" title="Macros" /><link rel="next" href="using_exceptions.html" title="Exceptions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concurrency</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_macros.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_exceptions.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.concurrency"></a>Concurrency</h2></div></div></div><p>This section discusses issues surrounding the proper compilation
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Concurrency</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_macros.html" title="Macros" /><link rel="next" href="using_exceptions.html" title="Exceptions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concurrency</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_macros.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_exceptions.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Concurrency"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.concurrency"></a>Concurrency</h2></div></div></div><p>This section discusses issues surrounding the proper compilation
of multithreaded applications which use the Standard C++
library. This information is GCC-specific since the C++
standard does not address matters of multithreaded applications.
- </p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.prereq"></a>Prerequisites</h3></div></div></div><p>All normal disclaimers aside, multithreaded C++ application are
+ </p><div class="sect2" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.prereq"></a>Prerequisites</h3></div></div></div><p>All normal disclaimers aside, multithreaded C++ application are
only supported when libstdc++ and all user code was built with
compilers which report (via <code class="code"> gcc/g++ -v </code>) the same thread
model and that model is not <span class="emphasis"><em>single</em></span>. As long as your
@@ -33,12 +33,12 @@
-pthread is honored. Some other ports use other switches.
AFAIK, none of this is properly documented anywhere other than
in ``gcc -dumpspecs'' (look at lib and cpp entries).
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.thread_safety"></a>Thread Safety</h3></div></div></div><p>
+ </p></div><div class="sect2" title="Thread Safety"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.thread_safety"></a>Thread Safety</h3></div></div></div><p>
We currently use the <a class="ulink" href="http://www.sgi.com/tech/stl/thread_safety.html" target="_top">SGI STL</a> definition of thread safety.
</p><p>The library strives to be thread-safe when all of the following
conditions are met:
- </p><div class="itemizedlist"><ul type="disc"><li><p>The system's libc is itself thread-safe,
- </p></li><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>The system's libc is itself thread-safe,
+ </p></li><li class="listitem"><p>
The compiler in use reports a thread model other than
'single'. This can be tested via output from <code class="code">gcc
-v</code>. Multi-thread capable versions of gcc output
@@ -49,13 +49,13 @@ Using built-in specs.
...
Thread model: posix
gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
-</pre><p>Look for "Thread model" lines that aren't equal to "single."</p></li><li><p>
+</pre><p>Look for "Thread model" lines that aren't equal to "single."</p></li><li class="listitem"><p>
Requisite command-line flags are used for atomic operations
and threading. Examples of this include <code class="code">-pthread</code>
and <code class="code">-march=native</code>, although specifics vary
depending on the host environment. See <a class="ulink" href="http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html" target="_top">Machine
Dependent Options</a>.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
An implementation of atomicity.h functions
exists for the architecture in question. See the internals documentation for more <a class="link" href="internals.html#internals.thread_safety" title="Thread Safety">details</a>.
</p></li></ul></div><p>The user-code must guard against concurrent method calls which may
@@ -89,9 +89,9 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
this requirement includes both read and write access to objects;
unless otherwise documented as safe, do not assume that two threads
may access a shared standard library object at the same time.
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.atomics"></a>Atomics</h3></div></div></div><p>
- </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.io"></a>IO</h3></div></div></div><p>This gets a bit tricky. Please read carefully, and bear with me.
- </p><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.structure"></a>Structure</h4></div></div></div><p>A wrapper
+ </p></div><div class="sect2" title="Atomics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.atomics"></a>Atomics</h3></div></div></div><p>
+ </p></div><div class="sect2" title="IO"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.io"></a>IO</h3></div></div></div><p>This gets a bit tricky. Please read carefully, and bear with me.
+ </p><div class="sect3" title="Structure"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.structure"></a>Structure</h4></div></div></div><p>A wrapper
type called <code class="code">__basic_file</code> provides our abstraction layer
for the <code class="code">std::filebuf</code> classes. Nearly all decisions dealing
with actual input and output must be made in <code class="code">__basic_file</code>.
@@ -99,7 +99,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
but is not used in the current code. Providing locking at any higher
level is akin to providing locking within containers, and is not done
for the same reasons (see the links above).
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.defaults"></a>Defaults</h4></div></div></div><p>The __basic_file type is simply a collection of small wrappers around
+ </p></div><div class="sect3" title="Defaults"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.defaults"></a>Defaults</h4></div></div></div><p>The __basic_file type is simply a collection of small wrappers around
the C stdio layer (again, see the link under Structure). We do no
locking ourselves, but simply pass through to calls to <code class="code">fopen</code>,
<code class="code">fwrite</code>, and so forth.
@@ -121,7 +121,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
contained in the stream formatting classes (e.g., setting up callbacks
inside an <code class="code">std::ofstream</code>), you need to guard such accesses
like any other critical shared resource.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.future"></a>Future</h4></div></div></div><p> A
+ </p></div><div class="sect3" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.future"></a>Future</h4></div></div></div><p> A
second choice may be available for I/O implementations: libio. This is
disabled by default, and in fact will not currently work due to other
issues. It will be revisited, however.
@@ -146,10 +146,10 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
version will see calls from libstdc++ directly into the glibc already
installed. For other platforms, a copy of the libio subsection will
be built and included in libstdc++.
- </p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.alt"></a>Alternatives</h4></div></div></div><p>Don't forget that other cstdio implementations are possible. You could
+ </p></div><div class="sect3" title="Alternatives"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.alt"></a>Alternatives</h4></div></div></div><p>Don't forget that other cstdio implementations are possible. You could
easily write one to perform your own forms of locking, to solve your
"interesting" problems.
- </p></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.containers"></a>Containers</h3></div></div></div><p>This section discusses issues surrounding the design of
+ </p></div></div><div class="sect2" title="Containers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.containers"></a>Containers</h3></div></div></div><p>This section discusses issues surrounding the design of
multithreaded applications which use Standard C++ containers.
All information in this section is current as of the gcc 3.0
release and all later point releases. Although earlier gcc
diff --git a/libstdc++-v3/doc/html/manual/using_exceptions.html b/libstdc++-v3/doc/html/manual/using_exceptions.html
index 5c74e93ac8f..ccf7f7be4f7 100644
--- a/libstdc++-v3/doc/html/manual/using_exceptions.html
+++ b/libstdc++-v3/doc/html/manual/using_exceptions.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Exceptions</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><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 Documentation" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_concurrency.html" title="Concurrency" /><link rel="next" href="debug.html" title="Debugging Support" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Exceptions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.exceptions"></a>Exceptions</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Exceptions</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_concurrency.html" title="Concurrency" /><link rel="next" href="debug.html" title="Debugging Support" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Exceptions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Exceptions"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.exceptions"></a>Exceptions</h2></div></div></div><p>
The C++ language provides language support for stack unwinding
with <code class="literal">try</code> and <code class="literal">catch</code> blocks and
the <code class="literal">throw</code> keyword.
@@ -12,7 +12,7 @@ exceptional circumstances.
</p><p>
Two general topics of discussion follow:
exception neutrality and exception safety.
-</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.safety"></a>Exception Safety</h3></div></div></div><p>
+</p><div class="sect2" title="Exception Safety"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.safety"></a>Exception Safety</h3></div></div></div><p>
What is exception-safe code?
</p><p>
Will define this as reasonable and well-defined behavior by classes
@@ -27,7 +27,7 @@ exception neutrality and exception safety.
Using the layered approach from Abrahams, can classify library
components as providing set levels of safety. These will be called
exception guarantees, and can be divided into three categories.
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
One. Don't throw.
</p><p>
As specified in 23.2.1 general container requirements. Applicable
@@ -36,14 +36,14 @@ exception neutrality and exception safety.
Member
functions <code class="function">erase</code>, <code class="function">pop_back</code>, <code class="function">pop_front</code>, <code class="function">swap</code>, <code class="function">clear</code>. And <span class="type">iterator</span>
copy constructor and assignment operator.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Two. Don't leak resources when exceptions are thrown. This is
- also referred to as the “<span class="quote">basic</span>†exception safety guarantee.
+ also referred to as the <span class="quote">“<span class="quote">basic</span>â€</span> exception safety guarantee.
</p><p>
This applicable throughout the standard library.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Three. Commit-or-rollback semantics. This is
- referred to as “<span class="quote">strong</span>†exception safety guarantee.
+ referred to as <span class="quote">“<span class="quote">strong</span>â€</span> exception safety guarantee.
</p><p>
As specified in 23.2.1 general container requirements. Applicable
to container and string classes.
@@ -51,7 +51,7 @@ exception neutrality and exception safety.
Member functions <code class="function">insert</code> of a single
element, <code class="function">push_back</code>, <code class="function">push_front</code>,
and <code class="function">rehash</code>.
- </p></li></ul></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.propagating"></a>Exception Neutrality</h3></div></div></div><p>
+ </p></li></ul></div></div><div class="sect2" title="Exception Neutrality"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.propagating"></a>Exception Neutrality</h3></div></div></div><p>
Simply put, once thrown an exception object should continue in
flight unless handled explicitly. In practice, this means
propagating exceptions should not be swallowed in
@@ -75,7 +75,7 @@ exception neutrality and exception safety.
Unfortunately, this tends to be more of a guideline than a strict
rule as applied to the standard library. As such, the following is
a list of known problem areas where exceptions are not propagated.
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
Input/Output
</p><p>
The destructor <code class="function">ios_base::Init::~Init()</code>
@@ -95,13 +95,13 @@ exception neutrality and exception safety.
When closing the underlying
file, <code class="function">basic_filebuf::close</code> will swallow
(non-cancellation) exceptions thrown and return <code class="literal">NULL</code>.
- </p></li><li><p>
+ </p></li><li class="listitem"><p>
Thread
</p><p>
The constructors of <code class="classname">thread</code> that take a
callable function argument swallow all exceptions resulting from
executing the function argument.
- </p></li></ul></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.no"></a>Doing without</h3></div></div></div><p>
+ </p></li></ul></div></div><div class="sect2" title="Doing without"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.no"></a>Doing without</h3></div></div></div><p>
C++ is a language that strives to be as efficient as is possible
in delivering features. As such, considerable care is used by both
language implementer and designers to make sure unused features
@@ -220,7 +220,7 @@ exception neutrality and exception safety.
substitution of the C language keyword
<code class="literal">const</code> with the uglified
doppelganger <code class="literal">__const</code>.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.compat"></a>Compatibility</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="using.exception.compat.c"></a>With <code class="literal">C</code></h4></div></div></div><p>
+</p></div><div class="sect2" title="Compatibility"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.compat"></a>Compatibility</h3></div></div></div><div class="sect3" title="With C"><div class="titlepage"><div><div><h4 class="title"><a id="using.exception.compat.c"></a>With <code class="literal">C</code></h4></div></div></div><p>
C language code that is expecting to interoperate with C++ should be
compiled with <code class="literal">-fexceptions</code>. This will make
debugging a C language function called as part of C++-induced stack
@@ -235,7 +235,7 @@ is called.
getting these details right. For GNU systems, all appropriate parts
of the GNU C library are already compiled
with <code class="literal">-fexceptions</code>.
-</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="using.exception.compat.posix"></a>With <code class="literal">POSIX</code> thread cancellation</h4></div></div></div><p>
+</p></div><div class="sect3" title="With POSIX thread cancellation"><div class="titlepage"><div><div><h4 class="title"><a id="using.exception.compat.posix"></a>With <code class="literal">POSIX</code> thread cancellation</h4></div></div></div><p>
GNU systems re-use some of the exception handling mechanisms to
track control flow for <code class="literal">POSIX</code> thread cancellation.
</p><p>
@@ -266,7 +266,7 @@ is called.
}
catch(...)
{ this-&gt;_M_setstate(ios_base::badbit); }
-</pre></div></div><div class="bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="using.exceptions.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id618326"></a><p><span class="title"><i>
+</pre></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="using.exceptions.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="id434234"></a><p><span class="title"><i>
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
</i>. </span><span class="pagenums">
2.9.5 Thread Cancellation
@@ -274,44 +274,44 @@ is called.
The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span><span class="biblioid">
<a class="ulink" href="http://www.opengroup.org/austin/" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id627763"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Error and Exception Handling"><a id="id522815"></a><p><span class="title"><i>
Error and Exception Handling
</i>. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams </span>. </span><span class="publisher"><span class="publishername">
Boost
. </span></span><span class="biblioid">
<a class="ulink" href="http://www.boost.org/community/error_handling.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id633982"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Exception-Safety in Generic Components"><a id="id410550"></a><p><span class="title"><i>
Exception-Safety in Generic Components
</i>. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams</span>. </span><span class="publisher"><span class="publishername">
Boost
. </span></span><span class="biblioid">
<a class="ulink" href="http://www.boost.org/community/exception_safety.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id634268"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Standard Library Exception Policy"><a id="id475188"></a><p><span class="title"><i>
Standard Library Exception Policy
</i>. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
WG21 N1077
. </span></span><span class="biblioid">
<a class="ulink" href="www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.pdf" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id642510"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="ia64 c++ abi exception handling"><a id="id470841"></a><p><span class="title"><i>
ia64 c++ abi exception handling
</i>. </span><span class="author"><span class="firstname">Richard</span> <span class="surname">Henderson</span>. </span><span class="publisher"><span class="publishername">
GNU
. </span></span><span class="biblioid">
<a class="ulink" href="http://gcc.gnu.org/ml/gcc-patches/2001-03/msg00661.html" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id636666"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Appendix E: Standard-Library Exception Safety"><a id="id425773"></a><p><span class="title"><i>
Appendix E: Standard-Library Exception Safety
</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="biblioid">
<a class="ulink" href="http://www.research.att.com/~bs/3rd_safe.pdf" target="_top">
</a>
- . </span></p></div><div class="biblioentry"><a id="id707620"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Exceptional C++"><a id="id437463"></a><p><span class="title"><i>
Exceptional C++
</i>. </span><span class="pagenums">
Exception-Safety Issues and Techniques
- . </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry"><a id="id652939"></a><p><span class="title"><i>
+ . </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry" title="exception_defines.h #defines try/catch"><a id="id478152"></a><p><span class="title"><i>
exception_defines.h #defines try/catch
</i>. </span><span class="subtitle">
GCC Bug <a class="ulink" href="http://gcc.gnu.org/PR25191" target="_top">25191</a>
diff --git a/libstdc++-v3/doc/html/manual/using_headers.html b/libstdc++-v3/doc/html/manual/using_headers.html
index 4986fe585a3..04d86364403 100644
--- a/libstdc++-v3/doc/html/manual/using_headers.html
+++ b/libstdc++-v3/doc/html/manual/using_headers.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Headers</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><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_namespaces.html" title="Namespaces" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Headers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_namespaces.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.headers"></a>Headers</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.all"></a>Header Files</h3></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Headers</title><meta name="generator" content="DocBook XSL 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 Documentation" /><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_namespaces.html" title="Namespaces" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Headers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_namespaces.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Headers"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.headers"></a>Headers</h2></div></div></div><div class="sect2" title="Header Files"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.all"></a>Header Files</h3></div></div></div><p>
The C++ standard specifies the entire set of header files that
must be available to all hosted implementations. Actually, the
word "files" is a misnomer, since the contents of the
@@ -20,19 +20,19 @@
upcoming 200x standard.
</p><p>
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>.
- </p><div class="table"><a id="id651524"></a><p class="title"><b>Table 3.1. C++ 1998 Library Headers</b></p><div class="table-contents"><table summary="C++ 1998 Library Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">complex</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td></tr><tr><td align="left"><code class="filename">fstream</code></td><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td><td align="left"><code class="filename">iosfwd</code></td></tr><tr><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td><td align="left"><code class="filename">list</code></td></tr><tr><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td></tr><tr><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">typeinfo</code></td></tr><tr><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id639501"></a><p class="title"><b>Table 3.2. 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 align="left" /><col align="left" /><col align="left" /><col align="left" /><col /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">ciso646</code></td></tr><tr><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td></tr><tr><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
+ </p><div class="table"><a id="id432611"></a><p class="title"><b>Table 3.1. C++ 1998 Library Headers</b></p><div class="table-contents"><table summary="C++ 1998 Library Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">complex</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td></tr><tr><td align="left"><code class="filename">fstream</code></td><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td><td align="left"><code class="filename">iosfwd</code></td></tr><tr><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td><td align="left"><code class="filename">list</code></td></tr><tr><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td></tr><tr><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">typeinfo</code></td></tr><tr><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id500479"></a><p class="title"><b>Table 3.2. 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 align="left" /><col align="left" /><col align="left" /><col align="left" /><col /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">ciso646</code></td></tr><tr><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td></tr><tr><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
C++0x include files. These are only available in C++0x compilation
mode, i.e. <code class="literal">-std=c++0x</code> or <code class="literal">-std=gnu++0x</code>.
-</p><p></p><div class="table"><a id="id645876"></a><p class="title"><b>Table 3.3. C++ 200x Library Headers</b></p><div class="table-contents"><table summary="C++ 200x Library Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">array</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">chrono</code></td><td align="left"><code class="filename">complex</code></td></tr><tr><td align="left"><code class="filename">condition_variable</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td><td align="left"><code class="filename">forward_list</code></td><td align="left"><code class="filename">fstream</code></td></tr><tr><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">future</code></td><td align="left"><code class="filename">initalizer_list</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td></tr><tr><td align="left"><code class="filename">iosfwd</code></td><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td></tr><tr><td align="left"><code class="filename">list</code></td><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">mutex</code></td></tr><tr><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">random</code></td></tr><tr><td align="left"><code class="filename">ratio</code></td><td align="left"><code class="filename">regex</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">system_error</code></td><td align="left"><code class="filename">thread</code></td></tr><tr><td align="left"><code class="filename">tuple</code></td><td align="left"><code class="filename">type_traits</code></td><td align="left"><code class="filename">typeinfo</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="filename">unordered_set</code></td></tr><tr><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id646983"></a><p class="title"><b>Table 3.4. 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 align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">ccomplex</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cfenv</code></td></tr><tr><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">cinttypes</code></td><td align="left"><code class="filename">ciso646</code></td><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td></tr><tr><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstdatomic</code></td></tr><tr><td align="left"><code class="filename">cstdbool</code></td><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdint</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstdio</code></td></tr><tr><td align="left"><code class="filename">cstring</code></td><td align="left"><code class="filename">ctgmath</code></td><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cuchar</code></td><td align="left"><code class="filename">cwchar</code></td></tr><tr><td align="left"><code class="filename">cwctype</code></td><td align="left"><code class="filename">stdatomic.h</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
+</p><p></p><div class="table"><a id="id381639"></a><p class="title"><b>Table 3.3. C++ 200x Library Headers</b></p><div class="table-contents"><table summary="C++ 200x Library Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">array</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">chrono</code></td><td align="left"><code class="filename">complex</code></td></tr><tr><td align="left"><code class="filename">condition_variable</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td><td align="left"><code class="filename">forward_list</code></td><td align="left"><code class="filename">fstream</code></td></tr><tr><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">future</code></td><td align="left"><code class="filename">initalizer_list</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td></tr><tr><td align="left"><code class="filename">iosfwd</code></td><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td></tr><tr><td align="left"><code class="filename">list</code></td><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">mutex</code></td></tr><tr><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">random</code></td></tr><tr><td align="left"><code class="filename">ratio</code></td><td align="left"><code class="filename">regex</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">system_error</code></td><td align="left"><code class="filename">thread</code></td></tr><tr><td align="left"><code class="filename">tuple</code></td><td align="left"><code class="filename">type_traits</code></td><td align="left"><code class="filename">typeinfo</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="filename">unordered_set</code></td></tr><tr><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id408539"></a><p class="title"><b>Table 3.4. 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 align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">ccomplex</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cfenv</code></td></tr><tr><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">cinttypes</code></td><td align="left"><code class="filename">ciso646</code></td><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td></tr><tr><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstdbool</code></td></tr><tr><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdint</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctgmath</code></td><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cuchar</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td></tr><tr><td align="left"><code class="filename">stdatomic.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>
In addition, TR1 includes as:
-</p><div class="table"><a id="id631952"></a><p class="title"><b>Table 3.5. C++ TR 1 Library Headers</b></p><div class="table-contents"><table summary="C++ TR 1 Library Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/array</code></td><td align="left"><code class="filename">tr1/complex</code></td><td align="left"><code class="filename">tr1/memory</code></td><td align="left"><code class="filename">tr1/functional</code></td><td align="left"><code class="filename">tr1/random</code></td></tr><tr><td align="left"><code class="filename">tr1/regex</code></td><td align="left"><code class="filename">tr1/tuple</code></td><td align="left"><code class="filename">tr1/type_traits</code></td><td align="left"><code class="filename">tr1/unordered_map</code></td><td align="left"><code class="filename">tr1/unordered_set</code></td></tr><tr><td align="left"><code class="filename">tr1/utility</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id636818"></a><p class="title"><b>Table 3.6. 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 align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/ccomplex</code></td><td align="left"><code class="filename">tr1/cfenv</code></td><td align="left"><code class="filename">tr1/cfloat</code></td><td align="left"><code class="filename">tr1/cmath</code></td><td align="left"><code class="filename">tr1/cinttypes</code></td></tr><tr><td align="left"><code class="filename">tr1/climits</code></td><td align="left"><code class="filename">tr1/cstdarg</code></td><td align="left"><code class="filename">tr1/cstdbool</code></td><td align="left"><code class="filename">tr1/cstdint</code></td><td align="left"><code class="filename">tr1/cstdio</code></td></tr><tr><td align="left"><code class="filename">tr1/cstdlib</code></td><td align="left"><code class="filename">tr1/ctgmath</code></td><td align="left"><code class="filename">tr1/ctime</code></td><td align="left"><code class="filename">tr1/cwchar</code></td><td align="left"><code class="filename">tr1/cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>Decimal floating-point arithmetic is available if the C++
+</p><div class="table"><a id="id428297"></a><p class="title"><b>Table 3.5. C++ TR 1 Library Headers</b></p><div class="table-contents"><table summary="C++ TR 1 Library Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/array</code></td><td align="left"><code class="filename">tr1/complex</code></td><td align="left"><code class="filename">tr1/memory</code></td><td align="left"><code class="filename">tr1/functional</code></td><td align="left"><code class="filename">tr1/random</code></td></tr><tr><td align="left"><code class="filename">tr1/regex</code></td><td align="left"><code class="filename">tr1/tuple</code></td><td align="left"><code class="filename">tr1/type_traits</code></td><td align="left"><code class="filename">tr1/unordered_map</code></td><td align="left"><code class="filename">tr1/unordered_set</code></td></tr><tr><td align="left"><code class="filename">tr1/utility</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id503776"></a><p class="title"><b>Table 3.6. 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 align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/ccomplex</code></td><td align="left"><code class="filename">tr1/cfenv</code></td><td align="left"><code class="filename">tr1/cfloat</code></td><td align="left"><code class="filename">tr1/cmath</code></td><td align="left"><code class="filename">tr1/cinttypes</code></td></tr><tr><td align="left"><code class="filename">tr1/climits</code></td><td align="left"><code class="filename">tr1/cstdarg</code></td><td align="left"><code class="filename">tr1/cstdbool</code></td><td align="left"><code class="filename">tr1/cstdint</code></td><td align="left"><code class="filename">tr1/cstdio</code></td></tr><tr><td align="left"><code class="filename">tr1/cstdlib</code></td><td align="left"><code class="filename">tr1/ctgmath</code></td><td align="left"><code class="filename">tr1/ctime</code></td><td align="left"><code class="filename">tr1/cwchar</code></td><td align="left"><code class="filename">tr1/cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>Decimal floating-point arithmetic is available if the C++
compiler supports scalar decimal floating-point types defined via
<code class="code">__attribute__((mode(SD|DD|LD)))</code>.
-</p><div class="table"><a id="id685876"></a><p class="title"><b>Table 3.7. 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 align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">decimal/decimal</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
+</p><div class="table"><a id="id454192"></a><p class="title"><b>Table 3.7. 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 align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">decimal/decimal</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
Also included are files for the C++ ABI interface:
-</p><div class="table"><a id="id639029"></a><p class="title"><b>Table 3.8. C++ ABI Headers</b></p><div class="table-contents"><table summary="C++ ABI Headers" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">cxxabi.h</code></td><td align="left"><code class="filename">cxxabi_forced.h</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
+</p><div class="table"><a id="id471051"></a><p class="title"><b>Table 3.8. C++ ABI Headers</b></p><div class="table-contents"><table summary="C++ ABI Headers" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">cxxabi.h</code></td><td align="left"><code class="filename">cxxabi_forced.h</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
And a large variety of extensions.
-</p><div class="table"><a id="id637647"></a><p class="title"><b>Table 3.9. Extension Headers</b></p><div class="table-contents"><table summary="Extension Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">ext/algorithm</code></td><td align="left"><code class="filename">ext/atomicity.h</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"><code class="filename">ext/cast.h</code></td></tr><tr><td align="left"><code class="filename">ext/codecvt_specializations.h</code></td><td align="left"><code class="filename">ext/concurrence.h</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="filename">ext/enc_filebuf.h</code></td><td align="left"><code class="filename">ext/extptr_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/functional</code></td><td align="left"><code class="filename">ext/iterator</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="filename">ext/memory</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="filename">ext/numeric</code></td><td align="left"><code class="filename">ext/numeric_traits.h</code></td><td align="left"><code class="filename">ext/pb_ds/assoc_container.h</code></td><td align="left"><code class="filename">ext/pb_ds/priority_queue.h</code></td></tr><tr><td align="left"><code class="filename">ext/pod_char_traits.h</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="filename">ext/rb_tree</code></td><td align="left"><code class="filename">ext/rope</code></td><td align="left"><code class="filename">ext/slist</code></td></tr><tr><td align="left"><code class="filename">ext/stdio_filebuf.h</code></td><td align="left"><code class="filename">ext/stdio_sync_filebuf.h</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left"><code class="filename">ext/typelist.h</code></td><td align="left"><code class="filename">ext/type_traits.h</code></td></tr><tr><td align="left"><code class="filename">ext/vstring.h</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id631989"></a><p class="title"><b>Table 3.10. Extension Debug Headers</b></p><div class="table-contents"><table summary="Extension Debug Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">debug/bitset</code></td><td align="left"><code class="filename">debug/deque</code></td><td align="left"><code class="filename">debug/list</code></td><td align="left"><code class="filename">debug/map</code></td><td align="left"><code class="filename">debug/set</code></td></tr><tr><td align="left"><code class="filename">debug/string</code></td><td align="left"><code class="filename">debug/unordered_map</code></td><td align="left"><code class="filename">debug/unordered_set</code></td><td align="left"><code class="filename">debug/vector</code></td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id521103"></a><p class="title"><b>Table 3.11. Extension Profile Headers</b></p><div class="table-contents"><table summary="Extension Profile Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">profile/bitset</code></td><td align="left"><code class="filename">profile/deque</code></td><td align="left"><code class="filename">profile/list</code></td><td align="left"><code class="filename">profile/map</code></td></tr><tr><td align="left"><code class="filename">profile/set</code></td><td align="left"><code class="filename">profile/unordered_map</code></td><td align="left"><code class="filename">profile/unordered_set</code></td><td align="left"><code class="filename">profile/vector</code></td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id684216"></a><p class="title"><b>Table 3.12. Extension Parallel Headers</b></p><div class="table-contents"><table summary="Extension Parallel Headers" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">parallel/algorithm</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.mixing"></a>Mixing Headers</h3></div></div></div><p> A few simple rules.
+</p><div class="table"><a id="id428014"></a><p class="title"><b>Table 3.9. Extension Headers</b></p><div class="table-contents"><table summary="Extension Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">ext/algorithm</code></td><td align="left"><code class="filename">ext/atomicity.h</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"><code class="filename">ext/cast.h</code></td></tr><tr><td align="left"><code class="filename">ext/codecvt_specializations.h</code></td><td align="left"><code class="filename">ext/concurrence.h</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="filename">ext/enc_filebuf.h</code></td><td align="left"><code class="filename">ext/extptr_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/functional</code></td><td align="left"><code class="filename">ext/iterator</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="filename">ext/memory</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="filename">ext/numeric</code></td><td align="left"><code class="filename">ext/numeric_traits.h</code></td><td align="left"><code class="filename">ext/pb_ds/assoc_container.h</code></td><td align="left"><code class="filename">ext/pb_ds/priority_queue.h</code></td></tr><tr><td align="left"><code class="filename">ext/pod_char_traits.h</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="filename">ext/rb_tree</code></td><td align="left"><code class="filename">ext/rope</code></td><td align="left"><code class="filename">ext/slist</code></td></tr><tr><td align="left"><code class="filename">ext/stdio_filebuf.h</code></td><td align="left"><code class="filename">ext/stdio_sync_filebuf.h</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left"><code class="filename">ext/typelist.h</code></td><td align="left"><code class="filename">ext/type_traits.h</code></td></tr><tr><td align="left"><code class="filename">ext/vstring.h</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id496745"></a><p class="title"><b>Table 3.10. Extension Debug Headers</b></p><div class="table-contents"><table summary="Extension Debug Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">debug/bitset</code></td><td align="left"><code class="filename">debug/deque</code></td><td align="left"><code class="filename">debug/list</code></td><td align="left"><code class="filename">debug/map</code></td><td align="left"><code class="filename">debug/set</code></td></tr><tr><td align="left"><code class="filename">debug/string</code></td><td align="left"><code class="filename">debug/unordered_map</code></td><td align="left"><code class="filename">debug/unordered_set</code></td><td align="left"><code class="filename">debug/vector</code></td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id503586"></a><p class="title"><b>Table 3.11. Extension Profile Headers</b></p><div class="table-contents"><table summary="Extension Profile Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">profile/bitset</code></td><td align="left"><code class="filename">profile/deque</code></td><td align="left"><code class="filename">profile/list</code></td><td align="left"><code class="filename">profile/map</code></td></tr><tr><td align="left"><code class="filename">profile/set</code></td><td align="left"><code class="filename">profile/unordered_map</code></td><td align="left"><code class="filename">profile/unordered_set</code></td><td align="left"><code class="filename">profile/vector</code></td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id436576"></a><p class="title"><b>Table 3.12. Extension Parallel Headers</b></p><div class="table-contents"><table summary="Extension Parallel Headers" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">parallel/algorithm</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="sect2" title="Mixing Headers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.mixing"></a>Mixing Headers</h3></div></div></div><p> A few simple rules.
</p><p>First, mixing different dialects of the standard headers is not
possible. It's an all-or-nothing affair. Thus, code like
</p><pre class="programlisting">
@@ -55,7 +55,7 @@ same translation unit:
#include &lt;tr1/type_traits&gt;
#include &lt;type_traits&gt;
</pre><p> Several parts of C++0x diverge quite substantially from TR1 predecessors.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.cheaders"></a>The C Headers and <code class="code">namespace std</code></h3></div></div></div><p>
+</p></div><div class="sect2" title="The C Headers and namespace std"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.cheaders"></a>The C Headers and <code class="code">namespace std</code></h3></div></div></div><p>
The standard specifies that if one includes the C-style header
(&lt;math.h&gt; in this case), the symbols will be available
in the global namespace and perhaps in
@@ -74,13 +74,13 @@ floating-point types. This means that <code class="code">std::sin</code> can be
used uniformly, instead of a combination
of <code class="code">std::sinf</code>, <code class="code">std::sin</code>,
and <code class="code">std::sinl</code>.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.pre"></a>Precompiled Headers</h3></div></div></div><p>There are three base header files that are provided. They can be
+</p></div><div class="sect2" title="Precompiled Headers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.pre"></a>Precompiled Headers</h3></div></div></div><p>There are three base header files that are provided. They can be
used to precompile the standard headers and extensions into binary
files that may the be used to speed compiles that use these headers.
-</p><div class="itemizedlist"><ul type="disc"><li><p>stdc++.h</p><p>Includes all standard headers. Actual content varies depending on
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>stdc++.h</p><p>Includes all standard headers. Actual content varies depending on
language dialect.
-</p></li><li><p>stdtr1c++.h</p><p>Includes all of &lt;stdc++.h&gt;, and adds all the TR1 headers.
-</p></li><li><p>extc++.h</p><p>Includes all of &lt;stdtr1c++.h&gt;, and adds all the Extension headers.
+</p></li><li class="listitem"><p>stdtr1c++.h</p><p>Includes all of &lt;stdc++.h&gt;, and adds all the TR1 headers.
+</p></li><li class="listitem"><p>extc++.h</p><p>Includes all of &lt;stdtr1c++.h&gt;, and adds all the Extension headers.
</p></li></ul></div><p>How to construct a .gch file from one of these base header files.</p><p>First, find the include directory for the compiler. One way to do
this is:</p><pre class="programlisting">
g++ -v hello.cc
diff --git a/libstdc++-v3/doc/html/manual/using_macros.html b/libstdc++-v3/doc/html/manual/using_macros.html
index 8067d35d462..b8c7eeed7f9 100644
--- a/libstdc++-v3/doc/html/manual/using_macros.html
+++ b/libstdc++-v3/doc/html/manual/using_macros.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Macros</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><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">Macros</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.macros"></a>Macros</h2></div></div></div><p>All pre-processor switches and configurations are all gathered
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Macros</title><meta name="generator" content="DocBook XSL 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 Documentation" /><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">Macros</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Macros"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.macros"></a>Macros</h2></div></div></div><p>All pre-processor switches and configurations are all gathered
in the file <code class="code">c++config.h</code>, which is generated during
the libstdc++ configuration and build process, and included by
files part of the public libstdc++ API. Most of these macros
@@ -19,7 +19,7 @@
document</a>.
</p></dd></dl></div><p>Below are the macros which users may change with #define/#undef or
with -D/-U compiler flags. The default state of the symbol is
- listed.</p><p>“<span class="quote">Configurable</span>†(or “<span class="quote">Not configurable</span>â€) means
+ listed.</p><p><span class="quote">“<span class="quote">Configurable</span>â€</span> (or <span class="quote">“<span class="quote">Not configurable</span>â€</span>) means
that the symbol is initially chosen (or not) based on
--enable/--disable options at library build and configure time
(documented <a class="link" href="configure.html" title="Configure">here</a>), with the
diff --git a/libstdc++-v3/doc/html/manual/using_namespaces.html b/libstdc++-v3/doc/html/manual/using_namespaces.html
index eb61a11bd55..c022dd5c890 100644
--- a/libstdc++-v3/doc/html/manual/using_namespaces.html
+++ b/libstdc++-v3/doc/html/manual/using_namespaces.html
@@ -1,31 +1,31 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Namespaces</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_headers.html" title="Headers" /><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">Namespaces</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_macros.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.namespaces"></a>Namespaces</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.all"></a>Available Namespaces</h3></div></div></div><p> There are three main namespaces.
-</p><div class="itemizedlist"><ul type="disc"><li><p>std</p><p>The ISO C++ standards specify that "all library entities are defined
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Namespaces</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_headers.html" title="Headers" /><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">Namespaces</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_macros.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Namespaces"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.namespaces"></a>Namespaces</h2></div></div></div><div class="sect2" title="Available Namespaces"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.all"></a>Available Namespaces</h3></div></div></div><p> There are three main namespaces.
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>std</p><p>The ISO C++ standards specify that "all library entities are defined
within namespace std." This includes namespaces nested
within <code class="code">namespace std</code>, such as <code class="code">namespace
std::tr1</code>.
-</p></li><li><p>abi</p><p>Specified by the C++ ABI. This ABI specifies a number of type and
+</p></li><li class="listitem"><p>abi</p><p>Specified by the C++ ABI. This ABI specifies a number of type and
function APIs supplemental to those required by the ISO C++ Standard,
but necessary for interoperability.
-</p></li><li><p>__gnu_</p><p>Indicating one of several GNU extensions. Choices
+</p></li><li class="listitem"><p>__gnu_</p><p>Indicating one of several GNU extensions. Choices
include <code class="code">__gnu_cxx</code>, <code class="code">__gnu_debug</code>, <code class="code">__gnu_parallel</code>,
and <code class="code">__gnu_pbds</code>.
</p></li></ul></div><p> A complete list of implementation namespaces (including namespace contents) is available in the generated source <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html" target="_top">documentation</a>.
-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.std"></a>namespace std</h3></div></div></div><p>
+</p></div><div class="sect2" title="namespace std"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.std"></a>namespace std</h3></div></div></div><p>
One standard requirement is that the library components are defined
in <code class="code">namespace std::</code>. Thus, in order to use these types or
functions, one must do one of two things:
-</p><div class="itemizedlist"><ul type="disc"><li><p>put a kind of <span class="emphasis"><em>using-declaration</em></span> in your source
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>put a kind of <span class="emphasis"><em>using-declaration</em></span> in your source
(either <code class="code">using namespace std;</code> or i.e. <code class="code">using
std::string;</code>) This approach works well for individual source files, but
should not be used in a global context, like header files.
- </p></li><li><p>use a <span class="emphasis"><em>fully
+ </p></li><li class="listitem"><p>use a <span class="emphasis"><em>fully
qualified name</em></span>for each library symbol
(i.e. <code class="code">std::string</code>, <code class="code">std::cout</code>) Always can be
used, and usually enhanced, by strategic use of typedefs. (In the
cases where the qualified verbiage becomes unwieldy.)
- </p></li></ul></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.comp"></a>Using Namespace Composition</h3></div></div></div><p>
+ </p></li></ul></div></div><div class="sect2" title="Using Namespace Composition"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.comp"></a>Using Namespace Composition</h3></div></div></div><p>
Best practice in programming suggests sequestering new data or
functionality in a sanely-named, unique namespace whenever
possible. This is considered an advantage over dumping everything in
diff --git a/libstdc++-v3/doc/html/manual/utilities.html b/libstdc++-v3/doc/html/manual/utilities.html
index 26cef8e6d18..2fa8ebde492 100644
--- a/libstdc++-v3/doc/html/manual/utilities.html
+++ b/libstdc++-v3/doc/html/manual/utilities.html
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part IV.  Utilities</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt03ch07s02.html" title="Adding Data to Exceptions" /><link rel="next" href="functors.html" title="Chapter 9. Functors" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part IV. 
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Part IV.  Utilities</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt03ch07s02.html" title="Adding Data to Exceptions" /><link rel="next" href="functors.html" title="Chapter 9. Functors" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part IV. 
Utilities
-</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch07s02.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="functors.html">Next</a></td></tr></table><hr /></div><div class="part" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="manual.util"></a>Part IV. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch07s02.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="functors.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part IV.  Utilities"><div class="titlepage"><div><div><h1 class="title"><a id="manual.util"></a>Part IV. 
Utilities
- <a id="id622508" class="indexterm"></a>
+ <a id="id496034" class="indexterm"></a>
</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="functors.html">9. Functors</a></span></dt><dt><span class="chapter"><a href="pairs.html">10. Pairs</a></span></dt><dt><span class="chapter"><a href="memory.html">11. Memory</a></span></dt><dd><dl><dt><span class="sect1"><a href="memory.html#manual.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="sect2"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="sect2"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="sect1"><a href="auto_ptr.html">auto_ptr</a></span></dt><dd><dl><dt><span class="sect2"><a href="auto_ptr.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="sect2"><a href="auto_ptr.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="sect1"><a href="shared_ptr.html">shared_ptr</a></span></dt><dd><dl><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.using">Use</a></span></dt><dt><span class="sect2"><a href="shared_ptr.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="traits.html">12. Traits</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch07s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="functors.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Adding Data to Exceptions </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 9. Functors</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/vector.html b/libstdc++-v3/doc/html/manual/vector.html
index 8ff38bdd149..8f554385943 100644
--- a/libstdc++-v3/doc/html/manual/vector.html
+++ b/libstdc++-v3/doc/html/manual/vector.html
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>vector</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="sequences.html" title="Chapter 16. Sequences" /><link rel="prev" href="sequences.html" title="Chapter 16. Sequences" /><link rel="next" href="associative.html" title="Chapter 17. Associative" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">vector</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="sequences.html">Prev</a> </td><th width="60%" align="center">Chapter 16. Sequences</th><td width="20%" align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.sequences.vector"></a>vector</h2></div></div></div><p>
- </p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="sequences.vector.management"></a>Space Overhead Management</h3></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>vector</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="sequences.html" title="Chapter 16. Sequences" /><link rel="prev" href="sequences.html" title="Chapter 16. Sequences" /><link rel="next" href="associative.html" title="Chapter 17. Associative" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">vector</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="sequences.html">Prev</a> </td><th width="60%" align="center">Chapter 16. Sequences</th><td width="20%" align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="vector"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.sequences.vector"></a>vector</h2></div></div></div><p>
+ </p><div class="sect2" title="Space Overhead Management"><div class="titlepage"><div><div><h3 class="title"><a id="sequences.vector.management"></a>Space Overhead Management</h3></div></div></div><p>
In <a class="ulink" href="http://gcc.gnu.org/ml/libstdc++/2002-04/msg00105.html" target="_top">this
message to the list</a>, Daniel Kostecky announced work on an
alternate form of <code class="code">std::vector</code> that would support
diff --git a/libstdc++-v3/doc/html/manual/verbose_termination.html b/libstdc++-v3/doc/html/manual/verbose_termination.html
index a6696882ff0..540e5a77577 100644
--- a/libstdc++-v3/doc/html/manual/verbose_termination.html
+++ b/libstdc++-v3/doc/html/manual/verbose_termination.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Verbose Terminate Handler</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="termination.html" title="Chapter 6. Termination" /><link rel="prev" href="termination.html" title="Chapter 6. Termination" /><link rel="next" href="diagnostics.html" title="Part III.  Diagnostics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Verbose Terminate Handler</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="termination.html">Prev</a> </td><th width="60%" align="center">Chapter 6. Termination</th><td width="20%" align="right"> <a accesskey="n" href="diagnostics.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="support.termination.verbose"></a>Verbose Terminate Handler</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Verbose Terminate Handler</title><meta name="generator" content="DocBook XSL 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 Documentation" /><link rel="up" href="termination.html" title="Chapter 6. Termination" /><link rel="prev" href="termination.html" title="Chapter 6. Termination" /><link rel="next" href="diagnostics.html" title="Part III.  Diagnostics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Verbose Terminate Handler</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="termination.html">Prev</a> </td><th width="60%" align="center">Chapter 6. Termination</th><td width="20%" align="right"> <a accesskey="n" href="diagnostics.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Verbose Terminate Handler"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="support.termination.verbose"></a>Verbose Terminate Handler</h2></div></div></div><p>
If you are having difficulty with uncaught exceptions and want a
little bit of help debugging the causes of the core dumps, you can
make use of a GNU extension, the verbose terminate handler.
@@ -38,7 +38,7 @@ int main(int argc)
{
std::set_terminate(__gnu_cxx::__verbose_terminate_handler);
if (argc &gt; 5)
- throw argument_error(“<span class="quote">argc is greater than 5!</span>â€);
+ throw argument_error(<span class="quote">“<span class="quote">argc is greater than 5!</span>â€</span>);
else
throw argc;
}
@@ -59,7 +59,7 @@ int main(int argc)
<code class="function">abort()</code>, of course.
</p><p>
This is the default termination handler; nothing need be done to
- use it. To go back to the previous “<span class="quote">silent death</span>â€
+ use it. To go back to the previous <span class="quote">“<span class="quote">silent death</span>â€</span>
method, simply include <code class="filename">exception</code> and
<code class="filename">cstdlib</code>, and call
</p><pre class="programlisting">
diff --git a/libstdc++-v3/doc/html/spine.html b/libstdc++-v3/doc/html/spine.html
index 4d153da62b4..5bb05000a6e 100644
--- a/libstdc++-v3/doc/html/spine.html
+++ b/libstdc++-v3/doc/html/spine.html
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The GNU C++ Library Documentation</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.3" /><link rel="home" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="next" href="manual/spine.html" title="The GNU C++ Library" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library Documentation</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="manual/spine.html">Next</a></td></tr></table><hr /></div><div class="set" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="set-index"></a>The GNU C++ Library Documentation</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"></span> <span class="surname"></span></h3></div><div class="author"><h3 class="author"><span class="firstname">Paolo</span> <span class="surname">Carlini</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Phil</span> <span class="surname">Edwards</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Doug</span> <span class="surname">Gregor</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Dhruv</span> <span class="surname">Matani</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jason</span> <span class="surname">Merrill</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Mark</span> <span class="surname">Mitchell</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Nathan</span> <span class="surname">Myers</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Felix</span> <span class="surname">Natter</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Stefan</span> <span class="surname">Olsson</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Ami</span> <span class="surname">Tavory</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jonathan</span> <span class="surname">Wakely</span></h3></div></div></div><div><p class="copyright">Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The GNU C++ Library Documentation</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="next" href="manual/spine.html" title="The GNU C++ Library" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library Documentation</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="manual/spine.html">Next</a></td></tr></table><hr /></div><div class="set" title="The GNU C++ Library Documentation" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="set-index"></a>The GNU C++ Library Documentation</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"></span> <span class="surname"></span></h3></div><div class="author"><h3 class="author"><span class="firstname">Paolo</span> <span class="surname">Carlini</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Phil</span> <span class="surname">Edwards</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Doug</span> <span class="surname">Gregor</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Dhruv</span> <span class="surname">Matani</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jason</span> <span class="surname">Merrill</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Mark</span> <span class="surname">Mitchell</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Nathan</span> <span class="surname">Myers</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Felix</span> <span class="surname">Natter</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Stefan</span> <span class="surname">Olsson</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Ami</span> <span class="surname">Tavory</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jonathan</span> <span class="surname">Wakely</span></h3></div></div></div><div><p class="copyright">Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
<a class="ulink" href="http://www.fsf.org" target="_top">FSF</a>
</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</a></span></dt><dd><dl><dt><span class="part"><a href="manual/intro.html">I.
Introduction
-</a></span></dt><dd><dl><dt><span class="chapter"><a href="manual/status.html">1. Status</a></span></dt><dd><dl><dt><span class="sect1"><a href="manual/status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dt><span class="sect2"><a href="manual/status.html#status.iso.tr1">C++ TR1</a></span></dt><dt><span class="sect2"><a href="manual/status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="sect2"><a href="manual/status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/license.html">License</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="sect2"><a href="manual/license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="sect2"><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="sect1"><a href="manual/setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="sect1"><a href="manual/configure.html">Configure</a></span></dt><dt><span class="sect1"><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="sect1"><a href="manual/using.html#manual.intro.using.lib">Linking Library Binary Files</a></span></dt><dt><span class="sect1"><a href="manual/using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="sect2"><a href="manual/using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="sect2"><a href="manual/using_headers.html#manual.intro.using.headers.cheaders">The C Headers and namespace std</a></span></dt><dt><span class="sect2"><a href="manual/using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="sect2"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="sect2"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/using_macros.html">Macros</a></span></dt><dt><span class="sect1"><a href="manual/using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="sect2"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dt><span class="sect2"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="sect2"><a href="manual/using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="sect2"><a href="manual/using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="sect2"><a href="manual/using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/debug.html#debug.compiler">Using g++</a></span></dt><dt><span class="sect2"><a href="manual/debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="sect2"><a href="manual/debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="sect2"><a href="manual/debug.html#debug.gdb">Using gdb</a></span></dt><dt><span class="sect2"><a href="manual/debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="sect2"><a href="manual/debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="sect2"><a href="manual/debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="sect2"><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/support.html">II.
+</a></span></dt><dd><dl><dt><span class="chapter"><a href="manual/status.html">1. Status</a></span></dt><dd><dl><dt><span class="sect1"><a href="manual/status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dt><span class="sect2"><a href="manual/status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="sect2"><a href="manual/status.html#status.iso.tr1">C++ TR1</a></span></dt><dt><span class="sect2"><a href="manual/status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/license.html">License</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="sect2"><a href="manual/license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="sect2"><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="sect1"><a href="manual/setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="sect1"><a href="manual/configure.html">Configure</a></span></dt><dt><span class="sect1"><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="sect1"><a href="manual/using.html#manual.intro.using.lib">Linking Library Binary Files</a></span></dt><dt><span class="sect1"><a href="manual/using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="sect2"><a href="manual/using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="sect2"><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="sect2"><a href="manual/using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="sect2"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="sect2"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/using_macros.html">Macros</a></span></dt><dt><span class="sect1"><a href="manual/using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="sect2"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dt><span class="sect2"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="sect2"><a href="manual/using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="sect2"><a href="manual/using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="sect2"><a href="manual/using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="sect2"><a href="manual/debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="sect2"><a href="manual/debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="sect2"><a href="manual/debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="sect2"><a href="manual/debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="sect2"><a href="manual/debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="sect2"><a href="manual/debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="sect2"><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/support.html">II.
Support
</a></span></dt><dd><dl><dt><span class="preface"><a href="manual/bk01pt02pr01.html"></a></span></dt><dt><span class="chapter"><a href="manual/fundamental_types.html">4. Types</a></span></dt><dd><dl><dt><span class="sect1"><a href="manual/fundamental_types.html#manual.support.types.fundamental">Fundamental Types</a></span></dt><dt><span class="sect1"><a href="manual/bk01pt02ch04s02.html">Numeric Properties</a></span></dt><dt><span class="sect1"><a href="manual/bk01pt02ch04s03.html">NULL</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/dynamic_memory.html">5. Dynamic Memory</a></span></dt><dt><span class="chapter"><a href="manual/termination.html">6. Termination</a></span></dt><dd><dl><dt><span class="sect1"><a href="manual/termination.html#support.termination.handlers">Termination Handlers</a></span></dt><dt><span class="sect1"><a href="manual/verbose_termination.html">Verbose Terminate Handler</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="manual/diagnostics.html">III.
@@ -29,7 +29,7 @@
</a></span></dt><dd><dl><dt><span class="chapter"><a href="manual/bk01pt08ch19.html">19. Predefined</a></span></dt><dd><dl><dt><span class="sect1"><a href="manual/bk01pt08ch19.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="sect1"><a href="manual/bk01pt08ch19s02.html">One Past the End</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="manual/algorithms.html">IX.
Algorithms
-</a></span></dt><dd><dl><dt><span class="preface"><a href="manual/bk01pt09pr02.html"></a></span></dt><dt><span class="chapter"><a href="manual/bk01pt09ch20.html">20. Mutating</a></span></dt><dd><dl><dt><span class="sect1"><a href="manual/bk01pt09ch20.html#algorithms.mutating.swap">swap</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/bk01pt09ch20.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="manual/numerics.html">X.
+</a></span></dt><dd><dl><dt><span class="preface"><a href="manual/bk01pt09pr02.html"></a></span></dt><dt><span class="chapter"><a href="manual/bk01pt09ch20.html">20. Mutating</a></span></dt><dd><dl><dt><span class="sect1"><a href="manual/bk01pt09ch20.html#algorithms.mutating.swap"><code class="function">swap</code></a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/bk01pt09ch20.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="manual/numerics.html">X.
Numerics
</a></span></dt><dd><dl><dt><span class="chapter"><a href="manual/complex.html">21. Complex</a></span></dt><dd><dl><dt><span class="sect1"><a href="manual/complex.html#numerics.complex.processing">complex Processing</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/generalized_numeric_operations.html">22. Generalized Operations</a></span></dt><dt><span class="chapter"><a href="manual/numerics_and_c.html">23. Interacting with C</a></span></dt><dd><dl><dt><span class="sect1"><a href="manual/numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="sect1"><a href="manual/bk01pt10ch23s02.html">C99</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="manual/io.html">XI.
@@ -44,9 +44,9 @@
</a></span></dt><dd><dl><dt><span class="sect1"><a href="manual/appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="sect2"><a href="manual/appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="sect2"><a href="manual/appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="sect2"><a href="manual/appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="sect1"><a href="manual/source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="sect2"><a href="manual/source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/documentation_style.html">Documentation Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/documentation_style.html#doc_style.doxygen">Doxygen</a></span></dt><dt><span class="sect2"><a href="manual/documentation_style.html#doc_style.docbook">Docbook</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/source_design_notes.html">Design Notes</a></span></dt></dl></dd><dt><span class="appendix"><a href="manual/appendix_porting.html">B.
Porting and Maintenance
-</a></span></dt><dd><dl><dt><span class="sect1"><a href="manual/appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="manual/appendix_porting.html#build_hacking.map">Overview: What Comes from Where</a></span></dt><dt><span class="sect2"><a href="manual/appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="sect2"><a href="manual/appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="sect2"><a href="manual/appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="sect2"><a href="manual/appendix_porting.html#build_hacking.enable">GLIBCXX_ENABLE, the --enable maker</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/internals.html#internals.os">Operating System</a></span></dt><dt><span class="sect2"><a href="manual/internals.html#internals.cpu">CPU</a></span></dt><dt><span class="sect2"><a href="manual/internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="sect2"><a href="manual/internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="manual/internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="sect2"><a href="manual/internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/test.html">Test</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/test.html#test.organization">Organization</a></span></dt><dt><span class="sect2"><a href="manual/test.html#test.run">Running the Testsuite</a></span></dt><dt><span class="sect2"><a href="manual/test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="sect2"><a href="manual/test.html#test.harness">Test Harness and Utilities</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/abi.html">ABI Policy and Guidelines</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/abi.html#abi.cxx_interface">The C++ Interface</a></span></dt><dt><span class="sect2"><a href="manual/abi.html#abi.versioning">Versioning</a></span></dt><dt><span class="sect2"><a href="manual/abi.html#abi.changes_allowed">Allowed Changes</a></span></dt><dt><span class="sect2"><a href="manual/abi.html#abi.changes_no">Prohibited Changes</a></span></dt><dt><span class="sect2"><a href="manual/abi.html#abi.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="manual/abi.html#abi.testing">Testing</a></span></dt><dt><span class="sect2"><a href="manual/abi.html#abi.issues">Outstanding Issues</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/api.html">API Evolution and Deprecation History</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/api.html#api.rel_300">3.0</a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_310">3.1</a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_320">3.2</a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_330">3.3</a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_340">3.4</a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_400">4.0</a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_410">4.1</a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_420">4.2</a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_430">4.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/backwards.html">Backwards Compatibility</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/backwards.html#backwards.first">First</a></span></dt><dt><span class="sect2"><a href="manual/backwards.html#backwards.second">Second</a></span></dt><dt><span class="sect2"><a href="manual/backwards.html#backwards.third">Third</a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="manual/appendix_free.html">C.
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="manual/appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="manual/appendix_porting.html#build_hacking.map">Overview: What Comes from Where</a></span></dt><dt><span class="sect2"><a href="manual/appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="sect2"><a href="manual/appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="sect2"><a href="manual/appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="sect2"><a href="manual/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="sect1"><a href="manual/internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/internals.html#internals.os">Operating System</a></span></dt><dt><span class="sect2"><a href="manual/internals.html#internals.cpu">CPU</a></span></dt><dt><span class="sect2"><a href="manual/internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="sect2"><a href="manual/internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="manual/internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="sect2"><a href="manual/internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/test.html">Test</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/test.html#test.organization">Organization</a></span></dt><dt><span class="sect2"><a href="manual/test.html#test.run">Running the Testsuite</a></span></dt><dt><span class="sect2"><a href="manual/test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="sect2"><a href="manual/test.html#test.harness">Test Harness and Utilities</a></span></dt><dt><span class="sect2"><a href="manual/test.html#test.special">Special Topics</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/abi.html">ABI Policy and Guidelines</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/abi.html#abi.cxx_interface">The C++ Interface</a></span></dt><dt><span class="sect2"><a href="manual/abi.html#abi.versioning">Versioning</a></span></dt><dt><span class="sect2"><a href="manual/abi.html#abi.changes_allowed">Allowed Changes</a></span></dt><dt><span class="sect2"><a href="manual/abi.html#abi.changes_no">Prohibited Changes</a></span></dt><dt><span class="sect2"><a href="manual/abi.html#abi.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="manual/abi.html#abi.testing">Testing</a></span></dt><dt><span class="sect2"><a href="manual/abi.html#abi.issues">Outstanding Issues</a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/api.html">API Evolution and Deprecation History</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/api.html#api.rel_300"><code class="constant">3.0</code></a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_310"><code class="constant">3.1</code></a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_320"><code class="constant">3.2</code></a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_330"><code class="constant">3.3</code></a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_340"><code class="constant">3.4</code></a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_400"><code class="constant">4.0</code></a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_410"><code class="constant">4.1</code></a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_420"><code class="constant">4.2</code></a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_430"><code class="constant">4.3</code></a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_440"><code class="constant">4.4</code></a></span></dt><dt><span class="sect2"><a href="manual/api.html#api.rel_450"><code class="constant">4.5</code></a></span></dt></dl></dd><dt><span class="sect1"><a href="manual/backwards.html">Backwards Compatibility</a></span></dt><dd><dl><dt><span class="sect2"><a href="manual/backwards.html#backwards.first">First</a></span></dt><dt><span class="sect2"><a href="manual/backwards.html#backwards.second">Second</a></span></dt><dt><span class="sect2"><a href="manual/backwards.html#backwards.third">Third</a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="manual/appendix_free.html">C.
Free Software Needs Free Documentation
</a></span></dt><dt><span class="appendix"><a href="manual/appendix_gpl.html">D.
- GNU General Public License version 3
+ <acronym class="acronym">GNU</acronym> General Public License version 3
</a></span></dt><dt><span class="appendix"><a href="manual/appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt><dt><span class="index"><a href="manual/bk01ix01.html">Index</a></span></dt></dl></dd><dt><span class="book"><a href="bk02.html"></a></span></dt><dd><dl><dt><span class="article"><a href="api.html">API and Source Level Documentation</a></span></dt></dl></dd><dt><span class="book"><a href="bk03.html"></a></span></dt><dd><dl><dt><span class="article"><a href="faq.html">Frequently Asked Questions</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="manual/spine.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> The GNU C++ Library</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/xml/manual/evolution.xml b/libstdc++-v3/doc/xml/manual/evolution.xml
index 4617dcec8e8..7a3aefb6778 100644
--- a/libstdc++-v3/doc/xml/manual/evolution.xml
+++ b/libstdc++-v3/doc/xml/manual/evolution.xml
@@ -372,7 +372,8 @@ and <filename class="headerfile">ext/throw_allocator.h</filename>.
C++0X features first appear.
</para>
-<para>TR1 <filename class="headerfile">regex</filename> and <filename class="headerfile">cmath</filename>'s mathematical special function added.</para>
+<para>TR1 <filename class="headerfile">regex</filename> and <filename class="headerfile">cmath</filename>'s mathematical special function added.
+</para>
<para>
Backward include edit.
@@ -454,8 +455,108 @@ Namespace pb_ds moved to __gnu_pb_ds.
<title><constant>4.4</constant></title>
<para>
</para>
-<para> Extensions added: <filename class="headerfile">ext/typelist.h</filename>
-and <filename class="headerfile">ext/throw_allocator.h</filename>.
+
+<para>
+C++0X features.
+</para>
+
+<itemizedlist>
+<listitem>
+ <para>
+ Added.
+ </para>
+ <para>
+ <filename class="headerfile">atomic</filename>,
+ <filename class="headerfile">chrono</filename>,
+ <filename class="headerfile">condition_variable</filename>,
+ <filename class="headerfile">forward_list</filename>,
+ <filename class="headerfile">initializer_list</filename>,
+ <filename class="headerfile">mutex</filename>,
+ <filename class="headerfile">ratio</filename>,
+ <filename class="headerfile">thread</filename>
+ </para>
+</listitem>
+
+<listitem>
+ <para>
+ Updated and improved.
+ </para>
+ <para>
+ <filename class="headerfile">algorithm</filename>,
+ <filename class="headerfile">system_error</filename>,
+ <filename class="headerfile">type_traits</filename>
+ </para>
+</listitem>
+
+<listitem>
+ <para>
+ Use of the GNU extension namespace association converted to inline namespaces.
+ </para>
+</listitem>
+
+<listitem>
+ <para>
+ Preliminary support for <classname>initializer_list</classname>
+ and defaulted and deleted constructors in container classes.
+ </para>
+</listitem>
+
+<listitem>
+ <para>
+ <classname>unique_ptr</classname>.
+ </para>
+</listitem>
+
+<listitem>
+ <para>
+ Support for new character types <type>char16_t</type>
+ and <type>char32_t</type> added
+ to <classname>char_traits</classname>, <classname>basic_string</classname>, <classname>numeric_limits</classname>,
+ and assorted compile-time type traits.
+ </para>
+</listitem>
+
+<listitem>
+ <para>
+ Support for string conversions <function>to_string</function>
+ and <function>to_wstring</function>.
+ </para>
+</listitem>
+
+<listitem>
+ <para>
+ Member functions taking string arguments were added to iostreams
+ including <classname>basic_filebuf</classname>, <classname>basic_ofstream</classname>,
+ and <classname>basic_ifstream</classname>.
+ </para>
+</listitem>
+
+<listitem>
+ <para>
+ Exception propagation support,
+ including <classname>exception_ptr</classname>, <function>current_exception</function>, <function>copy_exception</function>,
+ and <function>rethrow_exception</function>.
+ </para>
+</listitem>
+</itemizedlist>
+
+
+ <para>
+Uglification of <literal>try</literal> to <literal>__try</literal>
+and <literal>catch</literal> to <literal>__catch</literal>.
+ </para>
+
+ <para>
+Audit of internal mutex usage, conversion to functions returning static
+local mutex.
+ </para>
+
+<para> Extensions
+added: <filename class="headerfile">ext/pointer.h</filename>
+and <filename class="headerfile">ext/extptr_allocator.h</filename>. Support
+for non-standard pointer types has been added
+to <classname>vector</classname>
+and <classname>forward_list</classname>.
</para>
</sect2>
@@ -464,13 +565,58 @@ and <filename class="headerfile">ext/throw_allocator.h</filename>.
<para>
</para>
-<para> Extensions added: <filename class="headerfile">ext/typelist.h</filename>
-and <filename class="headerfile">ext/throw_allocator.h</filename>.
+<para>
+C++0X features.
</para>
+<itemizedlist>
+<listitem>
+ <para>
+ Added.
+ </para>
+ <para>
+ <filename class="headerfile">functional</filename>,
+ <filename class="headerfile">future</filename>,
+ <filename class="headerfile">random</filename>
+ </para>
+</listitem>
+
+<listitem>
+ <para>
+ Updated and improved.
+ </para>
+ <para>
+ <filename class="headerfile">atomic</filename>,
+ <filename class="headerfile">system_error</filename>,
+ <filename class="headerfile">type_traits</filename>
+ </para>
+</listitem>
+
+<listitem>
+ <para>
+ Add support for explicit operators and standard layout types.
+ </para>
+</listitem>
+</itemizedlist>
+
<para>
Profile mode first appears.
</para>
+
+<para>
+Support for decimal floating-point arithmetic, including <classname>decimal32</classname>, <classname>decimal64</classname>, and <classname>decimal128</classname>.
+</para>
+
+<para>
+Python pretty-printers are added for use with appropriately-advanced versions of <command>gdb</command>.
+</para>
+
+<para>
+Audit for application of function attributes notrow, const, pure, and noreturn.
+</para>
+
+<para> Extensions modified: <filename class="headerfile">ext/throw_allocator.h</filename>.
+</para>
</sect2>
</sect1>
diff --git a/libstdc++-v3/doc/xml/manual/prerequisites.xml b/libstdc++-v3/doc/xml/manual/prerequisites.xml
index 20a04786533..8391fe459dd 100644
--- a/libstdc++-v3/doc/xml/manual/prerequisites.xml
+++ b/libstdc++-v3/doc/xml/manual/prerequisites.xml
@@ -73,6 +73,7 @@
<programlisting>
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
+en_GB ISO-8859-1
en_HK ISO-8859-1
en_PH ISO-8859-1
en_US ISO-8859-1
@@ -86,6 +87,8 @@ fr_FR@euro ISO-8859-15
is_IS UTF-8
it_IT ISO-8859-1
ja_JP.eucjp EUC-JP
+ru_RU.ISO-8859-5 ISO-8859-5
+ru_RU.UTF-8 UTF-8
se_NO.UTF-8 UTF-8
ta_IN UTF-8
zh_TW BIG5
diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.h b/libstdc++-v3/include/bits/locale_facets_nonio.h
index e1518287a68..525a53326a9 100644
--- a/libstdc++-v3/include/bits/locale_facets_nonio.h
+++ b/libstdc++-v3/include/bits/locale_facets_nonio.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -652,13 +652,18 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
int __min, int __max, size_t __len,
ios_base& __io, ios_base::iostate& __err) const;
- // Extract day or month name, or any unique array of string
- // literals in a const _CharT* array.
+ // Extract any unique array of string literals in a const _CharT* array.
iter_type
_M_extract_name(iter_type __beg, iter_type __end, int& __member,
const _CharT** __names, size_t __indexlen,
ios_base& __io, ios_base::iostate& __err) const;
+ // Extract day or month name in a const _CharT* array.
+ iter_type
+ _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member,
+ const _CharT** __names, size_t __indexlen,
+ ios_base& __io, ios_base::iostate& __err) const;
+
// Extract on a component-by-component basis, via __format argument.
iter_type
_M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.tcc b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
index 96feeafc759..48a913901e7 100644
--- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc
+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -778,16 +778,16 @@ _GLIBCXX_END_LDBL_NAMESPACE
break;
case 'y':
case 'C': // C99
- // Two digit year. [tm_year]
- __beg = _M_extract_num(__beg, __end, __tm->tm_year, 0, 99, 2,
- __io, __tmperr);
- break;
+ // Two digit year.
case 'Y':
- // Year [1900). [tm_year]
+ // Year [1900).
+ // NB: We parse either two digits, implicitly years since
+ // 1900, or 4 digits, full year. In both cases we can
+ // reconstruct [tm_year]. See also libstdc++/26701.
__beg = _M_extract_num(__beg, __end, __mem, 0, 9999, 4,
__io, __tmperr);
if (!__tmperr)
- __tm->tm_year = __mem - 1900;
+ __tm->tm_year = __mem < 0 ? __mem + 100 : __mem - 1900;
break;
case 'Z':
// Timezone info.
@@ -865,6 +865,9 @@ _GLIBCXX_END_LDBL_NAMESPACE
}
if (__i == __len)
__member = __value;
+ // Special encoding for do_get_year, 'y', and 'Y' above.
+ else if (__len == 4 && __i == 2)
+ __member = __value - 100;
else
__err |= ios_base::failbit;
@@ -950,6 +953,77 @@ _GLIBCXX_END_LDBL_NAMESPACE
template<typename _CharT, typename _InIter>
_InIter
time_get<_CharT, _InIter>::
+ _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member,
+ const _CharT** __names, size_t __indexlen,
+ ios_base& __io, ios_base::iostate& __err) const
+ {
+ typedef char_traits<_CharT> __traits_type;
+ const locale& __loc = __io._M_getloc();
+ const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
+
+ int* __matches = static_cast<int*>(__builtin_alloca(2 * sizeof(int)
+ * __indexlen));
+ size_t __nmatches = 0;
+ size_t* __matches_lengths = 0;
+ size_t __pos = 0;
+
+ if (__beg != __end)
+ {
+ const char_type __c = *__beg;
+ for (size_t __i = 0; __i < 2 * __indexlen; ++__i)
+ if (__c == __names[__i][0]
+ || __c == __ctype.toupper(__names[__i][0]))
+ __matches[__nmatches++] = __i;
+ }
+
+ if (__nmatches)
+ {
+ ++__beg, ++__pos;
+
+ __matches_lengths
+ = static_cast<size_t*>(__builtin_alloca(sizeof(size_t)
+ * __nmatches));
+ for (size_t __i = 0; __i < __nmatches; ++__i)
+ __matches_lengths[__i]
+ = __traits_type::length(__names[__matches[__i]]);
+ }
+
+ for (; __beg != __end; ++__beg, ++__pos)
+ {
+ size_t __nskipped = 0;
+ const char_type __c = *__beg;
+ for (size_t __i = 0; __i < __nmatches;)
+ {
+ const char_type* __name = __names[__matches[__i]];
+ if (__pos >= __matches_lengths[__i])
+ ++__nskipped, ++__i;
+ else if (!(__name[__pos] == __c))
+ {
+ --__nmatches;
+ __matches[__i] = __matches[__nmatches];
+ __matches_lengths[__i] = __matches_lengths[__nmatches];
+ }
+ else
+ ++__i;
+ }
+ if (__nskipped == __nmatches)
+ break;
+ }
+
+ if ((__nmatches == 1 && __matches_lengths[0] == __pos)
+ || (__nmatches == 2 && (__matches_lengths[0] == __pos
+ || __matches_lengths[1] == __pos)))
+ __member = (__matches[0] >= __indexlen
+ ? __matches[0] - __indexlen : __matches[0]);
+ else
+ __err |= ios_base::failbit;
+
+ return __beg;
+ }
+
+ template<typename _CharT, typename _InIter>
+ _InIter
+ time_get<_CharT, _InIter>::
do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, tm* __tm) const
{
@@ -991,35 +1065,14 @@ _GLIBCXX_END_LDBL_NAMESPACE
const locale& __loc = __io._M_getloc();
const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
- const char_type* __days[7];
+ const char_type* __days[14];
__tp._M_days_abbreviated(__days);
+ __tp._M_days(__days + 7);
int __tmpwday;
ios_base::iostate __tmperr = ios_base::goodbit;
- __beg = _M_extract_name(__beg, __end, __tmpwday, __days, 7,
- __io, __tmperr);
-
- // Check to see if non-abbreviated name exists, and extract.
- // NB: Assumes both _M_days and _M_days_abbreviated organized in
- // exact same order, first to last, such that the resulting
- // __days array with the same index points to a day, and that
- // day's abbreviated form.
- // NB: Also assumes that an abbreviated name is a subset of the name.
- if (!__tmperr && __beg != __end)
- {
- size_t __pos = __traits_type::length(__days[__tmpwday]);
- __tp._M_days(__days);
- const char_type* __name = __days[__tmpwday];
- if (__name[__pos] == *__beg)
- {
- // Extract the rest of it.
- const size_t __len = __traits_type::length(__name);
- while (__pos < __len && __beg != __end
- && __name[__pos] == *__beg)
- ++__beg, ++__pos;
- if (__len != __pos)
- __tmperr |= ios_base::failbit;
- }
- }
+
+ __beg = _M_extract_wday_or_month(__beg, __end, __tmpwday, __days, 7,
+ __io, __tmperr);
if (!__tmperr)
__tm->tm_wday = __tmpwday;
else
@@ -1040,35 +1093,14 @@ _GLIBCXX_END_LDBL_NAMESPACE
const locale& __loc = __io._M_getloc();
const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
- const char_type* __months[12];
+ const char_type* __months[24];
__tp._M_months_abbreviated(__months);
+ __tp._M_months(__months + 12);
int __tmpmon;
ios_base::iostate __tmperr = ios_base::goodbit;
- __beg = _M_extract_name(__beg, __end, __tmpmon, __months, 12,
- __io, __tmperr);
-
- // Check to see if non-abbreviated name exists, and extract.
- // NB: Assumes both _M_months and _M_months_abbreviated organized in
- // exact same order, first to last, such that the resulting
- // __months array with the same index points to a month, and that
- // month's abbreviated form.
- // NB: Also assumes that an abbreviated name is a subset of the name.
- if (!__tmperr && __beg != __end)
- {
- size_t __pos = __traits_type::length(__months[__tmpmon]);
- __tp._M_months(__months);
- const char_type* __name = __months[__tmpmon];
- if (__name[__pos] == *__beg)
- {
- // Extract the rest of it.
- const size_t __len = __traits_type::length(__name);
- while (__pos < __len && __beg != __end
- && __name[__pos] == *__beg)
- ++__beg, ++__pos;
- if (__len != __pos)
- __tmperr |= ios_base::failbit;
- }
- }
+
+ __beg = _M_extract_wday_or_month(__beg, __end, __tmpmon, __months, 12,
+ __io, __tmperr);
if (!__tmperr)
__tm->tm_mon = __tmpmon;
else
@@ -1087,19 +1119,13 @@ _GLIBCXX_END_LDBL_NAMESPACE
{
const locale& __loc = __io._M_getloc();
const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
+ int __tmpyear;
+ ios_base::iostate __tmperr = ios_base::goodbit;
- size_t __i = 0;
- int __value = 0;
- for (; __beg != __end && __i < 4; ++__beg, ++__i)
- {
- const char __c = __ctype.narrow(*__beg, '*');
- if (__c >= '0' && __c <= '9')
- __value = __value * 10 + (__c - '0');
- else
- break;
- }
- if (__i == 2 || __i == 4)
- __tm->tm_year = __i == 2 ? __value : __value - 1900;
+ __beg = _M_extract_num(__beg, __end, __tmpyear, 0, 9999, 4,
+ __io, __tmperr);
+ if (!__tmperr)
+ __tm->tm_year = __tmpyear < 0 ? __tmpyear + 100 : __tmpyear - 1900;
else
__err |= ios_base::failbit;
@@ -1156,8 +1182,7 @@ _GLIBCXX_END_LDBL_NAMESPACE
// NB: This size is arbitrary. Should this be a data member,
// initialized at construction?
const size_t __maxlen = 128;
- char_type* __res =
- static_cast<char_type*>(__builtin_alloca(sizeof(char_type) * __maxlen));
+ char_type __res[__maxlen];
// NB: In IEE 1003.1-200x, and perhaps other locale models, it
// is possible that the format character will be longer than one
diff --git a/libstdc++-v3/scripts/check_performance b/libstdc++-v3/scripts/check_performance
index 4e70106a005..d196355bd44 100755
--- a/libstdc++-v3/scripts/check_performance
+++ b/libstdc++-v3/scripts/check_performance
@@ -32,7 +32,7 @@ SH_FLAG="-Wl,--rpath -Wl,$BUILD_DIR/../../gcc \
-Wl,--rpath -Wl,$BUILD_DIR/src/.libs"
ST_FLAG="-static"
LINK=$SH_FLAG
-CXX="$COMPILER $INCLUDES $FLAGS $CXXFLAGS $LINK"
+CXX="$COMPILER $INCLUDES $FLAGS -std=gnu++0x $CXXFLAGS $LINK"
LIBS="./libtestc++.a"
TESTS_FILE="testsuite_files_performance"
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc
new file mode 100644
index 00000000000..b02fefef596
--- /dev/null
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc
@@ -0,0 +1,64 @@
+// { dg-require-namedlocale "" }
+
+// 2010-01-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+// Copyright (C) 2010 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 22.2.5.1.1 time_get members
+
+#include <locale>
+#include <sstream>
+#include <testsuite_hooks.h>
+
+// libstdc++/26701
+void test01()
+{
+ using namespace std;
+ bool test __attribute__((unused)) = true;
+
+ typedef istreambuf_iterator<char> iterator_type;
+
+ locale loc_en = locale("en_GB");
+
+ tm tm0 = __gnu_test::test_tm(0, 0, 0, 0, 0, 0, 0, 0, 0);
+
+ iterator_type end;
+
+ istringstream iss;
+ iss.imbue(loc_en);
+ const time_get<char>& tg = use_facet<time_get<char> >(iss.getloc());
+
+ const ios_base::iostate good = ios_base::goodbit;
+ ios_base::iostate errorstate = good;
+
+ iss.str("01/02/2003");
+ iterator_type is_it0(iss);
+
+ errorstate = good;
+ tg.get_date(is_it0, end, iss, errorstate, &tm0);
+ VERIFY( errorstate == ios_base::eofbit );
+ VERIFY( tm0.tm_year + 1900 == 2003 );
+ VERIFY( tm0.tm_mon + 1 == 2 );
+ VERIFY( tm0.tm_mday == 1 );
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc
new file mode 100644
index 00000000000..2f4980a234c
--- /dev/null
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc
@@ -0,0 +1,64 @@
+// { dg-require-namedlocale "" }
+
+// 2010-01-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+// Copyright (C) 2010 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 22.2.5.1.1 time_get members
+
+#include <locale>
+#include <sstream>
+#include <testsuite_hooks.h>
+
+// libstdc++/26701
+void test01()
+{
+ using namespace std;
+ bool test __attribute__((unused)) = true;
+
+ typedef istreambuf_iterator<wchar_t> iterator_type;
+
+ locale loc_en = locale("en_GB");
+
+ tm tm0 = __gnu_test::test_tm(0, 0, 0, 0, 0, 0, 0, 0, 0);
+
+ iterator_type end;
+
+ wistringstream iss;
+ iss.imbue(loc_en);
+ const time_get<wchar_t>& tg = use_facet<time_get<wchar_t> >(iss.getloc());
+
+ const ios_base::iostate good = ios_base::goodbit;
+ ios_base::iostate errorstate = good;
+
+ iss.str(L"01/02/2003");
+ iterator_type is_it0(iss);
+
+ errorstate = good;
+ tg.get_date(is_it0, end, iss, errorstate, &tm0);
+ VERIFY( errorstate == ios_base::eofbit );
+ VERIFY( tm0.tm_year + 1900 == 2003 );
+ VERIFY( tm0.tm_mon + 1 == 2 );
+ VERIFY( tm0.tm_mday == 1 );
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/6.cc
new file mode 100644
index 00000000000..7a79887b6fd
--- /dev/null
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/6.cc
@@ -0,0 +1,89 @@
+// 2010-01-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+// Copyright (C) 2010 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 22.2.5.1.1 time_get members
+
+#include <locale>
+#include <sstream>
+#include <cstring>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+ using namespace std;
+ bool test __attribute__((unused)) = true;
+
+ typedef istreambuf_iterator<char> iterator_type;
+
+ // basic construction
+ locale loc_c = locale::classic();
+
+ // create an ostream-derived object, cache the time_get facet
+ iterator_type end;
+
+ istringstream iss;
+ iss.imbue(loc_c);
+ const time_get<char>& tim_get = use_facet<time_get<char> >(iss.getloc());
+
+ const ios_base::iostate good = ios_base::goodbit;
+ ios_base::iostate errorstate = good;
+
+ // iter_type
+ // get_monthname(iter_type, iter_type, ios_base&,
+ // ios_base::iostate&, tm*) const
+
+ // sanity checks for "C" locale
+
+ const char* amname[12] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
+
+ for (unsigned i = 0; i < 12; ++i)
+ {
+ iss.str(amname[i]);
+ iterator_type is_it01(iss);
+ tm time01;
+ memset(&time01, -1, sizeof(tm));
+ errorstate = good;
+ tim_get.get_monthname(is_it01, end, iss, errorstate, &time01);
+ VERIFY( time01.tm_mon == i );
+ VERIFY( errorstate == ios_base::eofbit );
+ }
+
+ const char* mname[12] = { "January", "February", "March", "April",
+ "May", "June", "July", "August",
+ "September", "October", "November", "December" };
+
+ for (unsigned i = 0; i < 12; ++i)
+ {
+ iss.str(mname[i]);
+ iterator_type is_it01(iss);
+ tm time01;
+ memset(&time01, -1, sizeof(tm));
+ errorstate = good;
+ tim_get.get_monthname(is_it01, end, iss, errorstate, &time01);
+ VERIFY( time01.tm_mon == i );
+ VERIFY( errorstate == ios_base::eofbit );
+ }
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc
new file mode 100644
index 00000000000..41742cd8fc3
--- /dev/null
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc
@@ -0,0 +1,92 @@
+// 2010-01-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+// Copyright (C) 2010 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 22.2.5.1.1 time_get members
+
+#include <locale>
+#include <sstream>
+#include <cstring>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+ using namespace std;
+ bool test __attribute__((unused)) = true;
+
+ typedef istreambuf_iterator<wchar_t> iterator_type;
+
+ // basic construction
+ locale loc_c = locale::classic();
+
+ // create an ostream-derived object, cache the time_get facet
+ iterator_type end;
+
+ wistringstream iss;
+ iss.imbue(loc_c);
+ const time_get<wchar_t>& tim_get
+ = use_facet<time_get<wchar_t> >(iss.getloc());
+
+ const ios_base::iostate good = ios_base::goodbit;
+ ios_base::iostate errorstate = good;
+
+ // iter_type
+ // get_monthname(iter_type, iter_type, ios_base&,
+ // ios_base::iostate&, tm*) const
+
+ // sanity checks for "C" locale
+
+ const wchar_t* amname[12] = { L"Jan", L"Feb", L"Mar", L"Apr",
+ L"May", L"Jun", L"Jul", L"Aug",
+ L"Sep", L"Oct", L"Nov", L"Dec" };
+
+ for (unsigned i = 0; i < 12; ++i)
+ {
+ iss.str(amname[i]);
+ iterator_type is_it01(iss);
+ tm time01;
+ memset(&time01, -1, sizeof(tm));
+ errorstate = good;
+ tim_get.get_monthname(is_it01, end, iss, errorstate, &time01);
+ VERIFY( time01.tm_mon == i );
+ VERIFY( errorstate == ios_base::eofbit );
+ }
+
+ const wchar_t* mname[12] = { L"January", L"February", L"March",
+ L"April", L"May", L"June",
+ L"July", L"August", L"September",
+ L"October", L"November", L"December" };
+
+ for (unsigned i = 0; i < 12; ++i)
+ {
+ iss.str(mname[i]);
+ iterator_type is_it01(iss);
+ tm time01;
+ memset(&time01, -1, sizeof(tm));
+ errorstate = good;
+ tim_get.get_monthname(is_it01, end, iss, errorstate, &time01);
+ VERIFY( time01.tm_mon == i );
+ VERIFY( errorstate == ios_base::eofbit );
+ }
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc
new file mode 100644
index 00000000000..e237dcccbe9
--- /dev/null
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc
@@ -0,0 +1,86 @@
+// { dg-require-namedlocale "" }
+
+// Copyright (C) 2010 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 22.2.5.1.1 time_get members
+
+#include <locale>
+#include <sstream>
+#include <cstring>
+#include <testsuite_hooks.h>
+
+// libstdc++/38081
+void test01()
+{
+ using namespace std;
+ bool test __attribute__((unused)) = true;
+
+ typedef istreambuf_iterator<char> iterator_type;
+
+ // basic construction
+ locale loc("ru_RU.ISO-8859-5");
+
+ // create an ostream-derived object, cache the time_get facet
+ iterator_type end;
+
+ istringstream iss;
+ iss.imbue(loc);
+ const time_get<char>& tim_get = use_facet<time_get<char> >(iss.getloc());
+
+ const ios_base::iostate good = ios_base::goodbit;
+ ios_base::iostate errorstate = good;
+
+ // iter_type
+ // get_weekday(iter_type, iter_type, ios_base&,
+ // ios_base::iostate&, tm*) const
+
+ iss.str("\xbf\xdd\xd4");
+ iterator_type is_it01(iss);
+ tm time01;
+ memset(&time01, -1, sizeof(tm));
+ errorstate = good;
+ tim_get.get_weekday(is_it01, end, iss, errorstate, &time01);
+ VERIFY( time01.tm_wday == 1 );
+ VERIFY( errorstate == ios_base::eofbit );
+
+ iss.str("\xbf\xde\xdd\xd5\xd4\xd5\xdb\xec\xdd\xd8\xda");
+ iterator_type is_it02(iss);
+ tm time02;
+ memset(&time02, -1, sizeof(tm));
+ errorstate = good;
+ tim_get.get_weekday(is_it02, end, iss, errorstate, &time02);
+ VERIFY( time02.tm_wday == 1 );
+ VERIFY( errorstate == ios_base::eofbit );
+
+ iss.str("\xbf\xdd\xd4\xd5\xd4\xd5\xdb\xec\xdd\xd8\xda");
+ iterator_type is_it03(iss);
+ tm time03;
+ memset(&time03, -1, sizeof(tm));
+ errorstate = good;
+ iterator_type ret = tim_get.get_weekday(is_it03, end, iss,
+ errorstate, &time03);
+ VERIFY( time03.tm_wday == 1 );
+ VERIFY( errorstate == ios_base::goodbit );
+ VERIFY( *ret == '\xd5' );
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc
new file mode 100644
index 00000000000..decec58b8a1
--- /dev/null
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc
@@ -0,0 +1,100 @@
+// { dg-require-namedlocale "" }
+
+// 2010-01-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+// Copyright (C) 2010 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 22.2.5.1.1 time_get members
+
+#include <locale>
+#include <sstream>
+#include <cstring>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+ using namespace std;
+ bool test __attribute__((unused)) = true;
+
+ typedef istreambuf_iterator<char> iterator_type;
+
+ // basic construction
+ locale loc("ru_RU.UTF8");
+
+ // create an ostream-derived object, cache the time_get facet
+ iterator_type end;
+
+ istringstream iss;
+ iss.imbue(loc);
+ const time_get<char>& tim_get = use_facet<time_get<char> >(iss.getloc());
+
+ const ios_base::iostate good = ios_base::goodbit;
+ ios_base::iostate errorstate = good;
+
+ // iter_type
+ // get_weekday(iter_type, iter_type, ios_base&,
+ // ios_base::iostate&, tm*) const
+
+ const char* awdays[7] = { "\u0412\u0441\u043A",
+ "\u041F\u043D\u0434",
+ "\u0412\u0442\u0440",
+ "\u0421\u0440\u0434",
+ "\u0427\u0442\u0432",
+ "\u041F\u0442\u043D",
+ "\u0421\u0431\u0442" };
+
+ for (unsigned i = 0; i < 7; ++i)
+ {
+ iss.str(awdays[i]);
+ iterator_type is_it01(iss);
+ tm time01;
+ memset(&time01, -1, sizeof(tm));
+ errorstate = good;
+ tim_get.get_weekday(is_it01, end, iss, errorstate, &time01);
+ VERIFY( time01.tm_wday == i );
+ VERIFY( errorstate == ios_base::eofbit );
+ }
+
+ const char* wdays[7] = { "\u0412\u043E\u0441\u043A\u0440\u0435"
+ "\u0441\u0435\u043D\u044C\u0435",
+ "\u041F\u043E\u043D\u0435\u0434\u0435"
+ "\u043B\u044C\u043D\u0438\u043A",
+ "\u0412\u0442\u043E\u0440\u043D\u0438\u043A",
+ "\u0421\u0440\u0435\u0434\u0430",
+ "\u0427\u0435\u0442\u0432\u0435\u0440\u0433",
+ "\u041F\u044F\u0442\u043D\u0438\u0446\u0430",
+ "\u0421\u0443\u0431\u0431\u043E\u0442\u0430" };
+
+ for (unsigned i = 0; i < 7; ++i)
+ {
+ iss.str(wdays[i]);
+ iterator_type is_it01(iss);
+ tm time01;
+ memset(&time01, -1, sizeof(tm));
+ errorstate = good;
+ tim_get.get_weekday(is_it01, end, iss, errorstate, &time01);
+ VERIFY( time01.tm_wday == i );
+ VERIFY( errorstate == ios_base::eofbit );
+ }
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/6.cc
new file mode 100644
index 00000000000..595c81c2fb3
--- /dev/null
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/6.cc
@@ -0,0 +1,87 @@
+// 2010-01-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+// Copyright (C) 2010 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 22.2.5.1.1 time_get members
+
+#include <locale>
+#include <sstream>
+#include <cstring>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+ using namespace std;
+ bool test __attribute__((unused)) = true;
+
+ typedef istreambuf_iterator<char> iterator_type;
+
+ // basic construction
+ locale loc_c = locale::classic();
+
+ // create an ostream-derived object, cache the time_get facet
+ iterator_type end;
+
+ istringstream iss;
+ iss.imbue(loc_c);
+ const time_get<char>& tim_get = use_facet<time_get<char> >(iss.getloc());
+
+ const ios_base::iostate good = ios_base::goodbit;
+ ios_base::iostate errorstate = good;
+
+ // iter_type
+ // get_weekday(iter_type, iter_type, ios_base&,
+ // ios_base::iostate&, tm*) const
+
+ // sanity checks for "C" locale
+
+ const char* awdays[7] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+
+ for (unsigned i = 0; i < 7; ++i)
+ {
+ iss.str(awdays[i]);
+ iterator_type is_it01(iss);
+ tm time01;
+ memset(&time01, -1, sizeof(tm));
+ errorstate = good;
+ tim_get.get_weekday(is_it01, end, iss, errorstate, &time01);
+ VERIFY( time01.tm_wday == i );
+ VERIFY( errorstate == ios_base::eofbit );
+ }
+
+ const char* wdays[7] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
+ "Friday", "Saturday" };
+
+ for (unsigned i = 0; i < 7; ++i)
+ {
+ iss.str(wdays[i]);
+ iterator_type is_it01(iss);
+ tm time01;
+ memset(&time01, -1, sizeof(tm));
+ errorstate = good;
+ tim_get.get_weekday(is_it01, end, iss, errorstate, &time01);
+ VERIFY( time01.tm_wday == i );
+ VERIFY( errorstate == ios_base::eofbit );
+ }
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc
new file mode 100644
index 00000000000..d4af7b19102
--- /dev/null
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc
@@ -0,0 +1,89 @@
+// 2010-01-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+// Copyright (C) 2010 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 22.2.5.1.1 time_get members
+
+#include <locale>
+#include <sstream>
+#include <cstring>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+ using namespace std;
+ bool test __attribute__((unused)) = true;
+
+ typedef istreambuf_iterator<wchar_t> iterator_type;
+
+ // basic construction
+ locale loc_c = locale::classic();
+
+ // create an ostream-derived object, cache the time_get facet
+ iterator_type end;
+
+ wistringstream iss;
+ iss.imbue(loc_c);
+ const time_get<wchar_t>& tim_get
+ = use_facet<time_get<wchar_t> >(iss.getloc());
+
+ const ios_base::iostate good = ios_base::goodbit;
+ ios_base::iostate errorstate = good;
+
+ // iter_type
+ // get_weekday(iter_type, iter_type, ios_base&,
+ // ios_base::iostate&, tm*) const
+
+ // sanity checks for "C" locale
+
+ const wchar_t* awdays[7] = { L"Sun", L"Mon", L"Tue", L"Wed",
+ L"Thu", L"Fri", L"Sat" };
+
+ for (unsigned i = 0; i < 7; ++i)
+ {
+ iss.str(awdays[i]);
+ iterator_type is_it01(iss);
+ tm time01;
+ memset(&time01, -1, sizeof(tm));
+ errorstate = good;
+ tim_get.get_weekday(is_it01, end, iss, errorstate, &time01);
+ VERIFY( time01.tm_wday == i );
+ VERIFY( errorstate == ios_base::eofbit );
+ }
+
+ const wchar_t* wdays[7] = { L"Sunday", L"Monday", L"Tuesday", L"Wednesday",
+ L"Thursday", L"Friday", L"Saturday" };
+
+ for (unsigned i = 0; i < 7; ++i)
+ {
+ iss.str(wdays[i]);
+ iterator_type is_it01(iss);
+ tm time01;
+ memset(&time01, -1, sizeof(tm));
+ errorstate = good;
+ tim_get.get_weekday(is_it01, end, iss, errorstate, &time01);
+ VERIFY( time01.tm_wday == i );
+ VERIFY( errorstate == ios_base::eofbit );
+ }
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
index ab4ab2434f3..45a43dea5fd 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
@@ -1,6 +1,6 @@
# libstdc++ "tool init file" for DejaGNU
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
# Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -869,6 +869,7 @@ proc check_v3_target_namedlocale { } {
puts $f " locale(\"de_DE\");"
puts $f " locale(\"de_DE.ISO-8859-15@euro\");"
puts $f " locale(\"de_DE@euro\");"
+ puts $f " locale(\"en_GB\");"
puts $f " locale(\"en_HK\");"
puts $f " locale(\"en_PH\");"
puts $f " locale(\"en_US\");"
@@ -883,6 +884,8 @@ proc check_v3_target_namedlocale { } {
puts $f " locale(\"is_IS.UTF-8\");"
puts $f " locale(\"it_IT\");"
puts $f " locale(\"ja_JP.eucjp\");"
+ puts $f " locale(\"ru_RU.ISO-8859-5\");"
+ puts $f " locale(\"ru_RU.UTF-8\");"
puts $f " locale(\"se_NO.UTF-8\");"
puts $f " locale(\"ta_IN\");"
puts $f " locale(\"zh_TW\");"
diff --git a/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc b/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc
index 21405e18ad4..50d622c41a6 100644
--- a/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc
+++ b/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc
@@ -28,6 +28,10 @@ void poll(std::shared_future<void> f)
int main()
{
+#ifdef TEST_T1
+#define thread_type true
+#endif
+
using namespace __gnu_test;
time_counter time;
resource_counter resource;